community-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: Support for Apache Geode in Apache Zest
Date Thu, 16 Jun 2016 07:42:46 GMT
Wrong list... he he he

On Thu, Jun 16, 2016 at 2:12 PM, Greg Chase <gregchase@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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message