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/05/23 02:13:44 UTC

[01/33] polygene-java git commit: build: attempt to fix source distribution inception build for CI

Repository: polygene-java
Updated Branches:
  refs/heads/yeoman-work a9de6c653 -> 37ada0d57


build: attempt to fix source distribution inception build for CI


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

Branch: refs/heads/yeoman-work
Commit: 8e936ae949477e6dc2dd252d0aabb6133465743d
Parents: 955eaa9
Author: Paul Merlin <pa...@apache.org>
Authored: Tue May 16 09:38:34 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Tue May 16 09:38:34 2017 +0200

----------------------------------------------------------------------
 .../gradle/structure/distributions/DistributionsPlugin.groovy      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/8e936ae9/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
index 753b1a4..46233ce 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
@@ -326,7 +326,7 @@ class DistributionsPlugin implements Plugin<Project>
       task.doLast {
         if( workDir.exists() )
         {
-          FileUtils.deleteDirectory( workDir )
+          workDir.deleteDir()
         }
       }
     } as Action<ExecLogged> )


[02/33] polygene-java git commit: build: fix maven artifacts upload

Posted by ni...@apache.org.
build: fix maven artifacts upload


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

Branch: refs/heads/yeoman-work
Commit: 3f76f6ebc39e62ed358941759762a9e0083d3ebf
Parents: 8e936ae
Author: Paul Merlin <pa...@apache.org>
Authored: Tue May 16 13:44:00 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Tue May 16 13:44:00 2017 +0200

----------------------------------------------------------------------
 .../apache/polygene/gradle/code/PublishingPlugin.groovy   | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/3f76f6eb/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
index be239b8..177d865 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
@@ -149,7 +149,7 @@ class PublishingPlugin implements Plugin<Project>
       }
     }
     mavenDeployer.configuration = project.configurations.getByName( 'deployersJars' )
-    def repository = new MavenRemoteRepository()
+    def repository = config.releases ? mavenDeployer.repository : mavenDeployer.snapshotRepository
     repository.id = config.repositoryName
     repository.url = config.repositoryUrl
     if( config.username )
@@ -157,14 +157,6 @@ class PublishingPlugin implements Plugin<Project>
       repository.authentication.userName = config.username
       repository.authentication.password = config.password
     }
-    if( config.releases )
-    {
-      mavenDeployer.repository = repository
-    }
-    else
-    {
-      mavenDeployer.snapshotRepository = repository
-    }
   }
 
   private static void configureStageArchives( Project project )


[09/33] polygene-java git commit: Fix inspectSourceDistribution task assertions

Posted by ni...@apache.org.
Fix inspectSourceDistribution task assertions


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

Branch: refs/heads/yeoman-work
Commit: 20befa47529bad6b4c4f89704c121e562f36a452
Parents: d5d753f
Author: Paul Merlin <pa...@apache.org>
Authored: Thu May 18 08:42:37 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Thu May 18 08:42:37 2017 +0200

----------------------------------------------------------------------
 .../gradle/structure/distributions/DistributionsPlugin.groovy     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/20befa47/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
index 3425d70..2a1ea16 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
@@ -305,7 +305,8 @@ class DistributionsPlugin implements Plugin<Project>
         assertFileAbsent 'gradlew'
         assertFileAbsent 'gradlew.bat'
         assertFileAbsent 'gradle/wrapper/gradle-wrapper.jar'
