You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2017/07/10 06:53:50 UTC

[48/50] polygene-java git commit: Fixed that Assmeblers tries to warn if assemble() method is forgotten.

Fixed that Assmeblers tries to warn if assemble() method is forgotten.


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

Branch: refs/heads/es-jooq
Commit: 047380a3c36483c73d1c105c5ab465b45656fcea
Parents: 73fa7bd
Author: niclas <ni...@hedhman.org>
Authored: Mon Jul 10 11:32:32 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Mon Jul 10 11:32:32 2017 +0800

----------------------------------------------------------------------
 .../polygene/api/query/QueryBuilderFactory.java |  2 +
 .../apache/polygene/bootstrap/Assemblers.java   | 56 +++++++++++++++++---
 .../runtime/unitofwork/ModuleUnitOfWork.java    |  3 +-
 .../polygene/test/EntityTestAssembler.java      |  1 +
 .../ehcache/assembly/EhCacheAssembler.java      |  1 +
 .../memcache/assembly/MemcacheAssembler.java    |  1 +
 .../assembly/CassandraEntityStoreAssembler.java |  1 +
 .../file/assembly/FileEntityStoreAssembler.java |  1 +
 .../assembly/GeodeEntityStoreAssembler.java     |  1 +
 .../assembly/HazelcastEntityStoreAssembler.java |  1 +
 .../assembly/JCloudsEntityStoreAssembler.java   |  1 +
 .../jdbm/assembly/JdbmEntityStoreAssembler.java |  1 +
 .../assembly/LevelDBEntityStoreAssembler.java   |  1 +
 .../assembly/MemoryEntityStoreAssembler.java    |  1 +
 .../assembly/MongoDBEntityStoreAssembler.java   |  1 +
 .../PreferencesEntityStoreAssembler.java        |  1 +
 .../assembly/RedisEntityStoreAssembler.java     |  1 +
 .../riak/assembly/RiakEntityStoreAssembler.java |  1 +
 .../AbstractSQLEntityStoreAssembler.java        |  1 +
 .../assembly/ESClientIndexQueryAssembler.java   |  1 +
 .../assembly/ESClusterIndexQueryAssembler.java  |  1 +
 .../ESFilesystemIndexQueryAssembler.java        |  1 +
 .../solr/assembly/SolrIndexingAssembler.java    |  1 +
 .../AbstractSQLIndexQueryAssembler.java         |  1 +
 .../assembly/CodahaleMetricsAssembler.java      |  1 +
 .../JavaxJsonSerializationAssembler.java        |  1 +
 .../JavaxXmlSerializationAssembler.java         |  1 +
 .../MessagePackSerializationAssembler.java      |  1 +
 .../library/alarm/AlarmSystemAssembler.java     |  1 +
 .../fileconfig/FileConfigurationAssembler.java  |  1 +
 .../library/http/JettyServiceAssembler.java     |  1 +
 .../library/rest/client/RssReaderTest.java      | 52 ++++++++----------
 .../library/rest/admin/RestAssembler.java       |  1 +
 .../assembly/RestletCrudModuleAssembler.java    |  1 +
 .../shiro/assembly/PasswordDomainAssembler.java |  1 +
 .../assembly/PermissionsDomainAssembler.java    |  1 +
 .../assembly/StandaloneShiroAssembler.java      |  1 +
 .../shiro/web/assembly/HttpShiroAssembler.java  |  1 +
 .../sql/liquibase/LiquibaseAssembler.java       |  1 +
 ...bstractPooledDataSourceServiceAssembler.java |  1 +
 .../sql/assembly/DataSourceAssembler.java       |  1 +
 .../sql/assembly/DataSourceJMXAssembler.java    |  1 +
 .../assembly/ExternalDataSourceAssembler.java   |  1 +
 .../assembly/PersistingSequencingAssembler.java |  1 +
 .../assembly/TransientSequencingAssembler.java  |  1 +
 .../uid/uuid/assembly/UuidServiceAssembler.java |  1 +
 .../uowfile/bootstrap/UoWFileAssembler.java     |  1 +
 47 files changed, 117 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/core/api/src/main/java/org/apache/polygene/api/query/QueryBuilderFactory.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/query/QueryBuilderFactory.java b/core/api/src/main/java/org/apache/polygene/api/query/QueryBuilderFactory.java
index 19ee958..de1a3a1 100644
--- a/core/api/src/main/java/org/apache/polygene/api/query/QueryBuilderFactory.java
+++ b/core/api/src/main/java/org/apache/polygene/api/query/QueryBuilderFactory.java
@@ -19,6 +19,8 @@
  */
 package org.apache.polygene.api.query;
 
