Changed Assembler.assemble() to allow Exception to be thrown (instead of only 
AssemblyException), so one doesn't need to capture all kind of exceptions in 
one's Assembler just to re-throw as AssemblyException.


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

Branch: refs/heads/develop
Commit: ca66f7e7a9d60b05c5f2ab6a210bae26b5dcce41
Parents: db99803
Author: niclas <nic...@hedhman.org>
Authored: Sat Apr 28 16:18:29 2018 +0800
Committer: niclas <nic...@hedhman.org>
Committed: Sat Apr 28 16:18:30 2018 +0800

----------------------------------------------------------------------
 .../apache/polygene/api/common/MetaInfo.java    |  2 +-
 .../api/activation/ActivationEventsTest.java    |  3 --
 .../activation/PassivationExceptionTest.java    |  2 +-
 .../api/configuration/ConfigurationTest.java    |  1 -
 .../DeclareConfigurationDefaultsTest.java       |  1 -
 .../api/docsupport/ApplicationDocs.java         |  8 +----
 .../api/injection/scope/StateFieldTest.java     |  1 -
 .../api/metrics/DocumentationSupport.java       |  1 -
 .../decoratorMixin/DecoratorMixinTest.java      |  1 -
 .../polygene/api/object/ObjectBuilderTest.java  |  1 -
 .../api/property/PropertyErrorTest.java         |  1 -
 .../api/service/DocumentationSupport.java       |  1 -
 .../polygene/api/unitofwork/RemovalTest.java    |  3 --
 .../apache/polygene/bootstrap/Assembler.java    |  2 +-
 .../polygene/bootstrap/AssemblerCollection.java |  2 +-
 .../polygene/bootstrap/SingletonAssembler.java  |  1 +
 .../bootstrap/builder/ModuleDeclaration.java    | 21 ++++++++++++-
 .../ApplicationAssemblyFactoryImpl.java         | 17 ++++++++++-
 .../runtime/bootstrap/ModuleAssemblyImpl.java   | 32 ++++++++++++++++++--
 .../composite/InterfaceDefaultMethodsMixin.java |  2 +-
 .../polygene/api/common/OptionalTest.java       |  1 -
 .../polygene/api/common/PropertyErrorTest.java  |  1 -
 .../polygene/api/common/PropertyTypeTest.java   |  1 -
 .../apache/polygene/api/common/RemovalTest.java |  1 -
 .../polygene/api/common/ValueCompositeTest.java |  1 -
 .../composite/InterfaceDefaultMethodsTest.java  | 12 ++++----
 .../memory/MemoryEntityStoreTest.java           |  2 +-
 .../polygene/test/AbstractPolygeneBaseTest.java | 22 ++++++++++----
 .../polygene/test/AbstractPolygeneTest.java     |  1 +
 .../polygene/test/PolygeneUnitExtension.java    |  1 +
 .../cache/AbstractEntityStoreWithCacheTest.java |  1 +
 .../test/entity/AbstractEntityStoreTest.java    |  1 +
 .../metrics/AbstractPolygeneMetricsTest.java    |  1 +
 .../test/metrics/AbstractTimingCaptureTest.java |  1 +
 .../berkeleydb/BdbJeEntityStoreTest.java        |  2 +-
 .../cassandra/CassandraEntityStoreTest.java     |  5 +--
 .../entitystore/file/FileEntityStoreTest.java   |  4 +--
 .../file/FileEntityStoreWithCacheTest.java      |  2 +-
 .../entitystore/geode/GeodeEntityStoreTest.java |  2 +-
 .../geode/GeodeEntityStoreWithCacheTest.java    |  2 +-
 .../hazelcast/HazelcastEntityStoreTest.java     |  2 +-
 .../HazelcastEntityStoreWithCacheTest.java      |  2 +-
 .../jclouds/JCloudsFilesystemTest.java          |  4 +--
 .../entitystore/jclouds/JCloudsS3Test.java      | 10 ++++--
 .../jclouds/JCloudsTransientTest.java           |  4 +--
 .../jclouds/JCloudsWithCacheTest.java           |  2 +-
 .../entitystore/jdbm/JdbmEntityStoreTest.java   | 14 +++++----
 .../jdbm/JdbmEntityStoreWithCacheTest.java      |  5 ++-
 .../leveldb/JavaLevelDBEntityStoreTest.java     | 10 +++---
 .../LevelDBEntityStoreWithCacheTest.java        | 17 +++++------
 .../memory/MemoryEntityStoreTest.java           |  4 +--
 .../memory/MemoryEntityStoreWithCacheTest.java  |  5 ++-
 .../mongodb/MongoDBEntityStoreTest.java         |  2 +-
 .../MongoDBEntityStoreWithCacheTest.java        |  9 +++---
 .../preferences/PreferencesEntityStoreTest.java |  2 +-
 .../entitystore/redis/RedisEntityStoreTest.java |  4 +--
 .../redis/RedisEntityStoreWithCacheTest.java    |  2 +-
 .../entitystore/riak/RiakEntityStoreTest.java   |  1 +
 .../riak/RiakEntityStoreWithCacheTest.java      |  2 +-
 .../sql/DerbySQLEntityStoreTest.java            |  2 +-
 .../entitystore/sql/H2SQLEntityStoreTest.java   |  2 +-
 .../entitystore/sql/MariaDbEntityStoreTest.java |  2 +-
 .../entitystore/sql/MySQLEntityStoreTest.java   |  2 +-
 .../sql/PostgreSQLEntityStoreTest.java          |  2 +-
 .../entitystore/sql/SQLiteEntityStoreTest.java  |  2 +-
 .../entitystore/sql/SqlEntityStoreTest.java     |  2 +-
 .../sqlkv/DerbySQLEntityStoreTest.java          |  2 +-
 .../entitystore/sqlkv/H2SQLEntityStoreTest.java |  2 +-
 .../sqlkv/MariaDbEntityStoreTest.java           |  2 +-
 .../entitystore/sqlkv/MySQLEntityStoreTest.java |  2 +-
 .../sqlkv/PostgreSQLEntityStoreTest.java        |  2 +-
 .../sqlkv/SQLiteEntityStoreTest.java            |  2 +-
 extensions/entitystore-zookeeper/build.gradle   |  1 +
 .../polygene/entitystore/zookeeper/ZkUtil.java  | 19 ++++++++++++
 .../zookeeper/ZookeeperEntityStoreTest.java     | 19 ++++++++----
 .../ZookeeperEntityStoreTestSuite.java          | 11 +++++--
 .../ZookeeperEntityStoreWithCacheTest.java      | 18 ++++++++---
 .../polygene/index/rdf/RDFPerformanceTest.java  |  3 +-
 .../polygene/index/rdf/qi95/Qi95IssueTest.java  | 13 +++++++-
 79 files changed, 246 insertions(+), 132 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/main/java/org/apache/polygene/api/common/MetaInfo.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/main/java/org/apache/polygene/api/common/MetaInfo.java 