-        assertFilePresent 'gradle/wrapper/gradle-wrapper.properties'
+        assertFileAbsent 'gradle/wrapper/gradle-wrapper.properties'
+        assertFilePresent 'gradle/wrapper-install/build.gradle'
       }
     }
     project.tasks.create( TaskNames.BUILD_SOURCE_DIST, ExecLogged, { ExecLogged task ->


[18/33] polygene-java git commit: Envisage documentation refinements

Posted by ni...@apache.org.
Envisage documentation refinements

Update screenshots
Refine names in samples (used in screenshots)
Refine sample code snipped
Add a few words


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

Branch: refs/heads/yeoman-work
Commit: 2da108441b12cdd2973a455390c73bc540f0162f
Parents: 5ba2575
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:52:25 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:52:25 2017 +0200

----------------------------------------------------------------------
 .../images/tools-envisage-stacked-collapsed.png | Bin 30355 -> 211242 bytes
 .../resources/images/tools-envisage-stacked.png | Bin 36070 -> 225560 bytes
 .../images/tools-envisage-structure.png         | Bin 90145 -> 277222 bytes
 .../resources/images/tools-envisage-type.png    | Bin 88278 -> 279752 bytes
 tools/envisage/src/docs/envisage.txt            |   9 +++++----
 .../envisage/school/EnvisageSchoolSample.java   |  10 ++++------
 .../envisage/school/SchoolAssembler.java        |   8 ++++----
 7 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/manual/src/docs/website/resources/images/tools-envisage-stacked-collapsed.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/tools-envisage-stacked-collapsed.png b/manual/src/docs/website/resources/images/tools-envisage-stacked-collapsed.png
index 33a0bec..7a825d8 100644
Binary files a/manual/src/docs/website/resources/images/tools-envisage-stacked-collapsed.png and b/manual/src/docs/website/resources/images/tools-envisage-stacked-collapsed.png differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/manual/src/docs/website/resources/images/tools-envisage-stacked.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/tools-envisage-stacked.png b/manual/src/docs/website/resources/images/tools-envisage-stacked.png
index ddcdb53..0eedc87 100644
Binary files a/manual/src/docs/website/resources/images/tools-envisage-stacked.png and b/manual/src/docs/website/resources/images/tools-envisage-stacked.png differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/manual/src/docs/website/resources/images/tools-envisage-structure.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/tools-envisage-structure.png b/manual/src/docs/website/resources/images/tools-envisage-structure.png
index 1ecd0ce..293df7f 100644
Binary files a/manual/src/docs/website/resources/images/tools-envisage-structure.png and b/manual/src/docs/website/resources/images/tools-envisage-structure.png differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/manual/src/docs/website/resources/images/tools-envisage-type.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/tools-envisage-type.png b/manual/src/docs/website/resources/images/tools-envisage-type.png
index 326cbbb..33a03d3 100644
Binary files a/manual/src/docs/website/resources/images/tools-envisage-type.png and b/manual/src/docs/website/resources/images/tools-envisage-type.png differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/tools/envisage/src/docs/envisage.txt
----------------------------------------------------------------------
diff --git a/tools/envisage/src/docs/envisage.txt b/tools/envisage/src/docs/envisage.txt
index 4aecf37..9202133 100644
--- a/tools/envisage/src/docs/envisage.txt
+++ b/tools/envisage/src/docs/envisage.txt
@@ -33,7 +33,7 @@ source=tools/envisage/src/test/java/org/apache/polygene/envisage/school/Envisage
 tag=envisage
 ----
 
-As you can see, Envisage operates on the ApplicationModel, this means that you
+As you can see, Envisage operates on the ApplicationDescriptor, this means that you
 can easily embed it in your own Applications too.
 
 From the sources you can run the `runEnvisageSample` or `runEnvisageSchoolSample` Gradle tasks
@@ -43,13 +43,14 @@ to run interactive examples. See <<build-system>> if you need some guidance.
 
 image:tools-envisage-structure.png[width="800px"]
 
-image:tools-envisage-type.png[width="800px"]
+image:tools-envisage-stacked-collapsed.png[width="800px"]
 
 image:tools-envisage-stacked.png[width="800px"]
 
-image:tools-envisage-stacked-collapsed.png[width="800px"]
+image:tools-envisage-type.png[width="800px"]
 
-== Embedd in your Application ==
+== Embed into your Application ==
 
 include::../../build/docs/buildinfo/artifact.txt[]
 
+It can be handy to run Envisage in development <<def-application-mode, Mode>> while working on assemblies.

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
----------------------------------------------------------------------
diff --git a/tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java b/tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
index b89cf41..9dbefcc 100644
--- a/tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
+++ b/tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
@@ -21,6 +21,7 @@
 package org.apache.polygene.envisage.school;
 
 import org.apache.polygene.api.structure.ApplicationDescriptor;
+import org.apache.polygene.bootstrap.ApplicationAssembler;
 import org.apache.polygene.bootstrap.Energy4Java;
 import org.apache.polygene.envisage.Envisage;
 
@@ -28,14 +29,11 @@ public class EnvisageSchoolSample
 {
     // START SNIPPET: envisage
     public static void main( String[] args )
-        throws Exception
     {
         Energy4Java energy4Java = new Energy4Java();
-
-        ApplicationDescriptor applicationModel
-                              = energy4Java.newApplicationModel( new SchoolAssembler() );
-
-        new Envisage().run( applicationModel );
+        ApplicationAssembler assembler = new SchoolAssembler();
+        ApplicationDescriptor descriptor = energy4Java.newApplicationModel( assembler );
+        new Envisage().run( descriptor );
     }
     // END SNIPPET: envisage
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/2da10844/tools/envisage/src/test/java/org/apache/polygene/envisage/school/SchoolAssembler.java
----------------------------------------------------------------------
diff --git a/tools/envisage/src/test/java/org/apache/polygene/envisage/school/SchoolAssembler.java b/tools/envisage/src/test/java/org/apache/polygene/envisage/school/SchoolAssembler.java
index b9148af..475baf6 100644
--- a/tools/envisage/src/test/java/org/apache/polygene/envisage/school/SchoolAssembler.java
+++ b/tools/envisage/src/test/java/org/apache/polygene/envisage/school/SchoolAssembler.java
@@ -62,12 +62,12 @@ public class SchoolAssembler
     private LayerAssembly createInfrastructureLayer( ApplicationAssembly appAssembly )
         throws AssemblyException
     {
-        LayerAssembly layerInfrastructure = appAssembly.layer( "Infrastructure" );
+        LayerAssembly layerInfrastructure = appAssembly.layer( "infrastructure" );
 
-        ModuleAssembly moduleMail = layerInfrastructure.module( "Mail" );
+        ModuleAssembly moduleMail = layerInfrastructure.module( "mail" );
         new MailServiceAssembler().assemble( moduleMail );
 
-        ModuleAssembly modulePersistence = layerInfrastructure.module( "Persistence" );
+        ModuleAssembly modulePersistence = layerInfrastructure.module( "persistence" );
         new PersistenceAssembler().assemble( modulePersistence );
 
         return layerInfrastructure;
@@ -100,7 +100,7 @@ public class SchoolAssembler
     private LayerAssembly createUILayer( ApplicationAssembly appAssembly )
         throws AssemblyException
     {
-        LayerAssembly layerUI = appAssembly.layer( "UI" );
+        LayerAssembly layerUI = appAssembly.layer( "ui" );
 
         // Add admin
         ModuleAssembly moduleAdmin = layerUI.module( "admin" );


[12/33] polygene-java git commit: Give the documentation Tools section some love

Posted by ni...@apache.org.
Give the documentation Tools section some love

All includes were broken, fixed some typos along the way.

Move tools documentation back in tool/${name}/src/docs.
For consistency and because the artifact info include was broken on
Envisage page.


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

Branch: refs/heads/yeoman-work
Commit: f2969affda9d96e18266371189b3ff48c4ba2b02
Parents: e996ce2
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:00:56 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:00:56 2017 +0200

----------------------------------------------------------------------
 manual/src/docs/userguide/tools.txt             |   9 +-
 .../src/docs/website/resources/css/polygene.css |   4 +
 tools/envisage/src/docs/envisage.txt            |  55 +++
 .../src/docs/yeoman_polygene.txt                | 388 +++++++++++++++++++
 tools/src/docs/envisage.txt                     |  55 ---
 tools/src/docs/yeoman_polygene.txt              | 388 -------------------
 6 files changed, 451 insertions(+), 448 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f2969aff/manual/src/docs/userguide/tools.txt
----------------------------------------------------------------------
diff --git a/manual/src/docs/userguide/tools.txt b/manual/src/docs/userguide/tools.txt
index b621669..840115e 100644
--- a/manual/src/docs/userguide/tools.txt
+++ b/manual/src/docs/userguide/tools.txt
@@ -24,19 +24,18 @@
 
 == Overview ==
 
-The Polygene™ SDK comes with usefull development tools. Theses tools can come in
+The Polygene™ SDK comes with useful development tools. Theses tools can come in
 handy when assembled into your <<def-application>> in development
-<<def-application-mode>>.
+<<def-application-mode, Mode>>.
 
 The tools are available in the +tools/+ directory of the Polygene™ SDK.
 
 :leveloffset: 2
 
-include:: ../../../tools/src/docs/yeoman_polygene.txt[]
+include::../../../../tools/generator-polygene/src/docs/yeoman_polygene.txt[]
 
 :leveloffset: 2
 
-include:: ../../../tools/src/docs/envisage.txt[]
-// include:: ../../../tools/envisage/src/docs/envisage.txt[]
+include::../../../../tools/envisage/src/docs/envisage.txt[]
 
 :leveloffset: 2

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f2969aff/manual/src/docs/website/resources/css/polygene.css
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/css/polygene.css b/manual/src/docs/website/resources/css/polygene.css
index d512429..72f73d2 100644
--- a/manual/src/docs/website/resources/css/polygene.css
+++ b/manual/src/docs/website/resources/css/polygene.css
@@ -823,3 +823,7 @@ h5 { font-size: 1em; margin-bottom: 0.5em; }
     font-family: Consolas, Monaco, monospace;
     background: #DEDEDE;
 }
+
+.glossterm {
+    font-weight: bold;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f2969aff/tools/envisage/src/docs/envisage.txt
----------------------------------------------------------------------
diff --git a/tools/envisage/src/docs/envisage.txt b/tools/envisage/src/docs/envisage.txt
new file mode 100644
index 0000000..4aecf37
--- /dev/null
+++ b/tools/envisage/src/docs/envisage.txt
@@ -0,0 +1,55 @@
+///////////////////////////////////////////////////////////////
+ * 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.
+///////////////////////////////////////////////////////////////
+
+[[tools-envisage,Envisage Tool]]
+= Envisage =
+
+Envisage is a Swing based visualization tool for the Polygene™ Application model.
+Visualizations can be printed to PDFs.
+
+== Usage ==
+
+Envisage can be easily used directly and prior your Application activation:
+
+[snippet,java]
+----
+source=tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
+tag=envisage
+----
+
+As you can see, Envisage operates on the ApplicationModel, this means that you
+can easily embed it in your own Applications too.
+
+From the sources you can run the `runEnvisageSample` or `runEnvisageSchoolSample` Gradle tasks
+to run interactive examples. See <<build-system>> if you need some guidance.
+
+== Screenshots ==
+
+image:tools-envisage-structure.png[width="800px"]
+
+image:tools-envisage-type.png[width="800px"]
+
+image:tools-envisage-stacked.png[width="800px"]
+
+image:tools-envisage-stacked-collapsed.png[width="800px"]
+
+== Embedd in your Application ==
+
+include::../../build/docs/buildinfo/artifact.txt[]
+

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f2969aff/tools/generator-polygene/src/docs/yeoman_polygene.txt
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/src/docs/yeoman_polygene.txt b/tools/generator-polygene/src/docs/yeoman_polygene.txt
new file mode 100644
index 0000000..cff7882
--- /dev/null
+++ b/tools/generator-polygene/src/docs/yeoman_polygene.txt
@@ -0,0 +1,388 @@
+///////////////////////////////////////////////////////////////
+ * 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.
+///////////////////////////////////////////////////////////////
+
+[[tools-shell,Command Line Shell]]
+= Polygene Generator =
+Apache Polygene comes with a Yeoman code generator, to quickly set up a development
+environment for Polygene applications.
+
+[source,shell]
+----
+mkdir projectdirname
+cd projectdirname
+yo polygene
+----
+
+It will ask a lot of questions. For choice questions, you operate up and down, and with multi-choice, you
+select with space bar.
+
+== First Trial ==
+
+=== Project Name ===
+It starts with the Project name. This will be the project name in Gradle and any gradle driven naming of the
+project such as in IDEs. It defaults to current directory with initial uppercase letter.
+
+[source,shell]
+----
+? Your project name
+----
+
+=== Java Package Name ===
+This is the root of the package names in the multi-module, multi-package project.
+
+[source,shell]
+----
+? Java package name
+----
+
+=== Application Type ===
+
+The Application Type that you want to create.
+
+NOTE: Command Line is currently not implemented correctly, and the Rest API is still not complete.
+
+[source,shell]
+----
+? what type of application do you want to create?
+  Command Line
+❯ Rest API
+----
+
+=== Entity Store ===
+Polygene has built-in persistence, and that is backed by entity store plugins. There are currently a fair
+number of implementations to choose from. Not that "memory" is not persistent, but looses the content on shutdown.
+
+[source,shell]
+----
+? Which entity store do you want to use?
+  Cassandra
+  File
+  DerbySQL
+  Geode
+  H2SQL
+  Hazelcast
+  JClouds
+  Jdbm
+  LevelDB
+> Memory
+  MongoDB
+  MySQL
+  Preferences
+  Redis
+  Riak
+  PostgreSQL
+  SQLite
+----
+
+=== Indexing/Query system ===
+Select of a pluggable Indexing and Query subsystem.
+
+In Polygene, the indexing/query system is separated from store and retrieve. This allows us to optimize direct
+fetches for navigating object graphs. In practical Polygene applications, we find that querying is not nearly as
+common as in, say, JPA applications. The query layout in the underlying indexing system is also very different
+from the document-oriented approach of most entity stores.
+
+NOTE: Not all indexing subsystems support all of the specified Indexing/Query SPI.
+
+[source,shell]
+----
+? Which indexing system do you want to use?
+> Rdf
+  ElasticSearch
+  Solr
+  SQL
+----
+
+=== Caching System ===
+Some of the entity stores rely on a Polygene level caching SPI. This caching subsystem is pluggable and
+will be used by any of the entity stores that uses the internal MapEntityStore SPI
+
+[source,shell]
+----
+? Which caching system do you want to use?
+> None
+  Memcache
+  EhCache
+----
+
+=== Serialization system ===
+Serialization is a key concept in business applications, and in Polygene that is a pluggable subsystem.
+
+? Which serialization system do you want to use?
+
+[source,shell]
+----
+> JavaxJson
+  JavaxXml
+  MessagePack
+----
+
+=== Metrics System ===
+Metrics is the SPI for measuring the performance and health of an Polygene application. Currently only
+one implementation is available.
+
+? Which metrics capturing system do you want to use?
+
+[source,shell]
+----
+> None
+  Codahale
+----
+
+=== Other Features ===
+
+JMX feature installs the MBean server and registers all Services with it, in the application structure defined.
+
+Mixin Scripting is allowing Mixin methods to be implemented in other languages parallel to Java.
+
+Security installs Apache Shiro and binds Users, Groups and Roles to entity store.
+
+[source,shell]
+----
+? Other features?
+ ◯ jmx
+ ◯ mixin scripting
+ ◯ security
+----
+
+
+=== Example ===
+
+[source,shell]
+----
+~/dev/sensetif/sink$ yo polygene
+? Your project name Sink
+? Java package name com.sensetif.sink
+? what type of application do you want to create? Rest API
+? Which entity store do you want to use? Cassandra
+? Which indexing system do you want to use? Rdf
+? Which caching system do you want to use? None
+? Which serialization system do you want to use? JavaxJson
+? Which metrics capturing system do you want to use? Codahale
+? Other features? jmx, security
+app name Sink
+Entity Stores: Cassandra
+Indexing: Rdf
+Caching: None
+Serialization: JavaxJson
+Features: [ 'jmx', 'security' ]
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigurationLayer.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/InfrastructureLayer.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/DomainLayer.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/ConnectivityLayer.java
+   create app/src/main/webapp/WEB-INF/web.xml
+   create app/build.gradle
+   create bootstrap/build.gradle
+   create model/build.gradle
+   create rest/build.gradle
+   create build.gradle
+   create settings.gradle
+   create gradlew
+   create gradlew.bat
+   create gradle/wrapper/gradle-wrapper.jar
+   create gradle/wrapper/gradle-wrapper.properties
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/FileConfigurationModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/RdfIndexingModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CodahaleMetricsModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/JavaxJsonSerializationModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CassandraStorageModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/CrudModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/JmxModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/SecurityModule.java
+   create model/src/main/java/com/sensetif/sink/model/security/CryptoConfiguration.java
+   create model/src/main/java/com/sensetif/sink/model/security/CryptoException.java
+   create model/src/main/java/com/sensetif/sink/model/security/CryptoService.java
+   create model/src/main/java/com/sensetif/sink/model/security/EncryptedStringPropertyConcern.java
+   create model/src/main/java/com/sensetif/sink/model/security/Group.java
+   create model/src/main/java/com/sensetif/sink/model/security/RealmService.java
+   create model/src/main/java/com/sensetif/sink/model/security/SecurityRepository.java
+   create model/src/main/java/com/sensetif/sink/model/security/User.java
+   create model/src/main/java/com/sensetif/sink/model/security/UserFactory.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/RestApiModule.java
+   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultEnroler.java
+   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultVerifier.java
+----
+
+== Command Line Options ==
+
+[source,shell]
+----
+--import=<modelfile>   Imports the model from a JSON file and creates a project descibed therein.
+--export=<modelfile>   Exports the generated model to a JSON file in the same format as the import model.
+--noPrompt             If this option is not provided for --import-model, the user can still
+                       input answers, which will override the values in the imported model
+----
+
+=== Example ===
+
+If we run the following,
+
+[source,shell]
+----
+$ yo polygene --import=../model.json --noPrompt
+----
+
+where the content of the +../model.json+ is as follows,
+
+[source]
+----
+{
+  "name": "Sink",
+  "packageName": "com.sensetif.sink",
+  "applicationtype": "Rest API",
+  "features": [
+    "security"
+  ],
+  "entitystore": "MongoDB",
+  "indexing": "SQL",
+  "caching": "Memcache",
+  "serialization": "JavaxJson",
+  "metrics": "Codahale",
+  "modules": {
+    "user": {
+      "cruds": [
+        { "name": "Users" },
+        {"name": "Roles"},
+        {"name": "User"},
+        {"name": "Role"},
+        {"name": "Permission"},
+        {"name": "Group"},
+        {"name": "Groups"}
+      ],
+      "services": [
+        {
+          "name": "AuthService",
+          "visibility": "application",
+          "configuration" : [
+            { "name": "backend", "type": "java.lang.String" },
+            { "name": "connectString", "type": "java.lang.String" }
+          ]
+        }
+      ]
+    },
+    "organization": {
+      "cruds": [
+        {"name": "Organizations"},
+        {
+          "name": "Organization",
+          "properties": [
+            { "name": "name", "type": "java.lang.String" },
+            { "name": "created", "type": "java.time.Instant" }
+          ]
+        },
+        { "name": "Project" }
+      ],
+      "entities": [
+        { "name": "Invoice" }
+      ],
+      "values": [
+        {
+          "name": "CreditLimit",
+          "properties" : [
+            { "name" : "amount", "type" : "java.math.BigDecimal" },
+            { "name" : "currency", "type" : "java.lang.String" }
+          ]
+        }
+      ],
+      "transients": [
+        { "name": "OrderConfirmation" }
+      ],
+      "objects": [
+        { "name": "PaypalNotification" }
+      ]
+    },
+    "sensor": {
+      "cruds": [
+        { "name": "SensorData" }
+      ],
+      "entities": [
+        { "name": "Sensor" },
+        { "name": "PollSchedule" }
+      ]
+    }
+  }
+}
+----------------
+
+we will create a complete project, like this
+
+[source,shell]
+----
+  create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigurationLayer.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/InfrastructureLayer.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/DomainLayer.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/ConnectivityLayer.java
+   create app/src/main/webapp/WEB-INF/web.xml
+   create app/build.gradle
+   create bootstrap/build.gradle
+   create model/build.gradle
+   create rest/build.gradle
+   create build.gradle
+   create settings.gradle
+   create gradlew
+   create gradlew.bat
+   create gradle/wrapper/gradle-wrapper.jar
+   create gradle/wrapper/gradle-wrapper.properties
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/MemcacheCachingModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/FileConfigurationModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/SQLIndexingModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CodahaleMetricsModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/JavaxJsonSerializationModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CassandraStorageModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/CrudModule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/UserModule.java
+   create model/src/main/java/com/sensetif/sink/model/user/Users.java
+   create model/src/main/java/com/sensetif/sink/model/user/Roles.java
+   create model/src/main/java/com/sensetif/sink/model/user/User.java
+   create model/src/main/java/com/sensetif/sink/model/user/Role.java
+   create model/src/main/java/com/sensetif/sink/model/user/Permission.java
+   create model/src/main/java/com/sensetif/sink/model/user/Group.java
+   create model/src/main/java/com/sensetif/sink/model/user/Groups.java
+   create model/src/main/java/com/sensetif/sink/model/user/AuthService.java
+   create model/src/main/java/com/sensetif/sink/model/user/AuthConfiguration.java
+   create model/src/main/resources/com/sensetif/sink/model/user/AuthConfiguration.yaml
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/OrganizationModule.java
+   create model/src/main/java/com/sensetif/sink/model/organization/Organizations.java
+   create model/src/main/java/com/sensetif/sink/model/organization/Organization.java
+   create model/src/main/java/com/sensetif/sink/model/organization/Project.java
+   create model/src/main/java/com/sensetif/sink/model/organization/Invoice.java
+   create model/src/main/java/com/sensetif/sink/model/organization/CreditLimit.java
+   create model/src/main/java/com/sensetif/sink/model/organization/OrderConfirmation.java
+   create model/src/main/java/com/sensetif/sink/model/organization/PaypalNotification.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/SensorModule.java
+   create model/src/main/java/com/sensetif/sink/model/sensor/SensorData.java
+   create model/src/main/java/com/sensetif/sink/model/sensor/Sensor.java
+   create model/src/main/java/com/sensetif/sink/model/sensor/PollSchedule.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/SecurityModule.java
+   create model/src/main/java/com/sensetif/sink/model/security/CryptoConfiguration.java
+   create model/src/main/java/com/sensetif/sink/model/security/CryptoException.java
+   create model/src/main/java/com/sensetif/sink/model/security/CryptoService.java
+   create model/src/main/java/com/sensetif/sink/model/security/EncryptedStringPropertyConcern.java
+   create model/src/main/java/com/sensetif/sink/model/security/Group.java
+   create model/src/main/java/com/sensetif/sink/model/security/RealmService.java
+   create model/src/main/java/com/sensetif/sink/model/security/SecurityRepository.java
+   create model/src/main/java/com/sensetif/sink/model/security/User.java
+   create model/src/main/java/com/sensetif/sink/model/security/UserFactory.java
+   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/RestApiModule.java
+   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultEnroler.java
+   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultVerifier.java
+----
+

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f2969aff/tools/src/docs/envisage.txt
----------------------------------------------------------------------
diff --git a/tools/src/docs/envisage.txt b/tools/src/docs/envisage.txt
deleted file mode 100644
index 4aecf37..0000000
--- a/tools/src/docs/envisage.txt
+++ /dev/null
@@ -1,55 +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.
-///////////////////////////////////////////////////////////////
-
-[[tools-envisage,Envisage Tool]]
-= Envisage =
-
-Envisage is a Swing based visualization tool for the Polygene™ Application model.
-Visualizations can be printed to PDFs.
-
-== Usage ==
-
-Envisage can be easily used directly and prior your Application activation:
-
-[snippet,java]
-----
-source=tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
-tag=envisage
-----
-
-As you can see, Envisage operates on the ApplicationModel, this means that you
-can easily embed it in your own Applications too.
-
-From the sources you can run the `runEnvisageSample` or `runEnvisageSchoolSample` Gradle tasks
-to run interactive examples. See <<build-system>> if you need some guidance.
-
-== Screenshots ==
-
-image:tools-envisage-structure.png[width="800px"]
-
-image:tools-envisage-type.png[width="800px"]
-
-image:tools-envisage-stacked.png[width="800px"]
-
-image:tools-envisage-stacked-collapsed.png[width="800px"]
-
-== Embedd in your Application ==
-
-include::../../build/docs/buildinfo/artifact.txt[]
-

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f2969aff/tools/src/docs/yeoman_polygene.txt
----------------------------------------------------------------------
diff --git a/tools/src/docs/yeoman_polygene.txt b/tools/src/docs/yeoman_polygene.txt
deleted file mode 100644
index 0a9e779..0000000
--- a/tools/src/docs/yeoman_polygene.txt
+++ /dev/null
@@ -1,388 +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.
-///////////////////////////////////////////////////////////////
-
-[[tools-shell,Command Line Shell]]
-= Polygene Generator =
-Apache Polygene comes with a Yeoman code generator, to quickly set up a development
-environment for Polygene applications.
-
-[source,shell]
-----
-mkdir projectdirname
-cd projectdirname
-yo polygene
-----
-
-It will ask a lot of questions. For choice questions, you operate up and down, and with multi-choice, you
-select with space bar.
-
-== First Trial ==
-
-=== Project Name ===
-It starts with the Project name. This will be the project name in Gradle and any gradle driven naming of the
-project such as in IDEs. It defaults to current directory with initial uppercase letter.
-
-[source,shell]
-----
-? Your project name
-----
-
-=== Java Package Name ===
-This is the root of the package names in the multi-module, multi-package project.
-
-[source,shell]
-----
-? Java package name
-----
-
-=== Application Type ===
-
-The Application Type that you want to create.
-
-NOTE: Command Line is currently not implemented correctly, and the Rest API is still not complete.
-
-[source,shell]
-----
-? what type of application do you want to create?
-  Command Line
-❯ Rest API
-----
-
-=== Entity Store ===
-Polygene has built-in persistence, and that is backed by entity store plugins. There are currently a fair
-number of implementations to choose from. Not that "memory" is not persistent, but looses the content on shutdown.
-
-[source,shell]
-----
-? Which entity store do you want to use?
-  Cassandra
-  File
-  DerbySQL
-  Geode
-  H2SQL
-  Hazelcast
-  JClouds
-  Jdbm
-  LevelDB
-> Memory
-  MongoDB
-  MySQL
-  Preferences
-  Redis
-  Riak
-  PostgreSQL
-  SQLite
-----
-
-=== Indexin/Query system ===
-Select of a pluggable Indexing and Query subsystem.
-
-In Polygene, the indexing/query system is separated from store and retrieve. This allows us to optimize direct
-fetches for navigating object graphs. In practical Polygene applications, we find that querying is not nearly as
-common as in, say, JPA applications. The query layout in the underlying indexing system is also very different
-from the document-oriented approach of most entity stores.
-
-NOTE: Not all indexing subsystems support all of the specified Indexing/Query SPI.
-
-[source,shell]
-----
-? Which indexing system do you want to use?
-> Rdf
-  ElasticSearch
-  Solr
-  SQL
-----
-
-=== Caching System ===
-Some of the entity stores rely on a Polygene level caching SPI. This caching subsystem is pluggable and
-will be used by any of the entity stores that uses the internal MapEntityStore SPI
-
-[source,shell]
-----
-? Which caching system do you want to use?
-> None
-  Memcache
-  EhCache
-----
-
-=== Serialization system ===
-Serialization is a key concept in business applications, and in Polygene that is a pluggable subsystem.
-
-? Which serialization system do you want to use?
-
-[source,shell]
-----
-> JavaxJson
-  JavaxXml
-  MessagePack
-----
-
-=== Metrics System ===
-Metrics is the SPI for measuring the performance and health of an Polygene application. Currently only
-one implementation is available.
-
-? Which metrics capturing system do you want to use?
-
-[source,shell]
-----
-> None
-  Codahale
-----
-
-=== Other Features ===
-
-JMX feature installs the MBean server and registers all Services with it, in the application structure defined.
-
-Mixin Scripting is allowing Mixin methods to be implemented in other languages parallel to Java.
-
-Security installs Apache Shiro and binds Users, Groups and Roles to entity store.
-
-[source,shell]
-----
-? Other features?
- ◯ jmx
- ◯ mixin scripting
- ◯ security
-----
-
-
-=== Example ===
-
-[source,shell]
-----
-~/dev/sensetif/sink$ yo polygene
-? Your project name Sink
-? Java package name com.sensetif.sink
-? what type of application do you want to create? Rest API
-? Which entity store do you want to use? Cassandra
-? Which indexing system do you want to use? Rdf
-? Which caching system do you want to use? None
-? Which serialization system do you want to use? JavaxJson
-? Which metrics capturing system do you want to use? Codahale
-? Other features? jmx, security
-app name Sink
-Entity Stores: Cassandra
-Indexing: Rdf
-Caching: None
-Serialization: JavaxJson
-Features: [ 'jmx', 'security' ]
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigurationLayer.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/InfrastructureLayer.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/DomainLayer.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/ConnectivityLayer.java
-   create app/src/main/webapp/WEB-INF/web.xml
-   create app/build.gradle
-   create bootstrap/build.gradle
-   create model/build.gradle
-   create rest/build.gradle
-   create build.gradle
-   create settings.gradle
-   create gradlew
-   create gradlew.bat
-   create gradle/wrapper/gradle-wrapper.jar
-   create gradle/wrapper/gradle-wrapper.properties
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/FileConfigurationModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/RdfIndexingModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CodahaleMetricsModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/JavaxJsonSerializationModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CassandraStorageModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/CrudModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/JmxModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/SecurityModule.java
-   create model/src/main/java/com/sensetif/sink/model/security/CryptoConfiguration.java
-   create model/src/main/java/com/sensetif/sink/model/security/CryptoException.java
-   create model/src/main/java/com/sensetif/sink/model/security/CryptoService.java
-   create model/src/main/java/com/sensetif/sink/model/security/EncryptedStringPropertyConcern.java
-   create model/src/main/java/com/sensetif/sink/model/security/Group.java
-   create model/src/main/java/com/sensetif/sink/model/security/RealmService.java
-   create model/src/main/java/com/sensetif/sink/model/security/SecurityRepository.java
-   create model/src/main/java/com/sensetif/sink/model/security/User.java
-   create model/src/main/java/com/sensetif/sink/model/security/UserFactory.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/RestApiModule.java
-   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultEnroler.java
-   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultVerifier.java
-----
-
-== Command Line Options ==
-
-[source,shell]
-----
---import=<modelfile>   Imports the model from a JSON file and creates a project descibed therein.
---export=<modelfile>   Exports the generated model to a JSON file in the same format as the import model.
---noPrompt             If this option is not provided for --import-model, the user can still
-                       input answers, which will override the values in the imported model
-----
-
-=== Example ===
-
-If we run the following,
-
-[source,shell]
-----
-$ yo polygene --import=../model.json --noPrompt
-----
-
-where the content of the +../model.json+ is as follows,
-
-[source]
-----
-{
-  "name": "Sink",
-  "packageName": "com.sensetif.sink",
-  "applicationtype": "Rest API",
-  "features": [
-    "security"
-  ],
-  "entitystore": "MongoDB",
-  "indexing": "SQL",
-  "caching": "Memcache",
-  "serialization": "JavaxJson",
-  "metrics": "Codahale",
-  "modules": {
-    "user": {
-      "cruds": [
-        { "name": "Users" },
-        {"name": "Roles"},
-        {"name": "User"},
-        {"name": "Role"},
-        {"name": "Permission"},
-        {"name": "Group"},
-        {"name": "Groups"}
-      ],
-      "services": [
-        {
-          "name": "AuthService",
-          "visibility": "application",
-          "configuration" : [
-            { "name": "backend", "type": "java.lang.String" },
-            { "name": "connectString", "type": "java.lang.String" }
-          ]
-        }
-      ]
-    },
-    "organization": {
-      "cruds": [
-        {"name": "Organizations"},
-        {
-          "name": "Organization",
-          "properties": [
-            { "name": "name", "type": "java.lang.String" },
-            { "name": "created", "type": "java.time.Instant" }
-          ]
-        },
-        { "name": "Project" }
-      ],
-      "entities": [
-        { "name": "Invoice" }
-      ],
-      "values": [
-        {
-          "name": "CreditLimit",
-          "properties" : [
-            { "name" : "amount", "type" : "java.math.BigDecimal" },
-            { "name" : "currency", "type" : "java.lang.String" }
-          ]
-        }
-      ],
-      "transients": [
-        { "name": "OrderConfirmation" }
-      ],
-      "objects": [
-        { "name": "PaypalNotification" }
-      ]
-    },
-    "sensor": {
-      "cruds": [
-        { "name": "SensorData" }
-      ],
-      "entities": [
-        { "name": "Sensor" },
-        { "name": "PollSchedule" }
-      ]
-    }
-  }
-}
-----------------
-
-we will create a complete project, like this
-
-[source,shell]
-----
-  create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigurationLayer.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/InfrastructureLayer.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/DomainLayer.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/ConnectivityLayer.java
-   create app/src/main/webapp/WEB-INF/web.xml
-   create app/build.gradle
-   create bootstrap/build.gradle
-   create model/build.gradle
-   create rest/build.gradle
-   create build.gradle
-   create settings.gradle
-   create gradlew
-   create gradlew.bat
-   create gradle/wrapper/gradle-wrapper.jar
-   create gradle/wrapper/gradle-wrapper.properties
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/config/ConfigModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/MemcacheCachingModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/FileConfigurationModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/SQLIndexingModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CodahaleMetricsModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/JavaxJsonSerializationModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/infrastructure/CassandraStorageModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/CrudModule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/UserModule.java
-   create model/src/main/java/com/sensetif/sink/model/user/Users.java
-   create model/src/main/java/com/sensetif/sink/model/user/Roles.java
-   create model/src/main/java/com/sensetif/sink/model/user/User.java
-   create model/src/main/java/com/sensetif/sink/model/user/Role.java
-   create model/src/main/java/com/sensetif/sink/model/user/Permission.java
-   create model/src/main/java/com/sensetif/sink/model/user/Group.java
-   create model/src/main/java/com/sensetif/sink/model/user/Groups.java
-   create model/src/main/java/com/sensetif/sink/model/user/AuthService.java
-   create model/src/main/java/com/sensetif/sink/model/user/AuthConfiguration.java
-   create model/src/main/resources/com/sensetif/sink/model/user/AuthConfiguration.yaml
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/OrganizationModule.java
-   create model/src/main/java/com/sensetif/sink/model/organization/Organizations.java
-   create model/src/main/java/com/sensetif/sink/model/organization/Organization.java
-   create model/src/main/java/com/sensetif/sink/model/organization/Project.java
-   create model/src/main/java/com/sensetif/sink/model/organization/Invoice.java
-   create model/src/main/java/com/sensetif/sink/model/organization/CreditLimit.java
-   create model/src/main/java/com/sensetif/sink/model/organization/OrderConfirmation.java
-   create model/src/main/java/com/sensetif/sink/model/organization/PaypalNotification.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/SensorModule.java
-   create model/src/main/java/com/sensetif/sink/model/sensor/SensorData.java
-   create model/src/main/java/com/sensetif/sink/model/sensor/Sensor.java
-   create model/src/main/java/com/sensetif/sink/model/sensor/PollSchedule.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/domain/SecurityModule.java
-   create model/src/main/java/com/sensetif/sink/model/security/CryptoConfiguration.java
-   create model/src/main/java/com/sensetif/sink/model/security/CryptoException.java
-   create model/src/main/java/com/sensetif/sink/model/security/CryptoService.java
-   create model/src/main/java/com/sensetif/sink/model/security/EncryptedStringPropertyConcern.java
-   create model/src/main/java/com/sensetif/sink/model/security/Group.java
-   create model/src/main/java/com/sensetif/sink/model/security/RealmService.java
-   create model/src/main/java/com/sensetif/sink/model/security/SecurityRepository.java
-   create model/src/main/java/com/sensetif/sink/model/security/User.java
-   create model/src/main/java/com/sensetif/sink/model/security/UserFactory.java
-   create bootstrap/src/main/java/com/sensetif/sink/bootstrap/connectivity/RestApiModule.java
-   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultEnroler.java
-   create rest/src/main/java/com/sensetif/sink/rest/security/DefaultVerifier.java
-----
-


[13/33] polygene-java git commit: Restore CompositeModel.toString() to only show assembly type simple name

Posted by ni...@apache.org.
Restore CompositeModel.toString() to only show assembly type simple name

This makes it more concise and fixes both JMX library and Envisage tool


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

Branch: refs/heads/yeoman-work
Commit: 3c3cb00d6cb117e141c8f91205fdd4f3c92b3db4
Parents: f2969af
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:48:37 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:48:37 2017 +0200

----------------------------------------------------------------------
 .../java/org/apache/polygene/runtime/composite/CompositeModel.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/3c3cb00d/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
index be159bc..a33e243 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
@@ -286,6 +286,6 @@ public abstract class CompositeModel
     @Override
     public String toString()
     {
-        return types.toString();
+        return primaryType.getSimpleName();
     }
 }
\ No newline at end of file


[29/33] polygene-java git commit: Fixed npmTest problem (can't have project names with dashes in them). Upgraded Docker plugin for Gradle, as used version doesn't work here.

Posted by ni...@apache.org.
Fixed npmTest problem (can't have project names with dashes in them). Upgraded Docker plugin for Gradle, as used version doesn't work here.

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: 5d91b65f42b163a90eda330bbe5b2a0879b60566
Parents: 9a0b910
Author: niclas <ni...@hedhman.org>
Authored: Tue May 23 07:58:22 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Tue May 23 07:58:22 2017 +0800

----------------------------------------------------------------------
 buildSrc/build.gradle                           | 2 +-
 tools/generator-polygene/package.json           | 2 +-
 tools/generator-polygene/test/generator_test.js | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5d91b65f/buildSrc/build.gradle
----------------------------------------------------------------------
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index b5ac8d6..1927808 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -33,7 +33,7 @@ dependencies {
   compile 'org.hibernate.build.gradle:gradle-maven-publish-auth:2.0.1'
   compile 'org.apache.httpcomponents:httpclient:4.5.2'
   compile 'org.apache.httpcomponents:httpmime:4.5.2'
-  compile 'com.bmuschko:gradle-docker-plugin:3.0.5'
+  compile 'com.bmuschko:gradle-docker-plugin:3.0.7'
   compile 'com.moowork.gradle:gradle-node-plugin:1.1.1'
 
   testCompile 'junit:junit:4.12'

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5d91b65f/tools/generator-polygene/package.json
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/package.json b/tools/generator-polygene/package.json
index 57ac117..74f6290 100644
--- a/tools/generator-polygene/package.json
+++ b/tools/generator-polygene/package.json
@@ -1,7 +1,7 @@
 {
   "name": "generator-polygene",
   "version": "3.0.0",
-  "polygene_version": "3.0.0",
+  "polygene_version": "0",
   "description": "Generates an Apache Polygene project.",
   "homepage": "https://polygene.apache.org",
   "license": "Apache-2.0",

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5d91b65f/tools/generator-polygene/test/generator_test.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/test/generator_test.js b/tools/generator-polygene/test/generator_test.js
index 0702979..15f1429 100644
--- a/tools/generator-polygene/test/generator_test.js
+++ b/tools/generator-polygene/test/generator_test.js
@@ -152,7 +152,7 @@ function test(appType, entityStore, indexing, serialization, caching, metrics, f
                 return helpers.run(path.join(__dirname, '../app'))
                     .inDir(path.join(__dirname, '../build/npm-test/'+testDirName))
                     .withPrompts({
-                        name: 'test-project',
+                        name: 'TestProject',
                         packageName: 'org.apache.polygene.generator.test',
                         applicationtype: appType,
                         entitystore: entityStore,


[22/33] polygene-java git commit: Add some coverage for clearing associations

Posted by ni...@apache.org.
Add some coverage for clearing associations


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

Branch: refs/heads/yeoman-work
Commit: ea8b7092f7b4ac60d77f64197c0dcdd9fcb66bcc
Parents: 7c6bc1b
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 17:40:46 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 17:40:46 2017 +0200

----------------------------------------------------------------------
 .../runtime/entity/associations/AssociationTest.java      | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/ea8b7092/core/runtime/src/test/java/org/apache/polygene/runtime/entity/associations/AssociationTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/polygene/runtime/entity/associations/AssociationTest.java b/core/runtime/src/test/java/org/apache/polygene/runtime/entity/associations/AssociationTest.java
index f049c40..1e953ae 100644
--- a/core/runtime/src/test/java/org/apache/polygene/runtime/entity/associations/AssociationTest.java
+++ b/core/runtime/src/test/java/org/apache/polygene/runtime/entity/associations/AssociationTest.java
@@ -36,6 +36,10 @@ import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.test.EntityTestAssembler;
 
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.assertThat;
+
 /**
  * Tests for associations
  */
@@ -98,6 +102,12 @@ public class AssociationTest
 
             Assert.assertEquals( niclas.friend().get(), rickard );
             Assert.assertEquals( niclas.members().get( 0 ), rickard );
+
+            // Empty associations
+            niclas.friend().set( null );
+            niclas.members().clear();
+            assertThat( niclas.friend().get(), nullValue() );
+            assertThat( niclas.employers().count(), is( 0 ) );
         }
         finally
         {


[25/33] polygene-java git commit: POLYGENE-256 Temporarily @Ignore Cassandra EntityStore associations test

Posted by ni...@apache.org.
POLYGENE-256 Temporarily @Ignore Cassandra EntityStore associations test


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

Branch: refs/heads/yeoman-work
Commit: 1a79168faebcc976ba8b5426a79f95d877044127
Parents: 3807b48
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 18:37:25 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 18:37:25 2017 +0200

----------------------------------------------------------------------
 .../cassandra/CassandraMapEntityStoreTest.java            | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/1a79168f/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
index 08e5dfd..dd752d9 100644
--- a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
+++ b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
@@ -28,6 +28,8 @@ import org.apache.polygene.test.entity.AbstractEntityStoreTest;
 import org.apache.polygene.test.entity.CanRemoveAll;
 import org.apache.polygene.test.internal.DockerRule;
 import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
 
 /**
  * Test the CassandraEntityStoreService.
@@ -80,4 +82,12 @@ public class CassandraMapEntityStoreTest
         cleaner.removeAll();
         super.tearDown();
     }
+
+    @Ignore( "POLYGENE-256" )
+    @Test
+    @Override
+    public void givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState()
+    {
+        super.givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState();
+    }
 }


[08/33] polygene-java git commit: Fix Gradle wrapper installation from source distribution

Posted by ni...@apache.org.
Fix Gradle wrapper installation from source distribution

A separate mini-build that should be compatible with ancient versions of
Gradle allows to install the Gradle Wrapper pointing to the Gradle
version required by the Polygene build.


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

Branch: refs/heads/yeoman-work
Commit: d5d753ffd1784eed411c314e6519ac01c37c725a
Parents: cf4876b
Author: Paul Merlin <pa...@apache.org>
Authored: Wed May 17 12:41:24 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Wed May 17 13:00:34 2017 +0200

----------------------------------------------------------------------
 .../distributions/DistributionsPlugin.groovy    | 19 +++++++++++----
 distributions/src/src-dist/README.txt           | 16 +++++++------
 .../gradle/wrapper-install/build.gradle         | 25 ++++++++++++++++++++
 .../gradle/wrapper-install/settings.gradle      | 19 +++++++++++++++
 4 files changed, 68 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/d5d753ff/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
index 46233ce..3425d70 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
@@ -52,6 +52,7 @@ import org.gradle.plugins.ide.internal.IdeDependenciesExtractor
 import org.gradle.plugins.ide.internal.resolver.model.IdeExtendedRepoFileDependency
 import org.gradle.plugins.signing.Sign
 import org.gradle.plugins.signing.SigningExtension
+import org.gradle.process.ExecSpec
 
 import java.nio.file.Files
 import java.nio.file.Path
@@ -118,6 +119,7 @@ class DistributionsPlugin implements Plugin<Project>
   private static void applySourceDistribution( Project project )
   {
     def releaseSpec = project.extensions.getByType( ReleaseSpecExtension )
+    def dependenciesDeclaration = project.rootProject.extensions.getByType( DependenciesDeclarationExtension )
     def srcDistFilesCopySpec = project.copySpec { CopySpec spec ->
       spec.from project.rootProject.projectDir
       spec.include '*.txt'
@@ -147,7 +149,7 @@ class DistributionsPlugin implements Plugin<Project>
       spec.exclude '**/.git*'                // Git files
       spec.exclude '**/build/**'             // Build output
       spec.exclude 'gradlew*'                // Gradle wrapper scripts
-      spec.exclude 'gradle/wrapper/*.jar'    // Gradle wrapper JAR
+      spec.exclude 'gradle/wrapper/**'       // Gradle wrapper
       spec.exclude '**/.gradle/**'           // Gradle caches
       spec.exclude '**/.gradletasknamecache' // Gradle shell completion cache
       spec.exclude '**/node_modules/**'      // Node's node_module dir
@@ -168,6 +170,7 @@ class DistributionsPlugin implements Plugin<Project>
     def srcDistSupplementaryFilesCopySpec = project.copySpec { CopySpec spec ->
       spec.from project.file( 'src/src-dist' )
       spec.into '.'
+      spec.filter { String line -> line.replaceAll( '%REQUIRED_GRADLE_VERSION%', dependenciesDeclaration.gradleVersion ) }
     }
     def srcDistFilteredFilesTask = project.tasks.create 'srcDistFilteredFiles'
     srcDistFilteredFilesTask.description = 'Apply release specification to source distribution build scripts'
@@ -307,21 +310,29 @@ class DistributionsPlugin implements Plugin<Project>
     }
     project.tasks.create( TaskNames.BUILD_SOURCE_DIST, ExecLogged, { ExecLogged task ->
       task.group = TaskGroups.DISTRIBUTION_VERIFICATION
-      task.description = 'Checks the source distribution by running `gradle build` inside.'
+      task.description = 'Checks the source distribution by running `gradle check assemble` inside.'
       task.dependsOn TaskNames.STAGE_SOURCE_DIST
       task.mustRunAfter TaskNames.RAT_SOURCE_DIST
       task.mustRunAfter TaskNames.INSPECT_SOURCE_DIST
       def workDir = project.file( "$project.buildDir/tmp/${ TaskNames.BUILD_SOURCE_DIST }" )
       task.inputs.dir unpackedSrcDistDir
       task.workingDir = workDir
-      def gradlew = new File( project.rootDir, 'gradlew' ).absolutePath
+      def gradlew = new File( workDir, 'gradlew' ).absolutePath
       def settings = new File( workDir, 'settings.gradle' ).absolutePath
-      task.commandLine = [ gradlew, '-c', settings, 'build', '-u', '-s', /* '-g', workDir */ ]
+      task.commandLine = [ gradlew, '-c', settings, 'check', 'assemble', '-u', '-s', /* '-g', workDir */ ]
       task.doFirst {
         project.copy { CopySpec spec ->
           spec.from unpackedSrcDistDir
           spec.into workDir
         }
+        def logName = "${ TaskNames.BUILD_SOURCE_DIST }_installWrapper"
+        def stdout = project.file( "${ project.buildDir }/log/$logName/$logName-stdout.log" )
+        def stderr = project.file( "${ project.buildDir }/log/$logName/$logName-stderr.log" )
+        def rootGradlew = new File( project.rootDir, 'gradlew' ).absolutePath
+        ExecLogged.execLogged( project, stdout, stderr, { ExecSpec spec ->
+          spec.workingDir = workDir
+          spec.commandLine = [ rootGradlew, '-i', '-s', '-b', 'gradle/wrapper-install/build.gradle', 'install' ]
+        } as Action )
       }
       task.doLast {
         if( workDir.exists() )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/d5d753ff/distributions/src/src-dist/README.txt
----------------------------------------------------------------------
diff --git a/distributions/src/src-dist/README.txt b/distributions/src/src-dist/README.txt
index de6c218..2aa83ed 100644
--- a/distributions/src/src-dist/README.txt
+++ b/distributions/src/src-dist/README.txt
@@ -7,9 +7,9 @@ This Apache Polygene™ Source Distribution contains everything you need to
 create Polygene™ applications.
 
 
-Polygene™ started in 2007, and is still in heavy development under the umbrella of
-the Apache Polygene™ project at the Apache Software Foundation. We would like
-developers around the world to participate in the advancement of this
+Polygene™ started in 2007, and is still in heavy development under the umbrella
+of the Apache Polygene™ project at the Apache Software Foundation. We would
+like developers around the world to participate in the advancement of this
 cool, new and challenging technology. We are especially interested in
 people willing to help improve the SDK, samples, tutorials, documentation
 and other supporting material.
@@ -46,13 +46,12 @@ To build Polygene™ from sources you only need to have a valid Java JDK >= 8
 installation and any version of Gradle.
 
 This distribution embeds the exact version of Gradle needed to build Polygene™.
-It is in the gradle/wrapper/gradle-wrapper.properties file.
 Here is how to bootstrap that version:
 
-    gradle wrapper
+    gradle -b gradle/wrapper-install/build.gradle install
 
-This will download the required Gradle distribution and create gradlew and
-gradlew.bat script files that you should use from now on.
+This will deploy the Gradle Wrapper and create gradlew and gradlew.bat script
+files that you should use from now on.
 
 Once you have the wrapper installed you can invoke the build system.
 
@@ -60,6 +59,9 @@ Here is how to run a full build with checks:
 
     ./gradlew check assemble
 
+Running gradlew for the first time will download the required Gradle
+distribution. You can run ./gradlew tasks to list available tasks.
+
 Read the Polygene™ Build System tutorial for more details:
 https://polygene.apache.org/java/latest/build-system.html
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/d5d753ff/distributions/src/src-dist/gradle/wrapper-install/build.gradle
----------------------------------------------------------------------
diff --git a/distributions/src/src-dist/gradle/wrapper-install/build.gradle b/distributions/src/src-dist/gradle/wrapper-install/build.gradle
new file mode 100644
index 0000000..232ab00
--- /dev/null
+++ b/distributions/src/src-dist/gradle/wrapper-install/build.gradle
@@ -0,0 +1,25 @@
+/*
+ *  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.
+ */
+
+task install( type: Wrapper ) {
+  description = 'Installs the Gradle Wrapper in Apache Polygene™ source distribution.'
+  gradleVersion = '%REQUIRED_GRADLE_VERSION%'
+  def targetRoot = project.rootDir.parentFile.parentFile
+  jarFile = new File(targetRoot, 'gradle/wrapper/gradle-wrapper.jar')
+  scriptFile = new File(targetRoot, 'gradlew')
+}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/d5d753ff/distributions/src/src-dist/gradle/wrapper-install/settings.gradle
----------------------------------------------------------------------
diff --git a/distributions/src/src-dist/gradle/wrapper-install/settings.gradle b/distributions/src/src-dist/gradle/wrapper-install/settings.gradle
new file mode 100644
index 0000000..a183ce3
--- /dev/null
+++ b/distributions/src/src-dist/gradle/wrapper-install/settings.gradle
@@ -0,0 +1,19 @@
+/*
+ *  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.
+ */
+
+// Gradle build root directory marker


[04/33] polygene-java git commit: :tools:generator prepare for 3.0.0

Posted by ni...@apache.org.
:tools:generator prepare for 3.0.0


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

Branch: refs/heads/yeoman-work
Commit: 9b513c50b117aa42ced8887c7c1599bdd7bb74f8
Parents: 3de1c9c
Author: Paul Merlin <pa...@apache.org>
Authored: Tue May 16 19:28:19 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Tue May 16 19:28:19 2017 +0200

----------------------------------------------------------------------
 tools/generator-polygene/package.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/9b513c50/tools/generator-polygene/package.json
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/package.json b/tools/generator-polygene/package.json
index ab23c2d..57ac117 100644
--- a/tools/generator-polygene/package.json
+++ b/tools/generator-polygene/package.json
@@ -1,7 +1,7 @@
 {
   "name": "generator-polygene",
   "version": "3.0.0",
-  "polygene_version": "0",
+  "polygene_version": "3.0.0",
   "description": "Generates an Apache Polygene project.",
   "homepage": "https://polygene.apache.org",
   "license": "Apache-2.0",
@@ -36,4 +36,4 @@
     "yeoman-assert": "3.0.0",
     "yeoman-test": "1.6.0"
   }
-}
\ No newline at end of file
+}


[07/33] polygene-java git commit: Build verify used Gradle version and nag if unsupported

Posted by ni...@apache.org.
Build verify used Gradle version and nag if unsupported


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

Branch: refs/heads/yeoman-work
Commit: cf4876b708b6f3230f3ff5d900bcdd000dc33d6e
Parents: e3c5f7c
Author: Paul Merlin <pa...@apache.org>
Authored: Wed May 17 12:29:40 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Wed May 17 12:29:40 2017 +0200

----------------------------------------------------------------------
 .../DependenciesDeclarationExtension.groovy     |  1 +
 .../polygene/gradle/structure/RootPlugin.groovy | 23 ++++++++++++++++++++
 dependencies.gradle                             |  3 +++
 3 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/cf4876b7/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/DependenciesDeclarationExtension.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/DependenciesDeclarationExtension.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/DependenciesDeclarationExtension.groovy
index 9277e62..2f9284a 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/DependenciesDeclarationExtension.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/DependenciesDeclarationExtension.groovy
@@ -25,6 +25,7 @@ import org.gradle.api.artifacts.component.ModuleComponentSelector
 @CompileStatic
 class DependenciesDeclarationExtension
 {
+  String gradleVersion
   final Map<String, String> repositoriesUrls = [ : ]
   final Map<String, Object> libraries = [ : ]
   final Map<String, List<Object>> defaultDependencies = [ : ]

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/cf4876b7/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/RootPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/RootPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/RootPlugin.groovy
index 5b0c497..3f54424 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/RootPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/RootPlugin.groovy
@@ -19,8 +19,11 @@ package org.apache.polygene.gradle.structure
 
 import groovy.transform.CompileStatic
 import org.apache.polygene.gradle.BasePlugin
+import org.apache.polygene.gradle.dependencies.DependenciesDeclarationExtension
 import org.gradle.api.Plugin
 import org.gradle.api.Project
+import org.gradle.api.tasks.wrapper.Wrapper
+import org.gradle.util.GradleVersion
 
 @CompileStatic
 class RootPlugin implements Plugin<Project>
@@ -34,6 +37,7 @@ class RootPlugin implements Plugin<Project>
   {
     project.plugins.apply BasePlugin
     applyProjectMetadata( project )
+    applyGradleWrapper( project )
   }
 
   private static void applyProjectMetadata( Project project )
@@ -42,4 +46,23 @@ class RootPlugin implements Plugin<Project>
     extraProperties.set 'title', PROJECT_TITLE
     extraProperties.set 'description', PROJECT_DESCRIPTION
   }
+
+  private static void applyGradleWrapper( Project project )
+  {
+    def dependencies = project.extensions.getByType( DependenciesDeclarationExtension )
+    def requiredGradleVersion = GradleVersion.version( dependencies.gradleVersion )
+    def currentGradleVersion = GradleVersion.current()
+    if( currentGradleVersion != requiredGradleVersion ) {
+      def warning = "The Apache Polygene™ build is not supported with $currentGradleVersion. " +
+                    "The only supported version is $requiredGradleVersion."
+      project.logger.error( warning )
+      project.gradle.buildFinished {
+        project.logger.error( warning )
+      }
+    }
+    project.tasks.create( 'wrapper', Wrapper) { Wrapper wrapper ->
+      wrapper.gradleVersion = dependencies.gradleVersion
+      wrapper.distributionType = Wrapper.DistributionType.ALL
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/cf4876b7/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index 3bab48f..8cf7a17 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -19,6 +19,9 @@ import org.apache.polygene.gradle.dependencies.DependenciesDeclarationExtension
 
 def dependencies = extensions.getByType( DependenciesDeclarationExtension )
 
+// Gradle version
+dependencies.gradleVersion = '3.5'
+
 // Remote repositories
 dependencies.repositoriesUrls << [
   mavenCentral: "https://repo1.maven.org/maven2/",


[19/33] polygene-java git commit: Minor, add TODO in build wrt. website publication

Posted by ni...@apache.org.
Minor, add TODO in build wrt. website publication


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

Branch: refs/heads/yeoman-work
Commit: 779cffbc674678cd3a7054df254fc4e94a55e81e
Parents: 2da1084
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:59:15 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:59:15 2017 +0200

----------------------------------------------------------------------
 .../apache/polygene/gradle/structure/release/ReleasePlugin.groovy   | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/779cffbc/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/release/ReleasePlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/release/ReleasePlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/release/ReleasePlugin.groovy
index a0ef741..3494cab 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/release/ReleasePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/release/ReleasePlugin.groovy
@@ -206,6 +206,7 @@ class ReleasePlugin implements Plugin<Project>
       // TODO SVN checkout ASF distribution directory
       task.enabled = false
     }
+    // TODO Split website and javadoc copy and use Sync task instead
     def copy = project.tasks.create( TaskNames.COPY_ASF_DIST, Copy ) { Copy task ->
       task.mustRunAfter checkout
       // TODO Consume distributions through configurations


[23/33] polygene-java git commit: Add coverage for clearing associations in EntityStore TCK

Posted by ni...@apache.org.
Add coverage for clearing associations in EntityStore TCK


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

Branch: refs/heads/yeoman-work
Commit: 00ded0ded94be20e22439be5c5a34ef324813985
Parents: ea8b709
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 18:16:04 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 18:16:04 2017 +0200

----------------------------------------------------------------------
 .../cache/AbstractEntityStoreWithCacheTest.java |  6 +++---
 .../test/entity/AbstractEntityStoreTest.java    | 22 +++++++++++++++++++-
 2 files changed, 24 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/00ded0de/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
index a2f6d29..0abddb6 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/cache/AbstractEntityStoreWithCacheTest.java
@@ -122,13 +122,13 @@ public abstract class AbstractEntityStoreWithCacheTest
     public void givenManyAssociationIsModifiedWhenUnitOfWorkCompletesThenStoreState()
         throws UnitOfWorkCompletionException
     {
-        super.givenManyAssociationIsModifiedWhenUnitOfWorkCompletesThenStoreState();
+        super.givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState();
         if( cachePool != null )
         {
             MemoryCacheImpl<?> cache = cachePool.singleCache();
             assertThat( cache.size(), is( 1 ) );
-            assertThat( cache.gets(), is( 2 ) );
-            assertThat( cache.puts(), is( 2 ) );
+            assertThat( cache.gets(), is( 3 ) );
+            assertThat( cache.puts(), is( 3 ) );
             assertThat( cache.removes(), is( 0 ) );
             assertThat( cache.exists(), is( 0 ) );
         }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/00ded0de/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
index 2fec7df..a8bb82b 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
@@ -62,6 +62,7 @@ import static java.time.ZoneOffset.UTC;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
@@ -387,7 +388,7 @@ public abstract class AbstractEntityStoreTest
     }
 
     @Test
-    public void givenManyAssociationIsModifiedWhenUnitOfWorkCompletesThenStoreState()
+    public void givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState()
         throws UnitOfWorkCompletionException
     {
         TestEntity testEntity;
@@ -402,7 +403,9 @@ public abstract class AbstractEntityStoreTest
         {
             UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
+            testEntity.association().set( testEntity );
             testEntity.manyAssociation().add( 0, testEntity );
+            testEntity.namedAssociation().put( "test", testEntity );
             version = spi.entityStateOf( testEntity ).version();
 
             unitOfWork.complete();
@@ -411,6 +414,23 @@ public abstract class AbstractEntityStoreTest
             UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             String newVersion = spi.entityStateOf( testEntity ).version();
+            assertThat( "association persisted", testEntity.association().get(), equalTo( testEntity ) );
+            assertThat( "many association persisted", testEntity.manyAssociation().get( 0 ), equalTo( testEntity ) );
+            assertThat( "named association persisted", testEntity.namedAssociation().get( "test" ), equalTo( testEntity ) );
+            assertThat( "version has not changed", newVersion, not( equalTo( version ) ) );
+
+            testEntity.association().set( null );
+            testEntity.manyAssociation().clear();
+            testEntity.namedAssociation().clear();
+            unitOfWork.complete();
+        }
+        {
+            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
+            testEntity = unitOfWork.get( testEntity );
+            String newVersion = spi.entityStateOf( testEntity ).version();
+            assertThat( "association cleared", testEntity.association().get(), nullValue() );
+            assertThat( "many association cleared", testEntity.manyAssociation().count(), is( 0 ) );
+            assertThat( "named association cleared", testEntity.namedAssociation().count(), is( 0 ) );
             assertThat( "version has not changed", newVersion, not( equalTo( version ) ) );
 
             unitOfWork.complete();


[10/33] polygene-java git commit: Add missing step to release doc

Posted by ni...@apache.org.
Add missing step to release doc


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

Branch: refs/heads/yeoman-work
Commit: fb88c73f50adbf7c7f63e8d738320af905990ffc
Parents: 20befa4
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 12:05:54 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 12:05:54 2017 +0200

----------------------------------------------------------------------
 manual/src/docs/tutorials/howto-releasing-apache.txt | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/fb88c73f/manual/src/docs/tutorials/howto-releasing-apache.txt
----------------------------------------------------------------------
diff --git a/manual/src/docs/tutorials/howto-releasing-apache.txt b/manual/src/docs/tutorials/howto-releasing-apache.txt
index 8421dfc..58b3873 100644
--- a/manual/src/docs/tutorials/howto-releasing-apache.txt
+++ b/manual/src/docs/tutorials/howto-releasing-apache.txt
@@ -849,6 +849,13 @@ svn add * --force
 svn commit -m "polygene: dropping <RELEASE-VERSION>-RC# from dist/dev/polygene as the vote failed"
 ----
 
+Drop NPM packages:
+
+[source,shell]
+----
+npm unpublish generator-polygene@<RELEASE-VERSION>
+----
+
 
 === Start over
 


[20/33] polygene-java git commit: :tools:generator Add empty test to generated rest-api application

Posted by ni...@apache.org.
:tools:generator Add empty test to generated rest-api application

See tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl

The generator tests now run ./gradlew check instead of ./gradlew classes on generated projects


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

Branch: refs/heads/yeoman-work
Commit: 84a794d29669aa939ac951bcc42e452d427dde99
Parents: 779cffb
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 17:29:02 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 17:29:02 2017 +0200

----------------------------------------------------------------------
 .../app/templates/RestAPIApplication/app.js     |  4 +++
 .../RestAPIApplication/bootstrap-test.tmpl      | 30 ++++++++++++++++++++
 .../app/templates/buildtool/gradle-app.tmpl     |  1 +
 tools/generator-polygene/test/generator_test.js |  2 +-
 4 files changed, 36 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/84a794d2/tools/generator-polygene/app/templates/RestAPIApplication/app.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/RestAPIApplication/app.js b/tools/generator-polygene/app/templates/RestAPIApplication/app.js
index 80380c7..1ad28d8 100644
--- a/tools/generator-polygene/app/templates/RestAPIApplication/app.js
+++ b/tools/generator-polygene/app/templates/RestAPIApplication/app.js
@@ -27,6 +27,10 @@ module.exports = {
         p.copyTemplate(p.ctx,
             'RestAPIApplication/web.xml.tmpl',
             'app/src/main/webapp/WEB-INF/web.xml');
+
+        p.copyTemplate(p.ctx,
+            'RestAPIApplication/bootstrap-test.tmpl',
+            'app/src/test/java/'+p.javaPackageDir+'/BootstrapTest.java');
     }
 };
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/84a794d2/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl b/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
new file mode 100644
index 0000000..19ccf9d
--- /dev/null
+++ b/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
@@ -0,0 +1,30 @@
+<%#
+ *  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 <%= polygene.packageName %>.bootstrap;
+
+import org.junit.Test;
+
+public class BootstrapTest
+{
+    @Test
+    public void applicationBootstrapSucceeds() {
+        // TODO Assemble, activate, passivate application to make sure it starts properly
+    }
+}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/84a794d2/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl b/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
index 623ee78..50f99c3 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
@@ -39,4 +39,5 @@ dependencies {
   runtime "org.apache.polygene.core:org.apache.polygene.core.runtime:$polygeneVersion"
   runtime "org.restlet.jee:org.restlet.ext.servlet:2.3.4"
 
+  testImplementation "org.apache.polygene.core:org.apache.polygene.core.testsupport:$polygeneVersion"
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/84a794d2/tools/generator-polygene/test/generator_test.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/test/generator_test.js b/tools/generator-polygene/test/generator_test.js
index 6589ef4..0702979 100644
--- a/tools/generator-polygene/test/generator_test.js
+++ b/tools/generator-polygene/test/generator_test.js
@@ -169,5 +169,5 @@ function test(appType, entityStore, indexing, serialization, caching, metrics, f
 
 function buildAndVerify(dir) {
     assert.file(['gradlew', 'settings.gradle', 'build.gradle']);
-    assert(shell.exec(path.join(dir, 'gradlew') + ' classes --init-script ../../stagedMavenRepoInitScript.gradle').code == 0);
+    assert(shell.exec(path.join(dir, 'gradlew') + ' check --init-script ../../stagedMavenRepoInitScript.gradle').code == 0);
 }


[31/33] polygene-java git commit: Change to try-newUnitOfWork structures in the testcases, to avoid "not cleaned up" error message when test fails.

Posted by ni...@apache.org.
Change to try-newUnitOfWork structures in the testcases, to avoid "not cleaned up" error message when test fails.

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: 51a0c080a2bf879984f8d4df338b744e92bd31dd
Parents: 563f225
Author: niclas <ni...@hedhman.org>
Authored: Tue May 23 08:08:52 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Tue May 23 08:08:52 2017 +0800

----------------------------------------------------------------------
 .../test/entity/AbstractEntityStoreTest.java    | 70 +++++++++-----------
 1 file changed, 33 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/51a0c080/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
index a8bb82b..5831583 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
@@ -165,14 +165,15 @@ public abstract class AbstractEntityStoreTest
     public void whenNewEntityThenCanFindEntityAndCorrectValues()
         throws Exception
     {
-        UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
-        try
+        TestEntity instance;
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            TestEntity instance = createEntity( unitOfWork );
+            instance = createEntity( unitOfWork );
             unitOfWork.complete();
-
+        }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
+        {
             // Find entity
-            unitOfWork = unitOfWorkFactory.newUnitOfWork();
             instance = unitOfWork.get( instance );
 
             // Check state
@@ -285,12 +286,6 @@ public abstract class AbstractEntityStoreTest
             assertThat( "namedAssociation has correct 'bar' value",
                         instance.namedAssociation().get( "bar" ),
                         equalTo( instance ) );
-
-            unitOfWork.discard();
-        }
-        finally
-        {
-            unitOfWork.discard();
         }
     }
 
@@ -298,20 +293,25 @@ public abstract class AbstractEntityStoreTest
     public void whenRemovedEntityThenCannotFindEntity()
         throws Exception
     {
-        UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
-        TestEntity newInstance = createEntity( unitOfWork );
-        Identity identity = newInstance.identity().get();
-        unitOfWork.complete();
+        TestEntity newInstance;
+        Identity identity;
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
+        {
+            newInstance = createEntity( unitOfWork );
+            identity = newInstance.identity().get();
+            unitOfWork.complete();
+        }
 
         // Remove entity
-        unitOfWork = unitOfWorkFactory.newUnitOfWork();
-        TestEntity instance = unitOfWork.get( newInstance );
-        unitOfWork.remove( instance );
-        unitOfWork.complete();
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
+        {
+            TestEntity instance = unitOfWork.get( newInstance );
+            unitOfWork.remove( instance );
+            unitOfWork.complete();
+        }
 
         // Find entity
-        unitOfWork = unitOfWorkFactory.newUnitOfWork();
-        try
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
             unitOfWork.get( TestEntity.class, identity );
             fail( "Should not be able to find entity" );
@@ -320,10 +320,6 @@ public abstract class AbstractEntityStoreTest
         {
             // Ok!
         }
-        finally
-        {
-            unitOfWork.discard();
-        }
     }
 
     @Test
@@ -332,22 +328,22 @@ public abstract class AbstractEntityStoreTest
     {
         TestEntity testEntity;
         String version;
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class );
 
             testEntity = builder.newInstance();
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             version = spi.entityStateOf( testEntity ).version();
 
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             String newVersion = spi.entityStateOf( testEntity ).version();
             assertThat( "version has not changed", newVersion, equalTo( version ) );
@@ -362,23 +358,23 @@ public abstract class AbstractEntityStoreTest
     {
         TestEntity testEntity;
         String version;
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class );
 
             testEntity = builder.newInstance();
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             testEntity.name().set( "Rickard" );
             version = spi.entityStateOf( testEntity ).version();
 
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             String newVersion = spi.entityStateOf( testEntity ).version();
             assertThat( "version has not changed", newVersion, not( equalTo( version ) ) );
@@ -393,15 +389,15 @@ public abstract class AbstractEntityStoreTest
     {
         TestEntity testEntity;
         String version;
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class );
 
             testEntity = builder.newInstance();
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             testEntity.association().set( testEntity );
             testEntity.manyAssociation().add( 0, testEntity );
@@ -410,8 +406,8 @@ public abstract class AbstractEntityStoreTest
 
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             String newVersion = spi.entityStateOf( testEntity ).version();
             assertThat( "association persisted", testEntity.association().get(), equalTo( testEntity ) );
@@ -424,8 +420,8 @@ public abstract class AbstractEntityStoreTest
             testEntity.namedAssociation().clear();
             unitOfWork.complete();
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             testEntity = unitOfWork.get( testEntity );
             String newVersion = spi.entityStateOf( testEntity ).version();
             assertThat( "association cleared", testEntity.association().get(), nullValue() );
@@ -442,8 +438,8 @@ public abstract class AbstractEntityStoreTest
         throws UnitOfWorkCompletionException
     {
         TestEntity testEntity;
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class );
 
             testEntity = builder.newInstance();
@@ -466,9 +462,9 @@ public abstract class AbstractEntityStoreTest
             testEntity1.name().set( "A" );
             testEntity1.unsetName().set( "A" );
         }
+        try( UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork() )
         {
             // Start working with same Entity in another UoW, and complete it
-            UnitOfWork unitOfWork = unitOfWorkFactory.newUnitOfWork();
             TestEntity testEntity2 = unitOfWork.get( testEntity );
             assertThat( "version is correct", spi.entityStateOf( testEntity1 ).version(), equalTo( version ) );
             testEntity2.name().set( "B" );


[21/33] polygene-java git commit: Fix NPE in AssociationInstance.set(T)

Posted by ni...@apache.org.
Fix NPE in AssociationInstance.set(T)


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

Branch: refs/heads/yeoman-work
Commit: 7c6bc1b8326aafcbeb5feac13da70153e9cd78f5
Parents: 84a794d
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 17:40:33 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 17:40:33 2017 +0200

----------------------------------------------------------------------
 .../polygene/runtime/association/AssociationInstance.java      | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7c6bc1b8/core/runtime/src/main/java/org/apache/polygene/runtime/association/AssociationInstance.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/association/AssociationInstance.java b/core/runtime/src/main/java/org/apache/polygene/runtime/association/AssociationInstance.java
index 6d5f6fe..551bce7 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/association/AssociationInstance.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/association/AssociationInstance.java
@@ -27,6 +27,7 @@ import org.apache.polygene.api.association.AssociationDescriptor;
 import org.apache.polygene.api.association.AssociationWrapper;
 import org.apache.polygene.api.entity.EntityReference;
 import org.apache.polygene.api.identity.HasIdentity;
+import org.apache.polygene.api.identity.Identity;
 import org.apache.polygene.api.property.Property;
 
 /**
@@ -64,7 +65,10 @@ public final class AssociationInstance<T>
         associationInfo.checkConstraints( newValue );
 
         // Change association
-        associationState.set( EntityReference.create( ((HasIdentity) newValue ).identity().get()));
+        Identity identity = newValue != null
+                            ? ( (HasIdentity) newValue ).identity().get()
+                            : null;
+        associationState.set( EntityReference.create( identity ) );
     }
 
     @Override


[26/33] polygene-java git commit: Merge remote-tracking branch 'origin/develop' into yeoman-work

Posted by ni...@apache.org.
Merge remote-tracking branch 'origin/develop' into yeoman-work

# Conflicts:
#	tools/generator-polygene/app/templates/RestAPIApplication/app.js
#	tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl


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

Branch: refs/heads/yeoman-work
Commit: 5dfe7e3e92067bd3997fd1b9f5ce86f1da187036
Parents: a9de6c6 1a79168
Author: niclas <ni...@hedhman.org>
Authored: Mon May 22 14:02:23 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Mon May 22 14:02:23 2017 +0800

----------------------------------------------------------------------
 .../gradle/code/PublishingPlugin.groovy         |  23 +-
 .../DependenciesDeclarationExtension.groovy     |   1 +
 .../polygene/gradle/structure/RootPlugin.groovy |  23 ++
 .../distributions/DistributionsPlugin.groovy    |  35 +-
 .../structure/release/ReleasePlugin.groovy      |   1 +
 core/bootstrap/src/docs/bootstrap.txt           |   2 +-
 .../DefaultIdentityGeneratorAssembler.java      |   9 +-
 .../DefaultSerializationAssembler.java          |   6 +-
 .../unitofwork/DefaultUnitOfWorkAssembler.java  |  11 +-
 .../association/AssociationInstance.java        |   6 +-
 .../runtime/composite/CompositeModel.java       |   2 +-
 .../entity/associations/AssociationTest.java    |  10 +
 .../cache/AbstractEntityStoreWithCacheTest.java |   6 +-
 .../test/entity/AbstractEntityStoreTest.java    |  22 +-
 dependencies.gradle                             |   3 +
 distributions/src/src-dist/README.txt           |  16 +-
 .../gradle/wrapper-install/build.gradle         |  25 ++
 .../gradle/wrapper-install/settings.gradle      |  19 +
 .../cassandra/CassandraMapEntityStoreTest.java  |  10 +
 .../PreferencesEntityStoreMixin.java            |  44 ++-
 gradle/wrapper/gradle-wrapper.jar               | Bin 54227 -> 54416 bytes
 gradlew                                         |   6 +-
 libraries/jmx/src/docs/jmx.txt                  |   2 +-
 .../docs/tutorials/howto-releasing-apache.txt   |  11 +-
 manual/src/docs/userguide/tools.txt             |   9 +-
 .../src/docs/website/resources/css/polygene.css |   4 +
 .../docs/website/resources/images/cloudbees.png | Bin 7493 -> 0 bytes
 .../website/resources/images/library-jmx.png    | Bin 36579 -> 244987 bytes
 .../resources/images/tools-entity-viewer.png    | Bin 52322 -> 0 bytes
 .../images/tools-envisage-stacked-collapsed.png | Bin 30355 -> 211242 bytes
 .../resources/images/tools-envisage-stacked.png | Bin 36070 -> 225560 bytes
 .../images/tools-envisage-structure.png         | Bin 90145 -> 277222 bytes
 .../resources/images/tools-envisage-type.png    | Bin 88278 -> 279752 bytes
 tools/envisage/src/docs/envisage.txt            |  56 +++
 .../envisage/school/EnvisageSchoolSample.java   |  10 +-
 .../envisage/school/SchoolAssembler.java        |   8 +-
 tools/generator-polygene/.gitignore             |   1 +
 .../app/templates/RestAPIApplication/app.js     |   5 +-
 .../RestAPIApplication/bootstrap-test.tmpl      |  30 ++
 .../app/templates/buildtool/build.js            |   8 +-
 .../app/templates/buildtool/gradle-app.tmpl     |   2 +
 .../app/templates/buildtool/gradle-wrapper.jar_ | Bin 51348 -> 0 bytes
 .../buildtool/gradle-wrapper.properties_        |  24 --
 .../app/templates/buildtool/gradlew-bat.tmpl    | 109 ------
 .../app/templates/buildtool/gradlew.tmpl        | 183 ---------
 tools/generator-polygene/build.gradle           |  24 +-
 tools/generator-polygene/package.json           |   4 +-
 .../src/docs/yeoman_polygene.txt                | 388 +++++++++++++++++++
 tools/generator-polygene/test/generator_test.js |   4 +-
 tools/src/docs/envisage.txt                     |  55 ---
 tools/src/docs/yeoman_polygene.txt              | 388 -------------------
 51 files changed, 757 insertions(+), 848 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5dfe7e3e/dependencies.gradle
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5dfe7e3e/tools/generator-polygene/app/templates/RestAPIApplication/app.js
----------------------------------------------------------------------
diff --cc tools/generator-polygene/app/templates/RestAPIApplication/app.js
index e231d11,1ad28d8..142b090
--- a/tools/generator-polygene/app/templates/RestAPIApplication/app.js
+++ b/tools/generator-polygene/app/templates/RestAPIApplication/app.js
@@@ -25,25 -25,12 +25,29 @@@ module.exports = 
          copyLayer(p, "Connectivity");
  
          p.copyTemplate(p.ctx,
 -            'RestAPIApplication/web.xml.tmpl',
 -            'app/src/main/webapp/WEB-INF/web.xml');
 +            'RestAPIApplication/application.java.tmpl',
 +            'rest/src/main/java/' + p.javaPackageDir + '/rest/' + p.name + 'RestApplication.java');
 +
 +        p.copyTemplate(p.ctx,
 +            'RestAPIApplication/Launcher.java.tmpl',
 +            'app/src/main/java/' + p.javaPackageDir + '/app/' + p.name + 'Launcher.java');
 +
 +        if (p.hasFeature('security')) {
 +            p.copyTemplate(p.ctx,
 +                'RestAPIApplication/DevelopmentKeyManagement.java.tmpl',
 +                'app/src/main/java/' + p.javaPackageDir + '/app/DevelopmentKeyManagement.java');
 +            p.copyTemplate(p.ctx,
 +                'RestAPIApplication/web-shiro.ini.tmpl',
 +                'app/src/main/resources/web-shiro.ini');
 +        }
  
          p.copyTemplate(p.ctx,
+             'RestAPIApplication/bootstrap-test.tmpl',
+             'app/src/test/java/'+p.javaPackageDir+'/BootstrapTest.java');
++
++        p.copyTemplate(p.ctx,
 +            'RestAPIApplication/bootstrap.tmpl',
 +            'bootstrap/src/main/java/' + p.javaPackageDir + '/bootstrap/' + p.name + 'ApplicationAssembler.java');
      }
  };
  

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5dfe7e3e/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
----------------------------------------------------------------------
diff --cc tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
index 6a830e6,50f99c3..d199285
--- a/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-app.tmpl
@@@ -34,9 -38,6 +34,11 @@@ dependencies 
  
    runtime "org.apache.polygene.core:org.apache.polygene.core.runtime:$polygeneVersion"
    runtime "org.restlet.jee:org.restlet.ext.servlet:2.3.4"
 +  runtime "org.apache.johnzon:johnzon-core:1.1.0"
 +  runtime "org.apache.johnzon:johnzon-mapper:1.1.0"
 +  runtime "org.apache.geronimo.specs:geronimo-json_1.1_spec:1.0"
 +  runtime "ch.qos.logback:logback-classic:1.2.3"
 +  runtime "ch.qos.logback:logback-core:1.2.3"
+ 
+   testImplementation "org.apache.polygene.core:org.apache.polygene.core.testsupport:$polygeneVersion"
  }


[28/33] polygene-java git commit: Fixed anoter bug in HostPortConstraint

Posted by ni...@apache.org.
Fixed anoter bug in HostPortConstraint

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: 9a0b9102e14fde3edbb82286a429a1f689b33a9e
Parents: a587218
Author: niclas <ni...@hedhman.org>
Authored: Mon May 22 14:17:04 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Mon May 22 14:17:04 2017 +0800

----------------------------------------------------------------------
 .../apache/polygene/library/constraints/HostPortConstraint.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/9a0b9102/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
----------------------------------------------------------------------
diff --git a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
index 6039f74..53719f5 100644
--- a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
+++ b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
@@ -29,7 +29,7 @@ import org.apache.polygene.library.constraints.annotation.HostPort;
 public class HostPortConstraint
     implements Constraint<HostPort, String>
 {
-    private static final UrlValidator VALIDATOR = new UrlValidator( new String[]{ "http" } );
+    private static final UrlValidator VALIDATOR = new UrlValidator( new String[]{ "http" }, UrlValidator.NO_FRAGMENTS );
 
     @Override
     public boolean isValid( HostPort annotation, String value )


[05/33] polygene-java git commit: Merge branch 'release/3.0.0-RC1' into develop

Posted by ni...@apache.org.
Merge branch 'release/3.0.0-RC1' into develop


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

Branch: refs/heads/yeoman-work
Commit: 40522f699d455979ea8c8c0fd5d771063f9d2d43
Parents: 3de1c9c 9b513c5
Author: Paul Merlin <pa...@apache.org>
Authored: Tue May 16 19:28:34 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Tue May 16 19:28:34 2017 +0200

----------------------------------------------------------------------
 tools/generator-polygene/package.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[17/33] polygene-java git commit: Fix core bootstrap documentation JSON snippet using wrong syntax highlighting

Posted by ni...@apache.org.
Fix core bootstrap documentation JSON snippet using wrong syntax highlighting

Loading that page opened a browser pop-up saying `json` is not a supported syntax
`javascript` is the one


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

Branch: refs/heads/yeoman-work
Commit: 5ba25755bdec170a33a7888944def1f4e5cc27e9
Parents: 039563b
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:51:20 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:51:20 2017 +0200

----------------------------------------------------------------------
 core/bootstrap/src/docs/bootstrap.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5ba25755/core/bootstrap/src/docs/bootstrap.txt
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/docs/bootstrap.txt b/core/bootstrap/src/docs/bootstrap.txt
index e20b995..6e00521 100644
--- a/core/bootstrap/src/docs/bootstrap.txt
+++ b/core/bootstrap/src/docs/bootstrap.txt
@@ -232,7 +232,7 @@ it is possible to define the application structure from a JSON document, AND cal
 taking the JSON document as input on +System.in+.
 
 The format of the JSON document, directly reflects the application structure, such as
-[source,json]
+[source,javascript]
 ----
 {
     "name": "Build from JSON test.",


[27/33] polygene-java git commit: Fixed bug in HostPortConstraint and HostPortListConstraint

Posted by ni...@apache.org.
Fixed bug in HostPortConstraint and HostPortListConstraint

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: a587218a5a7adcbb8acad650aab186310a5cfff4
Parents: 5dfe7e3
Author: niclas <ni...@hedhman.org>
Authored: Mon May 22 14:03:10 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Mon May 22 14:03:10 2017 +0800

----------------------------------------------------------------------
 .../library/constraints/HostPortConstraint.java |  4 +++
 .../constraints/HostPortListConstraint.java     | 14 +++++++--
 .../constraints/annotation/HostPort.java        |  2 +-
 .../constraints/HostPortConstraintTest.java     | 32 ++++++++++++++++++++
 .../constraints/HostPortListConstraintTest.java | 24 +++++++++++++++
 5 files changed, 73 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a587218a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
----------------------------------------------------------------------
diff --git a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
index bc84c7c..6039f74 100644
--- a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
+++ b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortConstraint.java
@@ -34,6 +34,10 @@ public class HostPortConstraint
     @Override
     public boolean isValid( HostPort annotation, String value )
     {
+        if( value.startsWith( "localhost" ) )
+        {
+            value = "localhost.my" + value.substring( 9 );
+        }
         return VALIDATOR.isValid( "http://" + value );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a587218a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortListConstraint.java
----------------------------------------------------------------------
diff --git a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortListConstraint.java b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortListConstraint.java
index c878c0f..4a39876 100644
--- a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortListConstraint.java
+++ b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/HostPortListConstraint.java
@@ -31,16 +31,26 @@ import static java.util.Arrays.stream;
 public class HostPortListConstraint
     implements Constraint<HostPortList, String>
 {
-    private static final UrlValidator VALIDATOR = new UrlValidator( new String[]{ "http" } );
+    private static final UrlValidator VALIDATOR = new UrlValidator( new String[]{ "http" }, UrlValidator.NO_FRAGMENTS );
 
     @Override
     public boolean isValid( HostPortList annotation, String value )
     {
-        return stream( value.split( "[ ,]" ) )
+        return stream( value.split( "[ ,]+" ) )
+            .map( this::handleLocalHost )
             .map( this::prefixProtocol )
             .allMatch( VALIDATOR::isValid );
     }
 
+    private String handleLocalHost( String entry )
+    {
+        if( entry.startsWith( "localhost" ) )
+        {
+            return "localhost.my" + entry.substring( 9 );
+        }
+        return entry;
+    }
+
     private String prefixProtocol( String value )
     {
         return "http://" + value;

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a587218a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/annotation/HostPort.java
----------------------------------------------------------------------
diff --git a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/annotation/HostPort.java b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/annotation/HostPort.java
index 62cac1f..6a3b508 100644
--- a/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/annotation/HostPort.java
+++ b/libraries/constraints/src/main/java/org/apache/polygene/library/constraints/annotation/HostPort.java
@@ -27,7 +27,7 @@ import org.apache.polygene.library.constraints.HostPortConstraint;
 
 /**
  * Marks a property as being a string, with a "host:port", where host is a valid hostname, IPv4 address or IPv6 address
- * and port is in the range of 0 to 65535
+ * and port is in the range of 0 to 65535. The port is optional.
  */
 @ConstraintDeclaration
 @Retention( RetentionPolicy.RUNTIME )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a587218a/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortConstraintTest.java
----------------------------------------------------------------------
diff --git a/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortConstraintTest.java b/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortConstraintTest.java
index cacd34c..477f95d 100644
--- a/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortConstraintTest.java
+++ b/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortConstraintTest.java
@@ -32,6 +32,14 @@ public class HostPortConstraintTest extends AbstractPolygeneTest
 {
 
     @Test
+    public void givenValidHostWithoutPortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "habba.zout.com" );
+    }
+
+    @Test
     public void givenValidHostPortWhenSettingPropertyExpectSuccess()
         throws Exception
     {
@@ -39,6 +47,30 @@ public class HostPortConstraintTest extends AbstractPolygeneTest
         someValue.hostPort().set( "habba.zout.com:1234" );
     }
 
+    @Test
+    public void givenLocalHostWithoutPortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "localhost" );
+    }
+
+    @Test
+    public void givenLocalHostWithSmallPortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "localhost:9" );
+    }
+
+    @Test
+    public void givenLocalHostWithLargePortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "localhost:1234" );
+    }
+
     @Test( expected = ConstraintViolationException.class )
     public void givenInvalidHostNameWhenSettingPropertyExpectConstrainViolation()
         throws Exception

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a587218a/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortListConstraintTest.java
----------------------------------------------------------------------
diff --git a/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortListConstraintTest.java b/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortListConstraintTest.java
index 3e6ce38..430ffd7 100644
--- a/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortListConstraintTest.java
+++ b/libraries/constraints/src/test/java/org/apache/polygene/library/constraints/HostPortListConstraintTest.java
@@ -32,6 +32,30 @@ public class HostPortListConstraintTest extends AbstractPolygeneTest
 {
 
     @Test
+    public void givenValidHostWithoutPortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "habba.zout.com" );
+    }
+
+    @Test
+    public void givenValidHostListWithoutPortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "habba.zout.com, localhost google.com" );
+    }
+
+    @Test
+    public void givenValidHostListWithSomePortWhenSettingPropertyExpectSuccess()
+        throws Exception
+    {
+        SomeValue someValue = transientBuilderFactory.newTransient( SomeValue.class );
+        someValue.hostPort().set( "habba.zout.com, localhost:8080, google.com" );
+    }
+
+    @Test
     public void givenValidHostPortWhenSettingPropertyExpectSuccess()
         throws Exception
     {


[24/33] polygene-java git commit: Fix Preferences EntityStore clearing associations

Posted by ni...@apache.org.
Fix Preferences EntityStore clearing associations


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

Branch: refs/heads/yeoman-work
Commit: 3807b48cd403cef71a81b4237605d577c1737ab4
Parents: 00ded0d
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 18:16:27 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 18:23:54 2017 +0200

----------------------------------------------------------------------
 .../PreferencesEntityStoreMixin.java            | 44 ++++++++++++--------
 1 file changed, 27 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/3807b48c/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
index 7958840..5bf1597 100644
--- a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
+++ b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
@@ -569,17 +569,21 @@ public class PreferencesEntityStoreMixin
                 for( Map.Entry<QualifiedName, List<EntityReference>> manyAssociation : state.manyAssociations()
                     .entrySet() )
                 {
-                    StringBuilder manyAssocs = new StringBuilder();
-                    for( EntityReference entityReference : manyAssociation.getValue() )
+                    if( manyAssociation.getValue().isEmpty() )
                     {
-                        if( manyAssocs.length() > 0 )
-                        {
-                            manyAssocs.append( "\n" );
-                        }
-                        manyAssocs.append( entityReference.identity().toString() );
+                        manyAssocsPrefs.remove( manyAssociation.getKey().name() );
                     }
-                    if( manyAssocs.length() > 0 )
+                    else
                     {
+                        StringBuilder manyAssocs = new StringBuilder();
+                        for( EntityReference entityReference : manyAssociation.getValue() )
+                        {
+                            if( manyAssocs.length() > 0 )
+                            {
+                                manyAssocs.append( "\n" );
+                            }
+                            manyAssocs.append( entityReference.identity().toString() );
+                        }
                         manyAssocsPrefs.put( manyAssociation.getKey().name(), manyAssocs.toString() );
                     }
                 }
@@ -592,18 +596,24 @@ public class PreferencesEntityStoreMixin
                 for( Map.Entry<QualifiedName, Map<String, EntityReference>> namedAssociation : state.namedAssociations()
                     .entrySet() )
                 {
-                    StringBuilder namedAssocs = new StringBuilder();
-                    for( Map.Entry<String, EntityReference> namedRef : namedAssociation.getValue().entrySet() )
+                    if( namedAssociation.getValue().isEmpty() )
                     {
-                        if( namedAssocs.length() > 0 )
-                        {
-                            namedAssocs.append( "\n" );
-                        }
-                        namedAssocs.append( namedRef.getKey() ).append( "\n" ).append( namedRef.getValue().identity().toString() );
+                        namedAssocsPrefs.remove( namedAssociation.getKey().name() );
                     }
-                    if( namedAssocs.length() > 0 )
+                    else
                     {
-                        namedAssocsPrefs.put( namedAssociation.getKey().name(), namedAssocs.toString() );
+                        StringBuilder namedAssocs = new StringBuilder();
+                        for( Map.Entry<String, EntityReference> namedRef : namedAssociation.getValue().entrySet() )
+                        {
+                            if( namedAssocs.length() > 0 )
+                            {
+                                namedAssocs.append( "\n" );
+                            }
+                            namedAssocs.append( namedRef.getKey() ).append( "\n" ).append(
+                                namedRef.getValue().identity().toString() );
+                        }
+                        String key = namedAssociation.getKey().name();
+                        namedAssocsPrefs.put( key, namedAssocs.toString() );
                     }
                 }
             }


[16/33] polygene-java git commit: Update JMX library screenshot in documentation

Posted by ni...@apache.org.
Update JMX library screenshot in documentation


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

Branch: refs/heads/yeoman-work
Commit: 039563b792eccb0dfca45475dd56693e3f29561a
Parents: c6fd174
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:50:19 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:50:19 2017 +0200

----------------------------------------------------------------------
 libraries/jmx/src/docs/jmx.txt                  |   2 +-
 .../website/resources/images/library-jmx.png    | Bin 36579 -> 244987 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/039563b7/libraries/jmx/src/docs/jmx.txt
----------------------------------------------------------------------
diff --git a/libraries/jmx/src/docs/jmx.txt b/libraries/jmx/src/docs/jmx.txt
index 7817d72..4e4af6a 100644
--- a/libraries/jmx/src/docs/jmx.txt
+++ b/libraries/jmx/src/docs/jmx.txt
@@ -35,7 +35,7 @@ include::../../build/docs/buildinfo/artifact.txt[]
 Services configuration is editable through their corresponding JMX beans.
 You can also restart your services so the new configuration is picked up.
 
-image:library-jmx.png[]
+image:library-jmx.png[width="800px"]
 
 
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/039563b7/manual/src/docs/website/resources/images/library-jmx.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/library-jmx.png b/manual/src/docs/website/resources/images/library-jmx.png
index ee2dbe4..2a4ef06 100644
Binary files a/manual/src/docs/website/resources/images/library-jmx.png and b/manual/src/docs/website/resources/images/library-jmx.png differ


[14/33] polygene-java git commit: Explicit default services assemblers identities

Posted by ni...@apache.org.
Explicit default services assemblers identities


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

Branch: refs/heads/yeoman-work
Commit: 46698ed4a41dc1bfe4977d9b1be7fd0611440dd6
Parents: 3c3cb00
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:49:16 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:49:16 2017 +0200

----------------------------------------------------------------------
 .../identity/DefaultIdentityGeneratorAssembler.java      |  9 +++++----
 .../serialization/DefaultSerializationAssembler.java     |  6 ++++--
 .../bootstrap/unitofwork/DefaultUnitOfWorkAssembler.java | 11 +++++++----
 3 files changed, 16 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/46698ed4/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/identity/DefaultIdentityGeneratorAssembler.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/identity/DefaultIdentityGeneratorAssembler.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/identity/DefaultIdentityGeneratorAssembler.java
index e50ec45..923f3cd 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/identity/DefaultIdentityGeneratorAssembler.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/identity/DefaultIdentityGeneratorAssembler.java
@@ -22,17 +22,18 @@ package org.apache.polygene.bootstrap.identity;
 import org.apache.polygene.api.identity.IdentityGenerator;
 import org.apache.polygene.api.identity.UuidGeneratorMixin;
 import org.apache.polygene.bootstrap.Assembler;
-import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 
 public class DefaultIdentityGeneratorAssembler
     implements Assembler
 {
+    public static final String IDENTITY = "default-identity-generator";
 
     @Override
-    public void assemble(ModuleAssembly module)
-            throws AssemblyException
+    public void assemble( ModuleAssembly module )
     {
-        module.services(IdentityGenerator.class).withMixins(UuidGeneratorMixin.class);
+        module.services( IdentityGenerator.class )
+              .withMixins( UuidGeneratorMixin.class )
+              .identifiedBy( IDENTITY );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/46698ed4/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/serialization/DefaultSerializationAssembler.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/serialization/DefaultSerializationAssembler.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/serialization/DefaultSerializationAssembler.java
index db9d0a6..048764d 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/serialization/DefaultSerializationAssembler.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/serialization/DefaultSerializationAssembler.java
@@ -22,7 +22,6 @@ import org.apache.polygene.api.serialization.Deserializer;
 import org.apache.polygene.api.serialization.Serialization;
 import org.apache.polygene.api.serialization.Serializer;
 import org.apache.polygene.bootstrap.Assembler;
-import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.serialization.javaxjson.JavaxJsonAdapters;
 import org.apache.polygene.serialization.javaxjson.JavaxJsonFactories;
@@ -34,8 +33,10 @@ import org.apache.polygene.spi.serialization.JsonSerializer;
 public class DefaultSerializationAssembler
     implements Assembler
 {
+    public static final String IDENTITY = "default-serialization";
+
     @Override
-    public void assemble( ModuleAssembly module ) throws AssemblyException
+    public void assemble( ModuleAssembly module )
     {
         module.services( JavaxJsonSerialization.class )
               .withTypes( Serialization.class,
@@ -45,6 +46,7 @@ public class DefaultSerializationAssembler
                           JsonSerializer.class, JsonDeserializer.class,
                           JavaxJsonAdapters.class,
                           JavaxJsonFactories.class )
+              .identifiedBy( IDENTITY )
               .taggedWith( Serialization.Format.JSON );
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/46698ed4/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/unitofwork/DefaultUnitOfWorkAssembler.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/unitofwork/DefaultUnitOfWorkAssembler.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/unitofwork/DefaultUnitOfWorkAssembler.java
index 6383b75..47c5839 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/unitofwork/DefaultUnitOfWorkAssembler.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/unitofwork/DefaultUnitOfWorkAssembler.java
@@ -29,19 +29,22 @@ import org.apache.polygene.bootstrap.ModuleAssembly;
 public class DefaultUnitOfWorkAssembler
     implements Assembler
 {
+    public static final String IDENTITY = "default-uow-factory";
+
     @Override
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
         Class factoryMixin = loadMixinClass( "org.apache.polygene.runtime.unitofwork.UnitOfWorkFactoryMixin" );
-        module.services( UnitOfWorkFactory.class ).withMixins( factoryMixin );
+        module.services( UnitOfWorkFactory.class )
+              .withMixins( factoryMixin )
+              .identifiedBy( IDENTITY );
 
         Class uowMixin = loadMixinClass( "org.apache.polygene.runtime.unitofwork.ModuleUnitOfWork" );
-        module.transients( UnitOfWork.class ).withMixins( uowMixin );
+        module.transients( UnitOfWork.class )
+              .withMixins( uowMixin );
     }
 
     private Class<?> loadMixinClass( String name )
-        throws AssemblyException
     {
         try
         {


[03/33] polygene-java git commit: build: fix maven artifacts upload

Posted by ni...@apache.org.
build: fix maven artifacts upload


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

Branch: refs/heads/yeoman-work
Commit: 3de1c9c2304ce4b8d8710b08a9ffa85149d8df0c
Parents: 3f76f6e
Author: Paul Merlin <pa...@apache.org>
Authored: Tue May 16 14:12:01 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Tue May 16 14:12:01 2017 +0200

----------------------------------------------------------------------
 .../gradle/code/PublishingPlugin.groovy         | 27 +++++++++++++-------
 1 file changed, 18 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/3de1c9c2/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
index 177d865..fbbb42e 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/PublishingPlugin.groovy
@@ -18,6 +18,7 @@
 package org.apache.polygene.gradle.code
 
 import groovy.transform.CompileStatic
+import groovy.transform.TypeCheckingMode
 import org.apache.polygene.gradle.structure.release.ReleaseSpecExtension
 import org.gradle.api.GradleException
 import org.gradle.api.Plugin
@@ -26,7 +27,7 @@ import org.gradle.api.artifacts.maven.MavenDeployer
 import org.gradle.api.artifacts.maven.MavenDeployment
 import org.gradle.api.internal.plugins.DslObject
 import org.gradle.api.plugins.MavenRepositoryHandlerConvention
-import org.gradle.api.publication.maven.internal.deployer.BaseMavenDeployer
+import org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer
 import org.gradle.api.publication.maven.internal.deployer.MavenRemoteRepository
 import org.gradle.api.tasks.Upload
 import org.gradle.plugins.signing.Sign
@@ -124,6 +125,7 @@ class PublishingPlugin implements Plugin<Project>
     signArchives.onlyIf { !project.findProperty( 'skipSigning' ) }
   }
 
+  @CompileStatic( TypeCheckingMode.SKIP )
   private static void configureUploadArchives( Project project, Config config )
   {
     project.plugins.apply 'maven'
@@ -149,13 +151,20 @@ class PublishingPlugin implements Plugin<Project>
       }
     }
     mavenDeployer.configuration = project.configurations.getByName( 'deployersJars' )
-    def repository = config.releases ? mavenDeployer.repository : mavenDeployer.snapshotRepository
-    repository.id = config.repositoryName
-    repository.url = config.repositoryUrl
+    def repoCoordinates = [ id: config.repositoryName, url: config.repositoryUrl ] as Map
+    def repoCredentials = [ userName: config.username, password: config.password ] as Map
+    def repo = mavenDeployer.createRepository(repoCoordinates)
     if( config.username )
     {
-      repository.authentication.userName = config.username
-      repository.authentication.password = config.password
+      ( repo as MavenRemoteRepository ).authentication( repoCredentials )
+    }
+    if( config.releases )
+    {
+      mavenDeployer.repository = repo
+    }
+    else
+    {
+      mavenDeployer.snapshotRepository = repo
     }
   }
 
@@ -192,14 +201,14 @@ class PublishingPlugin implements Plugin<Project>
     project.plugins.apply 'maven-publish-auth'
   }
 
-  private static BaseMavenDeployer getMavenDeployer( Upload uploadTask )
+  private static DefaultGroovyMavenDeployer getMavenDeployer( Upload uploadTask )
   {
     // TODO Remove use of Gradle internals
     // DslObject to get the Upload task convention
-    // MavenRepositoryHandlerConvention & BaseMavenDeployer to configure Wagon, Authentication and Signing
+    // MavenRepositoryHandlerConvention & DefaultGroovyMavenDeployer to configure Wagon, Authentication and Signing
     def repositoriesConvention = new DslObject( uploadTask.repositories )
       .getConvention()
       .getPlugin( MavenRepositoryHandlerConvention )
-    return repositoriesConvention.mavenDeployer() as BaseMavenDeployer
+    return repositoriesConvention.mavenDeployer() as DefaultGroovyMavenDeployer
   }
 }


[30/33] polygene-java git commit: Cassandra ES is not an MapEntityStore, as testcase makes one think.

Posted by ni...@apache.org.
Cassandra ES is not an MapEntityStore, as testcase makes one think.

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: 563f2254afa95554cb83c26ac2b23b100b9fafa4
Parents: 5d91b65
Author: niclas <ni...@hedhman.org>
Authored: Tue May 23 08:00:32 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Tue May 23 08:00:32 2017 +0800

----------------------------------------------------------------------
 .../cassandra/CassandraEntityStoreTest.java     | 93 ++++++++++++++++++++
 .../cassandra/CassandraMapEntityStoreTest.java  | 93 --------------------
 2 files changed, 93 insertions(+), 93 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/563f2254/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
new file mode 100644
index 0000000..bead8cb
--- /dev/null
+++ b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
@@ -0,0 +1,93 @@
+/*
+ *  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.entitystore.cassandra;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.cassandra.assembly.CassandraEntityStoreAssembler;
+import org.apache.polygene.test.EntityTestAssembler;
+import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.apache.polygene.test.entity.CanRemoveAll;
+import org.apache.polygene.test.internal.DockerRule;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Test the CassandraEntityStoreService.
+ * <p>Installing Cassandra and starting it should suffice as the test use Cassandra defaults: 127.0.0.1:3000</p>
+ */
+public class CassandraEntityStoreTest
+    extends AbstractEntityStoreTest
+{
+    @ClassRule
+    public static final DockerRule DOCKER = new DockerRule( "cassandra", "Starting listening for CQL clients" );
+
+    @Override
+    // START SNIPPET: assembly
+    public void assemble( ModuleAssembly module )
+        throws AssemblyException
+    {
+        // END SNIPPET: assembly
+        super.assemble( module );
+
+        ModuleAssembly config = module.layer().module( "config" );
+        new EntityTestAssembler().assemble( config );
+        module.services( CassandraEntityStoreService.class ).withTypes( CanRemoveAll.class ).withMixins( EmptyCassandraTableMixin.class );
+
+        // START SNIPPET: assembly
+        new CassandraEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module );
+        // END SNIPPET: assembly
+
+        CassandraEntityStoreConfiguration cassandraConfig = config.forMixin( CassandraEntityStoreConfiguration.class ).declareDefaults();
+        String host = DOCKER.getDockerHost();
+        int port = DOCKER.getExposedContainerPort( "9042/tcp" );
+        System.out.println("Cassandra: " + host + ":" + port);
+        cassandraConfig.hostnames().set( host + ':' + port );
+        cassandraConfig.createIfMissing().set( true );
+        // START SNIPPET: assembly
+    }
+    // END SNIPPET: assembly
+
+    @Override
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+    }
+
+    @Override
+    public void tearDown()
+        throws Exception
+    {
+        CanRemoveAll cleaner = serviceFinder.findService( CanRemoveAll.class ).get();
+        cleaner.removeAll();
+        super.tearDown();
+    }
+
+    @Ignore( "POLYGENE-256" )
+    @Test
+    @Override
+    public void givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState()
+    {
+        super.givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState();
+    }
+}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/563f2254/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
deleted file mode 100644
index dd752d9..0000000
--- a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraMapEntityStoreTest.java
+++ /dev/null
@@ -1,93 +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.entitystore.cassandra;
-
-import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.AssemblyException;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.cassandra.assembly.CassandraEntityStoreAssembler;
-import org.apache.polygene.test.EntityTestAssembler;
-import org.apache.polygene.test.entity.AbstractEntityStoreTest;
-import org.apache.polygene.test.entity.CanRemoveAll;
-import org.apache.polygene.test.internal.DockerRule;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Test the CassandraEntityStoreService.
- * <p>Installing Cassandra and starting it should suffice as the test use Cassandra defaults: 127.0.0.1:3000</p>
- */
-public class CassandraMapEntityStoreTest
-    extends AbstractEntityStoreTest
-{
-    @ClassRule
-    public static final DockerRule DOCKER = new DockerRule( "cassandra", "Starting listening for CQL clients" );
-
-    @Override
-    // START SNIPPET: assembly
-    public void assemble( ModuleAssembly module )
-        throws AssemblyException
-    {
-        // END SNIPPET: assembly
-        super.assemble( module );
-
-        ModuleAssembly config = module.layer().module( "config" );
-        new EntityTestAssembler().assemble( config );
-        module.services( CassandraEntityStoreService.class ).withTypes( CanRemoveAll.class ).withMixins( EmptyCassandraTableMixin.class );
-
-        // START SNIPPET: assembly
-        new CassandraEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module );
-        // END SNIPPET: assembly
-
-        CassandraEntityStoreConfiguration cassandraConfig = config.forMixin( CassandraEntityStoreConfiguration.class ).declareDefaults();
-        String host = DOCKER.getDockerHost();
-        int port = DOCKER.getExposedContainerPort( "9042/tcp" );
-        System.out.println("Cassandra: " + host + ":" + port);
-        cassandraConfig.hostnames().set( host + ':' + port );
-        cassandraConfig.createIfMissing().set( true );
-        // START SNIPPET: assembly
-    }
-    // END SNIPPET: assembly
-
-    @Override
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-    }
-
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        CanRemoveAll cleaner = serviceFinder.findService( CanRemoveAll.class ).get();
-        cleaner.removeAll();
-        super.tearDown();
-    }
-
-    @Ignore( "POLYGENE-256" )
-    @Test
-    @Override
-    public void givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState()
-    {
-        super.givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState();
-    }
-}


[15/33] polygene-java git commit: Remove unused images from website resources

Posted by ni...@apache.org.
Remove unused images from website resources


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

Branch: refs/heads/yeoman-work
Commit: c6fd174724a2c6232a0cf922424a1b9b26d437a2
Parents: 46698ed
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 16:49:33 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 16:49:33 2017 +0200

----------------------------------------------------------------------
 .../docs/website/resources/images/cloudbees.png    | Bin 7493 -> 0 bytes
 .../resources/images/tools-entity-viewer.png       | Bin 52322 -> 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/c6fd1747/manual/src/docs/website/resources/images/cloudbees.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/cloudbees.png b/manual/src/docs/website/resources/images/cloudbees.png
deleted file mode 100644
index b9d0c94..0000000
Binary files a/manual/src/docs/website/resources/images/cloudbees.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/c6fd1747/manual/src/docs/website/resources/images/tools-entity-viewer.png
----------------------------------------------------------------------
diff --git a/manual/src/docs/website/resources/images/tools-entity-viewer.png b/manual/src/docs/website/resources/images/tools-entity-viewer.png
deleted file mode 100644
index d26d68b..0000000
Binary files a/manual/src/docs/website/resources/images/tools-entity-viewer.png and /dev/null differ


[06/33] polygene-java git commit: Update Gradle Wrapper

Posted by ni...@apache.org.
Update Gradle Wrapper


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

Branch: refs/heads/yeoman-work
Commit: e3c5f7c20cbaf4532c1f5c2939e54471f26c50bf
Parents: 40522f6
Author: Paul Merlin <pa...@apache.org>
Authored: Wed May 17 12:28:21 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Wed May 17 12:28:21 2017 +0200

----------------------------------------------------------------------
 gradle/wrapper/gradle-wrapper.jar | Bin 54227 -> 54416 bytes
 gradlew                           |   6 +++---
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e3c5f7c2/gradle/wrapper/gradle-wrapper.jar
----------------------------------------------------------------------
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 51288f9..f662fc6 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e3c5f7c2/gradlew
----------------------------------------------------------------------
diff --git a/gradlew b/gradlew
index 4453cce..cccdd3d 100755
--- a/gradlew
+++ b/gradlew
@@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS=""
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD="maximum"
 
-warn ( ) {
+warn () {
     echo "$*"
 }
 
-die ( ) {
+die () {
     echo
     echo "$*"
     echo
@@ -155,7 +155,7 @@ if $cygwin ; then
 fi
 
 # Escape application args
-save ( ) {
+save () {
     for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
     echo " "
 }


[32/33] polygene-java git commit: POLYGENE-256 - Fixed clear() method in Cassandra many/named associations (and some edge-case for properties and associations).

Posted by ni...@apache.org.
POLYGENE-256 - Fixed clear() method in Cassandra many/named associations (and some edge-case for properties and associations).

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: 5e925a57fcf90d9516cbad5d2de987100942fb70
Parents: 51a0c08
Author: niclas <ni...@hedhman.org>
Authored: Tue May 23 08:48:41 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Tue May 23 08:48:41 2017 +0800

----------------------------------------------------------------------
 .../entitystore/cassandra/CassandraEntityStoreMixin.java  |  9 ++++-----
 .../entitystore/cassandra/CassandraEntityStoreTest.java   | 10 ----------
 2 files changed, 4 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5e925a57/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
index 80b638a..be0d226 100644
--- a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
+++ b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
@@ -171,7 +171,7 @@ public class CassandraEntityStoreMixin
                     try
                     {
                         storedValue = storedProperties.get( propertyDescriptor.qualifiedName().name() );
-                        if( storedValue == null )
+                        if( storedValue == null || storedValue.isEmpty() )
                         {
                             properties.remove( propertyDescriptor.qualifiedName() );
                         }
@@ -200,7 +200,7 @@ public class CassandraEntityStoreMixin
                     try
                     {
                         String storedValue = storedAssociations.get( associationType.qualifiedName().name() );
-                        EntityReference value = storedValue == null
+                        EntityReference value = storedValue == null || storedValue.isEmpty()
                                                 ? null
                                                 : EntityReference.parseEntityReference( storedValue );
                         associations.put( associationType.qualifiedName(), value );
@@ -224,7 +224,7 @@ public class CassandraEntityStoreMixin
                     try
                     {
                         String storedValue = storedManyassociation.get( manyAssociationType.qualifiedName().name() );
-                        if( storedValue != null )
+                        if( storedValue != null && !storedValue.isEmpty() )
                         {
                             String[] refs = storedValue.split( "," );
                             for( String value : refs )
@@ -253,7 +253,7 @@ public class CassandraEntityStoreMixin
                     try
                     {
                         String storedValues = storedNamedassociation.get( namedAssociationType.qualifiedName().name() );
-                        if( storedValues != null )
+                        if( storedValues != null && !storedValues.isEmpty() )
                         {
                             @SuppressWarnings( "unchecked" )
                             Map<String, String> namedRefs = new ObjectMapper().readValue( storedValues, Map.class );
@@ -345,7 +345,6 @@ public class CassandraEntityStoreMixin
                                 many,
                                 named );
                             ResultSet result = cluster.cassandraClientSession().execute( statement );
-                            System.out.println( result );
                         } );
                 String ids = stream( state.spliterator(), false )
                     .filter( entity -> entity.status() == EntityStatus.REMOVED )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5e925a57/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
index bead8cb..ca5b946 100644
--- a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
+++ b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
@@ -28,8 +28,6 @@ import org.apache.polygene.test.entity.AbstractEntityStoreTest;
 import org.apache.polygene.test.entity.CanRemoveAll;
 import org.apache.polygene.test.internal.DockerRule;
 import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
 
 /**
  * Test the CassandraEntityStoreService.
@@ -82,12 +80,4 @@ public class CassandraEntityStoreTest
         cleaner.removeAll();
         super.tearDown();
     }
-
-    @Ignore( "POLYGENE-256" )
-    @Test
-    @Override
-    public void givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState()
-    {
-        super.givenAssociationsModifiedWhenUnitOfWorkCompletesThenStoreState();
-    }
 }


[11/33] polygene-java git commit: Remove Gradle Wrapper files from generator-polygene sources

Posted by ni...@apache.org.
Remove Gradle Wrapper files from generator-polygene sources

Add a Gradle task to copy the currently in-use Gradle Wrapper files
into generator-polygene sources.
This also means that you have to run it before running npm commands out
of our Gradle build:

./gradlew :tools:generator-polygene:prepareTemplateGradleWrapper

Or in short:

./gradlew :to:g:prepTGW

The build will also automatically run this task prior to running the
generator tests.

See tools/generator-polygene/build.gradle


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

Branch: refs/heads/yeoman-work
Commit: e996ce2e78b69b5591fe25ed32c58ba473134622
Parents: fb88c73
Author: Paul Merlin <pa...@apache.org>
Authored: Sun May 21 13:16:42 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun May 21 13:16:42 2017 +0200

----------------------------------------------------------------------
 .../distributions/DistributionsPlugin.groovy    |  11 +-
 .../docs/tutorials/howto-releasing-apache.txt   |   4 +-
 tools/generator-polygene/.gitignore             |   1 +
 .../app/templates/buildtool/build.js            |   8 +-
 .../app/templates/buildtool/gradle-wrapper.jar_ | Bin 51348 -> 0 bytes
 .../buildtool/gradle-wrapper.properties_        |  24 ---
 .../app/templates/buildtool/gradlew-bat.tmpl    | 109 -----------
 .../app/templates/buildtool/gradlew.tmpl        | 183 -------------------
 tools/generator-polygene/build.gradle           |  24 ++-
 tools/generator-polygene/test/generator_test.js |   2 +-
 10 files changed, 42 insertions(+), 324 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
index 2a1ea16..1dfd88b 100644
--- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy
@@ -19,7 +19,6 @@ package org.apache.polygene.gradle.structure.distributions
 
 import groovy.transform.CompileStatic
 import groovy.transform.TypeCheckingMode
-import org.apache.commons.io.FileUtils
 import org.apache.polygene.gradle.BasePlugin
 import org.apache.polygene.gradle.TaskGroups
 import org.apache.polygene.gradle.code.PublishedCodePlugin
@@ -150,6 +149,7 @@ class DistributionsPlugin implements Plugin<Project>
       spec.exclude '**/build/**'             // Build output
       spec.exclude 'gradlew*'                // Gradle wrapper scripts
       spec.exclude 'gradle/wrapper/**'       // Gradle wrapper
+      spec.exclude 'tools/generator-polygene/app/templates/buildtool/wrapper' // Project Generator Gradle wrapper
       spec.exclude '**/.gradle/**'           // Gradle caches
       spec.exclude '**/.gradletasknamecache' // Gradle shell completion cache
       spec.exclude '**/node_modules/**'      // Node's node_module dir
@@ -307,6 +307,15 @@ class DistributionsPlugin implements Plugin<Project>
         assertFileAbsent 'gradle/wrapper/gradle-wrapper.jar'
         assertFileAbsent 'gradle/wrapper/gradle-wrapper.properties'
         assertFilePresent 'gradle/wrapper-install/build.gradle'
+
+        def wrapperFiles = []
+        unpackedSrcDistDir.traverse { File file ->
+          if(file.file &&
+             (file.name.contains( 'gradle-wrapper' ) || file.name.contains('gradlew'))) {
+            wrapperFiles << file
+          }
+        }
+        assert wrapperFiles.empty
       }
     }
     project.tasks.create( TaskNames.BUILD_SOURCE_DIST, ExecLogged, { ExecLogged task ->

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/manual/src/docs/tutorials/howto-releasing-apache.txt
----------------------------------------------------------------------
diff --git a/manual/src/docs/tutorials/howto-releasing-apache.txt b/manual/src/docs/tutorials/howto-releasing-apache.txt
index 58b3873..9c2ae62 100644
--- a/manual/src/docs/tutorials/howto-releasing-apache.txt
+++ b/manual/src/docs/tutorials/howto-releasing-apache.txt
@@ -342,7 +342,9 @@ Publish the new version of the `generator-polygene` NPM package tagged as `beta`
 
 [source,shell]
 ----
-cd polygene-java/tools/generator-polygene
+cd polygene-java
+./gradlew tools:generator-polygene:prepareTemplateGradleWrapper
+cd tools/generator-polygene
 npm publish --tag beta
 ----
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/.gitignore
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/.gitignore b/tools/generator-polygene/.gitignore
new file mode 100644
index 0000000..dbd0a40
--- /dev/null
+++ b/tools/generator-polygene/.gitignore
@@ -0,0 +1 @@
+app/templates/buildtool/wrapper
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/app/templates/buildtool/build.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/build.js b/tools/generator-polygene/app/templates/buildtool/build.js
index 630908f..17c0a68 100644
--- a/tools/generator-polygene/app/templates/buildtool/build.js
+++ b/tools/generator-polygene/app/templates/buildtool/build.js
@@ -27,11 +27,11 @@ module.exports = {
         }
         p.copyTemplate(p.ctx, 'buildtool/gradle-root.tmpl', 'build.gradle');
         p.copyTemplate(p.ctx, 'buildtool/settings.tmpl', 'settings.gradle');
-        p.copyTemplate(p.ctx, 'buildtool/gradlew.tmpl', 'gradlew');
-        p.copyTemplate(p.ctx, 'buildtool/gradlew-bat.tmpl', 'gradlew.bat');
+        p.copyTemplate(p.ctx, 'buildtool/wrapper/gradlew.tmpl', 'gradlew');
+        p.copyTemplate(p.ctx, 'buildtool/wrapper/gradlew-bat.tmpl', 'gradlew.bat');
 
-        p.ctx.fs.copy(p.ctx.templatePath('buildtool/gradle-wrapper.jar_'), p.ctx.destinationPath('gradle/wrapper/gradle-wrapper.jar'));
-        p.ctx.fs.copy(p.ctx.templatePath('buildtool/gradle-wrapper.properties_'), p.ctx.destinationPath('gradle/wrapper/gradle-wrapper.properties'));
+        p.ctx.fs.copy(p.ctx.templatePath('buildtool/wrapper/gradle-wrapper.jar_'), p.ctx.destinationPath('gradle/wrapper/gradle-wrapper.jar'));
+        p.ctx.fs.copy(p.ctx.templatePath('buildtool/wrapper/gradle-wrapper.properties_'), p.ctx.destinationPath('gradle/wrapper/gradle-wrapper.properties'));
     }
 };
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.jar_
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.jar_ b/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.jar_
deleted file mode 100644
index 0087cd3..0000000
Binary files a/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.jar_ and /dev/null differ

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.properties_
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.properties_ b/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.properties_
deleted file mode 100644
index 63a2f23..0000000
--- a/tools/generator-polygene/app/templates/buildtool/gradle-wrapper.properties_
+++ /dev/null
@@ -1,24 +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.
- *
- *
--%>
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/app/templates/buildtool/gradlew-bat.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradlew-bat.tmpl b/tools/generator-polygene/app/templates/buildtool/gradlew-bat.tmpl
deleted file mode 100644
index 3d06f18..0000000
--- a/tools/generator-polygene/app/templates/buildtool/gradlew-bat.tmpl
+++ /dev/null
@@ -1,109 +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.
- *
- *
--%>
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem  Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/app/templates/buildtool/gradlew.tmpl
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/buildtool/gradlew.tmpl b/tools/generator-polygene/app/templates/buildtool/gradlew.tmpl
deleted file mode 100755
index 11c35cc..0000000
--- a/tools/generator-polygene/app/templates/buildtool/gradlew.tmpl
+++ /dev/null
@@ -1,183 +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.
- *
- *
--%>
-#!/usr/bin/env bash
-
-##############################################################################
-##
-##  Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
-    echo "$*"
-}
-
-die ( ) {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-esac
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
-    [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/build.gradle
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/build.gradle b/tools/generator-polygene/build.gradle
index 06eaa0e..c4589b7 100644
--- a/tools/generator-polygene/build.gradle
+++ b/tools/generator-polygene/build.gradle
@@ -36,6 +36,28 @@ def setsCurrentVersionToPackageJson = task( 'setsCurrentVersionToPackageJson' )
 }
 
 /**
+ * Copy current Gradle Wrapper into generator templates.
+ *
+ * This is because we don't store the Gradle Wrapper in this project in order to
+ * - keep it in synch with the Gradle Wrapper used to build the whole Polygene SDK
+ * - don't include the Gradle Wrapper in the source distribution
+ */
+def prepareTemplateGradleWrapper = task( 'prepareTemplateGradleWrapper', type: Copy ) {
+  from( rootProject.rootDir ) {
+    include( 'gradlew' )
+    rename { 'gradlew.tmpl' }
+  }
+  from( rootProject.rootDir ) {
+    include( 'gradlew.bat' )
+    rename { 'gradlew-bat.tmpl' }
+  }
+  from( rootProject.file( 'gradle/wrapper/' ) ) {
+    rename { "${ it }_" }
+  }
+  into( 'app/templates/buildtool/wrapper' )
+}
+
+/**
  * Generate a Gradle init script that registers a maven repository with the currently built artifacts.
  * Used by the generator tests.
  */
@@ -61,7 +83,7 @@ def generateStageMavenRepositoryInitScript = task( 'generateStageMavenRepository
  * Runs the generator tests.
  */
 def npmTest = task( 'npmTest', type: NpmTask ) {
-  dependsOn 'npmInstall', setsCurrentVersionToPackageJson, generateStageMavenRepositoryInitScript
+  dependsOn 'npmInstall', setsCurrentVersionToPackageJson, generateStageMavenRepositoryInitScript, prepareTemplateGradleWrapper
   description = 'Runs Polygene generator tests'
   args = [ 'run', 'test' ]
   inputs.file file( 'package.json' )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e996ce2e/tools/generator-polygene/test/generator_test.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/test/generator_test.js b/tools/generator-polygene/test/generator_test.js
index d4ee454..6589ef4 100644
--- a/tools/generator-polygene/test/generator_test.js
+++ b/tools/generator-polygene/test/generator_test.js
@@ -148,7 +148,7 @@ function test(appType, entityStore, indexing, serialization, caching, metrics, f
         var testDirName = testName.replace(new RegExp('[, ]','g'), '_');
         it(testName,
             function () {
-                this.timeout(10000);
+                this.timeout(15000);
                 return helpers.run(path.join(__dirname, '../app'))
                     .inDir(path.join(__dirname, '../build/npm-test/'+testDirName))
                     .withPrompts({


[33/33] polygene-java git commit: POLYGENE-256 - Ooops... over-did it. Empty strings must be allowed in properties.

Posted by ni...@apache.org.
POLYGENE-256 - Ooops... over-did it. Empty strings must be allowed in properties.

Signed-off-by: niclas <ni...@hedhman.org>


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

Branch: refs/heads/yeoman-work
Commit: 37ada0d570db6d43aab104fa3ef69e91f7e244f6
Parents: 5e925a5
Author: niclas <ni...@hedhman.org>
Authored: Tue May 23 09:25:44 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Tue May 23 09:25:44 2017 +0800

----------------------------------------------------------------------
 .../polygene/entitystore/cassandra/CassandraEntityStoreMixin.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/37ada0d5/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
index be0d226..fe078d5 100644
--- a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
+++ b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
@@ -171,7 +171,7 @@ public class CassandraEntityStoreMixin
                     try
                     {
                         storedValue = storedProperties.get( propertyDescriptor.qualifiedName().name() );
-                        if( storedValue == null || storedValue.isEmpty() )
+                        if( storedValue == null )
                         {
                             properties.remove( propertyDescriptor.qualifiedName() );
                         }