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 2016/12/17 10:28:44 UTC

[68/81] [abbrv] zest-java git commit: ZEST-195 ; Fix file names.

ZEST-195 ; Fix file names.


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

Branch: refs/heads/develop
Commit: b45402f28b6560cf1453d2dbd2d218b3dc5f7b4c
Parents: b02063b
Author: Niclas Hedhman <ni...@hedhman.org>
Authored: Wed Dec 14 10:24:43 2016 +0800
Committer: Niclas Hedhman <ni...@hedhman.org>
Committed: Wed Dec 14 10:24:43 2016 +0800

----------------------------------------------------------------------
 .../reference/AbstractPolygeneScenarioTest.txt  |  18 +
 .../src/docs/reference/AbstractPolygeneTest.txt |  18 +
 .../docs/reference/AbstractZestScenarioTest.txt |  18 -
 .../src/docs/reference/AbstractZestTest.txt     |  18 -
 etc/polygene-api-checkstyle.xml                 | 212 +++++
 etc/polygene-runtime-checkstyle.xml             | 208 +++++
 etc/polygene-tests-checkstyle.xml               | 196 +++++
 etc/zest-api-checkstyle.xml                     | 212 -----
 etc/zest-runtime-checkstyle.xml                 | 208 -----
 etc/zest-tests-checkstyle.xml                   | 196 -----
 .../metrics/AbstractPolygeneMetricsTest.java    | 338 ++++++++
 .../test/metrics/AbstractZestMetricsTest.java   | 338 --------
 .../http/polygene-lib-http-unittests-ca.jceks   | Bin 0 -> 1075 bytes
 ...olygene-lib-http-unittests-client-cert.jceks | Bin 0 -> 3395 bytes
 ...olygene-lib-http-unittests-server-cert.jceks | Bin 0 -> 3380 bytes
 .../http/zest-lib-http-unittests-ca.jceks       | Bin 1075 -> 0 bytes
 .../zest-lib-http-unittests-client-cert.jceks   | Bin 3395 -> 0 bytes
 .../zest-lib-http-unittests-server-cert.jceks   | Bin 3380 -> 0 bytes
 .../AbstractPolygeneServletBootstrap.java       | 143 ++++
 .../lifecycle/AbstractZestServletBootstrap.java | 143 ----
 .../PolygeneExportServiceTest-context.xml       |  36 +
 .../bootstrap/ZestExportServiceTest-context.xml |  36 -
 .../PolygeneImportServiceTest-context.xml       |  28 +
 .../importer/ZestImportServiceTest-context.xml  |  28 -
 .../docs/tutorials/howto-depend-on-polygene.txt | 193 +++++
 .../src/docs/tutorials/howto-depend-on-zest.txt | 193 -----
 .../src/docs/website/resources/css/polygene.css | 825 +++++++++++++++++++
 manual/src/docs/website/resources/css/zest.css  | 825 -------------------
 manual/src/resources/images/polygene-blue.png   | Bin 0 -> 853 bytes
 manual/src/resources/images/zest-blue.png       | Bin 853 -> 0 bytes
 .../common/PolygeneAppliesToConstants.java      |  33 +
 .../appliesTo/common/PolygeneAppliesToUtil.java | 138 ++++
 .../common/ZestAppliesToConstants.java          |  33 -
 .../appliesTo/common/ZestAppliesToUtil.java     | 138 ----
 .../actions/PolygeneCreateActionGroup.java      |  82 ++
 .../common/actions/ZestCreateActionGroup.java   |  82 --
 .../plugin/idea/common/facet/PolygeneFacet.java |  50 ++
 .../facet/PolygeneFacetConfiguration.java       |  56 ++
 .../idea/common/facet/PolygeneFacetType.java    | 122 +++
 .../ide/plugin/idea/common/facet/ZestFacet.java |  50 --
 .../common/facet/ZestFacetConfiguration.java    |  56 --
 .../plugin/idea/common/facet/ZestFacetType.java | 122 ---
 .../common/facet/ui/PolygeneFacetEditorTab.java |  72 ++
 .../common/facet/ui/ZestFacetEditorTab.java     |  72 --
 .../common/resource/PolygeneResourceBundle.java |  68 ++
 .../common/resource/ZestResourceBundle.java     |  68 --
 .../common/PolygeneConcernConstants.java        |  40 +
 .../concerns/common/PolygeneConcernUtil.java    | 228 +++++
 .../concerns/common/ZestConcernConstants.java   |  40 -
 .../idea/concerns/common/ZestConcernUtil.java   | 228 -----
 .../PolygeneInvocationAnnotationConstants.java  |  32 +
 .../PolygeneInvocationAnnotationUtil.java       | 129 +++
 .../ZestInvocationAnnotationConstants.java      |  32 -
 .../common/ZestInvocationAnnotationUtil.java    | 129 ---
 .../PolygeneServiceAnnotationConstants.java     |  32 +
 .../common/PolygeneServiceAnnotationUtil.java   |  99 +++
 .../common/ZestServiceAnnotationConstants.java  |  32 -
 .../common/ZestServiceAnnotationUtil.java       |  99 ---
 .../PolygeneStructureAnnotationConstants.java   |  53 ++
 .../common/PolygeneStructureAnnotationUtil.java | 124 +++
 .../ZestStructureAnnotationConstants.java       |  53 --
 .../common/ZestStructureAnnotationUtil.java     | 124 ---
 .../mixins/common/PolygeneMixinConstants.java   |  32 +
 .../idea/mixins/common/PolygeneMixinUtil.java   | 196 +++++
 .../idea/mixins/common/ZestMixinConstants.java  |  32 -
 .../idea/mixins/common/ZestMixinUtil.java       | 196 -----
 .../common/PolygeneSideEffectConstants.java     |  35 +
 .../common/PolygeneSideEffectUtil.java          | 188 +++++
 .../common/ZestSideEffectConstants.java         |  35 -
 .../sideEffects/common/ZestSideEffectUtil.java  | 188 -----
 .../resource/PolygeneResourceBundle.properties  | 164 ++++
 .../resource/ZestResourceBundle.properties      | 164 ----
 tools/shell/src/dist/bin/polygene-boot          |  79 ++
 tools/shell/src/dist/bin/zest-boot              |  79 --
 .../introduction/src/docs/polygene-cop.txt      |  22 +
 tutorials/introduction/src/docs/zest-cop.txt    |  22 -
 76 files changed, 4289 insertions(+), 4289 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/core/testsupport/src/docs/reference/AbstractPolygeneScenarioTest.txt
