Hi all,

SimpleDS, an alternative storage framework for GAE, has hit its 0.8.1
release. This release includes a couple of interesting features:

Multiple valued index
===============
This is a little experiment that is working quite well for us. A new
IndexManager class will store and retrieve simple representations of
the Entity Index pattern introduced in Google I/O 2009. A simple
example:

@Entity
@MultivaluedIndex(name="invitations", itemClass=Key.class)
public class User {
  /* no 'invitations' attribute */
}

// get the list of user keys that received an invitation from this
user
Set<Key> invitationsSent = indexManager.get(senderUserKey,
"invitations");

More details can be found here:
http://code.google.com/p/simpleds/wiki/IndexManager

Parent key validation
===============
We make extensive use of the key nesting mechanism included in GAE. As
a consequence, the most common mistake in our testsuite was a
consequence of setting the wrong parent instance. This version of
SimpleDS includes an improved @Entity annotation that lets you specify
the allowed entity parent classes, which can be multiple (as an
example, an Address object can be nested inside a Person or a Company
ancestor). More about this here:

http://code.google.com/p/simpleds/wiki/ParentChild

Easier singleton access
=================
Spring does not like static attributes, so we had to try different
alternatives to get static singleton access. EntityManagerFactory and
IndexManagerFactory have been transformed to singleton containers to
be used where Dependency Injection cannot be used easily (most
notably, inside JSP custom tags). After configuring your Spring
container, you will be able of invoking
EntityManagerFactory.getEntityManager() and
IndexManagerFactory.getIndexManager().

Spring dependencies have also been removed as much as possible, but it
is still being used as an introspection framework. The example of
configuration without Spring has been updated to reflect that.

Changes that could break your current setup
================================
As a consequence of the previous point, the spring configuration has
changed:
http://code.google.com/p/simpleds/wiki/GettingStarted

The public constructor of SimpleQuery and PagedQuery have also been
removed. Instead, you should use entityManager.createQuery() and
entityManager.createPagedQuery()


Any feedback on this release would be most welcome. Best regards,

Nacho.

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to