Generator compiles ok. Intermediary commit to tackle the testcase failures.

Signed-off-by: niclas <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/35fcff1f
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/35fcff1f
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/35fcff1f

Branch: refs/heads/develop
Commit: 35fcff1f075baf29ff0b5b0a731fe2bc70dc2017
Parents: 61fe4e7
Author: niclas <[email protected]>
Authored: Sun May 28 10:49:01 2017 +0800
Committer: niclas <[email protected]>
Committed: Sun May 28 10:49:01 2017 +0800

----------------------------------------------------------------------
 .../api/composite/NoSuchTransientException.java |  9 ++-
 .../api/service/NoSuchServiceException.java     |  6 +-
 .../unitofwork/NoSuchEntityTypeException.java   |  9 ++-
 .../api/value/NoSuchValueException.java         | 11 ++--
 .../bootstrap/ApplicationAssemblerTest.java     | 10 +--
 .../polygene/regression/qi382/Qi382Test.java    |  2 +-
 .../ImportedServiceActivationTest.java          |  2 +-
 .../activation/ServiceActivationTest.java       |  6 +-
 .../AppliesToOrConditionQI241Test.java          |  4 +-
 .../runtime/concerns/GenericConcernTest.java    |  6 +-
 .../runtime/query/NonQueryableTest.java         |  6 +-
 .../PrivateCompositeVisibilityTest.java         |  2 +-
 .../runtime/value/NestedValueBuilderTest.java   |  8 +--
 .../runtime/value/ValueComposite2Test.java      |  2 +-
 .../cache/AbstractEntityStoreWithCacheTest.java |  2 +-
 .../metrics/AbstractPolygeneMetricsTest.java    |  2 +-
 .../hazelcast/HazelcastEntityStoreMixin.java    |  2 +-
 .../polygene/library/rdf/Model2XMLTest.java     | 19 +++---
 .../library/scripting/HelloSpeakerTest.java     |  4 +-
 .../PolygeneApplicationFactoryBean.java         |  4 +-
 .../composite/InvocationPerformanceTest.java    |  2 +-
 .../ServiceInvocationPerformanceTest.java       |  4 +-
 tools/generator-polygene/app/index.js           | 23 ++++---
 .../ConfigModule/bootstrap.tmpl                 |  1 +
 .../MetricsModule/bootstrap.tmpl                | 26 +++++++-
 .../InfrastructureLayer/MetricsModule/module.js |  8 +--
 .../StorageModule/bootstrap.tmpl                |  5 ++
 .../InfrastructureLayer/StorageModule/module.js | 42 ++++++------
 .../storage/es-cassandra.properties             |  2 +
 .../StorageModule/storage/es-file.properties    |  3 +
 .../StorageModule/storage/es-geode.properties   | 23 +++++--
 .../storage/es-hazelcast.properties             |  6 ++
 .../StorageModule/storage/es-jclouds.properties | 14 ++++
 .../StorageModule/storage/es-jdbm.properties    |  9 +++
 .../StorageModule/storage/es-leveldb.properties | 23 +++++++
 .../StorageModule/storage/es-mongodb.properties | 18 +++++
 .../StorageModule/storage/es-redis.properties   | 17 ++++-
 .../StorageModule/storage/es-riak.properties    | 54 ++++++++++++++-
 .../StorageModule/storage/es-sql.properties     |  9 +++
 .../InfrastructureLayer/bootstrap.tmpl          | 10 ++-
 .../RestAPIApplication/application.java.tmpl    | 17 +++--
 .../RestAPIApplication/bootstrap-test.tmpl      |  3 +-
 .../app/templates/buildtool/gradle-app.tmpl     | 69 ++++++++++++++------
 .../templates/buildtool/gradle-bootstrap.tmpl   | 61 +++++++++--------
 .../app/templates/buildtool/gradle-model.tmpl   |  8 +--
 .../app/templates/buildtool/gradle-rest.tmpl    |  6 +-
 .../app/templates/buildtool/gradle-root.tmpl    | 13 ++--
 .../cargo/step2/SequencingConcernTest.java      |  2 +-
 .../polygene/tutorials/hello/HelloTest4.java    |  6 +-
 49 files changed, 424 insertions(+), 176 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientException.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientException.java
 
b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientException.java
index 6f6bfd7..d55c34d 100644
--- 
a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientException.java
+++ 
b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientException.java
@@ -20,9 +20,10 @@
 
 package org.apache.polygene.api.composite;
 
-import java.util.stream.Collectors;
 import org.apache.polygene.api.structure.TypeLookup;
 
+import static java.util.stream.Collectors.joining;
+
 /**
  * This exception is thrown if client code tries to create a non-existing 
TransientComposite type.
  */