----------------------------------------------------------------------
diff --git a/core/testsupport/src/docs/reference/AbstractPolygeneScenarioTest.txt b/core/testsupport/src/docs/reference/AbstractPolygeneScenarioTest.txt
new file mode 100644
index 0000000..fc7aac6
--- /dev/null
+++ b/core/testsupport/src/docs/reference/AbstractPolygeneScenarioTest.txt
@@ -0,0 +1,18 @@
+///////////////////////////////////////////////////////////////
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+///////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/core/testsupport/src/docs/reference/AbstractPolygeneTest.txt
----------------------------------------------------------------------
diff --git a/core/testsupport/src/docs/reference/AbstractPolygeneTest.txt b/core/testsupport/src/docs/reference/AbstractPolygeneTest.txt
new file mode 100644
index 0000000..fc7aac6
--- /dev/null
+++ b/core/testsupport/src/docs/reference/AbstractPolygeneTest.txt
@@ -0,0 +1,18 @@
+///////////////////////////////////////////////////////////////
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+///////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/core/testsupport/src/docs/reference/AbstractZestScenarioTest.txt
----------------------------------------------------------------------
diff --git a/core/testsupport/src/docs/reference/AbstractZestScenarioTest.txt b/core/testsupport/src/docs/reference/AbstractZestScenarioTest.txt
deleted file mode 100644
index fc7aac6..0000000
--- a/core/testsupport/src/docs/reference/AbstractZestScenarioTest.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-///////////////////////////////////////////////////////////////
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
-///////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/core/testsupport/src/docs/reference/AbstractZestTest.txt
----------------------------------------------------------------------
diff --git a/core/testsupport/src/docs/reference/AbstractZestTest.txt b/core/testsupport/src/docs/reference/AbstractZestTest.txt
deleted file mode 100644
index fc7aac6..0000000
--- a/core/testsupport/src/docs/reference/AbstractZestTest.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-///////////////////////////////////////////////////////////////
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
-///////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/etc/polygene-api-checkstyle.xml
----------------------------------------------------------------------
diff --git a/etc/polygene-api-checkstyle.xml b/etc/polygene-api-checkstyle.xml
new file mode 100644
index 0000000..4db3ae8
--- /dev/null
+++ b/etc/polygene-api-checkstyle.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing, software
+  ~  distributed under the License is distributed on an "AS IS" BASIS,
+  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~  See the License for the specific language governing permissions and
+  ~  limitations under the License.
+  ~
+  ~
+  -->
+
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+  "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!-- Documentation is availableService at
+     http://checkstyle.sourceforge.net/availablechecks.html
+-->
+<module name="Checker">
+  <property name="severity" value="warning"/>
+  <module name="NewlineAtEndOfFile"/>
+  <module name="Translation"/>
+  <module name="JavadocPackage"/>
+  <module name="TreeWalker">
+    <module name="MutableException"/>
+
+    <module name="CyclomaticComplexity">
+      <property name="max" value="7"/>
+    </module>
+    <module name="Indentation"/>
+    <module name="CovariantEquals"/>
+    <module name="FileContentsHolder"/>
+    <module name="ArrayTypeStyle"/>
+    <!-- 2005-Oct-05
+         final in method arguments is just ugly in my opinion,
+         communicates very little, and is not preventing much
+         problem. Remove it for now.
+    <module name="FinalParameters">
+        <property name="severity" value="ignore"/>
+        <property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
+    </module>
+    -->
+
+    <!--
+        <module name="GenericIllegalRegexp">
+          <property name="severity" value="ignore"/>
+          <property name="format" value="\s+$"/>
+          <property name="message" value="Line has trailing spaces."/>
+        </module>
+    -->
+
+    <module name="ModifierOrder"/>
+    <module name="RedundantModifier">
+      <property name="severity" value="ignore"/>
+      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
+    </module>
+
+    <module name="TodoComment"/>
+    <module name="UpperEll"/>
+    <module name="AvoidNestedBlocks"/>
+    <module name="EmptyBlock">
+      <property name="tokens"
+                value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/>
+    </module>
+    <module name="LeftCurly">
+      <property name="option" value="nl"/>
+      <property name="tokens"
+                value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/>
+
+    </module>
+    <module name="NeedBraces"/>
+    <module name="RightCurly">
+      <property name="option" value="alone"/>
+      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/>
+    </module>
+    <module name="AvoidInlineConditionals"/>
+    <module name="DoubleCheckedLocking"/>
+    <module name="EmptyStatement"/>
+
+    <module name="EqualsHashCode"/>
+    <!--<module name="HiddenField"/>-->
+    <module name="IllegalInstantiation"/>
+    <module name="InnerAssignment"/>
+    <module name="MagicNumber">
+      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
+      <property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 50, 60, 100, 1000, 3600"/>
+    </module>
+    <module name="MissingSwitchDefault"/>
+
+    <!--
+         Niclas 2005-09-16:
+         This check seems somewhat broken, since
+         a = b == false;
+         is more readable in my view than
+         a = !b
+         but the former will trigger this rule. Therefor I disable it.
+         <module name="SimplifyBooleanExpression">
+         </module>
+    -->
+    <module name="SimplifyBooleanReturn"/>
+    <module name="StringLiteralEquality"/>
+    <module name="NestedIfDepth">
+      <property name="max" value="3"/>
+    </module>
+    <module name="NestedTryDepth">
+      <property name="max" value="2"/>
+    </module>
+
+    <module name="SuperClone"/>
+    <module name="SuperFinalize"/>
+    <module name="IllegalCatch">
+      <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.Error"/>
+    </module>
+    <module name="IllegalThrows">
+      <property name="illegalClassNames"
+                value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException, java.lang.Error"/>
+    </module>
+    <module name="PackageDeclaration"/>
+
+    <module name="JUnitTestCase"/>
+    <module name="DeclarationOrder"/>
+    <module name="ParameterAssignment"/>
+    <!--<module name="MissingCtor"/>-->
+    <module name="MultipleVariableDeclarations"/>
+    <module name="DesignForExtension">
+      <property name="severity" value="ignore"/>
+    </module>
+    <module name="FinalClass"/>
+
+    <module name="HideUtilityClassConstructor"/>
+    <module name="VisibilityModifier"/>
+    <module name="AvoidStarImport"/>
+    <module name="IllegalImport"/>
+    <module name="RedundantImport"/>
+    <module name="UnusedImports"/>
+    <module name="ImportOrder">
+      <property name="groups" value=""/>
+      <property name="ordered" value="true"/>
+      <property name="option" value="under"/>
+      <property name="separated" value="true"/>
+      <property name="caseSensitive" value="true"/>
+    </module>
+
+    <!--TODO Removing this until Javadoc effort has picked up -->
+    <!--<module name="JavadocMethod"/>-->
+    <!--<module name="JavadocType"/>-->
+    <!--<module name="JavadocVariable">-->
+      <!--<property name="scope" value="package"/>-->
+    <!--</module>-->
+    <module name="ConstantName">
+      <property name="format" value="^[A-Z0-9_$]*$"/>
+    </module>
+    <module name="LocalFinalVariableName"/>
+    <module name="LocalVariableName"/>
+    <module name="MemberName">
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+    </module>
+    <module name="MethodName"/>
+    <module name="PackageName"/>
+
+    <module name="ParameterName"/>
+    <module name="StaticVariableName">
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+    </module>
+    <module name="TypeName"/>
+    <module name="LineLength">
+
+      <property name="max" value="120"/>
+    </module>
+    <module name="MethodLength"/>
+    <module name="AnonInnerLength">
+      <property name="max" value="60"/>
+    </module>
+    <module name="ParameterNumber">
+      <property name="max" value="12"/>
+    </module>
+
+    <module name="EmptyForIteratorPad"/>
+    <module name="NoWhitespaceAfter">
+      <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS"/>
+    </module>
+    <!--<module name="OperatorWrap"/>-->
+    <module name="ParenPad">
+      <property name="option" value="space"/>
+      <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/>
+    </module>
+
+    <!--
+        <module name="TabCharacter"/>
+    -->
+
+    <module name="WhitespaceAfter"/>
+    <module name="WhitespaceAround">
+      <property name="tokens"
+                value="BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_DO, LITERAL_RETURN, LITERAL_TRY, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/>
+    </module>
+  </module>
+
+  <module name="FileLength">
+    <property name="max" value="1000"/>
+  </module>
+
+</module>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/etc/polygene-runtime-checkstyle.xml
----------------------------------------------------------------------
diff --git a/etc/polygene-runtime-checkstyle.xml b/etc/polygene-runtime-checkstyle.xml
new file mode 100644
index 0000000..8d4b9f7
--- /dev/null
+++ b/etc/polygene-runtime-checkstyle.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing, software
+  ~  distributed under the License is distributed on an "AS IS" BASIS,
+  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~  See the License for the specific language governing permissions and
+  ~  limitations under the License.
+  ~
+  ~
+  -->
+
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+  "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!-- Documentation is availableService at
+     http://checkstyle.sourceforge.net/availablechecks.html
+-->
+<module name="Checker">
+  <property name="severity" value="warning"/>
+  <module name="NewlineAtEndOfFile"/>
+  <module name="Translation"/>
+  <!--TODO Removing this until Javadoc effort has picked up -->
+  <!--<module name="JavadocPackage"/>-->
+  <module name="TreeWalker">
+    <module name="MutableException"/>
+
+    <module name="CyclomaticComplexity">
+      <property name="max" value="7"/>
+    </module>
+    <module name="Indentation"/>
+    <module name="CovariantEquals"/>
+    <module name="FileContentsHolder"/>
+    <module name="ArrayTypeStyle"/>
+    <!-- 2005-Oct-05
+         final in method arguments is just ugly in my opinion,
+         communicates very little, and is not preventing much
+         problem. Remove it for now.
+    <module name="FinalParameters">
+        <property name="severity" value="ignore"/>
+        <property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
+    </module>
+    -->
+
+    <!--
+        <module name="GenericIllegalRegexp">
+          <property name="severity" value="ignore"/>
+          <property name="format" value="\s+$"/>
+          <property name="message" value="Line has trailing spaces."/>
+        </module>
+    -->
+
+    <module name="ModifierOrder"/>
+    <module name="RedundantModifier">
+      <property name="severity" value="ignore"/>
+      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
+    </module>
+
+    <module name="TodoComment"/>
+    <module name="UpperEll"/>
+    <module name="AvoidNestedBlocks"/>
+    <module name="EmptyBlock">
+      <property name="tokens"
+                value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/>
+    </module>
+    <module name="LeftCurly">
+      <property name="option" value="nl"/>
+      <property name="tokens"
+                value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/>
+
+    </module>
+    <module name="NeedBraces"/>
+    <module name="RightCurly">
+      <property name="option" value="alone"/>
+      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/>
+    </module>
+    <module name="AvoidInlineConditionals"/>
+    <module name="DoubleCheckedLocking"/>
+    <module name="EmptyStatement"/>
+
+    <module name="EqualsHashCode"/>
+    <!--<module name="HiddenField"/>-->
+    <module name="IllegalInstantiation"/>
+    <module name="InnerAssignment"/>
+    <module name="MagicNumber">
+      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
+      <property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 50, 60, 100, 1000, 3600"/>
+    </module>
+    <module name="MissingSwitchDefault"/>
+
+    <!--
+         Niclas 2005-09-16:
+         This check seems somewhat broken, since
+         a = b == false;
+         is more readable in my view than
+         a = !b
+         but the former will trigger this rule. Therefor I disable it.
+         <module name="SimplifyBooleanExpression">
+         </module>
+    -->
+    <module name="SimplifyBooleanReturn"/>
+    <module name="StringLiteralEquality"/>
+    <module name="NestedIfDepth">
+      <property name="max" value="3"/>
+    </module>
+    <module name="NestedTryDepth">
+      <property name="max" value="2"/>
+    </module>
+
+    <module name="SuperClone"/>
+    <module name="SuperFinalize"/>
+    <module name="IllegalCatch">
+      <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.Error"/>
+    </module>
+    <module name="IllegalThrows">
+      <property name="illegalClassNames"
+                value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException, java.lang.Error"/>
+    </module>
+    <module name="PackageDeclaration"/>
+
+    <module name="JUnitTestCase"/>
+    <module name="DeclarationOrder"/>
+    <module name="ParameterAssignment"/>
+    <!--<module name="MissingCtor"/>-->
+    <module name="MultipleVariableDeclarations"/>
+    <module name="DesignForExtension">
+      <property name="severity" value="ignore"/>
+    </module>
+    <module name="FinalClass"/>
+
+    <module name="HideUtilityClassConstructor"/>
+    <module name="VisibilityModifier"/>
+    <module name="AvoidStarImport"/>
+    <module name="IllegalImport"/>
+    <module name="RedundantImport"/>
+    <module name="UnusedImports"/>
+    <module name="ImportOrder">
+      <property name="groups" value=""/>
+      <property name="ordered" value="true"/>
+      <property name="option" value="under"/>
+      <property name="separated" value="true"/>
+      <property name="caseSensitive" value="true"/>
+    </module>
+    <!--TODO Removing this until Javadoc effort has picked up -->
+    <!--<module name="JavadocType"/>-->
+    <module name="ConstantName">
+      <property name="format" value="^[A-Z0-9_$]*$"/>
+    </module>
+    <module name="LocalFinalVariableName"/>
+    <module name="LocalVariableName"/>
+    <module name="MemberName">
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+    </module>
+    <module name="MethodName"/>
+    <module name="PackageName"/>
+
+    <module name="ParameterName"/>
+    <module name="StaticVariableName">
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+    </module>
+    <module name="TypeName"/>
+    <module name="LineLength">
+
+      <property name="max" value="120"/>
+    </module>
+    <module name="MethodLength"/>
+    <module name="AnonInnerLength">
+      <property name="max" value="60"/>
+    </module>
+    <module name="ParameterNumber">
+      <property name="max" value="12"/>
+    </module>
+
+    <module name="EmptyForIteratorPad"/>
+    <module name="NoWhitespaceAfter">
+      <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS"/>
+    </module>
+    <!--<module name="OperatorWrap"/>-->
+    <module name="ParenPad">
+      <property name="option" value="space"/>
+      <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/>
+    </module>
+
+    <!--
+        <module name="TabCharacter"/>
+    -->
+
+    <module name="WhitespaceAfter"/>
+    <module name="WhitespaceAround">
+      <property name="tokens"
+                value="BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_DO, LITERAL_RETURN, LITERAL_TRY, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/>
+    </module>
+  </module>
+
+  <module name="FileLength">
+    <property name="max" value="1000"/>
+  </module>
+
+</module>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/etc/polygene-tests-checkstyle.xml
----------------------------------------------------------------------
diff --git a/etc/polygene-tests-checkstyle.xml b/etc/polygene-tests-checkstyle.xml
new file mode 100644
index 0000000..fc741ac
--- /dev/null
+++ b/etc/polygene-tests-checkstyle.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing, software
+  ~  distributed under the License is distributed on an "AS IS" BASIS,
+  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~  See the License for the specific language governing permissions and
+  ~  limitations under the License.
+  ~
+  ~
+  -->
+
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+  "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!-- Documentation is availableService at
+     http://checkstyle.sourceforge.net/availablechecks.html
+-->
+<module name="Checker">
+  <property name="severity" value="warning"/>
+  <module name="NewlineAtEndOfFile"/>
+  <module name="Translation"/>
+  <module name="TreeWalker">
+    <module name="MutableException"/>
+
+    <module name="CyclomaticComplexity">
+      <property name="max" value="7"/>
+    </module>
+    <module name="Indentation"/>
+    <module name="CovariantEquals"/>
+    <module name="FileContentsHolder"/>
+    <module name="ArrayTypeStyle"/>
+    <!--
+        <module name="GenericIllegalRegexp">
+          <property name="severity" value="ignore"/>
+          <property name="format" value="\s+$"/>
+          <property name="message" value="Line has trailing spaces."/>
+        </module>
+    -->
+
+    <module name="ModifierOrder"/>
+    <module name="RedundantModifier">
+      <property name="severity" value="ignore"/>
+      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
+    </module>
+
+    <module name="TodoComment"/>
+    <module name="UpperEll"/>
+    <module name="AvoidNestedBlocks"/>
+    <module name="EmptyBlock">
+      <property name="tokens"
+                value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/>
+    </module>
+    <module name="LeftCurly">
+      <property name="option" value="nl"/>
+      <property name="tokens"
+                value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/>
+
+    </module>
+    <module name="NeedBraces"/>
+    <module name="RightCurly">
+      <property name="option" value="alone"/>
+      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/>
+    </module>
+    <module name="AvoidInlineConditionals"/>
+    <module name="DoubleCheckedLocking"/>
+    <module name="EmptyStatement"/>
+
+    <module name="EqualsHashCode"/>
+    <!--<module name="HiddenField"/>-->
+    <module name="IllegalInstantiation"/>
+    <module name="InnerAssignment"/>
+    <module name="MagicNumber">
+      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
+      <property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 50, 60, 100, 1000, 3600"/>
+    </module>
+    <module name="MissingSwitchDefault"/>
+
+    <!--
+         Niclas 2005-09-16:
+         This check seems somewhat broken, since
+         a = b == false;
+         is more readable in my view than
+         a = !b
+         but the former will trigger this rule. Therefor I disable it.
+         <module name="SimplifyBooleanExpression">
+         </module>
+    -->
+    <module name="SimplifyBooleanReturn"/>
+    <module name="StringLiteralEquality"/>
+    <module name="NestedIfDepth">
+      <property name="max" value="3"/>
+    </module>
+    <module name="NestedTryDepth">
+      <property name="max" value="2"/>
+    </module>
+
+    <module name="SuperClone"/>
+    <module name="SuperFinalize"/>
+    <!-- Ok in tests...
+    <module name="IllegalCatch">
+      <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.Error"/>
+    </module>
+    <module name="IllegalThrows">
+      <property name="illegalClassNames"
+                value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException, java.lang.Error"/>
+    </module>
+    -->
+    <module name="PackageDeclaration"/>
+
+    <module name="JUnitTestCase"/>
+    <module name="DeclarationOrder"/>
+    <module name="ParameterAssignment"/>
+    <!--<module name="MissingCtor"/>-->
+    <module name="MultipleVariableDeclarations"/>
+    <module name="DesignForExtension">
+      <property name="severity" value="ignore"/>
+    </module>
+    <module name="FinalClass"/>
+
+    <module name="HideUtilityClassConstructor"/>
+    <module name="VisibilityModifier"/>
+    <module name="AvoidStarImport"/>
+    <module name="IllegalImport"/>
+    <module name="RedundantImport"/>
+    <module name="UnusedImports"/>
+    <module name="ImportOrder">
+      <property name="groups" value=""/>
+      <property name="ordered" value="true"/>
+      <property name="separated" value="false"/>
+      <property name="caseSensitive" value="true"/>
+      <property name="option" value="under"/>
+    </module>
+    <module name="ConstantName">
+      <property name="format" value="^[A-Z0-9_$]*$"/>
+    </module>
+    <module name="LocalFinalVariableName"/>
+    <module name="LocalVariableName"/>
+    <module name="MemberName">
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+    </module>
+    <module name="MethodName"/>
+    <module name="PackageName"/>
+
+    <module name="ParameterName"/>
+    <module name="StaticVariableName">
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+    </module>
+    <module name="TypeName"/>
+    <module name="LineLength">
+
+      <property name="max" value="120"/>
+    </module>
+    <module name="MethodLength"/>
+    <module name="AnonInnerLength">
+      <property name="max" value="60"/>
+    </module>
+    <module name="ParameterNumber">
+      <property name="max" value="12"/>
+    </module>
+
+    <module name="EmptyForIteratorPad"/>
+    <module name="NoWhitespaceAfter">
+      <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS"/>
+    </module>
+    <!--<module name="OperatorWrap"/>-->
+    <module name="ParenPad">
+      <property name="option" value="space"/>
+      <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/>
+    </module>
+
+    <!--
+        <module name="TabCharacter"/>
+    -->
+
+    <module name="WhitespaceAfter"/>
+    <module name="WhitespaceAround">
+      <property name="tokens"
+                value="BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_DO, LITERAL_RETURN, LITERAL_TRY, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/>
+    </module>
+  </module>
+
+  <module name="FileLength">
+    <property name="max" value="1000"/>
+  </module>
+
+</module>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/etc/zest-api-checkstyle.xml
----------------------------------------------------------------------
diff --git a/etc/zest-api-checkstyle.xml b/etc/zest-api-checkstyle.xml
deleted file mode 100644
index 4db3ae8..0000000
--- a/etc/zest-api-checkstyle.xml
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~  Licensed to the Apache Software Foundation (ASF) under one
-  ~  or more contributor license agreements.  See the NOTICE file
-  ~  distributed with this work for additional information
-  ~  regarding copyright ownership.  The ASF licenses this file
-  ~  to you under the Apache License, Version 2.0 (the
-  ~  "License"); you may not use this file except in compliance
-  ~  with the License.  You may obtain a copy of the License at
-  ~
-  ~       http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~  Unless required by applicable law or agreed to in writing, software
-  ~  distributed under the License is distributed on an "AS IS" BASIS,
-  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~  See the License for the specific language governing permissions and
-  ~  limitations under the License.
-  ~
-  ~
-  -->
-
-<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
-  "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<!-- Documentation is availableService at
-     http://checkstyle.sourceforge.net/availablechecks.html
--->
-<module name="Checker">
-  <property name="severity" value="warning"/>
-  <module name="NewlineAtEndOfFile"/>
-  <module name="Translation"/>
-  <module name="JavadocPackage"/>
-  <module name="TreeWalker">
-    <module name="MutableException"/>
-
-    <module name="CyclomaticComplexity">
-      <property name="max" value="7"/>
-    </module>
-    <module name="Indentation"/>
-    <module name="CovariantEquals"/>
-    <module name="FileContentsHolder"/>
-    <module name="ArrayTypeStyle"/>
-    <!-- 2005-Oct-05
-         final in method arguments is just ugly in my opinion,
-         communicates very little, and is not preventing much
-         problem. Remove it for now.
-    <module name="FinalParameters">
-        <property name="severity" value="ignore"/>
-        <property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
-    </module>
-    -->
-
-    <!--
-        <module name="GenericIllegalRegexp">
-          <property name="severity" value="ignore"/>
-          <property name="format" value="\s+$"/>
-          <property name="message" value="Line has trailing spaces."/>
-        </module>
-    -->
-
-    <module name="ModifierOrder"/>
-    <module name="RedundantModifier">
-      <property name="severity" value="ignore"/>
-      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
-    </module>
-
-    <module name="TodoComment"/>
-    <module name="UpperEll"/>
-    <module name="AvoidNestedBlocks"/>
-    <module name="EmptyBlock">
-      <property name="tokens"
-                value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/>
-    </module>
-    <module name="LeftCurly">
-      <property name="option" value="nl"/>
-      <property name="tokens"
-                value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/>
-
-    </module>
-    <module name="NeedBraces"/>
-    <module name="RightCurly">
-      <property name="option" value="alone"/>
-      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/>
-    </module>
-    <module name="AvoidInlineConditionals"/>
-    <module name="DoubleCheckedLocking"/>
-    <module name="EmptyStatement"/>
-
-    <module name="EqualsHashCode"/>
-    <!--<module name="HiddenField"/>-->
-    <module name="IllegalInstantiation"/>
-    <module name="InnerAssignment"/>
-    <module name="MagicNumber">
-      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
-      <property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 50, 60, 100, 1000, 3600"/>
-    </module>
-    <module name="MissingSwitchDefault"/>
-
-    <!--
-         Niclas 2005-09-16:
-         This check seems somewhat broken, since
-         a = b == false;
-         is more readable in my view than
-         a = !b
-         but the former will trigger this rule. Therefor I disable it.
-         <module name="SimplifyBooleanExpression">
-         </module>
-    -->
-    <module name="SimplifyBooleanReturn"/>
-    <module name="StringLiteralEquality"/>
-    <module name="NestedIfDepth">
-      <property name="max" value="3"/>
-    </module>
-    <module name="NestedTryDepth">
-      <property name="max" value="2"/>
-    </module>
-
-    <module name="SuperClone"/>
-    <module name="SuperFinalize"/>
-    <module name="IllegalCatch">
-      <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.Error"/>
-    </module>
-    <module name="IllegalThrows">
-      <property name="illegalClassNames"
-                value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException, java.lang.Error"/>
-    </module>
-    <module name="PackageDeclaration"/>
-
-    <module name="JUnitTestCase"/>
-    <module name="DeclarationOrder"/>
-    <module name="ParameterAssignment"/>
-    <!--<module name="MissingCtor"/>-->
-    <module name="MultipleVariableDeclarations"/>
-    <module name="DesignForExtension">
-      <property name="severity" value="ignore"/>
-    </module>
-    <module name="FinalClass"/>
-
-    <module name="HideUtilityClassConstructor"/>
-    <module name="VisibilityModifier"/>
-    <module name="AvoidStarImport"/>
-    <module name="IllegalImport"/>
-    <module name="RedundantImport"/>
-    <module name="UnusedImports"/>
-    <module name="ImportOrder">
-      <property name="groups" value=""/>
-      <property name="ordered" value="true"/>
-      <property name="option" value="under"/>
-      <property name="separated" value="true"/>
-      <property name="caseSensitive" value="true"/>
-    </module>
-
-    <!--TODO Removing this until Javadoc effort has picked up -->
-    <!--<module name="JavadocMethod"/>-->
-    <!--<module name="JavadocType"/>-->
-    <!--<module name="JavadocVariable">-->
-      <!--<property name="scope" value="package"/>-->
-    <!--</module>-->
-    <module name="ConstantName">
-      <property name="format" value="^[A-Z0-9_$]*$"/>
-    </module>
-    <module name="LocalFinalVariableName"/>
-    <module name="LocalVariableName"/>
-    <module name="MemberName">
-      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-    </module>
-    <module name="MethodName"/>
-    <module name="PackageName"/>
-
-    <module name="ParameterName"/>
-    <module name="StaticVariableName">
-      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-    </module>
-    <module name="TypeName"/>
-    <module name="LineLength">
-
-      <property name="max" value="120"/>
-    </module>
-    <module name="MethodLength"/>
-    <module name="AnonInnerLength">
-      <property name="max" value="60"/>
-    </module>
-    <module name="ParameterNumber">
-      <property name="max" value="12"/>
-    </module>
-
-    <module name="EmptyForIteratorPad"/>
-    <module name="NoWhitespaceAfter">
-      <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS"/>
-    </module>
-    <!--<module name="OperatorWrap"/>-->
-    <module name="ParenPad">
-      <property name="option" value="space"/>
-      <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/>
-    </module>
-
-    <!--
-        <module name="TabCharacter"/>
-    -->
-
-    <module name="WhitespaceAfter"/>
-    <module name="WhitespaceAround">
-      <property name="tokens"
-                value="BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_DO, LITERAL_RETURN, LITERAL_TRY, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/>
-    </module>
-  </module>
-
-  <module name="FileLength">
-    <property name="max" value="1000"/>
-  </module>
-
-</module>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/etc/zest-runtime-checkstyle.xml
----------------------------------------------------------------------
diff --git a/etc/zest-runtime-checkstyle.xml b/etc/zest-runtime-checkstyle.xml
deleted file mode 100644
index 8d4b9f7..0000000
--- a/etc/zest-runtime-checkstyle.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~  Licensed to the Apache Software Foundation (ASF) under one
-  ~  or more contributor license agreements.  See the NOTICE file
-  ~  distributed with this work for additional information
-  ~  regarding copyright ownership.  The ASF licenses this file
-  ~  to you under the Apache License, Version 2.0 (the
-  ~  "License"); you may not use this file except in compliance
-  ~  with the License.  You may obtain a copy of the License at
-  ~
-  ~       http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~  Unless required by applicable law or agreed to in writing, software
-  ~  distributed under the License is distributed on an "AS IS" BASIS,
-  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~  See the License for the specific language governing permissions and
-  ~  limitations under the License.
-  ~
-  ~
-  -->
-
-<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
-  "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<!-- Documentation is availableService at
-     http://checkstyle.sourceforge.net/availablechecks.html
--->
-<module name="Checker">
-  <property name="severity" value="warning"/>
-  <module name="NewlineAtEndOfFile"/>
-  <module name="Translation"/>
-  <!--TODO Removing this until Javadoc effort has picked up -->
-  <!--<module name="JavadocPackage"/>-->
-  <module name="TreeWalker">
-    <module name="MutableException"/>
-
-    <module name="CyclomaticComplexity">
-      <property name="max" value="7"/>
-    </module>
-    <module name="Indentation"/>
-    <module name="CovariantEquals"/>
-    <module name="FileContentsHolder"/>
-    <module name="ArrayTypeStyle"/>
-    <!-- 2005-Oct-05
-         final in method arguments is just ugly in my opinion,
-         communicates very little, and is not preventing much
-         problem. Remove it for now.
-    <module name="FinalParameters">
-        <property name="severity" value="ignore"/>
-        <property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
-    </module>
-    -->
-
-    <!--
-        <module name="GenericIllegalRegexp">
-          <property name="severity" value="ignore"/>
-          <property name="format" value="\s+$"/>
-          <property name="message" value="Line has trailing spaces."/>
-        </module>
-    -->
-
-    <module name="ModifierOrder"/>
-    <module name="RedundantModifier">
-      <property name="severity" value="ignore"/>
-      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
-    </module>
-
-    <module name="TodoComment"/>
-    <module name="UpperEll"/>
-    <module name="AvoidNestedBlocks"/>
-    <module name="EmptyBlock">
-      <property name="tokens"
-                value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/>
-    </module>
-    <module name="LeftCurly">
-      <property name="option" value="nl"/>
-      <property name="tokens"
-                value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/>
-
-    </module>
-    <module name="NeedBraces"/>
-    <module name="RightCurly">
-      <property name="option" value="alone"/>
-      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/>
-    </module>
-    <module name="AvoidInlineConditionals"/>
-    <module name="DoubleCheckedLocking"/>
-    <module name="EmptyStatement"/>
-
-    <module name="EqualsHashCode"/>
-    <!--<module name="HiddenField"/>-->
-    <module name="IllegalInstantiation"/>
-    <module name="InnerAssignment"/>
-    <module name="MagicNumber">
-      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
-      <property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 50, 60, 100, 1000, 3600"/>
-    </module>
-    <module name="MissingSwitchDefault"/>
-
-    <!--
-         Niclas 2005-09-16:
-         This check seems somewhat broken, since
-         a = b == false;
-         is more readable in my view than
-         a = !b
-         but the former will trigger this rule. Therefor I disable it.
-         <module name="SimplifyBooleanExpression">
-         </module>
-    -->
-    <module name="SimplifyBooleanReturn"/>
-    <module name="StringLiteralEquality"/>
-    <module name="NestedIfDepth">
-      <property name="max" value="3"/>
-    </module>
-    <module name="NestedTryDepth">
-      <property name="max" value="2"/>
-    </module>
-
-    <module name="SuperClone"/>
-    <module name="SuperFinalize"/>
-    <module name="IllegalCatch">
-      <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.Error"/>
-    </module>
-    <module name="IllegalThrows">
-      <property name="illegalClassNames"
-                value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException, java.lang.Error"/>
-    </module>
-    <module name="PackageDeclaration"/>
-
-    <module name="JUnitTestCase"/>
-    <module name="DeclarationOrder"/>
-    <module name="ParameterAssignment"/>
-    <!--<module name="MissingCtor"/>-->
-    <module name="MultipleVariableDeclarations"/>
-    <module name="DesignForExtension">
-      <property name="severity" value="ignore"/>
-    </module>
-    <module name="FinalClass"/>
-
-    <module name="HideUtilityClassConstructor"/>
-    <module name="VisibilityModifier"/>
-    <module name="AvoidStarImport"/>
-    <module name="IllegalImport"/>
-    <module name="RedundantImport"/>
-    <module name="UnusedImports"/>
-    <module name="ImportOrder">
-      <property name="groups" value=""/>
-      <property name="ordered" value="true"/>
-      <property name="option" value="under"/>
-      <property name="separated" value="true"/>
-      <property name="caseSensitive" value="true"/>
-    </module>
-    <!--TODO Removing this until Javadoc effort has picked up -->
-    <!--<module name="JavadocType"/>-->
-    <module name="ConstantName">
-      <property name="format" value="^[A-Z0-9_$]*$"/>
-    </module>
-    <module name="LocalFinalVariableName"/>
-    <module name="LocalVariableName"/>
-    <module name="MemberName">
-      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-    </module>
-    <module name="MethodName"/>
-    <module name="PackageName"/>
-
-    <module name="ParameterName"/>
-    <module name="StaticVariableName">
-      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-    </module>
-    <module name="TypeName"/>
-    <module name="LineLength">
-
-      <property name="max" value="120"/>
-    </module>
-    <module name="MethodLength"/>
-    <module name="AnonInnerLength">
-      <property name="max" value="60"/>
-    </module>
-    <module name="ParameterNumber">
-      <property name="max" value="12"/>
-    </module>
-
-    <module name="EmptyForIteratorPad"/>
-    <module name="NoWhitespaceAfter">
-      <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS"/>
-    </module>
-    <!--<module name="OperatorWrap"/>-->
-    <module name="ParenPad">
-      <property name="option" value="space"/>
-      <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/>
-    </module>
-
-    <!--
-        <module name="TabCharacter"/>
-    -->
-
-    <module name="WhitespaceAfter"/>
-    <module name="WhitespaceAround">
-      <property name="tokens"
-                value="BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_DO, LITERAL_RETURN, LITERAL_TRY, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/>
-    </module>
-  </module>
-
-  <module name="FileLength">
-    <property name="max" value="1000"/>
-  </module>
-
-</module>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/etc/zest-tests-checkstyle.xml
----------------------------------------------------------------------
diff --git a/etc/zest-tests-checkstyle.xml b/etc/zest-tests-checkstyle.xml
deleted file mode 100644
index fc741ac..0000000
--- a/etc/zest-tests-checkstyle.xml
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~  Licensed to the Apache Software Foundation (ASF) under one
-  ~  or more contributor license agreements.  See the NOTICE file
-  ~  distributed with this work for additional information
-  ~  regarding copyright ownership.  The ASF licenses this file
-  ~  to you under the Apache License, Version 2.0 (the
-  ~  "License"); you may not use this file except in compliance
-  ~  with the License.  You may obtain a copy of the License at
-  ~
-  ~       http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~  Unless required by applicable law or agreed to in writing, software
-  ~  distributed under the License is distributed on an "AS IS" BASIS,
-  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~  See the License for the specific language governing permissions and
-  ~  limitations under the License.
-  ~
-  ~
-  -->
-
-<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
-  "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<!-- Documentation is availableService at
-     http://checkstyle.sourceforge.net/availablechecks.html
--->
-<module name="Checker">
-  <property name="severity" value="warning"/>
-  <module name="NewlineAtEndOfFile"/>
-  <module name="Translation"/>
-  <module name="TreeWalker">
-    <module name="MutableException"/>
-
-    <module name="CyclomaticComplexity">
-      <property name="max" value="7"/>
-    </module>
-    <module name="Indentation"/>
-    <module name="CovariantEquals"/>
-    <module name="FileContentsHolder"/>
-    <module name="ArrayTypeStyle"/>
-    <!--
-        <module name="GenericIllegalRegexp">
-          <property name="severity" value="ignore"/>
-          <property name="format" value="\s+$"/>
-          <property name="message" value="Line has trailing spaces."/>
-        </module>
-    -->
-
-    <module name="ModifierOrder"/>
-    <module name="RedundantModifier">
-      <property name="severity" value="ignore"/>
-      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
-    </module>
-
-    <module name="TodoComment"/>
-    <module name="UpperEll"/>
-    <module name="AvoidNestedBlocks"/>
-    <module name="EmptyBlock">
-      <property name="tokens"
-                value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT"/>
-    </module>
-    <module name="LeftCurly">
-      <property name="option" value="nl"/>
-      <property name="tokens"
-                value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/>
-
-    </module>
-    <module name="NeedBraces"/>
-    <module name="RightCurly">
-      <property name="option" value="alone"/>
-      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY"/>
-    </module>
-    <module name="AvoidInlineConditionals"/>
-    <module name="DoubleCheckedLocking"/>
-    <module name="EmptyStatement"/>
-
-    <module name="EqualsHashCode"/>
-    <!--<module name="HiddenField"/>-->
-    <module name="IllegalInstantiation"/>
-    <module name="InnerAssignment"/>
-    <module name="MagicNumber">
-      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
-      <property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 50, 60, 100, 1000, 3600"/>
-    </module>
-    <module name="MissingSwitchDefault"/>
-
-    <!--
-         Niclas 2005-09-16:
-         This check seems somewhat broken, since
-         a = b == false;
-         is more readable in my view than
-         a = !b
-         but the former will trigger this rule. Therefor I disable it.
-         <module name="SimplifyBooleanExpression">
-         </module>
-    -->
-    <module name="SimplifyBooleanReturn"/>
-    <module name="StringLiteralEquality"/>
-    <module name="NestedIfDepth">
-      <property name="max" value="3"/>
-    </module>
-    <module name="NestedTryDepth">
-      <property name="max" value="2"/>
-    </module>
-
-    <module name="SuperClone"/>
-    <module name="SuperFinalize"/>
-    <!-- Ok in tests...
-    <module name="IllegalCatch">
-      <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.Error"/>
-    </module>
-    <module name="IllegalThrows">
-      <property name="illegalClassNames"
-                value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException, java.lang.Error"/>
-    </module>
-    -->
-    <module name="PackageDeclaration"/>
-
-    <module name="JUnitTestCase"/>
-    <module name="DeclarationOrder"/>
-    <module name="ParameterAssignment"/>
-    <!--<module name="MissingCtor"/>-->
-    <module name="MultipleVariableDeclarations"/>
-    <module name="DesignForExtension">
-      <property name="severity" value="ignore"/>
-    </module>
-    <module name="FinalClass"/>
-
-    <module name="HideUtilityClassConstructor"/>
-    <module name="VisibilityModifier"/>
-    <module name="AvoidStarImport"/>
-    <module name="IllegalImport"/>
-    <module name="RedundantImport"/>
-    <module name="UnusedImports"/>
-    <module name="ImportOrder">
-      <property name="groups" value=""/>
-      <property name="ordered" value="true"/>
-      <property name="separated" value="false"/>
-      <property name="caseSensitive" value="true"/>
-      <property name="option" value="under"/>
-    </module>
-    <module name="ConstantName">
-      <property name="format" value="^[A-Z0-9_$]*$"/>
-    </module>
-    <module name="LocalFinalVariableName"/>
-    <module name="LocalVariableName"/>
-    <module name="MemberName">
-      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-    </module>
-    <module name="MethodName"/>
-    <module name="PackageName"/>
-
-    <module name="ParameterName"/>
-    <module name="StaticVariableName">
-      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-    </module>
-    <module name="TypeName"/>
-    <module name="LineLength">
-
-      <property name="max" value="120"/>
-    </module>
-    <module name="MethodLength"/>
-    <module name="AnonInnerLength">
-      <property name="max" value="60"/>
-    </module>
-    <module name="ParameterNumber">
-      <property name="max" value="12"/>
-    </module>
-
-    <module name="EmptyForIteratorPad"/>
-    <module name="NoWhitespaceAfter">
-      <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS"/>
-    </module>
-    <!--<module name="OperatorWrap"/>-->
-    <module name="ParenPad">
-      <property name="option" value="space"/>
-      <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/>
-    </module>
-
-    <!--
-        <module name="TabCharacter"/>
-    -->
-
-    <module name="WhitespaceAfter"/>
-    <module name="WhitespaceAround">
-      <property name="tokens"
-                value="BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_DO, LITERAL_RETURN, LITERAL_TRY, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/>
-    </module>
-  </module>
-
-  <module name="FileLength">
-    <property name="max" value="1000"/>
-  </module>
-
-</module>

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
----------------------------------------------------------------------
diff --git a/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java b/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
new file mode 100644
index 0000000..9616f91
--- /dev/null
+++ b/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractPolygeneMetricsTest.java
@@ -0,0 +1,338 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *
+ */package org.apache.polygene.test.metrics;
+
+import org.apache.polygene.api.activation.ActivationException;
+import org.apache.polygene.api.activation.PassivationException;
+import org.apache.polygene.api.association.ManyAssociation;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.concern.Concerns;
+import org.apache.polygene.api.entity.EntityBuilder;
+import org.apache.polygene.api.identity.Identity;
+import org.apache.polygene.api.identity.StringIdentity;
+import org.apache.polygene.api.injection.scope.Structure;
+import org.apache.polygene.api.mixin.Mixins;
+import org.apache.polygene.api.property.Property;
+import org.apache.polygene.api.service.ServiceActivation;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.NoSuchEntityException;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.concern.UnitOfWorkConcern;
+import org.apache.polygene.api.unitofwork.concern.UnitOfWorkPropagation;
+import org.apache.polygene.bootstrap.ApplicationAssembly;
+import org.apache.polygene.bootstrap.Assembler;
+import org.apache.polygene.bootstrap.Assemblers;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.LayerAssembly;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.library.metrics.TimingCapture;
+import org.apache.polygene.library.metrics.TimingCaptureAllConcern;
+import org.apache.polygene.library.metrics.TimingCaptureConcern;
+import org.apache.polygene.test.AbstractPolygeneBaseTest;
+import org.apache.polygene.test.EntityTestAssembler;
+import org.apache.polygene.test.util.JmxFixture;
+import org.junit.Test;
+
+import java.util.Collection;
+
+import static java.util.stream.Collectors.toList;
+import static org.apache.polygene.api.unitofwork.concern.UnitOfWorkPropagation.Propagation.MANDATORY;
+import static org.apache.polygene.api.usecase.UsecaseBuilder.newUsecase;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertThat;
+
+// TODO Test errors
+public abstract class AbstractPolygeneMetricsTest extends AbstractPolygeneBaseTest
+{
+    public interface Person
+    {
+        Property<String> name();
+    }
+
+    public interface PersonList
+    {
+        Identity LIST_ID = StringIdentity.fromString( "person-list" );
+
+        ManyAssociation<Person> all();
+    }
+
+    @Concerns( {TimingCaptureAllConcern.class, UnitOfWorkConcern.class} )
+    @Mixins( CommandsMixin.class )
+    public interface Commands extends ServiceActivation
+    {
+        @UnitOfWorkPropagation( MANDATORY )
+        Person create( Identity id, String name );
+
+        @UnitOfWorkPropagation( MANDATORY )
+        void rename( Identity id, String newName );
+
+        @UnitOfWorkPropagation( MANDATORY )
+        void delete( Identity id );
+    }
+
+    public static class CommandsMixin implements Commands
+    {
+        @Structure
+        private Module module;
+
+        @Override
+        public void activateService() throws Exception
+        {
+            try (UnitOfWork uow = module.unitOfWorkFactory().newUnitOfWork( newUsecase( "Init Person List" ) ) )
+            {
+                try
+                {
+                    uow.get( PersonList.class, PersonList.LIST_ID );
+                }
+                catch( NoSuchEntityException ex )
+                {
+                    uow.newEntity( PersonList.class, PersonList.LIST_ID );
+                    uow.complete();
+                }
+            }
+        }
+
+        @Override
+        public void passivateService()
+        {
+        }
+
+        @Override
+        public Person create( Identity id, String name )
+        {
+            UnitOfWork uow = module.unitOfWorkFactory().currentUnitOfWork();
+            PersonList list = uow.get( PersonList.class, PersonList.LIST_ID );
+            EntityBuilder<Person> builder = uow.newEntityBuilder( Person.class, id );
+            builder.instance().name().set( name );
+            Person person = builder.newInstance();
+            list.all().add( person );
+            return person;
+        }
+
+        @Override
+        public void rename( Identity id, String newName )
+        {
+            module.unitOfWorkFactory().currentUnitOfWork().get( Person.class, id ).name().set( newName );
+        }
+
+        @Override
+        public void delete( Identity id )
+        {
+            UnitOfWork uow = module.unitOfWorkFactory().currentUnitOfWork();
+            PersonList list = uow.get( PersonList.class, PersonList.LIST_ID );
+            Person person = uow.get( Person.class, id );
+            list.all().remove( person );
+            uow.remove( person );
+        }
+    }
+
+    @Concerns( {TimingCaptureConcern.class, UnitOfWorkConcern.class} )
+    @Mixins( QueriesMixin.class )
+    public interface Queries
+    {
+        @UnitOfWorkPropagation( MANDATORY )
+        Person byId( Identity id );
+
+        @TimingCapture
+        @UnitOfWorkPropagation( MANDATORY )
+        Iterable<Person> all();
+    }
+
+    public static class QueriesMixin implements Queries
+    {
+        @Structure
+        private Module module;
+
+        @Override
+        public Person byId( Identity id )
+        {
+            return module.unitOfWorkFactory().currentUnitOfWork().get( Person.class, id );
+        }
+
+        @Override
+        public Iterable<Person> all()
+        {
+            return module.unitOfWorkFactory().currentUnitOfWork()
+                    .get( PersonList.class, PersonList.LIST_ID )
+                    .all().toList();
+        }
+    }
+
+    @Override
+    protected final void defineApplication( ApplicationAssembly app ) throws AssemblyException
+    {
+        app.setName( "app" );
+
+        LayerAssembly domain = app.layer( "domain" );
+        ModuleAssembly model = domain.module( "model" );
+        model.entities( Person.class, PersonList.class )
+                .visibleIn( Visibility.layer );
+        ModuleAssembly services = domain.module( "services" );
+        services.services( Commands.class, Queries.class )
+                .instantiateOnStartup()
+                .visibleIn( Visibility.application );
+
+        LayerAssembly config = app.layer( "config" );
+        ModuleAssembly configModule = config.module( "config" );
+        new EntityTestAssembler()
+                .visibleIn( Visibility.module )
+                .assemble( configModule );
+
+        LayerAssembly infra = app.layer( "infra" );
+        ModuleAssembly storage = infra.module( "storage" );
+        entityStoreAssembler( configModule, Visibility.application )
+                .visibleIn( Visibility.application )
+                .assemble( storage );
+        metricsAssembler()
+                .visibleIn( Visibility.application )
+                .assemble( infra.module( "metrics" ) );
+
+        domain.uses( infra );
+        infra.uses( config );
+    }
+
+    protected Assemblers.Visible<? extends Assembler> entityStoreAssembler( ModuleAssembly configModule, Visibility configVisibility ) throws AssemblyException
+    {
+        return new EntityTestAssembler();
+    }
+
+    protected abstract Assemblers.Visible<? extends Assembler> metricsAssembler();
+
+    protected Module metricsModule()
+    {
+        return application.findModule( "infra", "metrics" );
+    }
+
+    protected static final String UOW_TIMER_NAME = "app.domain.services.UnitOfWork.timer";
+    protected static final String ALL_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Queries.all";
+    protected static final String CREATE_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Commands.create";
+    protected static final String RENAME_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Commands.rename";
+    protected static final String DELETE_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Commands.delete";
+
+    protected final void assertUowTimer( MetricValuesProvider metrics ) throws PassivationException, ActivationException
+    {
+        Long initialUowCount = metrics.timerCount( UOW_TIMER_NAME );
+        runScenario1();
+        assertThat( UOW_TIMER_NAME + " count incremented by 3", metrics.timerCount( UOW_TIMER_NAME ), is( initialUowCount + 3L ) );
+        application.passivate();
+        application.activate();
+        assertThat( UOW_TIMER_NAME + " count reset on passivation", metrics.timerCount( UOW_TIMER_NAME ), equalTo( initialUowCount ) );
+    }
+
+    protected final void assertTimingCapture( MetricValuesProvider metrics ) throws PassivationException, ActivationException
+    {
+        // Initial state
+        assertThat( ALL_NAME + " count is 0 at start", metrics.timerCount( ALL_NAME ), is( 0L ) );
+        assertThat( CREATE_NAME + " count is 0 at start", metrics.timerCount( CREATE_NAME ), is( 0L ) );
+        assertThat( RENAME_NAME + " count is 0 at start", metrics.timerCount( RENAME_NAME ), is( 0L ) );
+        assertThat( DELETE_NAME+ " count is 0 at start", metrics.timerCount( DELETE_NAME ), is( 0L ) );
+
+        // Run scenario
+        runScenario1();
+
+        // Queries.byId() timings are not captured
+        assertThat( "Queries.byId() has no timer", metrics.registeredMetricNames(), not( contains( containsString( "byId" ) ) ) );
+
+        // Captured timings
+        assertThat( ALL_NAME + " count is 4 after scenario", metrics.timerCount( ALL_NAME ), is( 4L ) );
+        assertThat( CREATE_NAME + " count is 1 after scenario", metrics.timerCount( CREATE_NAME ), is( 1L ) );
+        assertThat( RENAME_NAME + " count is 1 after scenario", metrics.timerCount( RENAME_NAME ), is( 1L ) );
+        assertThat( DELETE_NAME + " count is 1 after scenario", metrics.timerCount( DELETE_NAME ), is( 1L ) );
+
+        // Reset on passivation
+        application.passivate();
+        application.activate();
+        assertThat( ALL_NAME + " count is 0 after restart", metrics.timerCount( ALL_NAME ), is( 0L ) );
+        assertThat( CREATE_NAME + " count is 0 after restart", metrics.timerCount( CREATE_NAME ), is( 0L ) );
+        assertThat( RENAME_NAME + " count is 0 after restart", metrics.timerCount( RENAME_NAME ), is( 0L ) );
+        assertThat( DELETE_NAME + " count is 0 after restart", metrics.timerCount( DELETE_NAME ), is( 0L ) );
+    }
+
+    protected final void runScenario1()
+    {
+        Module services = application.findModule( "domain", "services" );
+        Commands commands = services.findService( Commands.class ).get();
+        Queries queries = services.findService( Queries.class ).get();
+
+        Identity identity = StringIdentity.fromString( "1" );
+
+        try (UnitOfWork uow = services.unitOfWorkFactory().newUnitOfWork( newUsecase( "Step 1" ) ) )
+        {
+            assertThat( queries.all().iterator().hasNext(), is( false ) );
+            assertThat( commands.create( identity, "Bob Geldof" ).name().get(), equalTo( "Bob Geldof" ) );
+            assertThat( queries.byId( identity ).name().get(), equalTo( "Bob Geldof" ) );
+            uow.complete();
+        }
+
+        try (UnitOfWork uow = services.unitOfWorkFactory().newUnitOfWork(newUsecase("Step 2")))
+        {
+            assertThat( queries.all().iterator().next().name().get(), equalTo( "Bob Geldof" ) );
+            assertThat( queries.byId( identity ).name().get(), equalTo( "Bob Geldof" ) );
+            commands.rename( identity, "Nina Hagen" );
+            assertThat( queries.all().iterator().next().name().get(), equalTo( "Nina Hagen" ) );
+            uow.complete();
+        }
+
+        try (UnitOfWork uow = services.unitOfWorkFactory().newUnitOfWork(newUsecase("Step 3")))
+        {
+            commands.delete( identity );
+            assertThat( queries.all().iterator().hasNext(), is( false ) );
+            uow.complete();
+        }
+    }
+
+    protected static class JmxMetricTestAdapter implements MetricValuesProvider
+    {
+        private final JmxFixture jmx = new JmxFixture( "metrics:name=" );
+
+        @Override
+        public long timerCount( String name )
+        {
+            if( jmx.objectExists( name ) ) {
+                return jmx.attributeValue( name, "Count", Long.class );
+            }
+            return 0L;
+        }
+
+        @Override
+        public Collection<String> registeredMetricNames()
+        {
+            return jmx.allObjectNames().stream()
+                    .filter( objName -> objName.startsWith( jmx.prefix() ) )
+                    .map( objName -> objName.substring( jmx.prefix().length() ) )
+                    .collect( toList() );
+        }
+    }
+
+    @Test
+    public void uowTimerJmx() throws PassivationException, ActivationException
+    {
+        assertUowTimer( new JmxMetricTestAdapter() );
+    }
+
+    @Test
+    public void timingCaptureJmx() throws PassivationException, ActivationException
+    {
+        assertTimingCapture( new JmxMetricTestAdapter() );
+    }
+}