+import org.apache.polygene.api.indexing.MissingIndexingSystemException;
+
 /**
  * This is used to create QueryBuilders.
  *

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assemblers.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assemblers.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assemblers.java
index b24a5e6..7efcd6d 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assemblers.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Assemblers.java
@@ -117,7 +117,7 @@ public class Assemblers
      * Assembler with Visibility adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class Visibility<AssemblerType>
+    public static abstract class Visibility<AssemblerType> extends AssembleChecker
         implements Visible<AssemblerType>
     {
         private org.apache.polygene.api.common.Visibility visibility = org.apache.polygene.api.common.Visibility.module;
@@ -141,7 +141,7 @@ public class Assemblers
      * Assembler with Identity adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class Identity<AssemblerType>
+    public static abstract class Identity<AssemblerType> extends AssembleChecker
         implements Identifiable<AssemblerType>
     {
         private String identity;
@@ -171,7 +171,7 @@ public class Assemblers
      * Assembler with Configuration adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class Config<AssemblerType>
+    public static abstract class Config<AssemblerType> extends AssembleChecker
         implements Configurable<AssemblerType>
     {
         private ModuleAssembly configModule = null;
@@ -210,7 +210,7 @@ public class Assemblers
      * Assembler with Visibility and Identity adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class VisibilityIdentity<AssemblerType>
+    public static abstract class VisibilityIdentity<AssemblerType> extends AssembleChecker
         implements Visible<AssemblerType>,
                    Identifiable<AssemblerType>
     {
@@ -256,7 +256,7 @@ public class Assemblers
      * Assembler with Visibility and Configuration adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class VisibilityConfig<AssemblerType>
+    public static abstract class VisibilityConfig<AssemblerType> extends AssembleChecker
         implements Visible<AssemblerType>,
                    Configurable<AssemblerType>
     {
@@ -311,7 +311,7 @@ public class Assemblers
      * Assembler with Identity and Configuration adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class IdentityConfig<AssemblerType>
+    public static abstract class IdentityConfig<AssemblerType> extends AssembleChecker
         implements Identifiable<AssemblerType>,
                    Configurable<AssemblerType>
     {
@@ -372,7 +372,7 @@ public class Assemblers
      * Assembler with Visibility, Identity and Configuation adapter.
      * @param <AssemblerType> Parameterized type of Assembler
      */
-    public static abstract class VisibilityIdentityConfig<AssemblerType>
+    public static abstract class VisibilityIdentityConfig<AssemblerType> extends AssembleChecker
         implements Visible<AssemblerType>,
                    Identifiable<AssemblerType>,
                    Configurable<AssemblerType>
@@ -445,4 +445,46 @@ public class Assemblers
         }
     }
 