@@ -36,7 +37,9 @@ public class NoSuchTransientException extends 
NoSuchCompositeException
     private static String formatVisibleTypes( TypeLookup typeLookup )
     {
         return typeLookup.allTransients()
-            .map(descriptor -> descriptor.primaryType().getName())
-            .collect( Collectors.joining( "\n", "Visible transient types 
are:\n", "" ) );
+                         .map( descriptor -> 
descriptor.primaryType().getName() )
+                         .sorted()
+                         .distinct()
+                         .collect( joining( "\n", "Visible transient types 
are:\n", "" ) );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceException.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceException.java
 
b/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceException.java
index 31523b5..3b98272 100644
--- 
a/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceException.java
+++ 
b/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceException.java
@@ -49,6 +49,10 @@ public class NoSuchServiceException extends 
NoSuchCompositeException
         {
             return ( (CompositeDescriptor) descriptor 
).primaryType().getName();
         }
-        return descriptor.types().map( Class::getName ).collect( 
Collectors.joining( ",", "[", "]") );
+        return descriptor.types()
+                         .map( Class::getName )
+                         .sorted()
+                         .distinct()
+                         .collect( Collectors.joining( ",", "[", "]") );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
 
b/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
index bd038f2..632e1b1 100644
--- 
a/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
+++ 
b/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
@@ -19,10 +19,11 @@
  */
 package org.apache.polygene.api.unitofwork;
 
-import java.util.stream.Collectors;
 import org.apache.polygene.api.composite.NoSuchCompositeException;
 import org.apache.polygene.api.structure.TypeLookup;
 
+import static java.util.stream.Collectors.joining;
+
 /**
  * Polygene exception to be thrown in case that an entity composite
  * was not found during a lookup call.
@@ -38,7 +39,9 @@ public class NoSuchEntityTypeException
     private static String formatVisibleTypes( TypeLookup typeLookup )
     {
         return typeLookup.allEntities()
-            .map( descriptor -> descriptor.primaryType().getName() )
-            .collect( Collectors.joining( "\n", "Visible entity types are:\n", 
"" ) );
+                         .map( descriptor -> 
descriptor.primaryType().getName() )
+                         .sorted()
+                         .distinct()
+                         .collect( joining( "\n", "Visible entity types 
are:\n", "" ) );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueException.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueException.java
 
b/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueException.java
index 4e5cb30..b62b8e1 100644
--- 
a/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueException.java
+++ 
b/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueException.java
@@ -19,10 +19,11 @@
  */
 package org.apache.polygene.api.value;
 
-import java.util.stream.Collectors;
 import org.apache.polygene.api.composite.NoSuchCompositeException;
 import org.apache.polygene.api.structure.TypeLookup;
 
+import static java.util.stream.Collectors.joining;
+
 /**
  * Thrown when no visible value of the requested type is found.
  */
@@ -31,13 +32,15 @@ public class NoSuchValueException
 {
     public NoSuchValueException( String valueType, String moduleName, 
TypeLookup typeLookup )
     {
-        super( "ValueComposite", valueType, moduleName, 
formatVisibleTypes(typeLookup) );
+        super( "ValueComposite", valueType, moduleName, formatVisibleTypes( 
typeLookup ) );
     }
 
     private static String formatVisibleTypes( TypeLookup typeLookup )
     {
         return typeLookup.allValues()
-            .map(descriptor -> descriptor.primaryType().getName())
-            .collect( Collectors.joining( "\n", "Visible value types are:\n", 
"" ) );
+                         .map( descriptor -> 
descriptor.primaryType().getName() )
+                         .sorted()
+                         .distinct()
+                         .collect( joining( "\n", "Visible value types 
are:\n", "" ) );
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/bootstrap/ApplicationAssemblerTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/bootstrap/ApplicationAssemblerTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/bootstrap/ApplicationAssemblerTest.java
index 908a0dc..4646efa 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/bootstrap/ApplicationAssemblerTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/bootstrap/ApplicationAssemblerTest.java
@@ -19,18 +19,18 @@
  */
 package org.apache.polygene.bootstrap;
 
-import org.apache.polygene.api.identity.IdentityGenerator;
-import org.apache.polygene.api.serialization.Serialization;
-import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
-import org.junit.Assert;
-import org.junit.Test;
 import org.apache.polygene.api.common.Visibility;
 import org.apache.polygene.api.entity.EntityComposite;
 import org.apache.polygene.api.entity.EntityDescriptor;
+import org.apache.polygene.api.identity.IdentityGenerator;
+import org.apache.polygene.api.serialization.Serialization;
 import org.apache.polygene.api.service.ServiceComposite;
 import org.apache.polygene.api.service.ServiceDescriptor;
 import org.apache.polygene.api.structure.ApplicationDescriptor;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
 import org.apache.polygene.api.util.HierarchicalVisitorAdapter;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * TODO

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/regression/qi382/Qi382Test.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/regression/qi382/Qi382Test.java
 
b/core/runtime/src/test/java/org/apache/polygene/regression/qi382/Qi382Test.java
index 8592a3c..2dd99e2 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/regression/qi382/Qi382Test.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/regression/qi382/Qi382Test.java
@@ -79,7 +79,7 @@ public class Qi382Test extends AbstractPolygeneTest
     public interface Car extends EntityComposite, Lifecycle
     {
 
-        static class CarMixin implements Lifecycle
+        class CarMixin implements Lifecycle
         {
             @This
             private Car me;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ImportedServiceActivationTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ImportedServiceActivationTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ImportedServiceActivationTest.java
index e5f7a7c..5848403 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ImportedServiceActivationTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ImportedServiceActivationTest.java
@@ -87,7 +87,7 @@ public class ImportedServiceActivationTest
 
     }
 
-    public static interface TestedService
+    public interface TestedService
     {
 
         String foo();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ServiceActivationTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ServiceActivationTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ServiceActivationTest.java
index 2355314..90c7de4 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ServiceActivationTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/activation/ServiceActivationTest.java
@@ -78,18 +78,18 @@ public class ServiceActivationTest
     }
 
     @Mixins( TestedServiceMixin.class )
-    public static interface TestedServiceComposite
+    public interface TestedServiceComposite
             extends TestedService, ServiceComposite
     {
     }
 
     @Mixins( TestedServiceMixin.class )
-    public static interface TestedServiceComposite2
+    public interface TestedServiceComposite2
             extends TestedService, ServiceComposite
     {
     }
 
-    public static interface TestedService
+    public interface TestedService
     {
 
         String foo();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/appliesto/AppliesToOrConditionQI241Test.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/appliesto/AppliesToOrConditionQI241Test.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/appliesto/AppliesToOrConditionQI241Test.java
index 7a56d88..51b705a 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/appliesto/AppliesToOrConditionQI241Test.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/appliesto/AppliesToOrConditionQI241Test.java
@@ -25,8 +25,6 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
-import org.apache.polygene.test.AbstractPolygeneTest;
-import org.junit.Test;
 import org.apache.polygene.api.common.AppliesTo;
 import org.apache.polygene.api.common.Optional;
 import org.apache.polygene.api.concern.ConcernOf;
@@ -40,6 +38,8 @@ import org.apache.polygene.api.service.ServiceReference;
 import org.apache.polygene.api.unitofwork.UnitOfWork;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.test.AbstractPolygeneTest;
+import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/concerns/GenericConcernTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/concerns/GenericConcernTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/concerns/GenericConcernTest.java
index c48675e..5238a49 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/concerns/GenericConcernTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/concerns/GenericConcernTest.java
@@ -24,13 +24,13 @@ import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
-import org.apache.polygene.test.AbstractPolygeneTest;
-import org.junit.Test;
 import org.apache.polygene.api.composite.TransientComposite;
 import org.apache.polygene.api.mixin.Mixins;
 import org.apache.polygene.api.unitofwork.UnitOfWork;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.test.AbstractPolygeneTest;
+import org.junit.Test;
 
 /**
  * Tests for GenericConcern
@@ -65,7 +65,7 @@ public class GenericConcernTest
     public interface Some
     {
         @NestedUnitOfWork
-        public String doStuff();
+        String doStuff();
     }
 
     public static abstract class SomeMixin

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/query/NonQueryableTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/query/NonQueryableTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/query/NonQueryableTest.java
index 0f12d7d..5b5251e 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/query/NonQueryableTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/query/NonQueryableTest.java
@@ -19,8 +19,6 @@
  */
 package org.apache.polygene.runtime.query;
 
-import org.junit.Assert;
-import org.junit.Test;
 import org.apache.polygene.api.entity.Queryable;
 import org.apache.polygene.api.property.Property;
 import org.apache.polygene.api.query.QueryBuilder;
@@ -29,6 +27,8 @@ import org.apache.polygene.api.unitofwork.UnitOfWork;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.test.AbstractPolygeneTest;
+import org.junit.Assert;
+import org.junit.Test;
 
 import static org.apache.polygene.api.query.QueryExpressions.eq;
 import static org.apache.polygene.api.query.QueryExpressions.templateFor;
@@ -82,7 +82,7 @@ public class NonQueryableTest
         }
     }
 
-    static interface Abc
+    interface Abc
     {
         @Queryable( false )
         Property<Boolean> isValid();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/structure/PrivateCompositeVisibilityTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/structure/PrivateCompositeVisibilityTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/structure/PrivateCompositeVisibilityTest.java
index 0c21195..701201a 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/structure/PrivateCompositeVisibilityTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/structure/PrivateCompositeVisibilityTest.java
@@ -20,7 +20,6 @@
 
 package org.apache.polygene.runtime.structure;
 
-import org.junit.Test;
 import org.apache.polygene.api.common.Visibility;
 import org.apache.polygene.api.composite.NoSuchTransientException;
 import org.apache.polygene.api.composite.TransientBuilderFactory;
@@ -33,6 +32,7 @@ import org.apache.polygene.bootstrap.Assembler;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.Energy4Java;
 import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.junit.Test;
 
 /**
  * JAVADOC

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/value/NestedValueBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/value/NestedValueBuilderTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/value/NestedValueBuilderTest.java
index 0679343..0b5c77f 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/value/NestedValueBuilderTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/value/NestedValueBuilderTest.java
@@ -38,7 +38,7 @@ public class NestedValueBuilderTest
     extends AbstractPolygeneTest
 {
 
-    static interface InnerValue
+    interface InnerValue
         extends ValueComposite
     {
 
@@ -47,7 +47,7 @@ public class NestedValueBuilderTest
         Property<Map<String, String>> mapProp();
     }
 
-    static interface InnerDefaultedValue
+    interface InnerDefaultedValue
         extends ValueComposite
     {
 
@@ -58,14 +58,14 @@ public class NestedValueBuilderTest
         Property<Map<String, String>> mapPropDefault();
     }
 
-    static interface OuterValue
+    interface OuterValue
         extends ValueComposite
     {
 
         Property<List<InnerValue>> innerListProp();
     }
 
-    static interface OuterDefaultedValue
+    interface OuterDefaultedValue
         extends ValueComposite
     {
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/runtime/src/test/java/org/apache/polygene/runtime/value/ValueComposite2Test.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/value/ValueComposite2Test.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/value/ValueComposite2Test.java
index a0820fd..a8a4d19 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/value/ValueComposite2Test.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/value/ValueComposite2Test.java
@@ -130,7 +130,7 @@ public class ValueComposite2Test
         }
     }
 
-    public static interface DummyService
+    public interface DummyService
         extends ServiceComposite
     {
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
index 9291a1f..39fb547 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
@@ -19,13 +19,13 @@
  */
 package org.apache.polygene.test.cache;
 
-import org.junit.Test;
 import org.apache.polygene.api.common.Optional;
 import org.apache.polygene.api.injection.scope.Service;
 import org.apache.polygene.api.unitofwork.UnitOfWorkCompletionException;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
index 48da4c0..74c9e8c 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
@@ -54,11 +54,11 @@ import org.junit.Test;
 import static java.util.stream.Collectors.toList;
 import static 
org.apache.polygene.api.unitofwork.concern.UnitOfWorkPropagation.Propagation.MANDATORY;
 import static org.apache.polygene.api.usecase.UsecaseBuilder.newUsecase;
+import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.hamcrest.core.IsNot.not;
 import static org.hamcrest.core.StringContains.containsString;
-import static org.hamcrest.collection.IsIterableContainingInOrder .contains;
 import static org.junit.Assert.assertThat;
 
 // TODO Test errors

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreMixin.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreMixin.java
 
b/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreMixin.java
index b92bda2..063c150 100644
--- 
a/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreMixin.java
+++ 
b/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreMixin.java
@@ -63,7 +63,7 @@ public class HazelcastEntityStoreMixin
         Config conf = createConfig( configuration );
         hazelcastInstance = Hazelcast.newHazelcastInstance( conf );
         String mapName = DEFAULT_MAPNAME;
-        if( configuration != null && configuration.mapName() != null )
+        if( configuration != null && configuration.mapName() != null && 
configuration.mapName().get() != null )
         {
             mapName = configuration.mapName().get();
         }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/Model2XMLTest.java
----------------------------------------------------------------------
diff --git 
a/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/Model2XMLTest.java
 
b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/Model2XMLTest.java
index 14a8182..865219a 100644
--- 
a/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/Model2XMLTest.java
+++ 
b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/Model2XMLTest.java
@@ -19,19 +19,22 @@
  */
 package org.apache.polygene.library.rdf;
 
-import org.junit.Test;
-import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.composite.TransientComposite;
-import org.apache.polygene.api.structure.ApplicationDescriptor;
-import org.apache.polygene.bootstrap.*;
-import org.apache.polygene.library.rdf.model.Model2XML;
-import org.w3c.dom.Document;
-
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.composite.TransientComposite;
+import org.apache.polygene.api.structure.ApplicationDescriptor;
+import org.apache.polygene.bootstrap.ApplicationAssembly;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.Energy4Java;
+import org.apache.polygene.bootstrap.LayerAssembly;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.library.rdf.model.Model2XML;
+import org.junit.Test;
+import org.w3c.dom.Document;
 
 /**
  * TODO

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/HelloSpeakerTest.java
----------------------------------------------------------------------
diff --git 
a/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/HelloSpeakerTest.java
 
b/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/HelloSpeakerTest.java
index c9167e6..62c7ff6 100644
--- 
a/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/HelloSpeakerTest.java
+++ 
b/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/HelloSpeakerTest.java
@@ -19,11 +19,11 @@
  */
 package org.apache.polygene.library.scripting;
 
-import org.junit.Test;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.test.AbstractPolygeneTest;
 import org.apache.polygene.bootstrap.SingletonAssembler;
+import org.apache.polygene.test.AbstractPolygeneTest;
+import org.junit.Test;
 
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.junit.Assert.assertThat;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/libraries/spring/src/main/java/org/apache/polygene/library/spring/bootstrap/internal/application/PolygeneApplicationFactoryBean.java
----------------------------------------------------------------------
diff --git 
a/libraries/spring/src/main/java/org/apache/polygene/library/spring/bootstrap/internal/application/PolygeneApplicationFactoryBean.java
 
b/libraries/spring/src/main/java/org/apache/polygene/library/spring/bootstrap/internal/application/PolygeneApplicationFactoryBean.java
index db1d623..1f2883a 100644
--- 
a/libraries/spring/src/main/java/org/apache/polygene/library/spring/bootstrap/internal/application/PolygeneApplicationFactoryBean.java
+++ 
b/libraries/spring/src/main/java/org/apache/polygene/library/spring/bootstrap/internal/application/PolygeneApplicationFactoryBean.java
@@ -20,7 +20,9 @@
 package org.apache.polygene.library.spring.bootstrap.internal.application;
 
 import org.apache.polygene.api.structure.Application;
-import org.apache.polygene.bootstrap.*;
+import org.apache.polygene.bootstrap.ApplicationAssembly;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.Energy4Java;
 import 
org.apache.polygene.library.spring.bootstrap.PolygeneApplicationBootstrap;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.BeanInitializationException;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/composite/InvocationPerformanceTest.java
----------------------------------------------------------------------
diff --git 
a/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/composite/InvocationPerformanceTest.java
 
b/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/composite/InvocationPerformanceTest.java
index 185626a..af606e2 100644
--- 
a/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/composite/InvocationPerformanceTest.java
+++ 
b/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/composite/InvocationPerformanceTest.java
@@ -161,7 +161,7 @@ public class InvocationPerformanceTest
 
     public interface Simple
     {
-        public void test();
+        void test();
     }
 
     public static class SimpleMixin

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/service/ServiceInvocationPerformanceTest.java
----------------------------------------------------------------------
diff --git 
a/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/service/ServiceInvocationPerformanceTest.java
 
b/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/service/ServiceInvocationPerformanceTest.java
index 858e95d..118a39c 100644
--- 
a/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/service/ServiceInvocationPerformanceTest.java
+++ 
b/tests/performance/src/perf/java/org/apache/polygene/test/performance/runtime/service/ServiceInvocationPerformanceTest.java
@@ -74,12 +74,12 @@ public class ServiceInvocationPerformanceTest
     }
 
     @Mixins( NoopMixin.class )
-    public static interface MyServiceComposite
+    public interface MyServiceComposite
         extends ServiceInvocationPerformanceTest.MyService, ServiceComposite
     {
     }
 
-    public static interface MyService
+    public interface MyService
     {
         void test();
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/index.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/index.js 
b/tools/generator-polygene/app/index.js
index 3765bc2..f027b6d 100644
--- a/tools/generator-polygene/app/index.js
+++ b/tools/generator-polygene/app/index.js
@@ -283,15 +283,20 @@ function assignFunctions(polygene) {
     };
 
     polygene.copyTemplate = function (ctx, from, to) {
-        ctx.fs.copyTpl(
-            ctx.templatePath(from),
-            ctx.destinationPath(to),
-            {
-                hasFeature: hasFeature,
-                firstUpper: firstUpper,
-                polygene: polygene
-            }
-        );
+        try {
+
+            ctx.fs.copyTpl(
+                ctx.templatePath(from),
+                ctx.destinationPath(to),
+                {
+                    hasFeature: hasFeature,
+                    firstUpper: firstUpper,
+                    polygene: polygene
+                }
+            );
+        } catch (exception) {
+            console.log("Unable to copy template: " + from + "\n", exception);
+        }
     };
 
     polygene.copyPolygeneBootstrap = function (ctx, layer, moduleName, 
condition) {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/ConfigurationLayer/ConfigModule/bootstrap.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/ConfigurationLayer/ConfigModule/bootstrap.tmpl
 
b/tools/generator-polygene/app/templates/ConfigurationLayer/ConfigModule/bootstrap.tmpl
index 3696a63..f6c9526 100644
--- 
a/tools/generator-polygene/app/templates/ConfigurationLayer/ConfigModule/bootstrap.tmpl
+++ 
b/tools/generator-polygene/app/templates/ConfigurationLayer/ConfigModule/bootstrap.tmpl
@@ -35,6 +35,7 @@ public class ConfigModule
     public ModuleAssembly assemble( LayerAssembly layer, ModuleAssembly module 
)
         throws AssemblyException
     {
+        module.defaultServices();
         module.services( MemoryEntityStoreService.class ).visibleIn( 
Visibility.layer );
         return module;
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/bootstrap.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/bootstrap.tmpl
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/bootstrap.tmpl
index 12d55f2..46c2d7c 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/bootstrap.tmpl
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/bootstrap.tmpl
@@ -19,12 +19,21 @@
 -%>
 package <%= polygene.packageName %>.bootstrap.infrastructure;
 
+import org.apache.polygene.api.common.Visibility;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.LayerAssembly;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.bootstrap.layered.ModuleAssembler;
-import org.apache.polygene.metrics.<%- polygene.metrics.toLowerCase() 
%>.assembly.<%- polygene.metrics %>MetricsAssembler;
-
+<%
+if (polygene.metrics === "None") {
+%>import 
org.apache.polygene.bootstrap.defaults.DefaultMetricsProviderAssembler;
+import org.apache.polygene.api.metrics.MetricsProvider;
+<%
+} else {
+%>import org.apache.polygene.metrics.<%- polygene.metrics.toLowerCase() 
%>.assembly.<%- polygene.metrics %>MetricsAssembler;
+<%
+}
+%>
 public class <%- polygene.metrics %>MetricsModule
     implements ModuleAssembler
 {
@@ -34,7 +43,18 @@ public class <%- polygene.metrics %>MetricsModule
     public ModuleAssembly assemble( LayerAssembly layer, ModuleAssembly module 
)
         throws AssemblyException
     {
-        new <%- polygene.metrics %>MetricsAssembler().assemble( module );
+<%
+if (polygene.metrics === "None") {
+%>        new DefaultMetricsProviderAssembler().assemble( module );
+        module.services( MetricsProvider.class ).visibleIn( 
Visibility.application );
+<%
+} else {
+%>        new <%- polygene.metrics %>MetricsAssembler()
+            .visibleIn( Visibility.application )
+            .assemble( module );
+<%
+}
+%>
         return module;
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/module.js
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/module.js
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/module.js
index 2d426b9..0b5e162 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/module.js
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/MetricsModule/module.js
@@ -19,10 +19,8 @@
 module.exports = {
 
     write: function (p) {
-        if (p.metrics !== "None") {
-            p.copyTemplate(p.ctx,
-                'InfrastructureLayer/MetricsModule/bootstrap.tmpl',
-                'bootstrap/src/main/java/' + p.javaPackageDir + 
'/bootstrap/infrastructure/' + p.metrics + 'MetricsModule.java');
-        }
+        p.copyTemplate(p.ctx,
+            'InfrastructureLayer/MetricsModule/bootstrap.tmpl',
+            'bootstrap/src/main/java/' + p.javaPackageDir + 
'/bootstrap/infrastructure/' + p.metrics + 'MetricsModule.java');
     }
 };

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/bootstrap.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/bootstrap.tmpl
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/bootstrap.tmpl
index f148113..fda83db 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/bootstrap.tmpl
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/bootstrap.tmpl
@@ -20,6 +20,8 @@
 package <%= polygene.packageName %>.bootstrap.infrastructure;
 
 import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.identity.IdentityGenerator;
+import org.apache.polygene.api.identity.UuidGeneratorMixin;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.LayerAssembly;
 import org.apache.polygene.bootstrap.ModuleAssembly;
@@ -74,6 +76,9 @@ if( polygene.entitystore.indexOf( 'SQL' ) >= 0 ) {
             .withConfig( configModule, Visibility.application )
             .identifiedBy( "es-<%- polygene.entitystore.toLowerCase() %>" )
             .assemble( module );
+        module.services( IdentityGenerator.class )
+              .visibleIn( Visibility.application )
+              .withMixins( UuidGeneratorMixin.class );
         return module;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/module.js
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/module.js
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/module.js
index 947ddde..0d5491c 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/module.js
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/module.js
@@ -27,25 +27,27 @@ module.exports = {
         var esFileName = 'es-' + p.entitystore.toLowerCase() + '.properties';
         var configurationPath = 'InfrastructureLayer/StorageModule/storage/' + 
esFileName;
 
-        fs.stat(__dirname + "/../../" + configurationPath, function (err, 
stat) {
-            if (err === null) {
-                p.copyTemplate(p.ctx,
-                    configurationPath,
-                    'app/src/main/resources/config/' + esFileName);
-            }
-        });
-
-        var dsFileName = 'ds-' + p.entitystore.toLowerCase() + '.properties';
-        var datasourceFile = 'InfrastructureLayer/StorageModule/storage/' + 
dsFileName;
-        fs.stat(__dirname + "/../../" + configurationPath, function (err, 
stat) {
-            if (err === null) {
-                p.copyTemplate(p.ctx,
-                    
'InfrastructureLayer/StorageModule/storage/es-sql.properties',
-                    'app/src/main/resources/config/' + esFileName);
-                p.copyTemplate(p.ctx,
-                    datasourceFile,
-                    'app/src/main/resources/config/' + dsFileName);
-            }
-        });
+        if( p.entitystore.indexOf( 'SQL') < 0 ) {
+            fs.stat(__dirname + "/../../" + configurationPath, function (err, 
stat) {
+                if (err === null) {
+                    p.copyTemplate(p.ctx,
+                        configurationPath,
+                        'app/src/main/resources/' + esFileName);
+                }
+            });
+        } else {
+            var dsFileName = 'ds-' + p.entitystore.toLowerCase() + 
'.properties';
+            var datasourceFile = 'InfrastructureLayer/StorageModule/storage/' 
+ dsFileName;
+            fs.stat(__dirname + "/../../" + configurationPath, function (err, 
stat) {
+                if (err === null) {
+                    p.copyTemplate(p.ctx,
+                        
'InfrastructureLayer/StorageModule/storage/es-sql.properties',
+                        'app/src/main/resources/' + esFileName);
+                    p.copyTemplate(p.ctx,
+                        datasourceFile,
+                        'app/src/main/resources/' + dsFileName);
+                }
+            });
+        }
     }
 };

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-cassandra.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-cassandra.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-cassandra.properties
index c2a7a45..5ad0cab 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-cassandra.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-cassandra.properties
@@ -13,6 +13,8 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # A comma or space separated list of <code>hostname:port</code> to the
 # Cassandra cluster.
 #

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-file.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-file.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-file.properties
index 6683bf7..f28a9a9 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-file.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-file.properties
@@ -13,6 +13,8 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # The directory where the File Entity Store will be keep its persisted state.
 #     If no configuration is provided at all, then the default location is
 #     {@code System.getProperty( "user.dir" ) + "/polygene/filestore"; }.
@@ -29,6 +31,7 @@
 # Ignored if the FileConfiguration service is found.
 # The content inside this directory should not be modified directly, and doing 
so may corrupt the data.
 # directory=
+#
 # Defines how many slice directories the store should use.
 # Many operating systems run into performance problems when the number of files
 # in a directory grows. If you expect a large number of entities in the file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-geode.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-geode.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-geode.properties
index e257168..7d87f64 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-geode.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-geode.properties
@@ -13,29 +13,38 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # Geode Topology.
 # Possible values; EMBEDDED, CLIENT_SERVER
 # Default: EMBEDDED
 #
 # topology=EMBEDDED
+
+
 # Geode Cache Name.
 # Default: polygene:cache
 #
 #cacheName=polygene:cache
+
+
 # Cache properties path, loaded from the classpath.
-# Default: <null>
+# Default: none
+#
 # cachePropertiesPath=
+
+
 # Cache Region Shortcut.
 #
-# In {@literal EMBEDDED} {@link #topology()}, defaults to  {@literal LOCAL},
-# see {@link org.apache.geode.cache.RegionShortcut}.
-#
-# In {@literal CLIENT_SERVER} {@link #topology()}, defaults to {@literal 
PROXY},
-# see {@link org.apache.geode.cache.client.ClientRegionShortcut}.
+# In EMBEDDED topology, defaults to  LOCAL,
+# see org.apache.geode.cache.RegionShortcut.
 #
-# Default: <null>
+# In CLIENT_SERVER topology, defaults to PROXY,
+# see org.apache.geode.cache.client.ClientRegionShortcut.
 #
 # regionShortcut=
+
+
 # Geode Region Name.
 #
 # Region names may only be alphanumeric and may contain hyphens or underscores.

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-hazelcast.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-hazelcast.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-hazelcast.properties
index bd838b9..c4ad569 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-hazelcast.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-hazelcast.properties
@@ -13,11 +13,17 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # The location of the Hazelcast configuration XML file.
 # If the property is not a URL, it will be tried as a path name on the \
 # classpath.
 # Defaults: hazelcast-default.xml
+#
 # configXmlLocation=hazelcast-default.xml
+
+
 # The name of the Hazelcast map that is the key-value entity store.
 # Defaults: polygene:entitystore:data
+#
 # mapName=polygene:entitystore:data

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jclouds.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jclouds.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jclouds.properties
index 8fc32dc..d164541 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jclouds.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jclouds.properties
@@ -13,22 +13,36 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # Name of the JClouds provider to use.
 # Defaults: 'transient'.
+#
 # provider=transient
+
+
 # Endpoint for the BlobStore provider.
 # Defaults:
+#
 # endpoint=
+
+
 # Name of the JClouds container to use.
 # Defaults: polygene-entities
+#
 # container=polygene-entities
+
+
 # The identifier and password (i.e. credentials) to connect to the JClouss
 # instance.
 #
 # identifier=
 # credential=
+
+
 # Use this to fine tune your provider implementation according to JClouds
 # documentation.
+#
 # properties=
 
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jdbm.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jdbm.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jdbm.properties
index 095c379..119a4d2 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jdbm.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-jdbm.properties
@@ -13,10 +13,19 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # The file where the JDBM data will be stored
 # Default: System.getProperty( "user.dir" ) + "/polygene/jdbmstore.data";
+#
 # file=
+
+
 # See JDBM documentation on RecordManagerOptions.AUTO_COMMIT
+#
 # autoCommit=false
+
+
 # See JDBM documentation on RecordManagerOptions.DISABLE_TRANSACTIONS
+#
 # disableTransactions=false

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-leveldb.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-leveldb.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-leveldb.properties
index 169a0d4..880a355 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-leveldb.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-leveldb.properties
@@ -13,17 +13,40 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # LevelDB flavour, can be 'java' or 'jni'.
 # Defaults: tries 'jni' and fallback to 'java'.
+#
 # flavour=java
+
+
 # blockRestartInterval=
+
+
 # blockSize=
+
+
 # cacheSize=
+
+
 # Type of compression to be used. Either SNAPPY or NONE
+#
 # compression=NONE
+
+
 # Maximum number of files to open.
+#
 # maxOpenFiles=
+
+
 # paranoidChecks=
+
+
 # verifyChecksums=
+
+
 # writeBufferSize=
+
+
 # errorIfExists=false
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-mongodb.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-mongodb.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-mongodb.properties
index 75ed36b..062766c 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-mongodb.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-mongodb.properties
@@ -13,16 +13,33 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # Defaults: 127.0.0.1
+#
 # hostname=
+
+
 # port=
+
+
 # nodes=
+
+
 # username=
 # password=
+
+
 # Defaults: polygene:entitystore
+#
 # database=polygene:entitystore
+
+
 # Defaults: entities
+#
 # collection=entities
+
+
 # The write concern to be used. One of the following;
 #
 # ACKNOWLEDGED : Write operations that use this write concern will wait for
@@ -49,5 +66,6 @@
 #            on a majority of servers for the write operation.
 #
 # Defaults: ACKNOWLEDGED
+#
 # writeConcern=ACKNOWLEDGED
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-redis.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-redis.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-redis.properties
index ae9e1da..c8c954d 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-redis.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-redis.properties
@@ -13,17 +13,32 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # Redis host.
 # Defaults: 127.0.0.1
+#
 # host=127.0.0.1
+
+
 # Redis port.
 # Defaults: 6379
+#
 # port=6379
+
+
 # Connection timeout in milliseconds.
 # Defaults: 2000
+#
 # timeout=2000
+
+
 # Password.
+#
 # password=
+
+
 # Database number.
 # Defaults: 0
-# database=
+#
+# database=0

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-riak.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-riak.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-riak.properties
index bca287b..d34c8c9 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-riak.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-riak.properties
@@ -13,45 +13,95 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # List of Riak Protocol Buffer hosts.
 #
 # Each entry can contain either an IP address / hostname
 # or an IP address / hostname followed by a column and the host's port.
-#
 # Defaults: 127.0.0.1
+#
 # hosts=
+
+
 # User name to use for authentication.
+#
 # username=
+
+
 # Password to use for authentication.
+#
 # password=
+
+
 # Type of the keystore used for server certificate authentication.
 # @OneOf( { "PKCS12", "JCEKS", "JKS" } )
+#
 # truststoreType=
+
+
 # Path of the keystore used for server certificate authentication.
+#
 # truststorePath=
+
+
 # Password of the keystore used for server certificate authentication.
+#
 # truststorePassword=
+
+
 # Type of the keystore used for client certificate authentication.
 # @OneOf( { "PKCS12", "JCEKS", "JKS" } )
+#
 # keystoreType=
+
+
 # Path of the keystore used for client certificate authentication.
+#
 # keystorePath=
+
+
 # Password of the keystore used for client certificate authentication.
+#
 # keystorePassword=
+
+
 # Password of the key used for client certificate authentication.
+#
 # keyPassword=
+
+
 # Riak Bucket where Entities state will be stored.
 # Defaults:" polygene:entities
+#
 # bucket=polygene:entities
+
+
 # Cluster execution attempts.
+#
 # clusterExecutionAttempts=
+
+
 # Minimum connections per node.
-# minConnections
+#
+# minConnections=
+
+
 # Maximum connections per node.
+#
 # maxConnections=
+
+
 # Block on maximum connections.
+#
 # blockOnMaxConnections=
+
+
 # Connection timeout.
+#
 # connectionTimeout=
+
+
 # Idle timeout.
+#
 # idleTimeout=

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-sql.properties
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-sql.properties
 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-sql.properties
index 4ce8bb3..c4f0cd5 100644
--- 
a/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-sql.properties
+++ 
b/tools/generator-polygene/app/templates/InfrastructureLayer/StorageModule/storage/es-sql.properties
@@ -13,15 +13,24 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+
+
 # Name of the database schema to use.
 # Ignored on SQL databases that don't support schemas.
 # Defaults: POLYGENE_ES
+#
 # schemaName=POLYGENE_ES
+
+
 # Name of the entities table.
 # Defaults: POLYGENE_ENTITIES
+#
 # entityTableName=POLYGENE_ENTITIES
+
+
 # Defines whether the database schema and table should be created if not
 # already present.
 # Defaults: true
+#
 # createIfMissing=true
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/InfrastructureLayer/bootstrap.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/InfrastructureLayer/bootstrap.tmpl 
b/tools/generator-polygene/app/templates/InfrastructureLayer/bootstrap.tmpl
index 1ba3098..d5ae76b 100644
--- a/tools/generator-polygene/app/templates/InfrastructureLayer/bootstrap.tmpl
+++ b/tools/generator-polygene/app/templates/InfrastructureLayer/bootstrap.tmpl
@@ -42,13 +42,11 @@ public class InfrastructureLayer extends 
LayeredLayerAssembler
     {
         createModule( layer, FileConfigurationModule.class );
         createModule( layer, <%= polygene.serialization 
%>SerializationModule.class );
-<% if( polygene.metrics !== "None" ) { %>
         createModule( layer, <%= polygene.metrics %>MetricsModule.class );
-<% } %>
-<% if( polygene.caching !== "None" ) { %>
-        createModule( layer, <%= polygene.caching %>CachingModule.class );
-<% } %>
-        new <%= polygene.entitystore %>StorageModule( configModule ).assemble( 
layer, layer.module( <%= polygene.entitystore %>StorageModule.NAME ) );
+<% if( polygene.caching !== "None" ) {
+%>        createModule( layer, <%= polygene.caching %>CachingModule.class );
+<% }
+%>        new <%= polygene.entitystore %>StorageModule( configModule 
).assemble( layer, layer.module( <%= polygene.entitystore %>StorageModule.NAME 
) );
         new <%= polygene.indexing %>IndexingModule( configModule ).assemble( 
layer, layer.module( <%= polygene.indexing %>IndexingModule.NAME ) );
         return layer;
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/RestAPIApplication/application.java.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/RestAPIApplication/application.java.tmpl
 
b/tools/generator-polygene/app/templates/RestAPIApplication/application.java.tmpl
index 1a74136..8b38091 100644
--- 
a/tools/generator-polygene/app/templates/RestAPIApplication/application.java.tmpl
+++ 
b/tools/generator-polygene/app/templates/RestAPIApplication/application.java.tmpl
@@ -24,7 +24,6 @@ import org.restlet.Context;
 import org.restlet.routing.Router;
 import org.restlet.security.Enroler;
 import org.restlet.security.Verifier;
-
 <%
 for( var moduleName in polygene.modules) {
     var module = polygene.modules[moduleName];
@@ -33,14 +32,18 @@ for( var moduleName in polygene.modules) {
 %>import <%= polygene.packageName %>.model.<%= moduleName %>.<%= crud.name %>;
 <%
     }
-}%>
-<% if( hasFeature('security') ) { %>
-import <%= polygene.packageName %>.rest.security.DefaultEnroler;
+}
+
+if( hasFeature('security') ) {
+%>import <%= polygene.packageName %>.rest.security.DefaultEnroler;
 import <%= polygene.packageName %>.rest.security.DefaultVerifier;
-<% } else { %>
-import <%= polygene.packageName %>.rest.security.NullEnroler;
+<%
+} else {
+%>import <%= polygene.packageName %>.rest.security.NullEnroler;
 import <%= polygene.packageName %>.rest.security.NullVerifier;
-<% } %>
+<%
+}
+%>
 public class <%= polygene.name %>RestApplication extends 
PolygeneRestApplication
 {
     private static final String BASEPATH = "/<%= polygene.name.toLowerCase() 
%>/";

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl 
b/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
index 1130db5..54481cc 100644
--- 
a/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
+++ 
b/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
@@ -43,8 +43,7 @@ if( polygene.entitystore !== 'Memory' && polygene.entitystore 
!== 'Preferences'
     if( polygene.entitystore.indexOf('SQL') < 0 ) {
 %>import org.apache.polygene.entitystore.<%= 
polygene.entitystore.toLowerCase() %>.<%= polygene.entitystore 
%>EntityStoreConfiguration;
 <% } else {
-%>import org.apache.polygene.entitystore.sql.<%= polygene.entitystore 
%>EntityStoreConfiguration;
-}
+%>import org.apache.polygene.entitystore.sql.SQLEntityStoreConfiguration;
 <%
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl 
b/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
index fe49308..4926bc7 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
@@ -19,27 +19,56 @@
 -%>
 
 dependencies {
-  compile project( ":bootstrap" )
-  compile project( ":model" )
-<% if( polygene.applicationtype === 'Rest API' ) {
-%>  compile project( ":rest" )<% } %>
-<% if( hasFeature( 'security' ) ) {
-%>  compile 
"org.apache.polygene.libraries:org.apache.polygene.library.shiro-web:$polygeneVersion"
-<% }
-%>  compile 
"org.apache.polygene.core:org.apache.polygene.core.spi:$polygeneVersion"
-  compile 
"org.apache.polygene.core:org.apache.polygene.core.bootstrap:$polygeneVersion"
-<% if( polygene.applicationtype === 'Rest API' ) {
-%>  compile "org.restlet.jee:org.restlet:2.3.4"
-  compile "javax.servlet:servlet-api:2.5"<% } %>
+  implementation project( ":bootstrap" )
+  implementation project( ":model" )
+<%
+if( polygene.applicationtype === 'Rest API' ) {
+%>  implementation project( ":rest" )
+  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
+<%
+}
 
-  runtime 
"org.apache.polygene.core:org.apache.polygene.core.runtime:$polygeneVersion"
-  runtime "org.restlet.jee:org.restlet.ext.servlet:2.3.4"
-  runtime "org.apache.johnzon:johnzon-core:1.1.0"
-  runtime "org.apache.johnzon:johnzon-mapper:1.1.0"
-  runtime "org.apache.geronimo.specs:geronimo-json_1.1_spec:1.0"
-  runtime "ch.qos.logback:logback-classic:1.2.3"
-  runtime "ch.qos.logback:logback-core:1.2.3"
+if( hasFeature( 'security' ) ) {
+%>  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.shiro-web:$polygeneVersion"
+<%
+}
+%>  implementation 
"org.apache.polygene.core:org.apache.polygene.core.spi:$polygeneVersion"
+  implementation 
"org.apache.polygene.core:org.apache.polygene.core.bootstrap:$polygeneVersion"
+<%
+if( hasFeature( 'envisage' ) ) {
+%>  implementation 
"org.apache.polygene.tools:org.apache.polygene.tool.envisage:$polygeneVersion"
+<%
+}
+%>
 
-  testCompile 
"org.apache.polygene.tools:org.apache.polygene.tool.model-detail:$polygeneVersion"
+  runtimeOnly 
"org.apache.polygene.core:org.apache.polygene.core.runtime:$polygeneVersion"
+  runtimeOnly "org.restlet.jee:org.restlet.ext.servlet:2.3.4"
+  runtimeOnly "org.apache.johnzon:johnzon-core:1.1.0"
+  runtimeOnly "org.apache.johnzon:johnzon-mapper:1.1.0"
+  runtimeOnly "org.apache.geronimo.specs:geronimo-json_1.1_spec:1.0"
+  implementation "ch.qos.logback:logback-classic:1.2.3"
+  implementation "ch.qos.logback:logback-core:1.2.3"
+
+  testImplementation 
"org.apache.polygene.tools:org.apache.polygene.tool.model-detail:$polygeneVersion"
   testImplementation 
"org.apache.polygene.core:org.apache.polygene.core.testsupport:$polygeneVersion"
+<%
+if( polygene.entitystore.indexOf('SQL') >= 0 ) {
+    if( polygene.dbpool !== 'None' ) {
+%>  testImplementation 
"org.apache.polygene.libraries:org.apache.polygene.library.sql-<%= 
polygene.dbpool.toLowerCase() %>:$polygeneVersion"
+<%
+    }
+}
+%>
+  testImplementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.entitystore-<%= 
polygene.entitystoremodule.toLowerCase() %>:$polygeneVersion"
+  testImplementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.indexing-<%= 
polygene.indexing.toLowerCase() %>:$polygeneVersion"
+  testImplementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.serialization-<%= 
polygene.serialization.toLowerCase() %>:$polygeneVersion"
+<%
+if( polygene.caching !== "None" ) {
+%>  testImplementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.cache-<%= 
polygene.caching.toLowerCase() %>:$polygeneVersion"
+<%
 }
+    if( polygene.metrics !== "None" ) {
+%>  testImplementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.metrics-<%= 
polygene.metrics.toLowerCase() %>:$polygeneVersion"
+<%
+    }
+%>}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/buildtool/gradle-bootstrap.tmpl
----------------------------------------------------------------------
diff --git 
a/tools/generator-polygene/app/templates/buildtool/gradle-bootstrap.tmpl 
b/tools/generator-polygene/app/templates/buildtool/gradle-bootstrap.tmpl
index c744772..7f1f06d 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-bootstrap.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-bootstrap.tmpl
@@ -18,34 +18,43 @@
  *
 -%>
 dependencies {
-  compile project( ":model" )
-<% if( polygene.applicationtype === 'Rest API' ) {
-%>  compile project( ":rest" )
-<% }
-%>  compile 
"org.apache.polygene.core:org.apache.polygene.core.spi:$polygeneVersion"
-  compile 
"org.apache.polygene.core:org.apache.polygene.core.bootstrap:$polygeneVersion"
-  compile 
"org.apache.polygene.libraries:org.apache.polygene.library.fileconfig:$polygeneVersion"
-<% if( polygene.applicationtype === 'Rest API' ) {
-       if( polygene.hasFeature('security') ) {
-%>  compile 
"org.apache.polygene.libraries:org.apache.polygene.library.shiro-web:$polygeneVersion"
-<%     }
-%>  compile 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
-  compile 
"org.apache.polygene.libraries:org.apache.polygene.library.http:$polygeneVersion"
-<% }
+  implementation project( ":model" )
+<%
+if( polygene.applicationtype === 'Rest API' ) {
+%>  implementation project( ":rest" )
+<%
+}
+%>  implementation 
"org.apache.polygene.core:org.apache.polygene.core.spi:$polygeneVersion"
+  implementation 
"org.apache.polygene.core:org.apache.polygene.core.bootstrap:$polygeneVersion"
+  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.fileconfig:$polygeneVersion"
+<%
+if( polygene.applicationtype === 'Rest API' ) {
+    if( polygene.hasFeature('security') ) {
+%>  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.shiro-web:$polygeneVersion"
+<%
+    }
+%>  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
+  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.http:$polygeneVersion"
+<%
+}
+
 if( polygene.entitystore.indexOf('SQL') >= 0 ) {
-  if( polygene.dbpool !== 'None' ) {
-%>  compile "org.apache.polygene.libraries:org.apache.polygene.library.sql-<%= 
polygene.dbpool.toLowerCase() %>:$polygeneVersion"
+    if( polygene.dbpool !== 'None' ) {
+%>  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.sql-<%= 
polygene.dbpool.toLowerCase() %>:$polygeneVersion"
 <%
-  }
+    }
 }
 %>
-  compile 
"org.apache.polygene.extensions:org.apache.polygene.extension.entitystore-<%= 
polygene.entitystoremodule.toLowerCase() %>:$polygeneVersion"
-  compile 
"org.apache.polygene.extensions:org.apache.polygene.extension.indexing-<%= 
polygene.indexing.toLowerCase() %>:$polygeneVersion"
-  compile 
"org.apache.polygene.extensions:org.apache.polygene.extension.serialization-<%= 
polygene.serialization.toLowerCase() %>:$polygeneVersion"
-<% if( polygene.caching !== "None" ) {
-%>  compile 
"org.apache.polygene.extensions:org.apache.polygene.extension.cache-<%= 
polygene.caching.toLowerCase() %>:$polygeneVersion"
-<% }
-   if( polygene.metrics !== "None" ) {
-%>  compile 
"org.apache.polygene.extensions:org.apache.polygene.extension.metrics-<%= 
polygene.metrics.toLowerCase() %>:$polygeneVersion"
-<% }
+  implementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.entitystore-<%= 
polygene.entitystoremodule.toLowerCase() %>:$polygeneVersion"
+  implementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.indexing-<%= 
polygene.indexing.toLowerCase() %>:$polygeneVersion"
+  implementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.serialization-<%= 
polygene.serialization.toLowerCase() %>:$polygeneVersion"
+<%
+if( polygene.caching !== "None" ) {
+%>  implementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.cache-<%= 
polygene.caching.toLowerCase() %>:$polygeneVersion"
+<%
+}
+    if( polygene.metrics !== "None" ) {
+%>  implementation 
"org.apache.polygene.extensions:org.apache.polygene.extension.metrics-<%= 
polygene.metrics.toLowerCase() %>:$polygeneVersion"
+<%
+    }
 %>}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/buildtool/gradle-model.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-model.tmpl 
b/tools/generator-polygene/app/templates/buildtool/gradle-model.tmpl
index d9a954f..6b5dcab 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-model.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-model.tmpl
@@ -21,16 +21,16 @@
 dependencies {
 
 <% if( hasFeature( 'security' ) ) {
-%>    compile 
"org.apache.polygene.libraries:org.apache.polygene.library.shiro-core:$polygeneVersion"
+%>    implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.shiro-core:$polygeneVersion"
 <% } %>
 <% if( polygene.applicationtype === 'Rest API' ) {
-%>    compile 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
+%>    implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
 <% } %>
 <% if( polygene.hasFeature( 'mixin scripting' ) ) {
-%>    compile 
"org.apache.polygene.libraries:org.apache.polygene.library.scripting:$polygeneVersion"
+%>    implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.scripting:$polygeneVersion"
 <% } %>
 <% if( polygene.hasFeature( 'jmx' ) ) {
-%>    compile 
"org.apache.polygene.libraries:org.apache.polygene.library.jmx:$polygeneVersion"
+%>    implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.jmx:$polygeneVersion"
 <% } %>
 
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/buildtool/gradle-rest.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-rest.tmpl 
b/tools/generator-polygene/app/templates/buildtool/gradle-rest.tmpl
index d07ac02..098e919 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-rest.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-rest.tmpl
@@ -19,11 +19,11 @@
 -%>
 
 dependencies {
-  compile project( ":model" )
+  implementation project( ":model" )
 
-  compile 
"org.apache.polygene.core:org.apache.polygene.core.api:$polygeneVersion"
+  implementation 
"org.apache.polygene.core:org.apache.polygene.core.api:$polygeneVersion"
 <% if( polygene.applicationtype === 'Rest API' ) {
-%>    compile 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
+%>  implementation 
"org.apache.polygene.libraries:org.apache.polygene.library.restlet:$polygeneVersion"
 <% } %>
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl 
b/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
index a6c1f92..d8f215e 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
@@ -18,14 +18,17 @@
  *
 -%>
 
-version = 1.0
+if( project.version == 'unspecified' )
+{
+  project.version = System.properties.version ?: '0'
+}
 
 rootProject.ext {
-  polygeneVersion = "<%=polygene.version %>"
+  polygeneVersion = "<%= polygene.version %>"
 }
 
 allprojects() {
-  apply plugin: 'java'
+  apply plugin: 'java-library'
   apply plugin: 'maven'
 
   defaultTasks 'assemble'
@@ -39,7 +42,7 @@ allprojects() {
   }
 
   dependencies {
-    compile 
"org.apache.polygene.core:org.apache.polygene.core.api:$polygeneVersion"
-    testCompile 
"org.apache.polygene.core:org.apache.polygene.core.testsupport:$polygeneVersion"
+    implementation 
"org.apache.polygene.core:org.apache.polygene.core.api:$polygeneVersion"
+    testImplementation 
"org.apache.polygene.core:org.apache.polygene.core.testsupport:$polygeneVersion"
   }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tutorials/cargo/src/test/java/org/apache/polygene/tutorials/cargo/step2/SequencingConcernTest.java
----------------------------------------------------------------------
diff --git 
a/tutorials/cargo/src/test/java/org/apache/polygene/tutorials/cargo/step2/SequencingConcernTest.java
 
b/tutorials/cargo/src/test/java/org/apache/polygene/tutorials/cargo/step2/SequencingConcernTest.java
index 20c964f..2c83d5e 100644
--- 
a/tutorials/cargo/src/test/java/org/apache/polygene/tutorials/cargo/step2/SequencingConcernTest.java
+++ 
b/tutorials/cargo/src/test/java/org/apache/polygene/tutorials/cargo/step2/SequencingConcernTest.java
@@ -107,7 +107,7 @@ public class SequencingConcernTest
 
     @Mixins( MockPlayerMixin.class )
     @Concerns( SequencingConcern.class )
-    public static interface ShippingServiceTestComposite
+    public interface ShippingServiceTestComposite
         extends ShippingService, HasSequence, MockComposite
     {
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/35fcff1f/tutorials/hello/src/test/java/org/apache/polygene/tutorials/hello/HelloTest4.java
----------------------------------------------------------------------
diff --git 
a/tutorials/hello/src/test/java/org/apache/polygene/tutorials/hello/HelloTest4.java
 
b/tutorials/hello/src/test/java/org/apache/polygene/tutorials/hello/HelloTest4.java
index 563cbe7..7df4c68 100644
--- 
a/tutorials/hello/src/test/java/org/apache/polygene/tutorials/hello/HelloTest4.java
+++ 
b/tutorials/hello/src/test/java/org/apache/polygene/tutorials/hello/HelloTest4.java
@@ -19,15 +19,15 @@
  */
 package org.apache.polygene.tutorials.hello;
 
+import org.apache.polygene.api.entity.EntityBuilder;
 import org.apache.polygene.api.identity.Identity;
 import org.apache.polygene.api.identity.StringIdentity;
-import org.apache.polygene.test.AbstractPolygeneTest;
-import org.junit.Test;
-import org.apache.polygene.api.entity.EntityBuilder;
 import org.apache.polygene.api.unitofwork.UnitOfWork;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
+import org.apache.polygene.test.AbstractPolygeneTest;
+import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.junit.Assert.assertThat;

Reply via email to