http://git-wip-us.apache.org/repos/asf/zest-java/blob/b45402f2/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractZestMetricsTest.java
----------------------------------------------------------------------
diff --git a/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractZestMetricsTest.java b/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractZestMetricsTest.java
deleted file mode 100644
index 9616f91..0000000
--- a/extensions/metrics-codahale/src/test/java/org/apache/polygene/test/metrics/AbstractZestMetricsTest.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *
- */package org.apache.polygene.test.metrics;
-
-import org.apache.polygene.api.activation.ActivationException;
-import org.apache.polygene.api.activation.PassivationException;
-import org.apache.polygene.api.association.ManyAssociation;
-import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.concern.Concerns;
-import org.apache.polygene.api.entity.EntityBuilder;
-import org.apache.polygene.api.identity.Identity;
-import org.apache.polygene.api.identity.StringIdentity;
-import org.apache.polygene.api.injection.scope.Structure;
-import org.apache.polygene.api.mixin.Mixins;
-import org.apache.polygene.api.property.Property;
-import org.apache.polygene.api.service.ServiceActivation;
-import org.apache.polygene.api.structure.Module;
-import org.apache.polygene.api.unitofwork.NoSuchEntityException;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.unitofwork.concern.UnitOfWorkConcern;
-import org.apache.polygene.api.unitofwork.concern.UnitOfWorkPropagation;
-import org.apache.polygene.bootstrap.ApplicationAssembly;
-import org.apache.polygene.bootstrap.Assembler;
-import org.apache.polygene.bootstrap.Assemblers;
-import org.apache.polygene.bootstrap.AssemblyException;
-import org.apache.polygene.bootstrap.LayerAssembly;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.library.metrics.TimingCapture;
-import org.apache.polygene.library.metrics.TimingCaptureAllConcern;
-import org.apache.polygene.library.metrics.TimingCaptureConcern;
-import org.apache.polygene.test.AbstractPolygeneBaseTest;
-import org.apache.polygene.test.EntityTestAssembler;
-import org.apache.polygene.test.util.JmxFixture;
-import org.junit.Test;
-
-import java.util.Collection;
-
-import static java.util.stream.Collectors.toList;
-import static org.apache.polygene.api.unitofwork.concern.UnitOfWorkPropagation.Propagation.MANDATORY;
-import static org.apache.polygene.api.usecase.UsecaseBuilder.newUsecase;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
-import static org.junit.Assert.assertThat;
-
-// TODO Test errors
-public abstract class AbstractPolygeneMetricsTest extends AbstractPolygeneBaseTest
-{
-    public interface Person
-    {
-        Property<String> name();
-    }
-
-    public interface PersonList
-    {
-        Identity LIST_ID = StringIdentity.fromString( "person-list" );
-
-        ManyAssociation<Person> all();
-    }
-
-    @Concerns( {TimingCaptureAllConcern.class, UnitOfWorkConcern.class} )
-    @Mixins( CommandsMixin.class )
-    public interface Commands extends ServiceActivation
-    {
-        @UnitOfWorkPropagation( MANDATORY )
-        Person create( Identity id, String name );
-
-        @UnitOfWorkPropagation( MANDATORY )
-        void rename( Identity id, String newName );
-
-        @UnitOfWorkPropagation( MANDATORY )
-        void delete( Identity id );
-    }
-
-    public static class CommandsMixin implements Commands
-    {
-        @Structure
-        private Module module;
-
-        @Override
-        public void activateService() throws Exception
-        {
-            try (UnitOfWork uow = module.unitOfWorkFactory().newUnitOfWork( newUsecase( "Init Person List" ) ) )
-            {
-                try
-                {
-                    uow.get( PersonList.class, PersonList.LIST_ID );
-                }
-                catch( NoSuchEntityException ex )
-                {
-                    uow.newEntity( PersonList.class, PersonList.LIST_ID );
-                    uow.complete();
-                }
-            }
-        }
-
-        @Override
-        public void passivateService()
-        {
-        }
-
-        @Override
-        public Person create( Identity id, String name )
-        {
-            UnitOfWork uow = module.unitOfWorkFactory().currentUnitOfWork();
-            PersonList list = uow.get( PersonList.class, PersonList.LIST_ID );
-            EntityBuilder<Person> builder = uow.newEntityBuilder( Person.class, id );
-            builder.instance().name().set( name );
-            Person person = builder.newInstance();
-            list.all().add( person );
-            return person;
-        }
-
-        @Override
-        public void rename( Identity id, String newName )
-        {
-            module.unitOfWorkFactory().currentUnitOfWork().get( Person.class, id ).name().set( newName );
-        }
-
-        @Override
-        public void delete( Identity id )
-        {
-            UnitOfWork uow = module.unitOfWorkFactory().currentUnitOfWork();
-            PersonList list = uow.get( PersonList.class, PersonList.LIST_ID );
-            Person person = uow.get( Person.class, id );
-            list.all().remove( person );
-            uow.remove( person );
-        }
-    }
-
-    @Concerns( {TimingCaptureConcern.class, UnitOfWorkConcern.class} )
-    @Mixins( QueriesMixin.class )
-    public interface Queries
-    {
-        @UnitOfWorkPropagation( MANDATORY )
-        Person byId( Identity id );
-
-        @TimingCapture
-        @UnitOfWorkPropagation( MANDATORY )
-        Iterable<Person> all();
-    }
-
-    public static class QueriesMixin implements Queries
-    {
-        @Structure
-        private Module module;
-
-        @Override
-        public Person byId( Identity id )
-        {
-            return module.unitOfWorkFactory().currentUnitOfWork().get( Person.class, id );
-        }
-
-        @Override
-        public Iterable<Person> all()
-        {
-            return module.unitOfWorkFactory().currentUnitOfWork()
-                    .get( PersonList.class, PersonList.LIST_ID )
-                    .all().toList();
-        }
-    }
-
-    @Override
-    protected final void defineApplication( ApplicationAssembly app ) throws AssemblyException
-    {
-        app.setName( "app" );
-
-        LayerAssembly domain = app.layer( "domain" );
-        ModuleAssembly model = domain.module( "model" );
-        model.entities( Person.class, PersonList.class )
-                .visibleIn( Visibility.layer );
-        ModuleAssembly services = domain.module( "services" );
-        services.services( Commands.class, Queries.class )
-                .instantiateOnStartup()
-                .visibleIn( Visibility.application );
-
-        LayerAssembly config = app.layer( "config" );
-        ModuleAssembly configModule = config.module( "config" );
-        new EntityTestAssembler()
-                .visibleIn( Visibility.module )
-                .assemble( configModule );
-
-        LayerAssembly infra = app.layer( "infra" );
-        ModuleAssembly storage = infra.module( "storage" );
-        entityStoreAssembler( configModule, Visibility.application )
-                .visibleIn( Visibility.application )
-                .assemble( storage );
-        metricsAssembler()
-                .visibleIn( Visibility.application )
-                .assemble( infra.module( "metrics" ) );
-
-        domain.uses( infra );
-        infra.uses( config );
-    }
-
-    protected Assemblers.Visible<? extends Assembler> entityStoreAssembler( ModuleAssembly configModule, Visibility configVisibility ) throws AssemblyException
-    {
-        return new EntityTestAssembler();
-    }
-
-    protected abstract Assemblers.Visible<? extends Assembler> metricsAssembler();
-
-    protected Module metricsModule()
-    {
-        return application.findModule( "infra", "metrics" );
-    }
-
-    protected static final String UOW_TIMER_NAME = "app.domain.services.UnitOfWork.timer";
-    protected static final String ALL_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Queries.all";
-    protected static final String CREATE_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Commands.create";
-    protected static final String RENAME_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Commands.rename";
-    protected static final String DELETE_NAME = "app.domain.services.AbstractPolygeneMetricsTest.Commands.delete";
-
-    protected final void assertUowTimer( MetricValuesProvider metrics ) throws PassivationException, ActivationException
-    {
-        Long initialUowCount = metrics.timerCount( UOW_TIMER_NAME );
-        runScenario1();
-        assertThat( UOW_TIMER_NAME + " count incremented by 3", metrics.timerCount( UOW_TIMER_NAME ), is( initialUowCount + 3L ) );
-        application.passivate();
-        application.activate();
-        assertThat( UOW_TIMER_NAME + " count reset on passivation", metrics.timerCount( UOW_TIMER_NAME ), equalTo( initialUowCount ) );
-    }
-
-    protected final void assertTimingCapture( MetricValuesProvider metrics ) throws PassivationException, ActivationException
-    {
-        // Initial state
-        assertThat( ALL_NAME + " count is 0 at start", metrics.timerCount( ALL_NAME ), is( 0L ) );
-        assertThat( CREATE_NAME + " count is 0 at start", metrics.timerCount( CREATE_NAME ), is( 0L ) );
-        assertThat( RENAME_NAME + " count is 0 at start", metrics.timerCount( RENAME_NAME ), is( 0L ) );
-        assertThat( DELETE_NAME+ " count is 0 at start", metrics.timerCount( DELETE_NAME ), is( 0L ) );
-
-        // Run scenario
-        runScenario1();
-
-        // Queries.byId() timings are not captured
-        assertThat( "Queries.byId() has no timer", metrics.registeredMetricNames(), not( contains( containsString( "byId" ) ) ) );
-
-        // Captured timings
-        assertThat( ALL_NAME + " count is 4 after scenario", metrics.timerCount( ALL_NAME ), is( 4L ) );
-        assertThat( CREATE_NAME + " count is 1 after scenario", metrics.timerCount( CREATE_NAME ), is( 1L ) );
-        assertThat( RENAME_NAME + " count is 1 after scenario", metrics.timerCount( RENAME_NAME ), is( 1L ) );
-        assertThat( DELETE_NAME + " count is 1 after scenario", metrics.timerCount( DELETE_NAME ), is( 1L ) );
-
-        // Reset on passivation
-        application.passivate();
-        application.activate();
-        assertThat( ALL_NAME + " count is 0 after restart", metrics.timerCount( ALL_NAME ), is( 0L ) );
-        assertThat( CREATE_NAME + " count is 0 after restart", metrics.timerCount( CREATE_NAME ), is( 0L ) );
-        assertThat( RENAME_NAME + " count is 0 after restart", metrics.timerCount( RENAME_NAME ), is( 0L ) );
-        assertThat( DELETE_NAME + " count is 0 after restart", metrics.timerCount( DELETE_NAME ), is( 0L ) );
-    }
-
-    protected final void runScenario1()
-    {
-        Module services = application.findModule( "domain", "services" );
-        Commands commands = services.findService( Commands.class ).get();
-        Queries queries = services.findService( Queries.class ).get();
-
-        Identity identity = StringIdentity.fromString( "1" );
-
-        try (UnitOfWork uow = services.unitOfWorkFactory().newUnitOfWork( newUsecase( "Step 1" ) ) )
-        {
-            assertThat( queries.all().iterator().hasNext(), is( false ) );
-            assertThat( commands.create( identity, "Bob Geldof" ).name().get(), equalTo( "Bob Geldof" ) );
-            assertThat( queries.byId( identity ).name().get(), equalTo( "Bob Geldof" ) );
-            uow.complete();
-        }
-
-        try (UnitOfWork uow = services.unitOfWorkFactory().newUnitOfWork(newUsecase("Step 2")))
-        {
-            assertThat( queries.all().iterator().next().name().get(), equalTo( "Bob Geldof" ) );
-            assertThat( queries.byId( identity ).name().get(), equalTo( "Bob Geldof" ) );
-            commands.rename( identity, "Nina Hagen" );
-            assertThat( queries.all().iterator().next().name().get(), equalTo( "Nina Hagen" ) );
-            uow.complete();
-        }
-
-        try (UnitOfWork uow = services.unitOfWorkFactory().newUnitOfWork(newUsecase("Step 3")))
-        {
-            commands.delete( identity );
-            assertThat( queries.all().iterator().hasNext(), is( false ) );
-            uow.complete();
-        }
-    }
-
-    protected static class JmxMetricTestAdapter implements MetricValuesProvider
-    {
-        private final JmxFixture jmx = new JmxFixture( "metrics:name=" );
-
-        @Override
-        public long timerCount( String name )
-        {
-            if( jmx.objectExists( name ) ) {
-                return jmx.attributeValue( name, "Count", Long.class );
-            }
-            return 0L;
-        }
-
-        @Override
-        public Collection<String> registeredMetricNames()
-        {
-            return jmx.allObjectNames().stream()
-                    .filter( objName -> objName.startsWith( jmx.prefix() ) )
-                    .map( objName -> objName.substring( jmx.prefix().length() ) )
-                    .collect( toList() );
-        }
-    }
-
-    @Test
-    public void uowTimerJmx() throws PassivationException, ActivationException
-    {
-        assertUowTimer( new JmxMetricTestAdapter() );
-    }
-
-    @Test
-    public void timingCaptureJmx() throws PassivationException, ActivationException
-    {
-        assertTimingCapture( new JmxMetricTestAdapter() );
-    }
-}