Wrong list... he he he On Thu, Jun 16, 2016 at 2:12 PM, Greg Chase <gregch...@apache.org> wrote:
> Dear Geode contributors, > I just got some detail about support for Apache Geode by Apache Zest in its > persistence abstraction. It will be a while before they have a new > release, but this support is available in their github already. > > Here is the implementation, > > https://github.com/apache/zest-java/blob/develop/extensions/entitystore-geode/src/main/java/org/apache/zest/entitystore/geode/GeodeEntityStoreMixin.java > > AND the configuration options that are supported initially can be seen in; > > https://github.com/apache/zest-java/blob/develop/extensions/entitystore-geode/src/main/java/org/apache/zest/entitystore/geode/GeodeConfiguration.java > > > What does this mean? Well, Zest has a persistence abstraction for its > runtime model, and users can swap out any of the other Entity Stores > without code changes beyond the "assembly" (start up). > > Entities are declared like this; > > public interface Book > { > @Optional > Property<ISBN> isbn(); > > @Immutable > Property<String> title(); > > @Immutable > Association<Author> author(); > > @UseDefaults > ManyAssociation<Review> reviews(); > > @UseDefaults > NamedAssociation<Distributor> distributors(); > } > > We can then do > > @UnitOfWorkPropagation(MANDATORY) > public void createNewBook( String title, Author author ) > { > UnitOfWork uow = unitOfWorkFactory.currentUnitOfWork() ) > EntityBuilder<Book> builder = uow.newEntityBuilder(Book.class); > builder.instance().title().set( title ); > builder.instance().author().set( author ); > builder.newInstance(); > } > > No implementation class needed for the Book interface. But if we had > additional methods on the Book interface, we can assign one or more > "Mixins", and each mixin can handle one or more of those methods. > > Regards, > > -Greg > -- Niclas Hedhman, Software Developer http://zest.apache.org - New Energy for Java