b/core/api/src/main/java/org/apache/polygene/api/common/MetaInfo.java
index c3f3a11..b0d1beb 100644
--- a/core/api/src/main/java/org/apache/polygene/api/common/MetaInfo.java
+++ b/core/api/src/main/java/org/apache/polygene/api/common/MetaInfo.java
@@ -50,7 +50,7 @@ import static org.apache.polygene.api.util.Classes.typesOf;
  * </p>
  * <pre><code>
  * public void assemble( ModuleAssembly module )
- *     throws AssemblyException
+ *     throws Exception
  * {
  *     Map&lt;String,String&gt; properties = ...;
  *     module.services( MyService.class ).setMetaInfo( properties );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/activation/ActivationEventsTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/activation/ActivationEventsTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/activation/ActivationEventsTest.java
index c9137b9..25364db 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/activation/ActivationEventsTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/activation/ActivationEventsTest.java
@@ -75,7 +75,6 @@ public class ActivationEventsTest
         {
             @Override
             public void assemble( ModuleAssembly module )
-                throws AssemblyException
             {
                 module.services( TestServiceComposite.class 
).instantiateOnStartup();
             }
@@ -124,7 +123,6 @@ public class ActivationEventsTest
         {
             @Override
             public void assemble( ModuleAssembly module )
-                throws AssemblyException
             {
                 module.importedServices( TestService.class ).
                         setMetaInfo( new TestServiceInstance() ).
@@ -176,7 +174,6 @@ public class ActivationEventsTest
 
             @Override
             public void assemble( ModuleAssembly module )
-                    throws AssemblyException
             {
                 module.services( TestServiceComposite.class );
             }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/activation/PassivationExceptionTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/activation/PassivationExceptionTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/activation/PassivationExceptionTest.java
index ddd4d80..9b17d53 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/activation/PassivationExceptionTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/activation/PassivationExceptionTest.java
@@ -79,7 +79,7 @@ public class PassivationExceptionTest
 
     @Test
     public void testPassivationExceptionsAccrossStructure()
-        throws AssemblyException, ActivationException
+        throws ActivationException
     {
         ApplicationBuilder appBuilder = new ApplicationBuilder( 
"TestApplication" );
         appBuilder.withLayer( "Layer 1" ).withModule( "Module A" 
).withAssembler(

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/configuration/ConfigurationTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/configuration/ConfigurationTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/configuration/ConfigurationTest.java
index 186153d..cf3064b 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/configuration/ConfigurationTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/configuration/ConfigurationTest.java
@@ -38,7 +38,6 @@ public class ConfigurationTest extends AbstractPolygeneTest
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.services( MyService.class ).instantiateOnStartup();
         module.entities( MyConfig.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/configuration/DeclareConfigurationDefaultsTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/configuration/DeclareConfigurationDefaultsTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/configuration/DeclareConfigurationDefaultsTest.java
index 3d0ea17..45366c0 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/configuration/DeclareConfigurationDefaultsTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/configuration/DeclareConfigurationDefaultsTest.java
@@ -65,7 +65,6 @@ public class DeclareConfigurationDefaultsTest
     }
 
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.services( FooServiceComposite.class ).identifiedBy( "bazar" );
         module.entities( FooConfigurationComposite.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/docsupport/ApplicationDocs.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/docsupport/ApplicationDocs.java
 
b/core/api/src/test/java/org/apache/polygene/api/docsupport/ApplicationDocs.java
index de60c22..4a0131f 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/docsupport/ApplicationDocs.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/docsupport/ApplicationDocs.java
@@ -90,7 +90,6 @@ public class ApplicationDocs
     {
         @Override
         public void assemble( ModuleAssembly module )
-            throws AssemblyException
         {
 
         }
@@ -108,7 +107,6 @@ public class ApplicationDocs
     }
 
     private static ApplicationAssembly createAssembly( 
ApplicationAssemblyFactory factory )
-        throws AssemblyException
     {
         String applicationName = "Example Application";
         ApplicationAssembly app = factory.newApplicationAssembly();
@@ -142,9 +140,7 @@ public class ApplicationDocs
         return layer;
     }
 
-    private static LayerAssembly createInfrastructureLayer(
-        ApplicationAssembly application
-    )
+    private static LayerAssembly createInfrastructureLayer( 
ApplicationAssembly application )
         throws AssemblyException
     {
         LayerAssembly layer = application.layer( "Infrastructure Layer" );
@@ -230,7 +226,6 @@ public class ApplicationDocs
 
         @Override
         public void assemble( ModuleAssembly module )
-            throws AssemblyException
         {
         }
     }
@@ -244,7 +239,6 @@ public class ApplicationDocs
 
         @Override
         public void assemble( ModuleAssembly module )
-            throws AssemblyException
         {
         }
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/injection/scope/StateFieldTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/injection/scope/StateFieldTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/injection/scope/StateFieldTest.java
index 7e1c7eb..722fca8 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/injection/scope/StateFieldTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/injection/scope/StateFieldTest.java
@@ -45,7 +45,6 @@ public class StateFieldTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         new EntityTestAssembler().assemble( module );
         module.entities( PersonEntity.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/metrics/DocumentationSupport.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/metrics/DocumentationSupport.java
 
b/core/api/src/test/java/org/apache/polygene/api/metrics/DocumentationSupport.java
index aaaa052..63b8b57 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/metrics/DocumentationSupport.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/metrics/DocumentationSupport.java
@@ -147,7 +147,6 @@ public class DocumentationSupport
             // START SNIPPET: capture
             @Override
             public void assemble( ModuleAssembly module )
-                throws AssemblyException
             {
                 module.addServices( Router.class ).identifiedBy( "router1" 
).withMixins( RouterAlgorithm1.class );
                 module.addServices( Router.class ).identifiedBy( "router2" 
).withMixins( RouterAlgorithm2.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/mixin/decoratorMixin/DecoratorMixinTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/mixin/decoratorMixin/DecoratorMixinTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/mixin/decoratorMixin/DecoratorMixinTest.java
index a3276f4..2eed62f 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/mixin/decoratorMixin/DecoratorMixinTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/mixin/decoratorMixin/DecoratorMixinTest.java
@@ -35,7 +35,6 @@ public class DecoratorMixinTest extends AbstractPolygeneTest
     // START SNIPPET: assembly
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.transients( View1.class );
         module.transients( View2.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/object/ObjectBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/object/ObjectBuilderTest.java 
b/core/api/src/test/java/org/apache/polygene/api/object/ObjectBuilderTest.java
index 2b943fb..29ad294 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/object/ObjectBuilderTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/object/ObjectBuilderTest.java
@@ -36,7 +36,6 @@ public class ObjectBuilderTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.objects( A.class, B.class, C.class, D.class );
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/property/PropertyErrorTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/property/PropertyErrorTest.java
 
b/core/api/src/test/java/org/apache/polygene/api/property/PropertyErrorTest.java
index 59f8685..43c7b51 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/property/PropertyErrorTest.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/property/PropertyErrorTest.java
@@ -38,7 +38,6 @@ public class PropertyErrorTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         new EntityTestAssembler().assemble( module );
         module.entities( PersonEntity.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/service/DocumentationSupport.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/service/DocumentationSupport.java
 
b/core/api/src/test/java/org/apache/polygene/api/service/DocumentationSupport.java
index c612d0b..1f4615b 100644
--- 
a/core/api/src/test/java/org/apache/polygene/api/service/DocumentationSupport.java
+++ 
b/core/api/src/test/java/org/apache/polygene/api/service/DocumentationSupport.java
@@ -36,7 +36,6 @@ public class DocumentationSupport
     // START SNIPPET: instantiateOnStartup
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         ServiceDeclaration service = module.addServices( MyDemoService.class );
         // END SNIPPET: tag

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/api/src/test/java/org/apache/polygene/api/unitofwork/RemovalTest.java
----------------------------------------------------------------------
diff --git 
a/core/api/src/test/java/org/apache/polygene/api/unitofwork/RemovalTest.java 
b/core/api/src/test/java/org/apache/polygene/api/unitofwork/RemovalTest.java
index 42cb060..38bdccf 100644
--- a/core/api/src/test/java/org/apache/polygene/api/unitofwork/RemovalTest.java
+++ b/core/api/src/test/java/org/apache/polygene/api/unitofwork/RemovalTest.java
@@ -35,7 +35,6 @@ public class RemovalTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.entities( TestEntity.class );
         module.entities( PidRegulator.class );
@@ -44,7 +43,6 @@ public class RemovalTest
 
     @Test
     public void 
givenEntityIsCreatedAndUnitOfWorkIsNotCompletedWhenEntityIsRemoveThenSuccessfulRemoval()
-        throws Exception
     {
         UnitOfWork uow = unitOfWorkFactory.newUnitOfWork();
         try
@@ -63,7 +61,6 @@ public class RemovalTest
 
     @Test
     public void 
givenStandardPidRegulatorWhenNoChangeInInputExpectOutputToGoTowardsMinimum()
-        throws Exception
     {
         UnitOfWork uow = unitOfWorkFactory.newUnitOfWork();
         PidRegulator regulator = null;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assembler.java
----------------------------------------------------------------------
diff --git 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assembler.java 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assembler.java
index 9e0ecd3..eabbe39 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assembler.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assembler.java
@@ -47,5 +47,5 @@ public interface Assembler
      * @throws AssemblyException thrown if the assembler tries to do something 
illegal
      */
     void assemble( ModuleAssembly module )
-        throws AssemblyException;
+        throws Exception;
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblerCollection.java
----------------------------------------------------------------------
diff --git 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblerCollection.java
 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblerCollection.java
index 8bee7cb..6924844 100644
--- 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblerCollection.java
+++ 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblerCollection.java
@@ -66,7 +66,7 @@ public final class AssemblerCollection
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         for( Assembler assembler : assemblers )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/SingletonAssembler.java
----------------------------------------------------------------------
diff --git 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/SingletonAssembler.java
 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/SingletonAssembler.java
index 7016795..796c211 100644
--- 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/SingletonAssembler.java
+++ 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/SingletonAssembler.java
@@ -172,6 +172,7 @@ public class SingletonAssembler
 
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         if( assemble != null )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/builder/ModuleDeclaration.java
----------------------------------------------------------------------
diff --git 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/builder/ModuleDeclaration.java
 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/builder/ModuleDeclaration.java
index 95f2810..9a57f7d 100644
--- 
a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/builder/ModuleDeclaration.java
+++ 
b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/builder/ModuleDeclaration.java
@@ -20,10 +20,13 @@
 package org.apache.polygene.bootstrap.builder;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.stream.StreamSupport;
 import org.apache.polygene.bootstrap.Assembler;
 import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.AssemblyReportException;
 import org.apache.polygene.bootstrap.LayerAssembly;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 
@@ -46,6 +49,7 @@ public class ModuleDeclaration
 
     /**
      * Declare Assembler.
+     *
      * @param assembler Assembler instance
      * @return This Module declaration
      */
@@ -57,6 +61,7 @@ public class ModuleDeclaration
 
     /**
      * Declare Assembler.
+     *
      * @param classname Assembler class name
      * @return This Module declaration
      * @throws AssemblyException if unable to load class, not an Assembler or 
unable to instanciate
@@ -70,6 +75,7 @@ public class ModuleDeclaration
 
     /**
      * Declare Assembler.
+     *
      * @param assemblerClass Assembler class
      * @return This Module declaration
      * @throws AssemblyException not an Assembler or if unable to instanciate
@@ -86,6 +92,7 @@ public class ModuleDeclaration
      * Declare Assemblers.
      * <p>Declare several Assemblers from an Iterable of Class objects.</p>
      * <p>Typically used along {@link 
org.apache.polygene.bootstrap.ClassScanner}.</p>
+     *
      * @param assemblerClasses Assembler classes
      * @return This Module declaration
      * @throws AssemblyException if one of the Class is not an Assembler or 
unable to instantiate
@@ -117,9 +124,21 @@ public class ModuleDeclaration
 
     void initialize()
     {
+        Set<Throwable> problems = new HashSet<>();
         for( Assembler assembler : assemblers )
         {
-            assembler.assemble( module );
+            try
+            {
+                assembler.assemble( module );
+            }
+            catch( Exception e )
+            {
+                problems.add( e );
+            }
+        }
+        if( problems.size() > 0 )
+        {
+            throw new AssemblyReportException( problems );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ApplicationAssemblyFactoryImpl.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ApplicationAssemblyFactoryImpl.java
 
b/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ApplicationAssemblyFactoryImpl.java
index d55ffd3..3bbac29 100644
--- 
a/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ApplicationAssemblyFactoryImpl.java
+++ 
b/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ApplicationAssemblyFactoryImpl.java
@@ -20,9 +20,12 @@
 
 package org.apache.polygene.runtime.bootstrap;
 
+import java.util.HashSet;
+import java.util.Set;
 import org.apache.polygene.bootstrap.ApplicationAssembly;
 import org.apache.polygene.bootstrap.ApplicationAssemblyFactory;
 import org.apache.polygene.bootstrap.Assembler;
+import org.apache.polygene.bootstrap.AssemblyReportException;
 import org.apache.polygene.bootstrap.LayerAssembly;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 
@@ -45,6 +48,7 @@ public final class ApplicationAssemblyFactoryImpl
 
         // Build all layers bottom-up
         LayerAssembly below = null;
+        Set<Throwable> problems = new HashSet<>();
         for( int layer = assemblers.length - 1; layer >= 0; layer-- )
         {
             // Create Layer
@@ -56,7 +60,14 @@ public final class ApplicationAssemblyFactoryImpl
                 for( Assembler assembler : assemblers[ layer ][ module ] )
                 {
                     // Register Assembler
-                    assembler.assemble( moduleAssembly );
+                    try
+                    {
+                        assembler.assemble( moduleAssembly );
+                    }
+                    catch( Exception e )
+                    {
+                        problems.add( e );
+                    }
                 }
             }
             if( below != null )
@@ -65,6 +76,10 @@ public final class ApplicationAssemblyFactoryImpl
             }
             below = layerAssembly;
         }
+        if( problems.size() > 0 )
+        {
+            throw new AssemblyReportException( problems );
+        }
         return applicationAssembly;
     }
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ModuleAssemblyImpl.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ModuleAssemblyImpl.java
 
b/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ModuleAssemblyImpl.java
index d4cfa29..2d43e78 100644
--- 
a/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ModuleAssemblyImpl.java
+++ 
b/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/ModuleAssemblyImpl.java
@@ -180,15 +180,29 @@ final class ModuleAssemblyImpl
     @Override
     public ServiceDeclaration defaultServices()
     {
+        Set<Throwable> problems = new HashSet<>();
         Class[] assembledServicesTypes = DEFAULT_ASSEMBLERS
             .entrySet()
             .stream()
             .filter(
                 entry -> serviceAssemblies.stream().noneMatch(
                     serviceAssembly -> serviceAssembly.hasType( entry.getKey() 
) ) )
-            .peek( entry -> entry.getValue().assemble( this ) )
+            .peek( entry -> {
+                try
+                {
+                    entry.getValue().assemble( this );
+                }
+                catch( Exception e )
+                {
+                    problems.add( e );
+                }
+            } )
             .map( Map.Entry::getKey )
             .toArray( Class[]::new );
+        if( problems.size() > 0 )
+        {
+            throw new AssemblyReportException( problems );
+        }
         return services( assembledServicesTypes );
     }
 
@@ -693,13 +707,27 @@ final class ModuleAssemblyImpl
 
     private void addRequiredAssemblers()
     {
+        Set<Throwable> problems = new HashSet<>( );
         REQUIRED_ASSEMBLERS
             .entrySet()
             .stream()
             .filter(
                 entry -> serviceAssemblies.stream().noneMatch(
                     serviceAssembly -> serviceAssembly.hasType( entry.getKey() 
) ) )
-            .forEach( entry -> entry.getValue().assemble( this ) );
+            .forEach( entry -> {
+                try
+                {
+                    entry.getValue().assemble( this );
+                }
+                catch( Exception e )
+                {
+                    problems.add( e );
+                }
+            } );
+        if( problems.size() > 0 )
+        {
+            throw new AssemblyReportException( problems );
+        }
     }
 
     private Identity generateId(Stream<Class<?>> serviceTypes)

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/main/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsMixin.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsMixin.java
 
b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsMixin.java
index 938cde8..835f74b 100644
--- 
a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsMixin.java
+++ 
b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsMixin.java
@@ -36,7 +36,7 @@ import static 
org.apache.polygene.api.util.AccessibleObjects.accessible;
 public class InterfaceDefaultMethodsMixin
     implements InvocationHandler
 {
-    // TODO (niclas): We have one instance of this class per mixin, so it 
seems a bit wasteful to have a ConcurrentHashMap. Maybe a small array 3 
elements, which is changed to a Map is run out of space? Tricky concurrency on 
that, so leave it for later (a.k.a. will forget about it)
+    // TODO (niclas): We have one instance of this class per mixin, so it 
seems a bit wasteful to have a ConcurrentHashMap. Maybe a small array 3 
elements, which is changed to a Map if run out of space? Tricky concurrency on 
that, so leave it for later (a.k.a. will forget about it)
     private final ConcurrentMap<Method, MethodCallHandler> methodHandleCache = 
new ConcurrentHashMap<>();
 
     @This

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/api/common/OptionalTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/api/common/OptionalTest.java 
b/core/runtime/src/test/java/org/apache/polygene/api/common/OptionalTest.java
index 3ff597a..30c4adf 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/api/common/OptionalTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/api/common/OptionalTest.java
@@ -45,7 +45,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 public class OptionalTest extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.transients( TestComposite.class );
         module.transients( TestComposite2.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyErrorTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyErrorTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyErrorTest.java
index 3ccf070..d96ce05 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyErrorTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyErrorTest.java
@@ -39,7 +39,6 @@ public class PropertyErrorTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         new EntityTestAssembler().assemble( module );
         module.entities( PersonEntity.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyTypeTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyTypeTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyTypeTest.java
index 791563b..1f3c5fb 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyTypeTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/api/common/PropertyTypeTest.java
@@ -44,7 +44,6 @@ public class PropertyTypeTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         new EntityTestAssembler().assemble( module );
         module.entities( PersonEntity.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/api/common/RemovalTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/api/common/RemovalTest.java 
b/core/runtime/src/test/java/org/apache/polygene/api/common/RemovalTest.java
index 3b9adc1..d8f3d13 100644
--- a/core/runtime/src/test/java/org/apache/polygene/api/common/RemovalTest.java
+++ b/core/runtime/src/test/java/org/apache/polygene/api/common/RemovalTest.java
@@ -36,7 +36,6 @@ public class RemovalTest
     extends AbstractPolygeneTest
 {
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.entities( TestEntity.class );
         module.entities( PidRegulator.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/api/common/ValueCompositeTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/api/common/ValueCompositeTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/api/common/ValueCompositeTest.java
index cf01570..4a80271 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/api/common/ValueCompositeTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/api/common/ValueCompositeTest.java
@@ -49,7 +49,6 @@ public class ValueCompositeTest
 {
 
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         module.values( SomeValue.class, AnotherValue.class );
         module.entities( SomeEntity.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsTest.java
index f8f150b..76a469a 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/runtime/composite/InterfaceDefaultMethodsTest.java
@@ -45,12 +45,12 @@ import static org.hamcrest.Matchers.equalTo;
  */
 public class InterfaceDefaultMethodsTest extends AbstractPolygeneTest
 {
-    @BeforeAll
-    public static void assumeJavaVersionIs8()
-    {
-        assumeJavaVersion( 8 );
-    }
-
+//    @BeforeAll
+//    public static void assumeJavaVersionIs8()
+//    {
+//        assumeJavaVersion( 8 );
+//    }
+//
     public interface DefaultMethods
     {
         @UseDefaults( "Hello" )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/runtime/src/test/java/org/apache/polygene/test/performance/entitystore/memory/MemoryEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/test/java/org/apache/polygene/test/performance/entitystore/memory/MemoryEntityStoreTest.java
 
b/core/runtime/src/test/java/org/apache/polygene/test/performance/entitystore/memory/MemoryEntityStoreTest.java
index 2036424..7615bbc 100644
--- 
a/core/runtime/src/test/java/org/apache/polygene/test/performance/entitystore/memory/MemoryEntityStoreTest.java
+++ 
b/core/runtime/src/test/java/org/apache/polygene/test/performance/entitystore/memory/MemoryEntityStoreTest.java
@@ -37,7 +37,7 @@ public class MemoryEntityStoreTest
 {
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
index e3ce0ca..8af2adf 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
@@ -19,12 +19,14 @@
  */
 package org.apache.polygene.test;
 
+import java.util.Collections;
 import org.apache.polygene.api.PolygeneAPI;
 import org.apache.polygene.api.structure.Application;
 import org.apache.polygene.api.structure.ApplicationDescriptor;
 import org.apache.polygene.bootstrap.ApplicationAssembler;
 import org.apache.polygene.bootstrap.ApplicationAssembly;
 import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.AssemblyReportException;
 import org.apache.polygene.bootstrap.Energy4Java;
 import org.apache.polygene.spi.PolygeneSPI;
 import org.junit.jupiter.api.AfterEach;
@@ -56,15 +58,15 @@ public abstract class AbstractPolygeneBaseTest
         application.activate();
     }
 
-    /** Called by the superclass for the test to define the entire 
application, every layer, every module and all
+    /**
+     * Called by the superclass for the test to define the entire application, 
every layer, every module and all
      * the contents of each module.
      *
      * @param applicationAssembly the {@link 
org.apache.polygene.bootstrap.ApplicationAssembly} to be populated.
-     *
      * @throws AssemblyException on invalid assembly
      */
     protected abstract void defineApplication( ApplicationAssembly 
applicationAssembly )
-        throws AssemblyException;
+        throws Exception;
 
     protected Application newApplicationInstance( ApplicationDescriptor 
applicationModel )
     {
@@ -78,7 +80,14 @@ public abstract class AbstractPolygeneBaseTest
         {
             ApplicationAssembly applicationAssembly = 
applicationFactory.newApplicationAssembly();
             applicationAssembly.setMode( Application.Mode.test );
-            defineApplication( applicationAssembly );
+            try
+            {
+                defineApplication( applicationAssembly );
+            }
+            catch( Exception e )
+            {
+                throw new AssemblyReportException( Collections.singleton( e ) 
);
+            }
             return applicationAssembly;
         };
 
@@ -98,8 +107,8 @@ public abstract class AbstractPolygeneBaseTest
      * <p>
      * Override this method to catch valid failures to place into satisfiedBy 
suites.
      * </p>
-     * @param exception the exception thrown.
      *
+     * @param exception the exception thrown.
      * @throws org.apache.polygene.bootstrap.AssemblyException The default 
implementation of this method will simply re-throw the exception.
      */
     protected void assemblyException( AssemblyException exception )
@@ -121,7 +130,8 @@ public abstract class AbstractPolygeneBaseTest
             try
             {
                 application.passivate();
-            } catch( Exception e )
+            }
+            catch( Exception e )
             {
                 throw new RuntimeException( "Unable to shut down test harness 
cleanly.", e );
             }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
index ded4f4a..89945e9 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
@@ -80,6 +80,7 @@ public abstract class AbstractPolygeneTest extends 
AbstractPolygeneBaseTest
 
     @Override
     protected void defineApplication( ApplicationAssembly applicationAssembly )
+        throws Exception
     {
         LayerAssembly layer = applicationAssembly.layer( "Layer 1" );
         ModuleAssembly module = layer.module( "Module 1" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/testsupport/src/main/java/org/apache/polygene/test/PolygeneUnitExtension.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/PolygeneUnitExtension.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/PolygeneUnitExtension.java
index e5c71b4..e085d52 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/PolygeneUnitExtension.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/PolygeneUnitExtension.java
@@ -85,6 +85,7 @@ public class PolygeneUnitExtension
         {
             @Override
             public void assemble( ModuleAssembly module )
+                throws Exception
             {
                 super.assemble( module );
                 module.objects( context.getRequiredTestClass() );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/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 341fd2c..1c354ac 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
@@ -42,6 +42,7 @@ public abstract class AbstractEntityStoreWithCacheTest
 
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         super.assemble( module );
         assembleCachePool( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
index 0b67ded..099a98e 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
@@ -82,6 +82,7 @@ public abstract class AbstractEntityStoreTest
 
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         module.entities( TestEntity.class );
         module.values( TestValue.class, TestValue2.class, TjabbaValue.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/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 2e21e79..2c6c326 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
@@ -180,6 +180,7 @@ public abstract class AbstractPolygeneMetricsTest extends 
AbstractPolygeneBaseTe
 
     @Override
     protected final void defineApplication( ApplicationAssembly app )
+        throws Exception
     {
         app.setName( "app" );
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractTimingCaptureTest.java
----------------------------------------------------------------------
diff --git 
a/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractTimingCaptureTest.java
 
b/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractTimingCaptureTest.java
index db4405b..83f04b3 100644
--- 
a/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractTimingCaptureTest.java
+++ 
b/core/testsupport/src/main/java/org/apache/polygene/test/metrics/AbstractTimingCaptureTest.java
@@ -40,6 +40,7 @@ public abstract class AbstractTimingCaptureTest extends 
AbstractPolygeneTest
 
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         module.layer().application().setName( "SomeApplication" );
         module.transients( Country1.class );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
 
b/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
index 7dbcb3d..ccdc1b0 100644
--- 
a/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
+++ 
b/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
@@ -39,7 +39,7 @@ public class BdbJeEntityStoreTest
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
 
b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
index 8ab161e..5785859 100644
--- 
a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
+++ 
b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
@@ -45,7 +45,7 @@ public class CassandraEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );
@@ -63,7 +63,8 @@ public class CassandraEntityStoreTest
         CassandraEntityStoreConfiguration cassandraDefaults = config.forMixin( 
CassandraEntityStoreConfiguration.class ).declareDefaults();
         String host = "localhost";
         int port = 8801;
-        System.out.println("Cassandra: " + host + ":" + port);
+        // TODO: Logging system output here.
+//        System.out.println("Cassandra: " + host + ":" + port);
         cassandraDefaults.hostnames().set( host + ':' + port );
         cassandraDefaults.createIfMissing().set( true );
         // START SNIPPET: assembly

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreTest.java
 
b/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreTest.java
index 97c0c0d..a9e2a7c 100644
--- 
a/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreTest.java
+++ 
b/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreTest.java
@@ -39,10 +39,9 @@ public class FileEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
-        super.assemble( module );
         new FileConfigurationAssembler()
             .withOverride( new 
FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
             .assemble( module );
@@ -50,6 +49,7 @@ public class FileEntityStoreTest
         new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );
         // START SNIPPET: assembly
         new FileEntityStoreAssembler().withConfig( config, Visibility.layer 
).assemble( module );
+        super.assemble( module );
     }
     // END SNIPPET: assembly
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreWithCacheTest.java
 
b/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreWithCacheTest.java
index d887994..e05dd73 100644
--- 
a/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-file/src/test/java/org/apache/polygene/entitystore/file/FileEntityStoreWithCacheTest.java
@@ -38,7 +38,7 @@ public class FileEntityStoreWithCacheTest
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         new FileConfigurationAssembler()

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreTest.java
 
b/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreTest.java
index efd4dc1..c4b1833 100644
--- 
a/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreTest.java
+++ 
b/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreTest.java
@@ -32,7 +32,7 @@ public class GeodeEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreWithCacheTest.java
 
b/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreWithCacheTest.java
index eed1c87..1281a3b 100644
--- 
a/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-geode/src/test/java/org/apache/polygene/entitystore/geode/GeodeEntityStoreWithCacheTest.java
@@ -31,7 +31,7 @@ public class GeodeEntityStoreWithCacheTest
 {
     @Override
     public void assemble( ModuleAssembly module )
-            throws AssemblyException
+            throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
 
b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
index 3492d5e..b836f49 100644
--- 
a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
+++ 
b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
@@ -36,7 +36,7 @@ public class HazelcastEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreWithCacheTest.java
 
b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreWithCacheTest.java
index d9c76ec..58c5f19 100644
--- 
a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreWithCacheTest.java
@@ -31,7 +31,7 @@ public class HazelcastEntityStoreWithCacheTest
 {
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTest.java
 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTest.java
index 157acba..334ca18 100644
--- 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTest.java
+++ 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTest.java
@@ -31,13 +31,13 @@ import org.jclouds.filesystem.reference.FilesystemConstants;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith( TemporaryFolder.class )
-public class JCloudsFilesystemTest
-    extends AbstractEntityStoreTest
+public class JCloudsFilesystemTest extends AbstractEntityStoreTest
 {
     private TemporaryFolder tmpDir;
 
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java
 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java
index 664acdb..4a2dd6c 100644
--- 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java
+++ 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java
@@ -29,9 +29,9 @@ import 
org.apache.polygene.entitystore.jclouds.assembly.JCloudsEntityStoreAssemb
 import org.apache.polygene.test.EntityTestAssembler;
 import org.apache.polygene.test.entity.AbstractEntityStoreTest;
 
-@Docker( image = "s3server",
-         ports = @Port( exposed = 8801, inner = 8000),
-         waitFor = @WaitFor( value = "server started", timeoutInMillis = 
30000),
+@Docker( image = "scality/s3server",
+         ports = @Port( exposed = 8801, inner = 8000 ),
+         waitFor = @WaitFor( value = "server started", timeoutInMillis = 30000 
),
          environments = {
              @Environment( key = "SCALITY_ACCESS_KEY_ID", value = 
"dummyIdentifier" ),
              @Environment( key = "SCALITY_SECRET_ACCESS_KEY", value = 
"dummyCredential" )
@@ -40,10 +40,14 @@ import 
org.apache.polygene.test.entity.AbstractEntityStoreTest;
 )
 public class JCloudsS3Test extends AbstractEntityStoreTest
 {
+    static long time = 240000;
 
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
+        Thread.sleep( time );
+        time = 0;
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );
         new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTest.java
 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTest.java
index c47b2e1..3f2f04d 100644
--- 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTest.java
+++ 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTest.java
@@ -26,11 +26,11 @@ import 
org.apache.polygene.entitystore.jclouds.assembly.JCloudsEntityStoreAssemb
 import org.apache.polygene.test.EntityTestAssembler;
 import org.apache.polygene.test.entity.AbstractEntityStoreTest;
 
-public class JCloudsTransientTest
-        extends AbstractEntityStoreTest
+public class JCloudsTransientTest extends AbstractEntityStoreTest
 {
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsWithCacheTest.java
 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsWithCacheTest.java
index 30ae92b..2d8dfcd 100644
--- 
a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsWithCacheTest.java
+++ 
b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsWithCacheTest.java
@@ -31,7 +31,7 @@ public class JCloudsWithCacheTest
 {
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTest.java
 
b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTest.java
index 466a776..61729fe 100644
--- 
a/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTest.java
+++ 
b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTest.java
@@ -31,23 +31,25 @@ import 
org.apache.polygene.test.entity.AbstractEntityStoreTest;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith( TemporaryFolder.class )
-public class JdbmEntityStoreTest
-    extends AbstractEntityStoreTest
+public class JdbmEntityStoreTest extends AbstractEntityStoreTest
 {
     private TemporaryFolder tmpDir;
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
-        super.assemble( module );
-
         ModuleAssembly config = module.layer().module( "config" );
-        new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );
+        new EntityTestAssembler()
+            .defaultServicesVisibleIn( Visibility.layer )
+            .assemble( config );
 
         new FileConfigurationAssembler()
             .withOverride( new 
FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
             .assemble( module );
+
         new JdbmEntityStoreAssembler().withConfig( config, Visibility.layer 
).assemble( module );
+
+        super.assemble( module );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreWithCacheTest.java
 
b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreWithCacheTest.java
index ed71509..3a39f67 100644
--- 
a/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreWithCacheTest.java
@@ -31,14 +31,13 @@ import 
org.apache.polygene.test.cache.AbstractEntityStoreWithCacheTest;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith( TemporaryFolder.class )
-public class JdbmEntityStoreWithCacheTest
-    extends AbstractEntityStoreWithCacheTest
+public class JdbmEntityStoreWithCacheTest extends 
AbstractEntityStoreWithCacheTest
 {
     private TemporaryFolder tmpDir;
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTest.java
 
b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTest.java
index 762e7dc..738bedc 100644
--- 
a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTest.java
+++ 
b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTest.java
@@ -31,20 +31,22 @@ import 
org.apache.polygene.test.entity.AbstractEntityStoreTest;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith( TemporaryFolder.class )
-public class JavaLevelDBEntityStoreTest
-    extends AbstractEntityStoreTest
+public class JavaLevelDBEntityStoreTest extends AbstractEntityStoreTest
 {
     private TemporaryFolder tmpDir;
 
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );
-        new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );
+
+        new EntityTestAssembler()
+            .defaultServicesVisibleIn( Visibility.layer )
+            .assemble( config );
 
         new FileConfigurationAssembler()
             .withOverride( new 
FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/LevelDBEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/LevelDBEntityStoreWithCacheTest.java
 
b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/LevelDBEntityStoreWithCacheTest.java
index fb54981..f331115 100644
--- 
a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/LevelDBEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/LevelDBEntityStoreWithCacheTest.java
@@ -20,7 +20,6 @@
 package org.apache.polygene.entitystore.leveldb;
 
 import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import 
org.apache.polygene.entitystore.leveldb.assembly.LevelDBEntityStoreAssembler;
 import org.apache.polygene.library.fileconfig.FileConfigurationAssembler;
@@ -31,26 +30,26 @@ import 
org.apache.polygene.test.cache.AbstractEntityStoreWithCacheTest;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith( TemporaryFolder.class )
-public class LevelDBEntityStoreWithCacheTest
-    extends AbstractEntityStoreWithCacheTest
+public class LevelDBEntityStoreWithCacheTest extends 
AbstractEntityStoreWithCacheTest
 {
     private TemporaryFolder tmpDir;
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );
-        new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );
+        new EntityTestAssembler()
+            .defaultServicesVisibleIn( Visibility.layer )
+            .assemble( config );
 
         new FileConfigurationAssembler()
             .withOverride( new 
FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
             .assemble( module );
 
-        new LevelDBEntityStoreAssembler().
-                                             withConfig( config, 
Visibility.layer ).
-                                             identifiedBy( 
"java-leveldb-entitystore" ).
-                                             assemble( module );
+        new LevelDBEntityStoreAssembler().withConfig( config, Visibility.layer 
)
+                                         .identifiedBy( 
"java-leveldb-entitystore" )
+                                         .assemble( module );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTest.java
 
b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTest.java
index 5c1c08a..6d41aa4 100644
--- 
a/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTest.java
+++ 
b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTest.java
@@ -23,12 +23,12 @@ import org.apache.polygene.bootstrap.ModuleAssembly;
 import 
org.apache.polygene.entitystore.memory.assembly.MemoryEntityStoreAssembler;
 import org.apache.polygene.test.entity.AbstractEntityStoreTest;
 
-public class MemoryEntityStoreTest
-    extends AbstractEntityStoreTest
+public class MemoryEntityStoreTest extends AbstractEntityStoreTest
 {
     // START SNIPPET: assembly
     @Override
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         new MemoryEntityStoreAssembler().assemble( module );
         // END SNIPPET: assembly

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreWithCacheTest.java
 
b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreWithCacheTest.java
index 3d51b2c..9d51be6 100644
--- 
a/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreWithCacheTest.java
@@ -24,12 +24,11 @@ import org.apache.polygene.bootstrap.ModuleAssembly;
 import 
org.apache.polygene.entitystore.memory.assembly.MemoryEntityStoreAssembler;
 import org.apache.polygene.test.cache.AbstractEntityStoreWithCacheTest;
 
-public class MemoryEntityStoreWithCacheTest
-    extends AbstractEntityStoreWithCacheTest
+public class MemoryEntityStoreWithCacheTest extends 
AbstractEntityStoreWithCacheTest
 {
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         new MemoryEntityStoreAssembler().assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
 
b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
index 6dfb295..52de1e4 100644
--- 
a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
+++ 
b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
@@ -44,7 +44,7 @@ public class MongoDBEntityStoreTest extends 
AbstractEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
 
b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
index 3a257ef..81c6a5d 100644
--- 
a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
@@ -38,16 +38,13 @@ import org.junit.jupiter.api.BeforeEach;
          ports = @Port( exposed = 8801, inner = 27017),
          newForEachCase = false
 )
-public class MongoDBEntityStoreWithCacheTest
-    extends AbstractEntityStoreWithCacheTest
+public class MongoDBEntityStoreWithCacheTest extends 
AbstractEntityStoreWithCacheTest
 {
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
-        super.assemble( module );
-
         ModuleAssembly config = module.layer().module( "config" );
         new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );
 
@@ -59,6 +56,8 @@ public class MongoDBEntityStoreWithCacheTest
         mongoConfig.collection().set( "polygene:test:entities" );
         mongoConfig.hostname().set( "localhost" );
         mongoConfig.port().set( 8801 );
+
+        super.assemble( module );
     }
 
     private Mongo mongo;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTest.java
 
b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTest.java
index 9be919e..e195f29 100644
--- 
a/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTest.java
+++ 
b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTest.java
@@ -34,7 +34,7 @@ public class PreferencesEntityStoreTest
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         module.layer().application().setName( "PreferencesTest" );
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
 
b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
index b80cde4..ff4ba1a 100644
--- 
a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
+++ 
b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
@@ -43,10 +43,9 @@ public class RedisEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
-        super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );
         new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer 
).assemble( config );
         // START SNIPPET: assembly
@@ -56,6 +55,7 @@ public class RedisEntityStoreTest
                                                           .declareDefaults();
         redisConfig.host().set( "localhost" );
         redisConfig.port().set( 8801 );
+        super.assemble( module );
         // START SNIPPET: assembly
     }
     // END SNIPPET: assembly

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
 
b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
index 38a05b5..3ebc459 100644
--- 
a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
@@ -41,7 +41,7 @@ public class RedisEntityStoreWithCacheTest
 {
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
 
b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
index c3b2acf..03d75c8 100644
--- 
a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
+++ 
b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
@@ -57,6 +57,7 @@ public class RiakEntityStoreTest extends 
AbstractEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
 
b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
index 22d0317..345fce0 100644
--- 
a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
+++ 
b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
@@ -60,7 +60,7 @@ public class RiakEntityStoreWithCacheTest extends 
AbstractEntityStoreWithCacheTe
 
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         super.assemble( module );
         ModuleAssembly config = module.layer().module( "config" );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
index ea404f0..8e9b4c9 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
@@ -36,7 +36,7 @@ public class DerbySQLEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
index 51c1afd..5c4effa 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
@@ -36,7 +36,7 @@ public class H2SQLEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
index 663aeec..6a3b125 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
@@ -66,7 +66,7 @@ public class MariaDbEntityStoreTest extends 
AbstractEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
index 1a76c4b..5c1bc31 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
@@ -65,7 +65,7 @@ public class MySQLEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
index cd21471..d9da82f 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
@@ -50,7 +50,7 @@ public class PostgreSQLEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         delay();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
index a1de998..82f5992 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
@@ -44,7 +44,7 @@ public class SQLiteEntityStoreTest extends 
AbstractEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ca66f7e7/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
index c3d2a19..02ec62b 100644
--- 
a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
+++ 
b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
@@ -41,7 +41,7 @@ public class SqlEntityStoreTest extends 
AbstractEntityStoreTest
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
+        throws Exception
     {
         // END SNIPPET: assembly
         super.assemble( module );

Reply via email to