+    public static abstract class AssembleChecker
+        implements Assembler
+    {
+        private boolean assembled = false;
+
+        @Override
+        public void assemble( ModuleAssembly module )
+            throws AssemblyException
+        {
+            assembled = true;
+        }
+
+        @Override
+        protected void finalize()
+            throws Throwable
+        {
+            super.finalize();
+            if( !assembled )
+            {
+                System.err.println( "WARNING!!!!!" );
+                System.err.println( "############################################################################" );
+                System.err.println( "##" );
+                System.err.println( "##  The " + getClass().getName() + " assembler was not assembled." );
+                System.err.println( "##" );
+                System.err.println( "##  Expect that some functionality to be missing or incorrect." );
+                System.err.println( "##" );
+                if( getClass().getName().startsWith( "org.apache.polygene" ))
+                {
+                    System.err.println( "## When instantiating a provided Assembler, you must call the assemble(module)" );
+                    System.err.println( "## method after setting the options. This was not done." );
+                }
+                else
+                {
+                    System.err.println( "## When overriding any helper class in org.apache.polygene.bootstrap.Assemblers" );
+                    System.err.println( "## you must call super.assemble(module) in the assmeble(ModuleAssembly module)" );
+                    System.err.println( "## method. This was not done, OR that you forgot to call assemble() method " );
+                    System.err.println( "## after instantiating and setting the options." );
+                }
+                System.err.println( "############################################################################" );
+            }
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java b/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
index 0cf26f0..f72cb37 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
@@ -547,7 +547,8 @@ public class ModuleUnitOfWork
         return ( (EntityInstance) compositeInstanceOf( (Composite) entity ) ).entityState();
     }
 
-    private static class UoWQuerySource implements QuerySource
+    private static class UoWQuerySource
+        implements QuerySource
     {
         private final ModuleUnitOfWork moduleUnitOfWork;
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/core/testsupport/src/main/java/org/apache/polygene/test/EntityTestAssembler.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/EntityTestAssembler.java b/core/testsupport/src/main/java/org/apache/polygene/test/EntityTestAssembler.java
index 36827b8..4dbe625 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/EntityTestAssembler.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/EntityTestAssembler.java
@@ -42,6 +42,7 @@ public class EntityTestAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( MemoryEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/assembly/EhCacheAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/assembly/EhCacheAssembler.java b/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/assembly/EhCacheAssembler.java
index 8a4d4f8..e99a379 100644
--- a/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/assembly/EhCacheAssembler.java
+++ b/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/assembly/EhCacheAssembler.java
@@ -31,6 +31,7 @@ public class EhCacheAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( EhCachePoolService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/cache-memcache/src/main/java/org/apache/polygene/cache/memcache/assembly/MemcacheAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/cache-memcache/src/main/java/org/apache/polygene/cache/memcache/assembly/MemcacheAssembler.java b/extensions/cache-memcache/src/main/java/org/apache/polygene/cache/memcache/assembly/MemcacheAssembler.java
index 92a76db..20886ec 100644
--- a/extensions/cache-memcache/src/main/java/org/apache/polygene/cache/memcache/assembly/MemcacheAssembler.java
+++ b/extensions/cache-memcache/src/main/java/org/apache/polygene/cache/memcache/assembly/MemcacheAssembler.java
@@ -34,6 +34,7 @@ public class MemcacheAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( MemcachePoolService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/assembly/CassandraEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/assembly/CassandraEntityStoreAssembler.java b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/assembly/CassandraEntityStoreAssembler.java
index ab6193f..51f726b 100644
--- a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/assembly/CassandraEntityStoreAssembler.java
+++ b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/assembly/CassandraEntityStoreAssembler.java
@@ -30,6 +30,7 @@ public class CassandraEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( CassandraEntityStoreService.class )
               .visibleIn( visibility() )
               .identifiedBy( identity() )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-file/src/main/java/org/apache/polygene/entitystore/file/assembly/FileEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-file/src/main/java/org/apache/polygene/entitystore/file/assembly/FileEntityStoreAssembler.java b/extensions/entitystore-file/src/main/java/org/apache/polygene/entitystore/file/assembly/FileEntityStoreAssembler.java
index 13e1ad8..40fdf35 100644
--- a/extensions/entitystore-file/src/main/java/org/apache/polygene/entitystore/file/assembly/FileEntityStoreAssembler.java
+++ b/extensions/entitystore-file/src/main/java/org/apache/polygene/entitystore/file/assembly/FileEntityStoreAssembler.java
@@ -31,6 +31,7 @@ public class FileEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( FileEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-geode/src/main/java/org/apache/polygene/entitystore/geode/assembly/GeodeEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-geode/src/main/java/org/apache/polygene/entitystore/geode/assembly/GeodeEntityStoreAssembler.java b/extensions/entitystore-geode/src/main/java/org/apache/polygene/entitystore/geode/assembly/GeodeEntityStoreAssembler.java
index fbb68de..8bc98c9 100644
--- a/extensions/entitystore-geode/src/main/java/org/apache/polygene/entitystore/geode/assembly/GeodeEntityStoreAssembler.java
+++ b/extensions/entitystore-geode/src/main/java/org/apache/polygene/entitystore/geode/assembly/GeodeEntityStoreAssembler.java
@@ -34,6 +34,7 @@ public class GeodeEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( GeodeEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/assembly/HazelcastEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/assembly/HazelcastEntityStoreAssembler.java b/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/assembly/HazelcastEntityStoreAssembler.java
index ae5ad69..be0c8a8 100644
--- a/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/assembly/HazelcastEntityStoreAssembler.java
+++ b/extensions/entitystore-hazelcast/src/main/java/org/apache/polygene/entitystore/hazelcast/assembly/HazelcastEntityStoreAssembler.java
@@ -31,6 +31,7 @@ public class HazelcastEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( HazelcastEntityStoreService.class ).
             visibleIn( visibility() ).
             instantiateOnStartup();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/assembly/JCloudsEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/assembly/JCloudsEntityStoreAssembler.java b/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/assembly/JCloudsEntityStoreAssembler.java
index d586f1b..aba1e32 100644
--- a/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/assembly/JCloudsEntityStoreAssembler.java
+++ b/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/assembly/JCloudsEntityStoreAssembler.java
@@ -32,6 +32,7 @@ public class JCloudsEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( JCloudsEntityStoreService.class ).
             visibleIn( visibility() ).
             instantiateOnStartup();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-jdbm/src/main/java/org/apache/polygene/entitystore/jdbm/assembly/JdbmEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jdbm/src/main/java/org/apache/polygene/entitystore/jdbm/assembly/JdbmEntityStoreAssembler.java b/extensions/entitystore-jdbm/src/main/java/org/apache/polygene/entitystore/jdbm/assembly/JdbmEntityStoreAssembler.java
index 175b6db..f48d3cb 100644
--- a/extensions/entitystore-jdbm/src/main/java/org/apache/polygene/entitystore/jdbm/assembly/JdbmEntityStoreAssembler.java
+++ b/extensions/entitystore-jdbm/src/main/java/org/apache/polygene/entitystore/jdbm/assembly/JdbmEntityStoreAssembler.java
@@ -31,6 +31,7 @@ public class JdbmEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( JdbmEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-leveldb/src/main/java/org/apache/polygene/entitystore/leveldb/assembly/LevelDBEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-leveldb/src/main/java/org/apache/polygene/entitystore/leveldb/assembly/LevelDBEntityStoreAssembler.java b/extensions/entitystore-leveldb/src/main/java/org/apache/polygene/entitystore/leveldb/assembly/LevelDBEntityStoreAssembler.java
index 4f8f2b7..1a8a26a 100644
--- a/extensions/entitystore-leveldb/src/main/java/org/apache/polygene/entitystore/leveldb/assembly/LevelDBEntityStoreAssembler.java
+++ b/extensions/entitystore-leveldb/src/main/java/org/apache/polygene/entitystore/leveldb/assembly/LevelDBEntityStoreAssembler.java
@@ -34,6 +34,7 @@ public class LevelDBEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( LevelDBEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-memory/src/main/java/org/apache/polygene/entitystore/memory/assembly/MemoryEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-memory/src/main/java/org/apache/polygene/entitystore/memory/assembly/MemoryEntityStoreAssembler.java b/extensions/entitystore-memory/src/main/java/org/apache/polygene/entitystore/memory/assembly/MemoryEntityStoreAssembler.java
index b593442..6b11a85 100644
--- a/extensions/entitystore-memory/src/main/java/org/apache/polygene/entitystore/memory/assembly/MemoryEntityStoreAssembler.java
+++ b/extensions/entitystore-memory/src/main/java/org/apache/polygene/entitystore/memory/assembly/MemoryEntityStoreAssembler.java
@@ -33,6 +33,7 @@ public class MemoryEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( MemoryEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java
index c3d40ec..f212a8d 100644
--- a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java
+++ b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java
@@ -31,6 +31,7 @@ public class MongoDBEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( MongoDBEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
index f3b0de5..4f6725a 100644
--- a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
+++ b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
@@ -31,6 +31,7 @@ public class PreferencesEntityStoreAssembler extends Assemblers.VisibilityIdenti
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         String applicationName = module.layer().application().name();
 
         Preferences root = Preferences.userRoot();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-redis/src/main/java/org/apache/polygene/entitystore/redis/assembly/RedisEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-redis/src/main/java/org/apache/polygene/entitystore/redis/assembly/RedisEntityStoreAssembler.java b/extensions/entitystore-redis/src/main/java/org/apache/polygene/entitystore/redis/assembly/RedisEntityStoreAssembler.java
index 4f521a2..7c1ebca 100644
--- a/extensions/entitystore-redis/src/main/java/org/apache/polygene/entitystore/redis/assembly/RedisEntityStoreAssembler.java
+++ b/extensions/entitystore-redis/src/main/java/org/apache/polygene/entitystore/redis/assembly/RedisEntityStoreAssembler.java
@@ -34,6 +34,7 @@ public class RedisEntityStoreAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( RedisEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-riak/src/main/java/org/apache/polygene/entitystore/riak/assembly/RiakEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/src/main/java/org/apache/polygene/entitystore/riak/assembly/RiakEntityStoreAssembler.java b/extensions/entitystore-riak/src/main/java/org/apache/polygene/entitystore/riak/assembly/RiakEntityStoreAssembler.java
index ce538f6..9c67e31 100644
--- a/extensions/entitystore-riak/src/main/java/org/apache/polygene/entitystore/riak/assembly/RiakEntityStoreAssembler.java
+++ b/extensions/entitystore-riak/src/main/java/org/apache/polygene/entitystore/riak/assembly/RiakEntityStoreAssembler.java
@@ -33,6 +33,7 @@ public class RiakEntityStoreAssembler
     @Override
     public void assemble(ModuleAssembly module)
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( RiakEntityStoreService.class ).
             withMixins( RiakEntityStoreMixin.class ).
                 visibleIn( visibility() );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
index c25a3cd..0f86490 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
@@ -44,6 +44,7 @@ public abstract class AbstractSQLEntityStoreAssembler<AssemblerType>
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         SQLDialect dialect = getSQLDialect();
         if( dialect == null )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClientIndexQueryAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClientIndexQueryAssembler.java b/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClientIndexQueryAssembler.java
index 1a8a3a2..7b118d4 100644
--- a/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClientIndexQueryAssembler.java
+++ b/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClientIndexQueryAssembler.java
@@ -36,6 +36,7 @@ public class ESClientIndexQueryAssembler
     @Override
     public void assemble( final ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( ESClientIndexQueryService.class )
               .taggedWith( "elasticsearch", "query", "indexing" )
               .identifiedBy( identity() )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClusterIndexQueryAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClusterIndexQueryAssembler.java b/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClusterIndexQueryAssembler.java
index 9056cd3..2158059 100644
--- a/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClusterIndexQueryAssembler.java
+++ b/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESClusterIndexQueryAssembler.java
@@ -30,6 +30,7 @@ public class ESClusterIndexQueryAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( ESClusterIndexQueryService.class )
               .taggedWith( "elasticsearch", "query", "indexing" )
               .identifiedBy( identity() )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESFilesystemIndexQueryAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESFilesystemIndexQueryAssembler.java b/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESFilesystemIndexQueryAssembler.java
index 1dfb9bb..d401321 100644
--- a/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESFilesystemIndexQueryAssembler.java
+++ b/extensions/indexing-elasticsearch/src/main/java/org/apache/polygene/index/elasticsearch/assembly/ESFilesystemIndexQueryAssembler.java
@@ -30,6 +30,7 @@ public class ESFilesystemIndexQueryAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( ESFilesystemIndexQueryService.class )
               .taggedWith( "elasticsearch", "query", "indexing" )
               .identifiedBy( identity() )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/indexing-solr/src/main/java/org/apache/polygene/index/solr/assembly/SolrIndexingAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-solr/src/main/java/org/apache/polygene/index/solr/assembly/SolrIndexingAssembler.java b/extensions/indexing-solr/src/main/java/org/apache/polygene/index/solr/assembly/SolrIndexingAssembler.java
index 4932cdc..ab0e3c8 100644
--- a/extensions/indexing-solr/src/main/java/org/apache/polygene/index/solr/assembly/SolrIndexingAssembler.java
+++ b/extensions/indexing-solr/src/main/java/org/apache/polygene/index/solr/assembly/SolrIndexingAssembler.java
@@ -31,6 +31,7 @@ public class SolrIndexingAssembler extends Assemblers.VisibilityIdentityConfig<S
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( EmbeddedSolrService.class ).identifiedBy( "solr" ).instantiateOnStartup();
         module.services( SolrQueryService.class )
               .taggedWith( "solr", "search", "indexing", "query" )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
index b5e861c..6c931be 100644
--- a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
+++ b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
@@ -62,6 +62,7 @@ public abstract class AbstractSQLIndexQueryAssembler<AssemblerType> extends Asse
     @Override
     public final void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         try
         {
             SQLVendor sqlVendor = getSQLVendor();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/metrics-codahale/src/main/java/org/apache/polygene/metrics/codahale/assembly/CodahaleMetricsAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/metrics-codahale/src/main/java/org/apache/polygene/metrics/codahale/assembly/CodahaleMetricsAssembler.java b/extensions/metrics-codahale/src/main/java/org/apache/polygene/metrics/codahale/assembly/CodahaleMetricsAssembler.java
index 0281d12..f2bd5d6 100644
--- a/extensions/metrics-codahale/src/main/java/org/apache/polygene/metrics/codahale/assembly/CodahaleMetricsAssembler.java
+++ b/extensions/metrics-codahale/src/main/java/org/apache/polygene/metrics/codahale/assembly/CodahaleMetricsAssembler.java
@@ -108,6 +108,7 @@ public class CodahaleMetricsAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service =
             module.services( CodahaleMetricsProvider.class )
                   .setMetaInfo( declaration )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/serialization-javaxjson/src/main/java/org/apache/polygene/serialization/javaxjson/assembly/JavaxJsonSerializationAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/serialization-javaxjson/src/main/java/org/apache/polygene/serialization/javaxjson/assembly/JavaxJsonSerializationAssembler.java b/extensions/serialization-javaxjson/src/main/java/org/apache/polygene/serialization/javaxjson/assembly/JavaxJsonSerializationAssembler.java
index 10a8622..0bd397c 100644
--- a/extensions/serialization-javaxjson/src/main/java/org/apache/polygene/serialization/javaxjson/assembly/JavaxJsonSerializationAssembler.java
+++ b/extensions/serialization-javaxjson/src/main/java/org/apache/polygene/serialization/javaxjson/assembly/JavaxJsonSerializationAssembler.java
@@ -45,6 +45,7 @@ public class JavaxJsonSerializationAssembler extends Assemblers.VisibilityIdenti
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration declaration = module.services( JavaxJsonSerialization.class )
                                                .withTypes( Serialization.class,
                                                            Serializer.class, Deserializer.class,

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/assembly/JavaxXmlSerializationAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/assembly/JavaxXmlSerializationAssembler.java b/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/assembly/JavaxXmlSerializationAssembler.java
index e6a69f5..2385715 100644
--- a/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/assembly/JavaxXmlSerializationAssembler.java
+++ b/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/assembly/JavaxXmlSerializationAssembler.java
@@ -45,6 +45,7 @@ public class JavaxXmlSerializationAssembler extends Assemblers.VisibilityIdentit
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration declaration = module.services( JavaxXmlSerialization.class )
                                                .withTypes( Serialization.class,
                                                            Serializer.class, Deserializer.class,

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/assembly/MessagePackSerializationAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/assembly/MessagePackSerializationAssembler.java b/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/assembly/MessagePackSerializationAssembler.java
index 7f87458..a262e80 100644
--- a/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/assembly/MessagePackSerializationAssembler.java
+++ b/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/assembly/MessagePackSerializationAssembler.java
@@ -41,6 +41,7 @@ public class MessagePackSerializationAssembler extends Assemblers.VisibilityIden
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration declaration = module.services( MessagePackSerialization.class )
                                                .withTypes( Serialization.class,
                                                            Serializer.class, Deserializer.class,

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystemAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystemAssembler.java b/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystemAssembler.java
index 73d407b..405ca99 100644
--- a/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystemAssembler.java
+++ b/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystemAssembler.java
@@ -29,6 +29,7 @@ public class AlarmSystemAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration alarmSystem = module.services( AlarmSystemService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/fileconfig/src/main/java/org/apache/polygene/library/fileconfig/FileConfigurationAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/fileconfig/src/main/java/org/apache/polygene/library/fileconfig/FileConfigurationAssembler.java b/libraries/fileconfig/src/main/java/org/apache/polygene/library/fileconfig/FileConfigurationAssembler.java
index 6270502..bdc8d89 100644
--- a/libraries/fileconfig/src/main/java/org/apache/polygene/library/fileconfig/FileConfigurationAssembler.java
+++ b/libraries/fileconfig/src/main/java/org/apache/polygene/library/fileconfig/FileConfigurationAssembler.java
@@ -40,6 +40,7 @@ public class FileConfigurationAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( FileConfigurationService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/http/src/main/java/org/apache/polygene/library/http/JettyServiceAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/main/java/org/apache/polygene/library/http/JettyServiceAssembler.java b/libraries/http/src/main/java/org/apache/polygene/library/http/JettyServiceAssembler.java
index d9103ce..d7ebf49 100644
--- a/libraries/http/src/main/java/org/apache/polygene/library/http/JettyServiceAssembler.java
+++ b/libraries/http/src/main/java/org/apache/polygene/library/http/JettyServiceAssembler.java
@@ -54,6 +54,7 @@ public class JettyServiceAssembler
     @Override
     public final void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( httpService() ).
             visibleIn( visibility() ).
             instantiateOnStartup();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/rest-client/src/test/java/org/apache/polygene/library/rest/client/RssReaderTest.java
----------------------------------------------------------------------
diff --git a/libraries/rest-client/src/test/java/org/apache/polygene/library/rest/client/RssReaderTest.java b/libraries/rest-client/src/test/java/org/apache/polygene/library/rest/client/RssReaderTest.java
index da9c070..a1fb7a0 100644
--- a/libraries/rest-client/src/test/java/org/apache/polygene/library/rest/client/RssReaderTest.java
+++ b/libraries/rest-client/src/test/java/org/apache/polygene/library/rest/client/RssReaderTest.java
@@ -33,15 +33,12 @@ import org.apache.polygene.library.rest.client.api.ContextResourceClient;
 import org.apache.polygene.library.rest.client.api.ContextResourceClientFactory;
 import org.apache.polygene.library.rest.client.api.ErrorHandler;
 import org.apache.polygene.library.rest.client.api.HandlerCommand;
-import org.apache.polygene.library.rest.client.spi.ResponseHandler;
-import org.apache.polygene.library.rest.client.spi.ResponseReader;
 import org.apache.polygene.library.rest.client.spi.ResultHandler;
 import org.apache.polygene.library.rest.common.ValueAssembler;
 import org.apache.polygene.test.AbstractPolygeneTest;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.restlet.Client;
-import org.restlet.Response;
 import org.restlet.data.Protocol;
 import org.restlet.data.Reference;
 import org.restlet.resource.ResourceException;
@@ -67,6 +64,7 @@ public class RssReaderTest
         assumeConnectivity( "github.com", 443 );
     }
 
+    @SuppressWarnings( "FieldCanBeLocal" )
     private ContextResourceClient crc;
 
     @Override
@@ -84,42 +82,34 @@ public class RssReaderTest
     public void testReadRssFeed()
     {
         Client client = new Client( Protocol.HTTPS );
-        Reference ref = new Reference( "https://github.com/Qi4j/qi4j-sdk/commits/develop.atom" );
+        Reference ref = new Reference( "https://github.com/Apache/polygene-java/commits/develop.atom" );
         ContextResourceClientFactory contextResourceClientFactory = objectFactory.newObject( ContextResourceClientFactory.class, client );
 
-        contextResourceClientFactory.registerResponseReader( new ResponseReader()
-        {
-            @Override
-            public Object readResponse( Response response, Class<?> resultType )
-                throws ResourceException
+        contextResourceClientFactory.registerResponseReader( ( response, resultType ) -> {
+            if( resultType.equals( Document.class ) )
             {
-                if( resultType.equals( Document.class ) )
+                try
                 {
-                    try
-                    {
-                        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-                        documentBuilderFactory.setNamespaceAware( false );
-                        return documentBuilderFactory.newDocumentBuilder().parse( response.getEntity().getStream() );
-                    }
-                    catch( Exception e )
-                    {
-                        throw new ResourceException( e );
-                    }
+                    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+                    documentBuilderFactory.setNamespaceAware( false );
+                    return documentBuilderFactory.newDocumentBuilder().parse( response.getEntity().getStream() );
+                }
+                catch( Exception e )
+                {
+                    throw new ResourceException( e );
                 }
-
-                return null;
             }
+
+            return null;
         } );
 
-        contextResourceClientFactory.setErrorHandler( new ErrorHandler().onError( ErrorHandler.RECOVERABLE_ERROR, new ResponseHandler()
-        {
-            @Override
-            public HandlerCommand handleResponse( Response response, ContextResourceClient client )
-            {
-                System.out.println( ">> REFRESH on recoverable error: " + response.getStatus() );
-                return refresh();
-            }
-        } ) );
+        contextResourceClientFactory.setErrorHandler(
+            new ErrorHandler()
+                .onError( ErrorHandler.RECOVERABLE_ERROR,
+                          ( response, client1 ) -> {
+                              System.out.println( ">> REFRESH on recoverable error: " + response.getStatus() );
+                              return refresh();
+                          } ) );
 
         crc = contextResourceClientFactory.newClient( ref );
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/RestAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/RestAssembler.java b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/RestAssembler.java
index 9641806..0bd9782 100644
--- a/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/RestAssembler.java
+++ b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/RestAssembler.java
@@ -29,6 +29,7 @@ public class RestAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.objects( RestApplication.class ).visibleIn( visibility() );
         module.objects( PolygeneFinder.class,
                         EntitiesResource.class,

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/assembly/RestletCrudModuleAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/assembly/RestletCrudModuleAssembler.java b/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/assembly/RestletCrudModuleAssembler.java
index 490804b..f6c07e0 100644
--- a/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/assembly/RestletCrudModuleAssembler.java
+++ b/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/assembly/RestletCrudModuleAssembler.java
@@ -52,6 +52,7 @@ public class RestletCrudModuleAssembler extends Assemblers.VisibilityIdentity<Re
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration declaration = module
             .addServices( repositoryType )
             .visibleIn( Visibility.application )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PasswordDomainAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PasswordDomainAssembler.java b/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PasswordDomainAssembler.java
index df2e3e4..f9c4a2d 100644
--- a/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PasswordDomainAssembler.java
+++ b/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PasswordDomainAssembler.java
@@ -32,6 +32,7 @@ public class PasswordDomainAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.entities( PasswordSecurable.class ).visibleIn( visibility() );
         ServiceDeclaration service = module.services( PasswordRealmService.class ).
             instantiateOnStartup().

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PermissionsDomainAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PermissionsDomainAssembler.java b/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PermissionsDomainAssembler.java
index 1848a69..6609085 100644
--- a/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PermissionsDomainAssembler.java
+++ b/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/PermissionsDomainAssembler.java
@@ -32,6 +32,7 @@ public class PermissionsDomainAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.entities( Role.class, RoleAssignment.class, RoleAssignee.class ).
             visibleIn( visibility() );
         module.services( RoleFactory.class ).

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/StandaloneShiroAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/StandaloneShiroAssembler.java b/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/StandaloneShiroAssembler.java
index 25ca7ba..9edf580 100644
--- a/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/StandaloneShiroAssembler.java
+++ b/libraries/shiro-core/src/main/java/org/apache/polygene/library/shiro/assembly/StandaloneShiroAssembler.java
@@ -31,6 +31,7 @@ public class StandaloneShiroAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( IniSecurityManagerService.class ).
             visibleIn( visibility() ).
             instantiateOnStartup();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/shiro-web/src/main/java/org/apache/polygene/library/shiro/web/assembly/HttpShiroAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/shiro-web/src/main/java/org/apache/polygene/library/shiro/web/assembly/HttpShiroAssembler.java b/libraries/shiro-web/src/main/java/org/apache/polygene/library/shiro/web/assembly/HttpShiroAssembler.java
index 01630a0..8037332 100644
--- a/libraries/shiro-web/src/main/java/org/apache/polygene/library/shiro/web/assembly/HttpShiroAssembler.java
+++ b/libraries/shiro-web/src/main/java/org/apache/polygene/library/shiro/web/assembly/HttpShiroAssembler.java
@@ -40,6 +40,7 @@ public class HttpShiroAssembler extends Assemblers.Config<HttpShiroAssembler>
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         addContextListeners(
             listen().with( EnvironmentLoaderService.class ) )
             .to( module );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/sql-liquibase/src/main/java/org/apache/polygene/library/sql/liquibase/LiquibaseAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/sql-liquibase/src/main/java/org/apache/polygene/library/sql/liquibase/LiquibaseAssembler.java b/libraries/sql-liquibase/src/main/java/org/apache/polygene/library/sql/liquibase/LiquibaseAssembler.java
index d29cf8d..59f1aba 100644
--- a/libraries/sql-liquibase/src/main/java/org/apache/polygene/library/sql/liquibase/LiquibaseAssembler.java
+++ b/libraries/sql-liquibase/src/main/java/org/apache/polygene/library/sql/liquibase/LiquibaseAssembler.java
@@ -31,6 +31,7 @@ public class LiquibaseAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         ServiceDeclaration service = module.services( LiquibaseService.class ).visibleIn( visibility() );
         if( applyChangelogOnStartup )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/AbstractPooledDataSourceServiceAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/AbstractPooledDataSourceServiceAssembler.java b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/AbstractPooledDataSourceServiceAssembler.java
index 49ed1fe..360e34e 100644
--- a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/AbstractPooledDataSourceServiceAssembler.java
+++ b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/AbstractPooledDataSourceServiceAssembler.java
@@ -32,6 +32,7 @@ public abstract class AbstractPooledDataSourceServiceAssembler<AssemblerType>
     @Override
     public final void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.values( DataSourceConfiguration.class ).visibleIn( Visibility.module );
         if( hasConfig() )
         {

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceAssembler.java b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceAssembler.java
index 1618cc0..adea163 100644
--- a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceAssembler.java
+++ b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceAssembler.java
@@ -68,6 +68,7 @@ public class DataSourceAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.importedServices( DataSource.class ).
             importedBy( ServiceInstanceImporter.class ).
             setMetaInfo( StringIdentity.identityOf( dataSourceServiceId ) ).

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceJMXAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceJMXAssembler.java b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceJMXAssembler.java
index e65e1e7..ff6a004 100644
--- a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceJMXAssembler.java
+++ b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/DataSourceJMXAssembler.java
@@ -29,6 +29,7 @@ public class DataSourceJMXAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( DataSourceConfigurationManagerService.class ).visibleIn( visibility() ).instantiateOnStartup();
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/ExternalDataSourceAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/ExternalDataSourceAssembler.java b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/ExternalDataSourceAssembler.java
index 2e833bb..462dee3 100644
--- a/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/ExternalDataSourceAssembler.java
+++ b/libraries/sql/src/main/java/org/apache/polygene/library/sql/assembly/ExternalDataSourceAssembler.java
@@ -63,6 +63,7 @@ public class ExternalDataSourceAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         if( circuitBreaker != null )
         {
             externalDataSource = DataSources.wrapWithCircuitBreaker( StringIdentity.identityOf( identity() ), externalDataSource, circuitBreaker );

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/PersistingSequencingAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/PersistingSequencingAssembler.java b/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/PersistingSequencingAssembler.java
index 1a8038c..ebebe0b 100644
--- a/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/PersistingSequencingAssembler.java
+++ b/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/PersistingSequencingAssembler.java
@@ -31,6 +31,7 @@ public class PersistingSequencingAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( PersistingSequencingService.class ).visibleIn( visibility() );
         module.entities( SequenceEntity.class ).visibleIn( Visibility.module );
     }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/TransientSequencingAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/TransientSequencingAssembler.java b/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/TransientSequencingAssembler.java
index a53b9a3..d32f78b 100644
--- a/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/TransientSequencingAssembler.java
+++ b/libraries/uid/src/main/java/org/apache/polygene/library/uid/sequence/assembly/TransientSequencingAssembler.java
@@ -29,6 +29,7 @@ public class TransientSequencingAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( TransientSequencingService.class ).visibleIn( visibility() );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/uid/src/main/java/org/apache/polygene/library/uid/uuid/assembly/UuidServiceAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/uid/src/main/java/org/apache/polygene/library/uid/uuid/assembly/UuidServiceAssembler.java b/libraries/uid/src/main/java/org/apache/polygene/library/uid/uuid/assembly/UuidServiceAssembler.java
index 489650d..b32d642 100644
--- a/libraries/uid/src/main/java/org/apache/polygene/library/uid/uuid/assembly/UuidServiceAssembler.java
+++ b/libraries/uid/src/main/java/org/apache/polygene/library/uid/uuid/assembly/UuidServiceAssembler.java
@@ -29,6 +29,7 @@ public class UuidServiceAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( UuidServiceComposite.class ).visibleIn( visibility() );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/047380a3/libraries/uowfile/src/main/java/org/apache/polygene/library/uowfile/bootstrap/UoWFileAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/uowfile/src/main/java/org/apache/polygene/library/uowfile/bootstrap/UoWFileAssembler.java b/libraries/uowfile/src/main/java/org/apache/polygene/library/uowfile/bootstrap/UoWFileAssembler.java
index ab98a18..a85e757 100644
--- a/libraries/uowfile/src/main/java/org/apache/polygene/library/uowfile/bootstrap/UoWFileAssembler.java
+++ b/libraries/uowfile/src/main/java/org/apache/polygene/library/uowfile/bootstrap/UoWFileAssembler.java
@@ -41,6 +41,7 @@ public class UoWFileAssembler
     @Override
     public void assemble( ModuleAssembly module )
     {
+        super.assemble( module );
         module.services( UoWFileFactory.class ).visibleIn( visibility() );
     }
 }