Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3AC4E200B29 for ; Thu, 16 Jun 2016 08:12:39 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 393C5160A57; Thu, 16 Jun 2016 06:12:39 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 836F8160A4D for ; Thu, 16 Jun 2016 08:12:38 +0200 (CEST) Received: (qmail 61625 invoked by uid 500); 16 Jun 2016 06:12:32 -0000 Mailing-List: contact dev-help@community.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@community.apache.org Delivered-To: mailing list dev@community.apache.org Received: (qmail 61612 invoked by uid 99); 16 Jun 2016 06:12:32 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jun 2016 06:12:32 +0000 Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 3F47C1A0046 for ; Thu, 16 Jun 2016 06:12:32 +0000 (UTC) Received: by mail-oi0-f49.google.com with SMTP id d132so54207918oig.1 for ; Wed, 15 Jun 2016 23:12:32 -0700 (PDT) X-Gm-Message-State: ALyK8tJaf2l1PkNTZZAsiuiW7EK4Ae+TEnDLI7DJkmcZSetmgJC5aQJZFg8edSTdT50ItoEoiDL2LSq9dAChiA== X-Received: by 10.202.179.67 with SMTP id c64mr1421702oif.21.1466057551094; Wed, 15 Jun 2016 23:12:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.134.169 with HTTP; Wed, 15 Jun 2016 23:12:30 -0700 (PDT) From: Greg Chase Date: Wed, 15 Jun 2016 23:12:30 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Support for Apache Geode in Apache Zest To: dev@community.apache.org Content-Type: multipart/alternative; boundary=001a113ceafa8dac9105355f1fbb archived-at: Thu, 16 Jun 2016 06:12:39 -0000 --001a113ceafa8dac9105355f1fbb Content-Type: text/plain; charset=UTF-8 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(); @Immutable Property title(); @Immutable Association author(); @UseDefaults ManyAssociation reviews(); @UseDefaults NamedAssociation distributors(); } We can then do @UnitOfWorkPropagation(MANDATORY) public void createNewBook( String title, Author author ) { UnitOfWork uow = unitOfWorkFactory.currentUnitOfWork() ) EntityBuilder 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 --001a113ceafa8dac9105355f1fbb--