You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/10/25 13:45:16 UTC

[01/28] git commit: [maven-release-plugin] prepare release isis-1.3.0

Updated Branches:
  refs/heads/master 74c76ef28 -> 1a2006543


[maven-release-plugin] prepare release isis-1.3.0


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

Branch: refs/heads/master
Commit: bd56429732f94ca0c983a459f8f55cdb07d7c4f7
Parents: 74c76ef
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 12:13:01 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 12:13:01 2013 +0100

----------------------------------------------------------------------
 core/applib/pom.xml                |  2 +-
 core/bytecode-cglib/pom.xml        |  2 +-
 core/bytecode-javassist/pom.xml    |  4 +--
 core/integtestsupport/pom.xml      |  2 +-
 core/log4j/pom.xml                 |  2 +-
 core/metamodel/pom.xml             |  2 +-
 core/objectstore-inmemory/pom.xml  |  2 +-
 core/pom.xml                       | 48 ++++++++++++++++-----------------
 core/profilestore-inmemory/pom.xml |  2 +-
 core/runtime/pom.xml               |  2 +-
 core/security-noop/pom.xml         |  2 +-
 core/specsupport/pom.xml           |  2 +-
 core/tck/pom.xml                   |  2 +-
 core/tck/tck-dom/pom.xml           |  2 +-
 core/tck/tck-fixture/pom.xml       |  2 +-
 core/unittestsupport/pom.xml       |  2 +-
 core/webserver/pom.xml             |  2 +-
 core/wrapper/pom.xml               |  2 +-
 18 files changed, 42 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/applib/pom.xml
----------------------------------------------------------------------
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index de85b52..c893525 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-		<version>1.3.0-SNAPSHOT</version>
+		<version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-applib</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/bytecode-cglib/pom.xml
----------------------------------------------------------------------
diff --git a/core/bytecode-cglib/pom.xml b/core/bytecode-cglib/pom.xml
index 604b97d..26d7b75 100644
--- a/core/bytecode-cglib/pom.xml
+++ b/core/bytecode-cglib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-		<version>1.3.0-SNAPSHOT</version>
+		<version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-bytecode-cglib</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/bytecode-javassist/pom.xml
----------------------------------------------------------------------
diff --git a/core/bytecode-javassist/pom.xml b/core/bytecode-javassist/pom.xml
index 6267043..7fde4ce 100644
--- a/core/bytecode-javassist/pom.xml
+++ b/core/bytecode-javassist/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-		<version>1.3.0-SNAPSHOT</version>
+		<version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-bytecode-javassist</artifactId>
@@ -39,7 +39,7 @@
         <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/isis/trunk/runtimes/dflt/bytecode/javassist/</connection>
         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/isis/trunk$/{relativeUrl}</developerConnection>
         <url>http://svn.apache.org/repos/asf/incubator/isis/trunk/runtimes/dflt/bytecode/javassist/</url>
-      <tag>HEAD</tag>
+      <tag>isis-1.3.0</tag>
   </scm>
 
     <!-- used in Site generation for relative references. -->

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/integtestsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/integtestsupport/pom.xml b/core/integtestsupport/pom.xml
index bfac1d2..b347d72 100644
--- a/core/integtestsupport/pom.xml
+++ b/core/integtestsupport/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-integtestsupport</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/log4j/pom.xml
----------------------------------------------------------------------
diff --git a/core/log4j/pom.xml b/core/log4j/pom.xml
index f146e4c..57d014d 100644
--- a/core/log4j/pom.xml
+++ b/core/log4j/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
     </parent>
 
     <artifactId>isis-core-log4j</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/core/metamodel/pom.xml b/core/metamodel/pom.xml
index b5fb279..7859d2a 100644
--- a/core/metamodel/pom.xml
+++ b/core/metamodel/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
     </parent>
 
     <artifactId>isis-core-metamodel</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/objectstore-inmemory/pom.xml
----------------------------------------------------------------------
diff --git a/core/objectstore-inmemory/pom.xml b/core/objectstore-inmemory/pom.xml
index 885cc70..68ae256 100644
--- a/core/objectstore-inmemory/pom.xml
+++ b/core/objectstore-inmemory/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-objectstore</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index a497e4e..8df66fb 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -21,7 +21,7 @@
 
     <groupId>org.apache.isis.core</groupId>
     <artifactId>isis</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.3.0</version>
     
     <packaging>pom</packaging>
 
@@ -87,7 +87,7 @@
         <connection>scm:git:http://git.apache.org/isis.git/core</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/isis.git/trunk/framework/</developerConnection>
         <url>git://git.apache.org/isis.git/core</url>
-      <tag>HEAD</tag>
+      <tag>isis-1.3.0</tag>
   </scm>
 
     <!-- used in Site generation for relative references. -->
@@ -1013,13 +1013,13 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-unittestsupport</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <!-- not scope=test, because referenced by some sql-tests-common under compile scope -->
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-unittestsupport</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1028,14 +1028,14 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-applib</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-applib</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1044,7 +1044,7 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-log4j</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
@@ -1053,14 +1053,14 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-metamodel</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-metamodel</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1069,12 +1069,12 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-runtime</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-runtime</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1083,33 +1083,33 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-bytecode-cglib</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-bytecode-javassist</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
 
             <!-- webserver -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-webserver</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
 
             <!-- specsupport -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-specsupport</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
 
             <!-- integtestsupport -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-integtestsupport</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <!-- not scope=test, because referenced by some sql-tests-common under compile scope -->
             </dependency>
 
@@ -1117,7 +1117,7 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-wrapper</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
 
 
@@ -1125,24 +1125,24 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-objectstore</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-objectstore</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-profilestore</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-security</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
 
 
@@ -1151,17 +1151,17 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-tck</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-tck-dom</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-tck-fixture</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
             </dependency>
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/profilestore-inmemory/pom.xml
----------------------------------------------------------------------
diff --git a/core/profilestore-inmemory/pom.xml b/core/profilestore-inmemory/pom.xml
index f38ef21..a6045be 100644
--- a/core/profilestore-inmemory/pom.xml
+++ b/core/profilestore-inmemory/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-profilestore</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/runtime/pom.xml
----------------------------------------------------------------------
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 12eacb1..55dc3f7 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-runtime</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/security-noop/pom.xml
----------------------------------------------------------------------
diff --git a/core/security-noop/pom.xml b/core/security-noop/pom.xml
index 9281dc2..7eaf858 100644
--- a/core/security-noop/pom.xml
+++ b/core/security-noop/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-security</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/specsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/specsupport/pom.xml b/core/specsupport/pom.xml
index 9b6cbd7..b55bfee 100644
--- a/core/specsupport/pom.xml
+++ b/core/specsupport/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
     </parent>
 
     <artifactId>isis-core-specsupport</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/tck/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/pom.xml b/core/tck/pom.xml
index ec63203..f1c9709 100644
--- a/core/tck/pom.xml
+++ b/core/tck/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
     </parent>
 
     <artifactId>isis-core-tck</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/tck/tck-dom/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/tck-dom/pom.xml b/core/tck/tck-dom/pom.xml
index 9d0c01b..cf4aa9a 100644
--- a/core/tck/tck-dom/pom.xml
+++ b/core/tck/tck-dom/pom.xml
@@ -22,7 +22,7 @@
 	<parent>
     	<groupId>org.apache.isis.core</groupId>
     	<artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-tck-dom</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/tck/tck-fixture/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/tck-fixture/pom.xml b/core/tck/tck-fixture/pom.xml
index 6dd32d7..b35b620 100644
--- a/core/tck/tck-fixture/pom.xml
+++ b/core/tck/tck-fixture/pom.xml
@@ -22,7 +22,7 @@
     <parent>
     	<groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
     </parent>
 
 	<artifactId>isis-core-tck-fixture</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/unittestsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/unittestsupport/pom.xml b/core/unittestsupport/pom.xml
index e8cfedd..deb5c36 100644
--- a/core/unittestsupport/pom.xml
+++ b/core/unittestsupport/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-unittestsupport</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/webserver/pom.xml
----------------------------------------------------------------------
diff --git a/core/webserver/pom.xml b/core/webserver/pom.xml
index bd49b75..06ee004 100644
--- a/core/webserver/pom.xml
+++ b/core/webserver/pom.xml
@@ -23,7 +23,7 @@
     <parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
     </parent>
 
 	<artifactId>isis-core-webserver</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/bd564297/core/wrapper/pom.xml
----------------------------------------------------------------------
diff --git a/core/wrapper/pom.xml b/core/wrapper/pom.xml
index 69a4c72..a02c3a6 100644
--- a/core/wrapper/pom.xml
+++ b/core/wrapper/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-core-wrapper</artifactId>


[13/28] git commit: [maven-release-plugin] prepare release isis-security-shiro-1.3.0

Posted by da...@apache.org.
[maven-release-plugin] prepare release isis-security-shiro-1.3.0


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

Branch: refs/heads/master
Commit: a773eef138c77689bbac264dc56bb3c07412b86a
Parents: 92a6071
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 22:51:11 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 22:51:11 2013 +0100

----------------------------------------------------------------------
 component/security/shiro/pom.xml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a773eef1/component/security/shiro/pom.xml
----------------------------------------------------------------------
diff --git a/component/security/shiro/pom.xml b/component/security/shiro/pom.xml
index eb48dc3..5137717 100644
--- a/component/security/shiro/pom.xml
+++ b/component/security/shiro/pom.xml
@@ -29,7 +29,7 @@
 
 	<groupId>org.apache.isis.security</groupId>
 	<artifactId>isis-security-shiro</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.3.0</version>
 
 	<name>Isis Shiro Security</name>
 
@@ -104,7 +104,7 @@
 			<dependency>
 			    <groupId>org.apache.isis.security</groupId>
 			    <artifactId>isis-security-shiro</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 			</dependency>
     	</dependencies>
     </dependencyManagement>
@@ -160,4 +160,8 @@
 
 
 	</dependencies>
+
+  <scm>
+    <tag>isis-security-shiro-1.3.0</tag>
+  </scm>
 </project>


[08/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/master
Commit: e82c8c3f0bb5cacdbae628f1b80e637d91954df1
Parents: a600118
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 21:10:27 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 21:10:27 2013 +0100

----------------------------------------------------------------------
 component/viewer/wicket/impl/pom.xml  |  2 +-
 component/viewer/wicket/model/pom.xml |  2 +-
 component/viewer/wicket/pom.xml       | 18 +++++++-----------
 component/viewer/wicket/tck/pom.xml   |  8 ++------
 component/viewer/wicket/ui/pom.xml    |  2 +-
 5 files changed, 12 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e82c8c3f/component/viewer/wicket/impl/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/pom.xml b/component/viewer/wicket/impl/pom.xml
index 8f0aad3..fd6c1f6 100644
--- a/component/viewer/wicket/impl/pom.xml
+++ b/component/viewer/wicket/impl/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-wicket</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<name>Isis Wicket Viewer Implementation</name>

http://git-wip-us.apache.org/repos/asf/isis/blob/e82c8c3f/component/viewer/wicket/model/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/pom.xml b/component/viewer/wicket/model/pom.xml
index e9ed246..a003bb9 100644
--- a/component/viewer/wicket/model/pom.xml
+++ b/component/viewer/wicket/model/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-wicket</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-viewer-wicket-model</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/e82c8c3f/component/viewer/wicket/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/pom.xml b/component/viewer/wicket/pom.xml
index bf02b55..57b36c7 100644
--- a/component/viewer/wicket/pom.xml
+++ b/component/viewer/wicket/pom.xml
@@ -30,7 +30,7 @@
 
 	<groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-wicket</artifactId>
-    <version>1.3.0</version>
+    <version>1.4.0-SNAPSHOT</version>
 
 	<name>Isis Wicket Viewer</name>
 
@@ -105,36 +105,36 @@
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-model</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-model</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-ui</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-ui</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-impl</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-impl</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
@@ -282,8 +282,4 @@
 
 		</dependencies>
 	</dependencyManagement>
-
-  <scm>
-    <tag>isis-viewer-wicket-1.3.0</tag>
-  </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/e82c8c3f/component/viewer/wicket/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/tck/pom.xml b/component/viewer/wicket/tck/pom.xml
index bd2e63e..03d1feb 100644
--- a/component/viewer/wicket/tck/pom.xml
+++ b/component/viewer/wicket/tck/pom.xml
@@ -29,13 +29,13 @@
 
     <groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-wicket-tck</artifactId>
-    <version>1.3.0</version>
+    <version>1.4.0-SNAPSHOT</version>
 
 	<name>Isis Wicket Viewer TCK tests</name>
 
 
 	<properties>
-        <isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
+        <isis-viewer-wicket.version>1.4.0-SNAPSHOT</isis-viewer-wicket.version>
 		<jetty.version>6.1.4</jetty.version>
 		<siteBaseDir>..</siteBaseDir>
 		<relativeUrl>wicket-tck/</relativeUrl>
@@ -115,8 +115,4 @@
         </dependency>
 
 	</dependencies>
-
-  <scm>
-    <tag>isis-viewer-wicket-1.3.0</tag>
-  </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/e82c8c3f/component/viewer/wicket/ui/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/pom.xml b/component/viewer/wicket/ui/pom.xml
index 6b4cb3e..e91eb93 100644
--- a/component/viewer/wicket/ui/pom.xml
+++ b/component/viewer/wicket/ui/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-wicket</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-viewer-wicket-ui</artifactId>


[24/28] git commit: ISIS-437: adding simple archetype

Posted by da...@apache.org.
ISIS-437: adding simple archetype


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/858a04b9
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/858a04b9
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/858a04b9

Branch: refs/heads/master
Commit: 858a04b94a918c05e3dad75ccbbd73488a254153
Parents: 2dd8aee
Author: Dan Haywood <da...@apache.org>
Authored: Tue Oct 22 00:36:23 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Tue Oct 22 00:36:23 2013 +0100

----------------------------------------------------------------------
 .../simple_wicket_restful_jdo/dom/pom.xml       |   2 +-
 .../simple_wicket_restful_jdo/fixture/pom.xml   |   2 +-
 .../integtests/pom.xml                          |   2 +-
 .../simple_wicket_restful_jdo/pom.xml           |  12 +-
 .../simple_wicket_restful_jdo/webapp/pom.xml    |   2 +-
 .../archetype/simple_wicket_restful_jdo/pom.xml |  50 +++
 .../appended-resources/supplemental-models.xml  |  26 ++
 .../META-INF/maven/archetype-metadata.xml       | 151 ++++++++
 .../archetype-resources/dom/log4j.properties    |  44 +++
 .../resources/archetype-resources/dom/pom.xml   | 147 +++++++
 .../dom/src/main/java/META-INF/persistence.xml  |  29 ++
 .../src/main/java/dom/simple/SimpleObject.java  |  81 ++++
 .../java/dom/simple/SimpleObject.layout.json    |  44 +++
 .../src/main/java/dom/simple/SimpleObjects.java |  74 ++++
 .../src/main/java/services/ClockService.java    |  36 ++
 .../src/main/resources/images/SimpleObject.gif  | Bin 0 -> 794 bytes
 .../java/dom/simple/SimpleObjectTest_name.java  |  50 +++
 .../dom/simple/SimpleObjectsTest_create.java    |  79 ++++
 .../dom/simple/SimpleObjectsTest_listAll.java   |  79 ++++
 .../archetype-resources/fixture/.gitignore      |   1 +
 .../archetype-resources/fixture/pom.xml         |  38 ++
 .../main/java/fixture/LogonAsSvenFixture.java   |  33 ++
 .../fixture/simple/SimpleObjectsFixture.java    |  74 ++++
 .../integtests/logging.properties               |  80 ++++
 .../archetype-resources/integtests/pom.xml      | 122 ++++++
 .../integration/SimpleAppSystemInitializer.java |  84 ++++
 .../integration/glue/BootstrappingGlue.java     |  56 +++
 .../integration/glue/CatalogOfFixturesGlue.java |  49 +++
 .../glue/InMemoryDBForSimpleApp.java            |  43 +++
 .../glue/simple/SimpleObjectGlue.java           | 101 +++++
 .../java/integration/specs/simple/RunSpecs.java |  41 ++
 .../SimpleObjectSpec_listAllAndCreate.feature   |  37 ++
 .../integration/tests/SimpleAppIntegTest.java   |  43 +++
 .../SimpleObjectsTest_listAll_and_create.java   |  72 ++++
 .../main/resources/archetype-resources/pom.xml  | 386 +++++++++++++++++++
 .../SimpleApp-no-fixtures-PROTOTYPE.launch      |  26 ++
 .../launch/SimpleApp-no-fixtures-SERVER.launch  |  22 ++
 .../launch/SimpleApp-with-fixtures.launch       |  26 ++
 .../archetype-resources/webapp/lib/.gitignore   |   5 +
 .../archetype-resources/webapp/pom.xml          | 299 ++++++++++++++
 .../ComponentFactoryRegistrarForSimpleApp.java  |  36 ++
 .../src/main/java/webapp/SimpleApplication.java | 145 +++++++
 .../webapp/prototyping/DeveloperUtilities.java  |  45 +++
 .../SimpleObjectsFixturesService.java           |  66 ++++
 .../src/main/jettyconsole/isis-banner.pdn       | Bin 0 -> 69658 bytes
 .../src/main/jettyconsole/isis-banner.png       | Bin 0 -> 30776 bytes
 .../src/main/resources/webapp/welcome.html      |  38 ++
 .../WEB-INF/authentication_file.passwords       |  28 ++
 .../WEB-INF/authentication_file.properties      |  28 ++
 .../webapp/WEB-INF/authorization_file.allow     |  28 ++
 .../WEB-INF/authorization_file.properties       |  50 +++
 .../src/main/webapp/WEB-INF/isis.properties     | 196 ++++++++++
 .../src/main/webapp/WEB-INF/logging.properties  | 169 ++++++++
 .../main/webapp/WEB-INF/persistor.properties    | 108 ++++++
 .../WEB-INF/persistor_datanucleus.properties    |  78 ++++
 .../webapp/src/main/webapp/WEB-INF/shiro.ini    |  93 +++++
 .../WEB-INF/viewer_restfulobjects.properties    |  26 ++
 .../webapp/WEB-INF/viewer_wicket.properties     |  52 +++
 .../webapp/src/main/webapp/WEB-INF/web.xml      | 287 ++++++++++++++
 .../src/main/webapp/about/images/isis-logo.png  | Bin 0 -> 14160 bytes
 .../webapp/src/main/webapp/about/index.html     | 120 ++++++
 .../webapp/src/main/webapp/css/application.css  |  72 ++++
 .../src/main/webapp/images/spinning-icon.gif    | Bin 0 -> 5266 bytes
 .../src/main/webapp/scripts/application.js      |   3 +
 .../projects/basic/archetype.properties         |   5 +
 .../src/test/resources/projects/basic/goal.txt  |   0
 pom.xml                                         |   3 -
 scripts/updateGeneratedArchetypeSources.groovy  |   8 +-
 68 files changed, 4216 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/application/simple_wicket_restful_jdo/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/pom.xml b/example/application/simple_wicket_restful_jdo/dom/pom.xml
index 121bbf5..b513473 100644
--- a/example/application/simple_wicket_restful_jdo/dom/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/dom/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
     	<groupId>org.apache.isis.example.application</groupId>
     	<artifactId>simple_wicket_restful_jdo</artifactId>
-		<version>1.0.4-SNAPSHOT</version>
+		<version>1.3.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>simple_wicket_restful_jdo-dom</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/application/simple_wicket_restful_jdo/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/fixture/pom.xml b/example/application/simple_wicket_restful_jdo/fixture/pom.xml
index c2a9852..3d90fd8 100644
--- a/example/application/simple_wicket_restful_jdo/fixture/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/fixture/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>simple_wicket_restful_jdo</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>simple_wicket_restful_jdo-fixture</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/application/simple_wicket_restful_jdo/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/integtests/pom.xml b/example/application/simple_wicket_restful_jdo/integtests/pom.xml
index fc570ca..072da6b 100644
--- a/example/application/simple_wicket_restful_jdo/integtests/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/integtests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>simple_wicket_restful_jdo</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>simple_wicket_restful_jdo-integtests</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/application/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/pom.xml b/example/application/simple_wicket_restful_jdo/pom.xml
index 50f6337..826b12f 100644
--- a/example/application/simple_wicket_restful_jdo/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/pom.xml
@@ -23,18 +23,18 @@
 
     <groupId>org.apache.isis.example.application</groupId>
     <artifactId>simple_wicket_restful_jdo</artifactId>
-    <version>1.0.4-SNAPSHOT</version>
+    <version>1.3.0-SNAPSHOT</version>
 
     <name>Simple Wicket/Restful/JDO App</name>
 
     <packaging>pom</packaging>
 
 	<properties>
-        <isis.version>1.3.0-SNAPSHOT</isis.version>
-		<isis-objectstore-jdo.version>1.2.0-SNAPSHOT</isis-objectstore-jdo.version>
-		<isis-viewer-wicket.version>1.3.0-SNAPSHOT</isis-viewer-wicket.version>
-		<isis-viewer-restfulobjects.version>2.1.0-SNAPSHOT</isis-viewer-restfulobjects.version>
-		<isis-security-shiro.version>1.1.2-SNAPSHOT</isis-security-shiro.version>
+        <isis.version>1.3.0</isis.version>
+		<isis-objectstore-jdo.version>1.3.0</isis-objectstore-jdo.version>
+		<isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
+		<isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
+		<isis-security-shiro.version>1.3.0</isis-security-shiro.version>
 
         <!-- must be consistent with the versions defined by the JDO Objectstore -->
         <datanucleus-core.version>3.2.7</datanucleus-core.version>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/application/simple_wicket_restful_jdo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/webapp/pom.xml b/example/application/simple_wicket_restful_jdo/webapp/pom.xml
index 6083696..c5ad49d 100644
--- a/example/application/simple_wicket_restful_jdo/webapp/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.isis.example.application</groupId>
         <artifactId>simple_wicket_restful_jdo</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>simple_wicket_restful_jdo-webapp</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/pom.xml b/example/archetype/simple_wicket_restful_jdo/pom.xml
new file mode 100644
index 0000000..c22d53f
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/pom.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.isis.archetype</groupId>
+  <artifactId>simple_wicket_restful_jdo-archetype</artifactId>
+  <version>1.3.0-SNAPSHOT</version>
+  <packaging>maven-archetype</packaging>
+  <name>simple_wicket_restful_jdo-archetype</name>
+  <build>
+    <extensions>
+      <extension>
+        <groupId>org.apache.maven.archetype</groupId>
+        <artifactId>archetype-packaging</artifactId>
+        <version>2.2</version>
+      </extension>
+    </extensions>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-archetype-plugin</artifactId>
+          <version>2.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <parent>
+    <groupId>org.apache.isis.core</groupId>
+    <artifactId>isis</artifactId>
+    <version>1.3.0</version>
+    <relativePath>../../../core/pom.xm</relativePath>
+  </parent>
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/appended-resources/supplemental-models.xml b/example/archetype/simple_wicket_restful_jdo/src/main/appended-resources/supplemental-models.xml
new file mode 100644
index 0000000..01c58d8
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<supplementalDataModels 
+  xmlns="http://maven.apache.org/supplemental-model/1.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 
+            http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
+
+</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 0000000..43eabbc
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" name="simple_wicket_restful_jdo" xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modules>
+    <module id="${rootArtifactId}-dom" dir="dom" name="${rootArtifactId}-dom">
+      <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.xml</include>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.json</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/resources</directory>
+          <includes>
+            <include>**/*.gif</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory/>
+          <includes>
+            <include>log4j.properties</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+    <module id="${rootArtifactId}-fixture" dir="fixture" name="${rootArtifactId}-fixture">
+      <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory/>
+          <includes>
+            <include>.gitignore</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+    <module id="${rootArtifactId}-integtests" dir="integtests" name="${rootArtifactId}-integtests">
+      <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.feature</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory/>
+          <includes>
+            <include>logging.properties</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+    <module id="${rootArtifactId}-webapp" dir="webapp" name="${rootArtifactId}-webapp">
+      <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/webapp</directory>
+          <includes>
+            <include>**/*.xml</include>
+            <include>**/*.html</include>
+            <include>**/*.properties</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/resources</directory>
+          <includes>
+            <include>**/*.html</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/jettyconsole</directory>
+          <includes>
+            <include>**/*.png</include>
+            <include>**/*.pdn</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/webapp</directory>
+          <includes>
+            <include>**/*.passwords</include>
+            <include>**/*.allow</include>
+            <include>**/*.png</include>
+            <include>**/*.js</include>
+            <include>**/*.ini</include>
+            <include>**/*.gif</include>
+            <include>**/*.css</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>lib</directory>
+          <includes>
+            <include>**/*.gitignore</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>ide/eclipse</directory>
+          <includes>
+            <include>**/*.launch</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+  </modules>
+</archetype-descriptor>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/log4j.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/log4j.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/log4j.properties
new file mode 100644
index 0000000..2040d89
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/log4j.properties
@@ -0,0 +1,44 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound} LOG4J Configuration
+${symbol_pound} ===================
+
+${symbol_pound} Basic logging goes to "datanucleus.log"
+log4j.appender.A1=org.apache.log4j.FileAppender
+log4j.appender.A1.File=datanucleus.log
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
+${symbol_pound}log4j.appender.A1.Threshold=INFO
+
+${symbol_pound} Categories
+${symbol_pound} Each category can be set to a "level", and to direct to an appender
+
+${symbol_pound} Default to DEBUG level for all DataNucleus categories
+log4j.logger.DataNucleus = DEBUG, A1
+
+log4j.category.com.mchange.v2.c3p0=INFO, A1
+log4j.category.com.mchange.v2.resourcepool=INFO, A1
+log4j.category.org.logicalcobwebs.proxool=INFO,A1
+
+
+${symbol_pound} Hbase libs logging
+log4j.category.org.apache.hadoop=INFO,A1
+log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
new file mode 100644
index 0000000..c6845e4
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+    	<groupId>${groupId}</groupId>
+    	<artifactId>${rootArtifactId}</artifactId>
+		<version>${version}</version>
+	</parent>
+
+	<artifactId>${artifactId}</artifactId>
+	<name>Simple Wicket/Restful/JDO DOM</name>
+
+	<build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**</include>
+                </includes>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </resource>
+        </resources>
+		<plugins>
+            <plugin>
+                <groupId>org.datanucleus</groupId>
+                <artifactId>datanucleus-maven-plugin</artifactId>
+                <version>3.2.0-release</version>
+                <dependencies>
+                    <dependency>
+                        <!-- Force the enhancer to use the same version of core as the JDO objectstore -->
+                        <groupId>org.datanucleus</groupId>
+                        <artifactId>datanucleus-core</artifactId>
+                        <version>${datanucleus-core.version}</version>
+                    </dependency>
+                    <dependency>
+                        <!-- Force the enhancer to use the same version of jdo-api as the JDO objectstore -->
+                        <groupId>javax.jdo</groupId>
+                        <artifactId>jdo-api</artifactId>
+                        <version>${jdo-api.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                	<fork>false</fork>
+                    <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
+                    <verbose>true</verbose>
+                    <props>${basedir}/datanucleus.properties</props>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>enhance</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+		</plugins>
+		<pluginManagement>
+			<plugins>
+				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+				<plugin>
+					<groupId>org.eclipse.m2e</groupId>
+					<artifactId>lifecycle-mapping</artifactId>
+					<version>1.0.0</version>
+					<configuration>
+						<lifecycleMappingMetadata>
+							<pluginExecutions>
+								<pluginExecution>
+									<pluginExecutionFilter>
+										<groupId>org.datanucleus</groupId>
+										<artifactId>datanucleus-maven-plugin</artifactId>
+										<versionRange>[3.2.0-release,)</versionRange>
+										<goals>
+											<goal>enhance</goal>
+										</goals>
+									</pluginExecutionFilter>
+									<action>
+										<ignore></ignore>
+									</action>
+								</pluginExecution>
+							</pluginExecutions>
+						</lifecycleMappingMetadata>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+	</build>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-applib</artifactId>
+		</dependency>
+
+		<dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+			<artifactId>isis-objectstore-jdo-applib</artifactId>
+		</dependency>
+        
+		<dependency>
+            <groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-unittestsupport</artifactId>
+            <scope>test</scope>
+		</dependency>
+
+        <!-- Bytecode libraries (for mocking) -->
+        <dependency>
+            <groupId>asm</groupId>
+            <artifactId>asm</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.objenesis</groupId>
+            <artifactId>objenesis</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib-nodep</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+	</dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/META-INF/persistence.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/META-INF/persistence.xml
new file mode 100644
index 0000000..c5d8e78
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/META-INF/persistence.xml
@@ -0,0 +1,29 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
+
+    <persistence-unit name="simple">
+    </persistence-unit>
+</persistence>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.java
new file mode 100644
index 0000000..a88faba
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.java
@@ -0,0 +1,81 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 dom.simple;
+
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.VersionStrategy;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.annotation.Bookmarkable;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.util.ObjectContracts;
+
+@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.DatastoreIdentity(
+        strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY,
+         column="id")
+@javax.jdo.annotations.Version(
+        strategy=VersionStrategy.VERSION_NUMBER, 
+        column="version")
+@ObjectType("SIMPLE")
+@Bookmarkable
+public class SimpleObject implements Comparable<SimpleObject> {
+
+    // //////////////////////////////////////
+    // Name (property)
+    // //////////////////////////////////////
+    
+    private String name;
+
+    @javax.jdo.annotations.Column(allowsNull="false")
+    @Title
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+
+    // //////////////////////////////////////
+    // compareTo
+    // //////////////////////////////////////
+
+    @Override
+    public int compareTo(SimpleObject other) {
+        return ObjectContracts.compare(this, other, "name");
+    }
+
+    
+    // //////////////////////////////////////
+    // Injected
+    // //////////////////////////////////////
+
+    @SuppressWarnings("unused")
+    private DomainObjectContainer container;
+    public void injectDomainObjectContainer(final DomainObjectContainer container) {
+        this.container = container;
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.layout.json
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.layout.json b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.layout.json
new file mode 100644
index 0000000..aeeb8a2
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObject.layout.json
@@ -0,0 +1,44 @@
+/**
+ *  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.
+ */
+{
+    columns: [
+	    {
+	        span: 6,
+	        memberGroups: {
+	            General: {
+	                members: {
+	                    name: {}
+	                }
+	            }
+	        }
+	    },
+	    {
+	        span: 0,
+	        memberGroups: {}
+	    },
+	    {
+	        span: 0,
+	        memberGroups: {}
+	    },
+	    {
+	        span: 6,
+	        collections: {}
+	    }
+    ],
+    actions: {}
+}
+ 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObjects.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObjects.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObjects.java
new file mode 100644
index 0000000..d3117c7
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/simple/SimpleObjects.java
@@ -0,0 +1,74 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 dom.simple;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Bookmarkable;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+
+public class SimpleObjects extends AbstractFactoryAndRepository {
+
+    // //////////////////////////////////////
+    // Identification in the UI
+    // //////////////////////////////////////
+
+    @Override
+    public String getId() {
+        return "simple";
+    }
+
+    public String iconName() {
+        return "SimpleObject";
+    }
+
+    // //////////////////////////////////////
+    // List (action)
+    // //////////////////////////////////////
+    
+    @Bookmarkable
+    @ActionSemantics(Of.SAFE)
+    @MemberOrder(sequence = "1")
+    public List<SimpleObject> listAll() {
+        return allInstances(SimpleObject.class);
+    }
+
+
+    // //////////////////////////////////////
+    // Create (action)
+    // //////////////////////////////////////
+    
+    @Bookmarkable
+    @MemberOrder(sequence = "2")
+    public SimpleObject create(
+            final @Named("Name") String name) {
+        final SimpleObject obj = newTransientInstance(SimpleObject.class);
+        obj.setName(name);
+        persistIfNotAlready(obj);
+        return obj;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java
new file mode 100644
index 0000000..6311d76
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java
@@ -0,0 +1,36 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 services;
+
+import org.joda.time.LocalDate;
+
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.clock.Clock;
+
+@Hidden
+public class ClockService {
+    
+    @Programmatic
+    public LocalDate now() {
+        return Clock.getTimeAsLocalDate();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/SimpleObject.gif
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/SimpleObject.gif b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/SimpleObject.gif
new file mode 100644
index 0000000..a5fc6ff
Binary files /dev/null and b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/SimpleObject.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectTest_name.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectTest_name.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectTest_name.java
new file mode 100644
index 0000000..b905ca5
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectTest_name.java
@@ -0,0 +1,50 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 dom.simple;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import dom.simple.SimpleObject;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class SimpleObjectTest_name {
+
+    private SimpleObject simpleObject;
+
+    @Before
+    public void setUp() throws Exception {
+        simpleObject = new SimpleObject();
+    }
+    
+    @Test
+    public void happyCase() throws Exception {
+        // given
+        assertThat(simpleObject.getName(), is(nullValue()));
+        
+        // when
+        simpleObject.setName("Foobar");
+        
+        // then
+        assertThat(simpleObject.getName(), is("Foobar"));
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
new file mode 100644
index 0000000..1639b44
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
@@ -0,0 +1,79 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 dom.simple;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import dom.simple.SimpleObject;
+
+import org.jmock.Expectations;
+import org.jmock.Sequence;
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class SimpleObjectsTest_create {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private DomainObjectContainer mockContainer;
+    
+    private SimpleObjects simpleObjects;
+
+    @Before
+    public void setUp() throws Exception {
+        simpleObjects = new SimpleObjects();
+        simpleObjects.setContainer(mockContainer);
+    }
+    
+    @Test
+    public void happyCase() throws Exception {
+        
+        // given
+        final SimpleObject simpleObject = new SimpleObject();
+        
+        final Sequence seq = context.sequence("create");
+        context.checking(new Expectations() {
+            {
+                oneOf(mockContainer).newTransientInstance(SimpleObject.class);
+                inSequence(seq);
+                will(returnValue(simpleObject));
+                
+                oneOf(mockContainer).persistIfNotAlready(simpleObject);
+                inSequence(seq);
+            }
+        });
+        
+        // when
+        final SimpleObject obj = simpleObjects.create("Foobar");
+        
+        // then
+        assertThat(obj, is(simpleObject));
+        assertThat(obj.getName(), is("Foobar"));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
new file mode 100644
index 0000000..c9e424e
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
@@ -0,0 +1,79 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 dom.simple;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import dom.simple.SimpleObject;
+
+import org.jmock.Expectations;
+import org.jmock.Sequence;
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class SimpleObjectsTest_listAll {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private DomainObjectContainer mockContainer;
+    
+    private SimpleObjects simpleObjects;
+
+    @Before
+    public void setUp() throws Exception {
+        simpleObjects = new SimpleObjects();
+        simpleObjects.setContainer(mockContainer);
+    }
+    
+    @Test
+    public void happyCase() throws Exception {
+        
+        
+        // given
+        final List all = Lists.newArrayList();
+        
+        context.checking(new Expectations() {
+            {
+                oneOf(mockContainer).allInstances(SimpleObject.class);
+                will(returnValue(all));
+            }
+        });
+        
+        // when
+        final List list = simpleObjects.listAll();
+        
+        // then
+        assertThat(list, is(all));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/.gitignore
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/.gitignore b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/.gitignore
new file mode 100644
index 0000000..a48e45b
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/.gitignore
@@ -0,0 +1 @@
+/target-ide

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/pom.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/pom.xml
new file mode 100644
index 0000000..204bc79
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+    <parent>
+    	<groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}</artifactId>
+        <version>${version}</version>
+    </parent>
+
+	<artifactId>${artifactId}</artifactId>
+	<name>Simple Wicket/Restful/JDO Fixtures</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>${rootArtifactId}-dom</artifactId>
+		</dependency>
+	</dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/LogonAsSvenFixture.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/LogonAsSvenFixture.java
new file mode 100644
index 0000000..86f60ee
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/LogonAsSvenFixture.java
@@ -0,0 +1,33 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 fixture;
+
+import org.apache.isis.applib.fixtures.LogonFixture;
+
+public class LogonAsSvenFixture extends LogonFixture {
+
+    public LogonAsSvenFixture() {
+        super("sven");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
new file mode 100644
index 0000000..78511af
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
@@ -0,0 +1,74 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 fixture.simple;
+
+import dom.simple.SimpleObject;
+import dom.simple.SimpleObjects;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.objectstore.jdo.applib.service.support.IsisJdoSupport;
+
+public class SimpleObjectsFixture extends AbstractFixture {
+
+    
+    @Override
+    public void install() {
+
+        isisJdoSupport.executeUpdate("delete from ${symbol_escape}"SimpleObject${symbol_escape}"");
+
+        installObjects();
+        
+        getContainer().flush();
+    }
+
+    private void installObjects() {
+
+        create("Foo");
+        create("Bar");
+        create("Baz");
+    }
+
+
+    // //////////////////////////////////////
+
+    private SimpleObject create(final String name) {
+        return simpleObjects.create(name);
+    }
+
+
+    // //////////////////////////////////////
+
+
+    private SimpleObjects simpleObjects;
+
+    public void injectSimpleObjects(final SimpleObjects simpleObjects) {
+        this.simpleObjects = simpleObjects;
+    }
+
+    
+    private IsisJdoSupport isisJdoSupport;
+    public void injectIsisJdoSupport(IsisJdoSupport isisJdoSupport) {
+        this.isisJdoSupport = isisJdoSupport;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
new file mode 100644
index 0000000..234ed51
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
@@ -0,0 +1,80 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+${symbol_pound}
+${symbol_pound} Isis uses log4j is used to provide system logging
+${symbol_pound}
+log4j.rootCategory=INFO, Console
+
+${symbol_pound} The console appender
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.target=System.out
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
+
+log4j.appender.File=org.apache.log4j.RollingFileAppender
+log4j.appender.File.file=isis.log
+log4j.appender.File.append=false
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
+
+! turn on the internal log4j debugging flag so we can see what it is doing
+${symbol_pound}log4j.debug=true
+
+${symbol_pound} DataNucleus
+log4j.logger.DataNucleus.Datastore.Native=DEBUG, Console
+log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
+
+log4j.logger.DataNucleus.Persistence=WARN, Console
+log4j.logger.DataNucleus.Transaction=WARN, Console
+log4j.logger.DataNucleus.Connection=WARN, Console
+log4j.logger.DataNucleus.Query=WARN, Console
+log4j.logger.DataNucleus.Cache=WARN, Console
+log4j.logger.DataNucleus.MetaData=WARN, Console
+log4j.logger.DataNucleus.Datastore=WARN, Console
+log4j.logger.DataNucleus.Datastore.Persist=WARN, Console
+log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console
+log4j.logger.DataNucleus.General=WARN, Console
+log4j.logger.DataNucleus.Lifecycle=WARN, Console
+log4j.logger.DataNucleus.ValueGeneration=WARN, Console
+log4j.logger.DataNucleus.Enhancer=WARN, Console
+log4j.logger.DataNucleus.SchemaTool=ERROR, Console
+log4j.logger.DataNucleus.JDO=WARN, Console
+log4j.logger.DataNucleus.JPA=ERROR, Console
+log4j.logger.DataNucleus.JCA=WARN, Console
+log4j.logger.DataNucleus.IDE=ERROR, Console
+
+
+${symbol_pound} if using log4jdbc-remix as JDBC driver
+${symbol_pound}log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
+${symbol_pound}log4j.additivity.jdbc.sqlonly=false
+${symbol_pound}log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
+${symbol_pound}log4j.additivity.jdbc.resultsettable=false
+
+${symbol_pound}log4j.logger.jdbc.audit=WARN,jdbc, Console
+${symbol_pound}log4j.additivity.jdbc.audit=false
+${symbol_pound}log4j.logger.jdbc.resultset=WARN,jdbc
+${symbol_pound}log4j.additivity.jdbc.resultset=false
+${symbol_pound}log4j.logger.jdbc.sqltiming=WARN,sqltiming
+${symbol_pound}log4j.additivity.jdbc.sqltiming=false
+${symbol_pound}log4j.logger.jdbc.connection=FATAL,connection
+${symbol_pound}log4j.additivity.jdbc.connection=false
+

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
new file mode 100644
index 0000000..4b47301
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+    <parent>
+    	<groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}</artifactId>
+        <version>${version}</version>
+    </parent>
+
+	<artifactId>${artifactId}</artifactId>
+	<name>Simple Wicket/Restful/JDO Integration Tests</name>
+
+    <build>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+            <testResource>
+                <directory>src/test/java</directory>
+                <includes>
+                    <include>**</include>
+                </includes>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+        </testResources>  
+    </build>
+  	<dependencies>
+	
+		<!-- other modules in this project -->
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>${rootArtifactId}-fixture</artifactId>
+		</dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-unittestsupport</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-integtestsupport</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-specsupport</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-library</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-wrapper</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+            <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+        </dependency>
+
+        <!-- 
+        uncomment to enable enhanced cucumber-jvm reporting
+        http://www.masterthought.net/section/cucumber-reporting
+        <dependency>  
+            <groupId>com.googlecode.totallylazy</groupId>  
+            <artifactId>totallylazy</artifactId>  
+            <version>991</version>  
+        </dependency>
+
+        <dependency>
+            <groupId>net.masterthought</groupId>
+            <artifactId>cucumber-reporting</artifactId>
+            <version>0.0.21</version>
+        </dependency>
+        <dependency>
+            <groupId>net.masterthought</groupId>
+            <artifactId>maven-cucumber-reporting</artifactId>
+            <version>0.0.4</version>
+        </dependency>  
+        -->
+	</dependencies>
+
+    <!-- 
+    uncomment for enhanced cucumber-jvm reporting
+    http://www.masterthought.net/section/cucumber-reporting
+    <repositories>  
+        <repository>  
+            <id>repo.bodar.com</id>  
+            <url>http://repo.bodar.com</url>  
+        </repository>  
+    </repositories>  
+     -->
+  
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/SimpleAppSystemInitializer.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
new file mode 100644
index 0000000..361a780
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
@@ -0,0 +1,84 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration;
+
+import dom.simple.SimpleObjects;
+
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.integtestsupport.IsisSystemForTest;
+import org.apache.isis.core.wrapper.WrapperFactoryDefault;
+import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore;
+import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller;
+import org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl;
+import org.apache.isis.objectstore.jdo.service.RegisterEntities;
+
+/**
+ * Holds an instance of an {@link IsisSystemForTest} as a {@link ThreadLocal} on the current thread,
+ * initialized with ToDo app's domain services. 
+ */
+public class SimpleAppSystemInitializer {
+    
+    private SimpleAppSystemInitializer(){}
+
+    public static IsisSystemForTest initIsft() {
+        IsisSystemForTest isft = IsisSystemForTest.getElseNull();
+        if(isft == null) {
+            isft = new SimpleAppSystemBuilder().build().setUpSystem();
+            IsisSystemForTest.set(isft);
+        }
+        return isft;
+    }
+
+    private static class SimpleAppSystemBuilder extends IsisSystemForTest.Builder {
+
+        public SimpleAppSystemBuilder() {
+            //withFixtures( ... reference data fixtures ...); // if we had any...
+            withLoggingAt(org.apache.log4j.Level.INFO);
+            with(testConfiguration());
+            with(new DataNucleusPersistenceMechanismInstaller());
+            
+            withServices(
+                    new SimpleObjects(),
+                    new WrapperFactoryDefault(),
+                    new RegisterEntities(),
+                    new IsisJdoSupportImpl()
+                    );
+        }
+
+        private IsisConfiguration testConfiguration() {
+            final IsisConfigurationDefault testConfiguration = new IsisConfigurationDefault();
+
+            testConfiguration.add("isis.persistor.datanucleus.RegisterEntities.packagePrefix", "dom");
+            testConfiguration.add("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL", "jdbc:hsqldb:mem:test");
+            
+            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.defaultInheritanceStrategy", "TABLE_PER_CLASS");
+            testConfiguration.add(DataNucleusObjectStore.INSTALL_FIXTURES_KEY , "true");
+            
+            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.cache.level2.type","none");
+
+            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.identifier.case", "PreserveCase");
+
+            return testConfiguration;
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java
new file mode 100644
index 0000000..711adc6
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java
@@ -0,0 +1,56 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+O *  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 integration.glue;
+
+import integration.SimpleAppSystemInitializer;
+import cucumber.api.java.After;
+import cucumber.api.java.Before;
+
+import org.apache.isis.core.specsupport.scenarios.ScenarioExecutionScope;
+import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
+
+public class BootstrappingGlue extends CukeGlueAbstract {
+
+    // //////////////////////////////////////
+    
+    @Before(value={"@unit"}, order=100)
+    public void beforeScenarioUnitScope() {
+        before(ScenarioExecutionScope.UNIT);
+    }
+
+    @Before(value={"@integration"}, order=100)
+    public void beforeScenarioIntegrationScope() {
+        org.apache.log4j.PropertyConfigurator.configure("logging.properties");
+        SimpleAppSystemInitializer.initIsft();
+        
+        before(ScenarioExecutionScope.INTEGRATION);
+    }
+
+    @After
+    public void afterScenario(cucumber.api.Scenario sc) {
+        assertMocksSatisfied();
+        after(sc);
+    }
+
+    // //////////////////////////////////////
+    
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java
new file mode 100644
index 0000000..c09082e
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java
@@ -0,0 +1,49 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue;
+
+import cucumber.api.java.Before;
+import dom.simple.SimpleObject;
+import fixture.simple.SimpleObjectsFixture;
+
+import org.apache.isis.core.specsupport.scenarios.InMemoryDB;
+import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
+
+public class CatalogOfFixturesGlue extends CukeGlueAbstract {
+
+    
+    @Before(value={"@unit", "@SimpleObjectsFixture"}, order=20000)
+    public void unitFixtures() throws Throwable {
+        final InMemoryDB inMemoryDB = new InMemoryDBForSimpleApp(this.scenarioExecution());
+        inMemoryDB.getElseCreate(SimpleObject.class, "Foo");
+        inMemoryDB.getElseCreate(SimpleObject.class, "Bar");
+        inMemoryDB.getElseCreate(SimpleObject.class, "Baz");
+        putVar("isis", "in-memory-db", inMemoryDB);
+    }
+
+    // //////////////////////////////////////
+
+    @Before(value={"@integration", "@SimpleObjectsFixture"}, order=20000)
+    public void integrationFixtures() throws Throwable {
+        scenarioExecution().install(new SimpleObjectsFixture());
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForSimpleApp.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForSimpleApp.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForSimpleApp.java
new file mode 100644
index 0000000..3aefb12
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForSimpleApp.java
@@ -0,0 +1,43 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue;
+
+import dom.simple.SimpleObject;
+
+import org.apache.isis.core.specsupport.scenarios.InMemoryDB;
+import org.apache.isis.core.specsupport.scenarios.ScenarioExecution;
+
+public class InMemoryDBForSimpleApp extends InMemoryDB {
+    
+    public InMemoryDBForSimpleApp(ScenarioExecution scenarioExecution) {
+        super(scenarioExecution);
+    }
+    
+    /**
+     * Hook to initialize if possible.
+     */
+    @Override
+    protected void init(Object obj, String str) {
+        if(obj instanceof SimpleObject) {
+            SimpleObject toDoItem = (SimpleObject) obj;
+            toDoItem.setName(str);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/simple/SimpleObjectGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/simple/SimpleObjectGlue.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/simple/SimpleObjectGlue.java
new file mode 100644
index 0000000..ccfc9ec
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/simple/SimpleObjectGlue.java
@@ -0,0 +1,101 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue.simple;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.List;
+import java.util.UUID;
+
+import cucumber.api.java.en.Given;
+import cucumber.api.java.en.When;
+import dom.simple.SimpleObject;
+import dom.simple.SimpleObjects;
+
+import org.hamcrest.Description;
+import org.jmock.Expectations;
+import org.jmock.api.Action;
+import org.jmock.api.Invocation;
+
+import org.apache.isis.core.specsupport.scenarios.InMemoryDB;
+import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
+
+public class SimpleObjectGlue extends CukeGlueAbstract {
+
+    @Given("^there are.* (${symbol_escape}${symbol_escape}d+) simple objects${symbol_dollar}")
+    public void there_are_N_simple_objects(int n) throws Throwable {
+        if(supportsMocks()) {
+            checking(new Expectations() {
+                {
+                    allowing(service(SimpleObjects.class)).listAll();
+                    will(returnValue(allSimpleObjects()));
+                }
+            });
+        }
+        try {
+            final List<SimpleObject> findAll = service(SimpleObjects.class).listAll();
+            assertThat(findAll.size(), is(n));
+            putVar("list", "all", findAll);
+            
+        } finally {
+            assertMocksSatisfied();
+        }
+    }
+    
+    @When("^I create a new simple object${symbol_dollar}")
+    public void I_create_a_new_simple_object() throws Throwable {
+        if(supportsMocks()) {
+            checking(new Expectations() {
+                {
+                    oneOf(service(SimpleObjects.class)).create(with(any(String.class)));
+                    will(addToInMemoryDB());
+                }
+            });
+        }
+        service(SimpleObjects.class).create(UUID.randomUUID().toString());
+    }
+    
+    private Action addToInMemoryDB() {
+        return new Action() {
+            
+            @Override
+            public Object invoke(Invocation invocation) throws Throwable {
+                final InMemoryDB inMemoryDB = getVar("isis", "in-memory-db", InMemoryDB.class);
+                final String name = (String)invocation.getParameter(0);
+                final SimpleObject obj = new SimpleObject();
+                obj.setName(name);
+                inMemoryDB.put(SimpleObject.class, name, obj);
+                return obj;
+            }
+            
+            @Override
+            public void describeTo(Description description) {
+                description.appendText("add to database");
+            }
+        };
+    }
+
+    // helper
+    private List<SimpleObject> allSimpleObjects() {
+        final InMemoryDB inMemoryDB = getVar("isis", "in-memory-db", InMemoryDB.class);
+        return inMemoryDB.findAll(SimpleObject.class);
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/RunSpecs.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/RunSpecs.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/RunSpecs.java
new file mode 100644
index 0000000..e32594e
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/RunSpecs.java
@@ -0,0 +1,41 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.specs.simple;
+
+import cucumber.api.junit.Cucumber;
+
+import org.junit.runner.RunWith;
+
+
+/**
+ * Runs scenarios in all <tt>.feature</tt> files (this package and any subpackages). 
+ */
+@RunWith(Cucumber.class)
+@Cucumber.Options(
+        format = {
+                "html:target/cucumber-html-report"
+                ,"json:target/cucumber.json"
+        },
+        glue={"classpath:integration.glue"},
+        strict = true,
+        tags = { "~@backlog", "~@ignore" })
+public class RunSpecs {
+    // intentionally empty 
+}


[10/28] git commit: [maven-release-plugin] prepare release isis-viewer-restfulobjects-2.1.0

Posted by da...@apache.org.
[maven-release-plugin] prepare release isis-viewer-restfulobjects-2.1.0


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/80617e28
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/80617e28
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/80617e28

Branch: refs/heads/master
Commit: 80617e2837cde39cc0710cbd750d4f1a33ddc928
Parents: 68a71a3
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 22:28:27 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 22:28:27 2013 +0100

----------------------------------------------------------------------
 component/viewer/restfulobjects/applib/pom.xml    |  2 +-
 component/viewer/restfulobjects/pom.xml           | 18 +++++++++++-------
 component/viewer/restfulobjects/rendering/pom.xml |  2 +-
 component/viewer/restfulobjects/server/pom.xml    |  2 +-
 component/viewer/restfulobjects/tck/pom.xml       |  8 ++++++--
 5 files changed, 20 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/80617e28/component/viewer/restfulobjects/applib/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/applib/pom.xml b/component/viewer/restfulobjects/applib/pom.xml
index f613aed..9530344 100644
--- a/component/viewer/restfulobjects/applib/pom.xml
+++ b/component/viewer/restfulobjects/applib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.1.0-SNAPSHOT</version>
+		<version>2.1.0</version>
 	</parent>
 	
 	<artifactId>isis-viewer-restfulobjects-applib</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/80617e28/component/viewer/restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/pom.xml b/component/viewer/restfulobjects/pom.xml
index 72d65c4..d622460 100644
--- a/component/viewer/restfulobjects/pom.xml
+++ b/component/viewer/restfulobjects/pom.xml
@@ -30,7 +30,7 @@
 
 	<groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-restfulobjects</artifactId>
-    <version>2.1.0-SNAPSHOT</version>
+    <version>2.1.0</version>
 
 	<name>Isis RestfulObjects Viewer</name>
 
@@ -119,36 +119,36 @@
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-				<version>2.1.0-SNAPSHOT</version>
+				<version>2.1.0</version>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-				<version>2.1.0-SNAPSHOT</version>
+				<version>2.1.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-rendering</artifactId>
-				<version>2.1.0-SNAPSHOT</version>
+				<version>2.1.0</version>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-rendering</artifactId>
-				<version>2.1.0-SNAPSHOT</version>
+				<version>2.1.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-server</artifactId>
-				<version>2.1.0-SNAPSHOT</version>
+				<version>2.1.0</version>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-server</artifactId>
-				<version>2.1.0-SNAPSHOT</version>
+				<version>2.1.0</version>
                 <type>test-jar</type>
                 <scope>test</scope>
 			</dependency>
@@ -172,4 +172,8 @@
 	    <module>server</module>
 	    <module>tck</module>
     </modules>
+
+  <scm>
+    <tag>isis-viewer-restfulobjects-2.1.0</tag>
+  </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/80617e28/component/viewer/restfulobjects/rendering/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/pom.xml b/component/viewer/restfulobjects/rendering/pom.xml
index 2afa4be..7d64d3d 100644
--- a/component/viewer/restfulobjects/rendering/pom.xml
+++ b/component/viewer/restfulobjects/rendering/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.1.0-SNAPSHOT</version>
+		<version>2.1.0</version>
 	</parent>
 
 	<artifactId>isis-viewer-restfulobjects-rendering</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/80617e28/component/viewer/restfulobjects/server/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/server/pom.xml b/component/viewer/restfulobjects/server/pom.xml
index c8fbca3..3a6eceb 100644
--- a/component/viewer/restfulobjects/server/pom.xml
+++ b/component/viewer/restfulobjects/server/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.1.0-SNAPSHOT</version>
+		<version>2.1.0</version>
 	</parent>
 
 	<artifactId>isis-viewer-restfulobjects-server</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/80617e28/component/viewer/restfulobjects/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/tck/pom.xml b/component/viewer/restfulobjects/tck/pom.xml
index 457c1b4..b5ae400 100644
--- a/component/viewer/restfulobjects/tck/pom.xml
+++ b/component/viewer/restfulobjects/tck/pom.xml
@@ -28,7 +28,7 @@
 
     <groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-restfulobjects-tck</artifactId>
-    <version>2.1.0-SNAPSHOT</version>
+    <version>2.1.0</version>
 
 	<name>Isis RestfulObjects Viewer TCK tests</name>
 	
@@ -37,7 +37,7 @@
     <properties>
         <maven.test.skip>true</maven.test.skip>
 
-        <isis-viewer-restfulobjects.version>2.1.0-SNAPSHOT</isis-viewer-restfulobjects.version>
+        <isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
 
 		<siteBaseDir>..</siteBaseDir>
 		<relativeUrl>restfulobjects-tck/</relativeUrl>
@@ -124,4 +124,8 @@
         </dependency>
 
 	</dependencies>
+
+  <scm>
+    <tag>isis-viewer-restfulobjects-2.1.0</tag>
+  </scm>
 </project>


[23/28] ISIS-437: adding simple archetype

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature
new file mode 100644
index 0000000..aa7aeb6
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature
@@ -0,0 +1,37 @@
+#
+#  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.
+#
+@SimpleObjectsFixture
+Feature: List and Create New Simple Objectts
+
+  # the scenario is listed twice here just to demonstrate that it
+  # can be run either at @unit-level scope (using mocks) or
+  # at @integration-level scope (against the running system).
+  
+  @unit
+  Scenario: Existing simple objects can be listed and new ones created
+    Given there are initially 3 simple objects
+    When  I create a new simple object
+    Then  there are 4 simple objects 
+
+
+  @integration
+  Scenario: Existing simple objects can be listed and new ones created
+    Given there are initially 3 simple objects
+    When  I create a new simple object
+    Then  there are 4 simple objects 
+
+    
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
new file mode 100644
index 0000000..b873906
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
@@ -0,0 +1,43 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests;
+
+import integration.SimpleAppSystemInitializer;
+
+import org.junit.BeforeClass;
+
+import org.apache.isis.core.integtestsupport.IntegrationTestAbstract;
+import org.apache.isis.core.integtestsupport.scenarios.ScenarioExecutionForIntegration;
+
+public abstract class SimpleAppIntegTest extends IntegrationTestAbstract {
+
+    
+    @BeforeClass
+    public static void initClass() {
+        org.apache.log4j.PropertyConfigurator.configure("logging.properties");
+        SimpleAppSystemInitializer.initIsft();
+        
+        // instantiating will install onto ThreadLocal
+        new ScenarioExecutionForIntegration();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
new file mode 100644
index 0000000..af4b225
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
@@ -0,0 +1,72 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.smoke;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import integration.tests.SimpleAppIntegTest;
+
+import java.util.List;
+
+import dom.simple.SimpleObject;
+import dom.simple.SimpleObjects;
+import fixture.simple.SimpleObjectsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class SimpleObjectsTest_listAll_and_create extends SimpleAppIntegTest {
+
+    private SimpleObjects simpleObjects;
+
+    @Before
+    public void setUp() throws Exception {
+
+        scenarioExecution().install(new SimpleObjectsFixture());
+        
+        simpleObjects = wrap(service(SimpleObjects.class));
+    }
+
+    
+    @Test
+    public void listAll() throws Exception {
+
+        final List<SimpleObject> all = simpleObjects.listAll();
+        assertThat(all.size(), is(3));
+        
+        SimpleObject simpleObject = wrap(all.get(0));
+        assertThat(simpleObject.getName(), is("Foo"));
+    }
+    
+    @Test
+    public void create() throws Exception {
+        
+        simpleObjects.create("Faz");
+        
+        final List<SimpleObject> all = simpleObjects.listAll();
+        assertThat(all.size(), is(4));
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
new file mode 100644
index 0000000..0d12e0f
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>${groupId}</groupId>
+    <artifactId>${artifactId}</artifactId>
+    <version>${version}</version>
+
+    <name>Simple Wicket/Restful/JDO App</name>
+
+    <packaging>pom</packaging>
+
+	<properties>
+        <isis.version>1.3.0</isis.version>
+		<isis-objectstore-jdo.version>1.3.0</isis-objectstore-jdo.version>
+		<isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
+		<isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
+		<isis-security-shiro.version>1.3.0</isis-security-shiro.version>
+
+        <!-- must be consistent with the versions defined by the JDO Objectstore -->
+        <datanucleus-core.version>3.2.7</datanucleus-core.version>
+        <jdo-api.version>3.0.1</jdo-api.version>
+
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+	</properties>
+    
+    <repositories>
+        <repository>
+              <id>apache.snapshots</id>
+              <name>Apache Snapshots</name>
+              <url>https://repository.apache.org/content/repositories/snapshots/</url>
+              <releases>
+                  <enabled>false</enabled>
+              </releases>
+              <snapshots>
+              </snapshots>
+          </repository>
+    </repositories>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>2.3.1</version>
+                    <configuration>
+                        <source>1.6</source>
+                        <target>1.6</target>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>source</id>
+                            <phase>compile</phase>
+                        </execution>
+                        <execution>
+                            <id>test</id>
+                            <phase>test-compile</phase>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.10</version>
+                    <configuration>
+                        <includes>
+                            <include>**/*Test.java</include>
+                            <include>**/*Test_*.java</include>
+                            <include>**/*Spec*.java</include>
+                        </includes>
+                        <excludes>
+                            <exclude>**/Test*.java</exclude>
+                            <exclude>**/*ForTesting.java</exclude>
+                            <exclude>**/*Abstract*.java</exclude>
+                        </excludes>
+                        <useFile>true</useFile>
+                        <printSummary>true</printSummary>
+                        <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-report-plugin</artifactId>
+                    <version>2.10</version>
+                    <configuration>
+                        <includes>
+                            <include>**/*Test.java</include>
+                            <include>**/*Test_*.java</include>
+                            <include>**/*Spec*.java</include>
+                        </includes>
+                        <excludes>
+                            <exclude>**/Test*.java</exclude>
+                            <exclude>**/*ForTesting.java</exclude>
+                            <exclude>**/*Abstract*.java</exclude>
+                        </excludes>
+                        <showSuccess>false</showSuccess>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <phase>test</phase>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.mortbay.jetty</groupId>
+                    <artifactId>maven-jetty-plugin</artifactId>
+                    <version>6.1.25</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>1.4</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>1.6</version>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>run</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <!-- http://simplericity.com/2009/11/10/1257880778509.html -->
+                <plugin>
+                    <groupId>org.simplericity.jettyconsole</groupId>
+                    <artifactId>jetty-console-maven-plugin</artifactId>
+                    <version>1.43</version>
+                </plugin>
+
+                <!-- Apache Release Audit Tool -->
+                <plugin>
+                    <groupId>org.apache.rat</groupId>
+                    <artifactId>apache-rat-plugin</artifactId>
+                    <version>0.8</version>
+                    <configuration>
+                        <addDefaultLicenseMatchers>true</addDefaultLicenseMatchers>
+                        <excludeSubProjects>true</excludeSubProjects>
+                        <excludes>
+                            <exclude>**/target/**</exclude>
+                            <exclude>**/target-ide/**</exclude>
+
+                            <exclude>**/*.project</exclude>
+                            <exclude>**/.classpath</exclude>
+                            <exclude>**/.settings/**</exclude>
+                            <exclude>**/*.launch</exclude>
+                            <exclude>src/site/resources/ide/eclipse/**</exclude>
+
+                            <exclude>**/*.gitignore</exclude>
+                            <exclude>**/*.log</exclude>
+                            <exclude>**/*.pdn</exclude>
+                            <exclude>**/*.svg</exclude>
+                            <exclude>**/*.json</exclude>
+                            <exclude>**/*.min.js</exclude>
+                            <exclude>**/*.js</exclude>
+                        </excludes>
+                        <licenses>
+                          <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
+                            <licenseFamilyCategory>AL2</licenseFamilyCategory>
+                            <licenseFamilyName>Apache License 2.0</licenseFamilyName>
+                            <notes />
+                            <patterns>
+                              <pattern>Licensed to the Apache Software Foundation (ASF) under one</pattern>
+                            </patterns>
+                          </license>
+                          <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
+                            <licenseFamilyCategory>JQRY</licenseFamilyCategory>
+                            <licenseFamilyName>MIT</licenseFamilyName>
+                            <notes />
+                            <patterns>
+                              <pattern>Dual licensed under the MIT or GPL Version 2 licenses.</pattern>
+                            </patterns>
+                          </license>
+                          <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
+                            <licenseFamilyCategory>JMOCK</licenseFamilyCategory>
+                            <licenseFamilyName>JMock</licenseFamilyName>
+                            <notes />
+                            <patterns>
+                              <pattern>Copyright (c) 2000-2007, jMock.org</pattern>
+                            </patterns>
+                          </license>
+                          <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
+                            <licenseFamilyCategory>DOCBK</licenseFamilyCategory>
+                            <licenseFamilyName>DocBook 4.5</licenseFamilyName>
+                            <notes />
+                            <patterns>
+                              <pattern>Permission to copy in any form is granted for use</pattern>
+                              <pattern>Permission to use, copy, modify and distribute the DocBook DTD</pattern>
+                              <pattern>is hereby granted in perpetuity, provided that the above copyright</pattern>
+                              <pattern>This is the catalog data file for DocBook XML V4.5. It is provided as</pattern>
+                              <pattern>XML Catalog data for DocBook XML V4.5</pattern>
+                              <pattern>DocBook additional general entities V4.5</pattern>
+                              <pattern>XML EXCHANGE TABLE MODEL DECLARATION MODULE</pattern>
+                            </patterns>
+                          </license>
+                          <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
+                            <licenseFamilyCategory>W3C</licenseFamilyCategory>
+                            <licenseFamilyName>XHTML</licenseFamilyName>
+                            <notes />
+                            <patterns>
+                              <pattern>Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),</pattern>
+                            </patterns>
+                          </license>
+                        </licenses>
+                        <licenseFamilies>
+                          <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
+                            <familyName>Apache License 2.0</familyName>
+                          </licenseFamily>
+                          <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
+                            <familyName>MIT</familyName>
+                          </licenseFamily>
+                          <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
+                            <familyName>JMock</familyName>
+                          </licenseFamily>
+                          <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
+                            <familyName>DocBook 4.5</familyName>
+                          </licenseFamily>
+                          <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
+                            <familyName>XHTML</familyName>
+                          </licenseFamily>
+                        </licenseFamilies>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-report-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+	
+    <dependencyManagement>
+        <dependencies>
+
+			<dependency>
+				<groupId>org.apache.isis.core</groupId>
+				<artifactId>isis</artifactId>
+				<version>${isis.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<dependency>
+				<groupId>org.apache.isis.objectstore</groupId>
+				<artifactId>isis-objectstore-jdo</artifactId>
+				<version>${isis-objectstore-jdo.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<dependency>
+				<groupId>org.apache.isis.viewer</groupId>
+				<artifactId>isis-viewer-wicket</artifactId>
+				<version>${isis-viewer-wicket.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<dependency>
+				<groupId>org.apache.isis.viewer</groupId>
+				<artifactId>isis-viewer-restfulobjects</artifactId>
+				<version>${isis-viewer-restfulobjects.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<dependency>
+				<groupId>org.apache.isis.security</groupId>
+				<artifactId>isis-security-shiro</artifactId>
+				<version>${isis-security-shiro.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+
+            <!-- this project's own modules -->
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>${rootArtifactId}-dom</artifactId>
+                <version>${version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>${rootArtifactId}-fixture</artifactId>
+                <version>${version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>${rootArtifactId}-webapp</artifactId>
+                <version>${version}</version>
+            </dependency>
+
+
+            <!-- 3rd party extensions -->
+
+            <!--
+            GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
+            <dependency>
+                <groupId>com.danhaywood.isis.wicket</groupId>
+                <artifactId>danhaywood-isis-wicket-gmap3</artifactId>
+                <version>1.2.0</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            -->
+
+            <!--
+            WICKEDCHARTS: uncomment to use https://github.com/danhaywood/isis-wicket-wickedcharts
+            <dependency>
+                <groupId>com.danhaywood.isis.wicket</groupId>
+                <artifactId>danhaywood-isis-wicket-wickedcharts</artifactId>
+                <version>1.2.0</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            -->
+
+            <!--
+            EXCEL: uncomment to use https://github.com/danhaywood/isis-wicket-excel
+            <dependency>
+                <groupId>com.danhaywood.isis.wicket</groupId>
+                <artifactId>danhaywood-isis-wicket-excel</artifactId>
+                <version>1.2.0</version>
+            </dependency>
+            -->
+
+            <!--
+            FULLCALENDAR: uncomment to use https://github.com/danhaywood/isis-wicket-fullcalendar
+            <dependency>
+                <groupId>com.danhaywood.isis.wicket</groupId>
+                <artifactId>danhaywood-isis-wicket-fullcalendar</artifactId>
+                <version>1.2.0</version>
+            </dependency>
+            -->
+
+        </dependencies>
+    </dependencyManagement>
+    
+
+    <profiles>
+        <profile>
+            <id>m2e</id>
+            <activation>
+                <property>
+                    <name>m2e.version</name>
+                </property>
+            </activation>
+            <build>
+                <directory>target-ide</directory>
+            </build>
+        </profile>
+    </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-PROTOTYPE.launch
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-PROTOTYPE.launch b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-PROTOTYPE.launch
new file mode 100644
index 0000000..05b2bd4
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-PROTOTYPE.launch
@@ -0,0 +1,26 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+  </listAttribute>
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+    <listEntry value="1"/>
+  </listAttribute>
+  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+    <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+    <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+  </listAttribute>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--port 8080 --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-SERVER.launch
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-SERVER.launch b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-SERVER.launch
new file mode 100644
index 0000000..d47d2ee
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-no-fixtures-SERVER.launch
@@ -0,0 +1,22 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+  </listAttribute>
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+    <listEntry value="1"/>
+  </listAttribute>
+  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--port 8080 --type SERVER" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-with-fixtures.launch
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-with-fixtures.launch b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-with-fixtures.launch
new file mode 100644
index 0000000..7c08d90
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/SimpleApp-with-fixtures.launch
@@ -0,0 +1,26 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+  </listAttribute>
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+    <listEntry value="1"/>
+  </listAttribute>
+  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+    <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+    <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+  </listAttribute>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--port 8080 -D isis.persistor.datanucleus.install-fixtures=true --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/lib/.gitignore
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/lib/.gitignore b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/lib/.gitignore
@@ -0,0 +1,5 @@
+#
+# explicitly ignoring Microsoft JDBC4 jar
+# (cannot redistribute, licensing)
+#
+sqljdbc4.jar

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
new file mode 100644
index 0000000..92c2970
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}</artifactId>
+        <version>${version}</version>
+    </parent>
+
+    <artifactId>${artifactId}</artifactId>
+    <name>Simple Wicket/Restful/JDO Webapp</name>
+
+    <description>This module runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
+
+    <packaging>war</packaging>
+
+    <properties>
+        <siteBaseDir>..</siteBaseDir>
+    </properties>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>maven-jetty-plugin</artifactId>
+            </plugin>
+
+            <!-- mvn package -->
+            <plugin>
+                <groupId>org.simplericity.jettyconsole</groupId>
+                <artifactId>jetty-console-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>createconsole</goal>
+                        </goals>
+                        <configuration>
+                            <backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</backgroundImage>
+                        </configuration>
+                        <phase>package</phase>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!-- prereqs: mvn package -->
+            <!-- mvn antrun:run -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <configuration>
+                    <tasks>
+                        <exec executable="java" failonerror="true">
+                            <arg value="-jar" />
+                            <arg value="${project.build.directory}/${project.build.finalName}-jetty-console.war" />
+                        </exec>
+                    </tasks>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.5</version>
+                  <executions>
+                    <execution>
+                      <phase>validate</phase>
+                      <goals>
+                        <goal>maven-version</goal>
+                      </goals>
+                    </execution>
+                  </executions>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <warName>simple</warName>
+                    <archive>
+                        <manifest>
+                            <addClasspath>false</addClasspath>
+                        </manifest>
+                        <manifestEntries>
+                            <Build-Time>${maven.build.timestamp}</Build-Time>
+                            <Build-Host>${agent.name}</Build-Host>
+                            <Build-User>${user.name}</Build-User>
+                            <Build-Maven>Maven ${maven.version}</Build-Maven>
+                            <Build-Java>${java.version}</Build-Java>
+                            <Build-OS>${os.name}</Build-OS>
+                            <Build-Label>${project.version}</Build-Label>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.codehaus.mojo</groupId>
+                                        <artifactId>build-helper-maven-plugin</artifactId>
+                                        <versionRange>[1.5,)</versionRange>
+                                        <goals>
+                                            <goal>maven-version</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <dependencies>
+    
+        <!-- other modules in this project -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${rootArtifactId}-dom</artifactId>
+            <exclusions>
+                <exclusion>
+                    <!-- so don't pick up transitive dependency to asm 4.0.0 -->
+                    <groupId>org.datanucleus</groupId>
+                    <artifactId>datanucleus-enhancer</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${rootArtifactId}-fixture</artifactId>
+            <exclusions>
+                <exclusion>
+                    <!-- so don't pick up transitive dependency to asm 4.0.0 -->
+                    <groupId>org.datanucleus</groupId>
+                    <artifactId>datanucleus-enhancer</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        
+        <!-- other isis components -->
+        <dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+            <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.viewer</groupId>
+            <artifactId>isis-viewer-wicket-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.viewer</groupId>
+            <artifactId>isis-viewer-restfulobjects-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.security</groupId>
+            <artifactId>isis-security-shiro</artifactId>
+        </dependency>
+
+
+        <!-- isis core -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-runtime</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-profilestore</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-security</artifactId>
+        </dependency>
+        
+        <!-- to run using WebServer (optional) -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-webserver</artifactId>
+            <scope>runtime</scope>
+            <optional>true</optional>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-servlet_2.5_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <!-- 
+          JDBC drivers 
+          (for jdo objectstore)
+          -->
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+        </dependency>
+
+        <!-- 
+        <dependency>
+            <groupId>postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>9.1-901.jdbc4</version>
+        </dependency>
+         -->
+
+        <!-- 
+        mvn install:install-file -Dfile=sqljdbc4.jar \
+                                 -DgroupId=com.microsoft.sqlserver \
+                                 -DartifactId=jdbc \
+                                 -Dversion=4.0 \
+                                 -Dpackaging=jar
+         -->
+         <!-- 
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>jdbc</artifactId>
+            <version>4.0</version>
+        </dependency>
+          -->
+
+        <dependency>
+          <groupId>org.lazyluke</groupId>
+          <artifactId>log4jdbc-remix</artifactId>
+          <exclusions>
+            <exclusion>
+              <groupId>org.slf4j</groupId>
+              <artifactId>slf4j-api</artifactId>
+            </exclusion>
+          </exclusions>
+        </dependency>
+
+
+        <!-- 3rd party dependency -->
+        <!-- 
+        GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket</groupId>
+            <artifactId>danhaywood-isis-wicket-gmap3-ui</artifactId>
+        </dependency>
+         -->
+        <!-- 
+        WICKEDCHARTS: uncomment to use https://github.com/danhaywood/isis-wicket-wickedcharts
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket</groupId>
+            <artifactId>danhaywood-isis-wicket-wickedcharts-scalarchart</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket</groupId>
+            <artifactId>danhaywood-isis-wicket-wickedcharts-summarycharts</artifactId>
+        </dependency>
+         -->
+        <!-- 
+        EXCEL: uncomment to use https://github.com/danhaywood/isis-wicket-excel
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket</groupId>
+            <artifactId>danhaywood-isis-wicket-excel</artifactId>
+        </dependency>
+         -->
+        <!-- 
+        FULLCALENDAR: uncomment to use https://github.com/danhaywood/isis-wicket-fullcalendar
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket</groupId>
+            <artifactId>danhaywood-isis-wicket-fullcalendar</artifactId>
+        </dependency>
+         -->
+         
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java
new file mode 100644
index 0000000..9c7a0e9
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java
@@ -0,0 +1,36 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 webapp;
+
+import com.google.inject.Singleton;
+
+import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault;
+
+@Singleton
+public class ComponentFactoryRegistrarForSimpleApp extends ComponentFactoryRegistrarDefault {
+
+    @Override
+    public void addComponentFactories(ComponentFactoryList componentFactories) {
+        super.addComponentFactories(componentFactories);
+        // currently no replacements
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java
new file mode 100644
index 0000000..dee56ab
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java
@@ -0,0 +1,145 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 webapp;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.google.common.base.Joiner;
+import com.google.common.io.Resources;
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+import com.google.inject.util.Modules;
+import com.google.inject.util.Providers;
+
+import org.apache.wicket.Session;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Response;
+import org.apache.wicket.request.http.WebRequest;
+
+import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
+import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
+import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault;
+
+
+/**
+ * As specified in <tt>web.xml</tt>.
+ * 
+ * <p>
+ * See:
+ * <pre>
+ * &lt;filter>
+ *   &lt;filter-name>wicket&lt;/filter-name>
+ *    &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
+ *    &lt;init-param>
+ *      &lt;param-name>applicationClassName&lt;/param-name>
+ *      &lt;param-value>webapp.SimpleApplication&lt;/param-value>
+ *    &lt;/init-param>
+ * &lt;/filter>
+ * </pre>
+ * 
+ */
+public class SimpleApplication extends IsisWicketApplication {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * uncomment for a (slightly hacky) way of allowing logins using query args, eg:
+     * 
+     * <tt>?user=sven&pass=pass</tt>
+     * 
+     * <p>
+     * for demos only, obvious.
+     */
+    private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
+    
+    @Override
+    public Session newSession(final Request request, final Response response) {
+        if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
+            return super.newSession(request, response);
+        } 
+        
+        // else demo mode
+        final AuthenticatedWebSessionForIsis s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
+        final org.apache.wicket.util.string.StringValue user = request.getRequestParameters().getParameterValue("user");
+        final org.apache.wicket.util.string.StringValue password = request.getRequestParameters().getParameterValue("pass");
+        s.signIn(user.toString(), password.toString());
+        return s;
+    }
+
+    @Override
+    public WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) {
+        if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
+            return super.newWebRequest(servletRequest, filterPath);
+        } 
+
+        // else demo mode
+        try {
+            String uname = servletRequest.getParameter("user");
+            if (uname != null) {
+                servletRequest.getSession().invalidate();
+            }
+        } catch (Exception e) {
+        }
+        WebRequest request = super.newWebRequest(servletRequest, filterPath);
+        return request;
+    }
+    
+    @Override
+    protected Module newIsisWicketModule() {
+        final Module isisDefaults = super.newIsisWicketModule();
+        
+        final Module quickstartOverrides = new AbstractModule() {
+            @Override
+            protected void configure() {
+                bind(ComponentFactoryRegistrar.class).to(ComponentFactoryRegistrarForSimpleApp.class);
+                
+                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Quick Start App");
+                bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
+                bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
+                bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines("welcome.html"));
+                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("QuickStart");
+                bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
+            }
+        };
+
+        return Modules.override(isisDefaults).with(quickstartOverrides);
+    }
+
+    private static String readLines(final String resourceName) {
+        try {
+            List<String> readLines = Resources.readLines(Resources.getResource(SimpleApplication.class, resourceName), Charset.defaultCharset());
+            final String aboutText = Joiner.on("${symbol_escape}n").join(readLines);
+            return aboutText;
+        } catch (IOException e) {
+            return "This is Quick Start";
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
new file mode 100644
index 0000000..6b0cf4e
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
@@ -0,0 +1,45 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 webapp.prototyping;
+
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Blob;
+import org.apache.isis.applib.value.Clob;
+import org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServiceDefault;
+
+/**
+ * These overrides are simply to 'move' the action underneath the 
+ * {@link SimpleObjectsFixturesService fixtures} menu.
+ */
+public class DeveloperUtilities extends DeveloperUtilitiesServiceDefault {
+
+    @MemberOrder(name="Prototyping", sequence="90")
+    @Override
+    public Clob downloadMetaModel() {
+        return super.downloadMetaModel();
+    }
+    
+    @MemberOrder(name="Prototyping", sequence="92")
+    @Override
+    public Blob downloadLayouts() {
+        return super.downloadLayouts();
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java
new file mode 100644
index 0000000..a9bbc0a
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java
@@ -0,0 +1,66 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 webapp.prototyping;
+
+import java.util.List;
+
+import dom.simple.SimpleObject;
+import dom.simple.SimpleObjects;
+import fixture.simple.SimpleObjectsFixture;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Prototype;
+import org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Prototyping")
+public class SimpleObjectsFixturesService extends AbstractService {
+
+    @Prototype
+    public String installFixtures() {
+        final FixturesInstallerDelegate installer = new FixturesInstallerDelegate().withOverride();
+        installer.addFixture(new SimpleObjectsFixture());
+        installer.installFixtures();
+        return "Example fixtures installed";
+    }
+
+    // //////////////////////////////////////
+
+    @Prototype
+    public SimpleObject installFixturesAndReturnFirst() {
+        installFixtures();
+        List<SimpleObject> all = simpleObjects.listAll();
+        return !all.isEmpty() ? all.get(0) : null;
+    }
+
+    
+    // //////////////////////////////////////
+
+    private SimpleObjects simpleObjects;
+    public void injectSimpleObjects(SimpleObjects simpleObjects) {
+        this.simpleObjects = simpleObjects;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.pdn
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.pdn b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.pdn
new file mode 100644
index 0000000..37543c9
Binary files /dev/null and b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.pdn differ

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.png
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.png b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.png
new file mode 100644
index 0000000..cd9ecfe
Binary files /dev/null and b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/jettyconsole/isis-banner.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
new file mode 100644
index 0000000..6758c90
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
@@ -0,0 +1,38 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<p class="intro">
+    <a href="http://isis.apache.org">Apache Isis</a>&trade; is a framework to let you rapidly develop 
+    domain-driven apps in Java.
+    <br/>
+    <br/>
+    This app has been generated using Isis' 
+    <a href="http://isis.apache.org/getting-started/simple-archetype.html">simple</a> archetype, 
+    which configures Isis' most commonly used components as part of a purposefully minimal application.
+    <br/>
+    <br/>
+    The app itself consists of a single domain class, <a href="https://github.com/apache/isis/blob/master/example/application/${parentArtifactId}/dom/src/main/java/dom/simple/SimpleObject.java"  target="_blank">SimpleObject</a>, 
+    along with an equally simple (factory/repository) domain service, <a href="https://github.com/apache/isis/blob/master/example/application/${parentArtifactId}/dom/src/main/java/dom/simple/SimpleObjects.java"  target="_blank">SimpleObjects</a>.
+    <br/>
+    <br/>
+    For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Isis website</a>.
+</p>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..9a568b0
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
@@ -0,0 +1,28 @@
+#  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.
+
+
+#
+# configuration file for the file-based authentication
+# not used by the onlinedemo
+#
+
+# list of users, and their password, and optionally roles
+sven:pass:org.apache.isis.viewer.wicket.roles.USER
+dick:pass:org.apache.isis.viewer.wicket.roles.USER
+bob:pass:org.apache.isis.viewer.wicket.roles.USER
+joe:pass:org.apache.isis.viewer.wicket.roles.USER
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.properties
new file mode 100644
index 0000000..8edf17c
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.properties
@@ -0,0 +1,28 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the File-based authentication mechanism
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} (intentionally empty)
+${symbol_pound}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.allow
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.allow b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.allow
new file mode 100644
index 0000000..4407ec2
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.allow
@@ -0,0 +1,28 @@
+#  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.
+
+
+#
+# configuration file for the file-based authorization
+#
+
+
+#
+# (intentionally empty)
+#
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.properties
new file mode 100644
index 0000000..7baee9c
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authorization_file.properties
@@ -0,0 +1,50 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the File-based authorization mechanism
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} the whitelist file
+${symbol_pound} (value shown below is the default)
+${symbol_pound}
+
+${symbol_pound}isis.authorization.file.whitelist=authorization_file.allow
+
+
+
+${symbol_pound}
+${symbol_pound} the blacklist file
+${symbol_pound} (there is no default value; provide a filename)
+${symbol_pound}
+
+${symbol_pound}isis.authorization.file.blacklist=
+
+
+
+${symbol_pound}
+${symbol_pound} switch on "learning mode".  In this mode the authorization mechanism
+${symbol_pound} will grant all requests, and log those requests into the allow file.
+${symbol_pound}
+
+${symbol_pound}isis.authorization.learn=true
+


[18/28] ISIS-437: updating quickstart archetype

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
index f3bd7b1..7c03f19 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
@@ -34,6 +34,10 @@ public class ToDoItemChangedPayloadFactory implements PayloadFactory{
             super(changed);
         }
         
+        /**
+         * Expose the item's {@link ToDoItem${symbol_pound}getDescription() description} more explicitly
+         * in the payload.
+         */
         public String getDescription() {
             return getChanged().getDescription();
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java
new file mode 100644
index 0000000..ef54ed8
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java
@@ -0,0 +1,218 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 dom.todo;
+
+import java.util.List;
+
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Ordering;
+
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
+
+import org.joda.time.LocalDate;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.DescribedAs;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.NotContributed;
+import org.apache.isis.applib.annotation.NotContributed.As;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
+import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.query.QueryDefault;
+
+public class ToDoItemContributions extends AbstractFactoryAndRepository {
+
+    
+    // //////////////////////////////////////
+    // priority (contributed property)
+    // //////////////////////////////////////
+    
+    @DescribedAs("The relative priority of this item compared to others not yet complete (using 'due by' date)")
+    @NotInServiceMenu
+    @ActionSemantics(Of.SAFE)
+    @NotContributed(As.ACTION)
+    @Hidden(where=Where.ALL_TABLES)
+    @Disabled(reason="Relative priority, derived from due date")
+    public Integer priority(final ToDoItem toDoItem) {
+        if(toDoItem.isComplete()) {
+            return null;
+        }
+
+        // sort items, then locate this one
+        int i=1;
+        for (ToDoItem each : sortedNotYetComplete()) {
+            if(each == toDoItem) {
+                return i;
+            }
+            i++;
+        }
+        return null;
+    }
+
+
+    private List<ToDoItem> sortedNotYetComplete() {
+        return ORDERING_DUE_BY
+        .compound(ORDERING_DESCRIPTION)
+        .sortedCopy(toDoItems.notYetComplete());
+    }
+
+    private static Ordering<ToDoItem> ORDERING_DUE_BY = 
+        Ordering.natural().nullsLast().onResultOf(new Function<ToDoItem, LocalDate>(){
+            @Override
+            public LocalDate apply(ToDoItem input) {
+                return input.getDueBy();
+            }
+        });
+    
+    private static Ordering<ToDoItem> ORDERING_DESCRIPTION = 
+        Ordering.natural().nullsLast().onResultOf(new Function<ToDoItem, String>(){
+            @Override
+            public String apply(ToDoItem input) {
+                return input.getDescription();
+            }
+        });
+
+
+    // //////////////////////////////////////
+    // Next, Previous (contributed actions)
+    // //////////////////////////////////////
+
+    @DescribedAs("The next item not yet completed")
+    @NotInServiceMenu
+    @ActionSemantics(Of.SAFE)
+    @NotContributed(As.ASSOCIATION)
+    public ToDoItem next(final ToDoItem item) {
+        final Integer priority = priority(item);
+        int priorityOfNext = priority != null ? priority + 1 : 0;
+        return itemWithPriorityElse(priorityOfNext, item);
+    }
+    
+    @DescribedAs("The previous item not yet completed")
+    @NotInServiceMenu
+    @ActionSemantics(Of.SAFE)
+    @NotContributed(As.ASSOCIATION)
+    public ToDoItem previous(final ToDoItem item) {
+        final Integer priority = priority(item);
+        int priorityOfPrevious = priority != null? priority - 1 : 0;
+        return itemWithPriorityElse(priorityOfPrevious, item);
+    }
+
+
+    private ToDoItem itemWithPriorityElse(int idx, final ToDoItem itemElse) {
+        final List<ToDoItem> items = sortedNotYetComplete();
+        return idx>=0 && items.size()>=idx? items.get(idx-1): itemElse;
+    }
+
+    
+    // //////////////////////////////////////
+    // SimilarTo (contributed collection)
+    // //////////////////////////////////////
+    
+    @NotInServiceMenu
+    @ActionSemantics(Of.SAFE)
+    @NotContributed(As.ACTION)
+    public List<ToDoItem> similarTo(final ToDoItem toDoItem) {
+        if(false) {
+            // the naive implementation ...
+            return allMatches(ToDoItem.class, ToDoItem.Predicates.thoseSimilarTo(toDoItem));
+        } else {
+            // the JDO implementation ...
+            final List<ToDoItem> similarToDoItems = allMatches(
+                    new QueryDefault<ToDoItem>(ToDoItem.class, 
+                            "todo_similarTo", 
+                            "ownedBy", currentUserName(), 
+                            "category", toDoItem.getCategory()));
+            return Lists.newArrayList(Iterables.filter(similarToDoItems, excluding(toDoItem)));
+        }
+    }
+
+
+    private static Predicate<ToDoItem> excluding(final ToDoItem toDoItem) {
+        return new Predicate<ToDoItem>() {
+            @Override
+            public boolean apply(ToDoItem input) {
+                return input != toDoItem;
+            }
+        };
+    }
+
+    
+    // //////////////////////////////////////
+    // UpdateCategory (contributed action)
+    // //////////////////////////////////////
+
+    @Named("Update")
+    @DescribedAs("Update category and subcategory")
+    @NotInServiceMenu
+    @ActionSemantics(Of.IDEMPOTENT)
+    public ToDoItem updateCategory(
+            final ToDoItem item, 
+            final @Named("Category") Category category,
+            final @Named("Subcategory") Subcategory subcategory) {
+        item.setCategory(category);
+        item.setSubcategory(subcategory);
+        return item;
+    }
+
+    public Category default1UpdateCategory(
+            final ToDoItem item) {
+        return item.getCategory();
+    }
+    public Subcategory default2UpdateCategory(
+            final ToDoItem item) {
+        return item.getSubcategory();
+    }
+
+    public List<Subcategory> choices2UpdateCategory(
+            final ToDoItem item, final Category category) {
+        return Subcategory.listFor(category);
+    }
+    
+    public String validateUpdateCategory(
+            final ToDoItem item, final Category category, final Subcategory subcategory) {
+        return Subcategory.validate(category, subcategory);
+    }
+
+    
+    // //////////////////////////////////////
+    // helpers
+    // //////////////////////////////////////
+    
+    protected String currentUserName() {
+        return getContainer().getUser().getName();
+    }
+
+    // //////////////////////////////////////
+
+    private ToDoItems toDoItems;
+    public void injectToDoItems(ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java
index 4ece800..a1b17ab 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java
@@ -25,30 +25,34 @@ import java.math.BigDecimal;
 import java.util.Collections;
 import java.util.List;
 
-import com.google.common.base.Objects;
+import com.google.common.base.Predicates;
 
 import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
 
 import org.joda.time.LocalDate;
 
-import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.ActionSemantics.Of;
-import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.Bookmarkable;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.annotation.NotInServiceMenu;
 import org.apache.isis.applib.annotation.Optional;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.annotation.RegEx;
 import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.applib.query.QueryDefault;
+
+import services.ClockService;
 
 @Named("ToDos")
-public class ToDoItems extends AbstractFactoryAndRepository {
+public class ToDoItems {
+
+    // //////////////////////////////////////
+    // Identification in the UI
+    // //////////////////////////////////////
 
-    // {{ Id, iconName
-    @Override
     public String getId() {
         return "toDoItems";
     }
@@ -56,103 +60,164 @@ public class ToDoItems extends AbstractFactoryAndRepository {
     public String iconName() {
         return "ToDoItem";
     }
-    // }}
 
-    // {{ notYetComplete (action)
+    // //////////////////////////////////////
+    // NotYetComplete (action)
+    // //////////////////////////////////////
+    
+    @Bookmarkable
     @ActionSemantics(Of.SAFE)
     @MemberOrder(sequence = "1")
     public List<ToDoItem> notYetComplete() {
-        List<ToDoItem> items = doNotYetComplete();
+        final List<ToDoItem> items = notYetCompleteNoUi();
         if(items.isEmpty()) {
-            getContainer().informUser("All to-do items have been completed :-)");
+            container.informUser("All to-do items have been completed :-)");
         }
         return items;
     }
 
-    protected List<ToDoItem> doNotYetComplete() {
-        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem t) {
-                return ownedByCurrentUser(t) && !t.isComplete();
-            }
-        });
+    @Programmatic
+    public List<ToDoItem> notYetCompleteNoUi() {
+        final List<ToDoItem> items;
+        if(false) {
+            // the naive implementation ...
+            items = container.allMatches(ToDoItem.class, 
+                    Predicates.and(
+                        ToDoItem.Predicates.thoseOwnedBy(currentUserName()), 
+                        ToDoItem.Predicates.thoseNotYetComplete()));
+        } else {
+            // the JDO implementation ...
+            items = container.allMatches(
+                    new QueryDefault<ToDoItem>(ToDoItem.class, 
+                            "todo_notYetComplete", 
+                            "ownedBy", currentUserName()));
+        }
+        return items;
     }
-    // }}
 
-    // {{ complete (action)
+    
+    // //////////////////////////////////////
+    // Complete (action)
+    // //////////////////////////////////////
+    
     @ActionSemantics(Of.SAFE)
     @MemberOrder(sequence = "2")
     public List<ToDoItem> complete() {
-        List<ToDoItem> items = doComplete();
+        final List<ToDoItem> items = completeNoUi();
         if(items.isEmpty()) {
-            getContainer().informUser("No to-do items have yet been completed :-(");
+            container.informUser("No to-do items have yet been completed :-(");
         }
         return items;
     }
 
-    protected List<ToDoItem> doComplete() {
-        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem t) {
-                return ownedByCurrentUser(t) && t.isComplete();
-            }
-        });
+    @Programmatic
+    public List<ToDoItem> completeNoUi() {
+        final List<ToDoItem> items;
+        if(false) {
+            // the naive implementation ...
+            items = container.allMatches(ToDoItem.class, 
+                    Predicates.and(
+                        ToDoItem.Predicates.thoseOwnedBy(currentUserName()), 
+                        ToDoItem.Predicates.thoseComplete()));
+        } else {
+            // the JDO implementation ...
+            items = container.allMatches(
+                    new QueryDefault<ToDoItem>(ToDoItem.class, 
+                            "todo_complete", 
+                            "ownedBy", currentUserName()));
+        }
+        return items;
     }
-    // }}
 
-    
-    // {{ newToDo  (action)
+
+    // //////////////////////////////////////
+    // NewToDo (action)
+    // //////////////////////////////////////
+
     @MemberOrder(sequence = "3")
     public ToDoItem newToDo(
-            @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*") // words, spaces and selected punctuation
-            @Named("Description") String description, 
-            @Named("Category") Category category,
-            @Optional
-            @Named("Due by") LocalDate dueBy,
-            @Optional
-            @Named("Cost") BigDecimal cost) {
+            final @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*") @Named("Description") String description, 
+            final @Named("Category") Category category,
+            final @Named("Subcategory") Subcategory subcategory,
+            final @Optional @Named("Due by") LocalDate dueBy,
+            final @Optional @Named("Cost") BigDecimal cost) {
         final String ownedBy = currentUserName();
-        return newToDo(description, category, ownedBy, dueBy, cost);
+        return newToDo(description, category, subcategory, ownedBy, dueBy, cost);
+    }
+    public Category default1NewToDo() {
+        return Category.Professional;
+    }
+    public Subcategory default2NewToDo() {
+        return Category.Professional.subcategories().get(0);
+    }
+    public LocalDate default3NewToDo() {
+        return clockService.now().plusDays(14);
+    }
+    public List<Subcategory> choices2NewToDo(
+            final String description, final Category category) {
+        return Subcategory.listFor(category);
     }
-    public LocalDate default2NewToDo() {
-        return new LocalDate(Clock.getTime()).plusDays(14);
+    public String validateNewToDo(
+            final String description, 
+            final Category category, final Subcategory subcategory, 
+            final LocalDate dueBy, final BigDecimal cost) {
+        return Subcategory.validate(category, subcategory);
     }
-    // }}
 
+    // //////////////////////////////////////
+    // AllToDos (action)
+    // //////////////////////////////////////
 
-    // {{ allToDos (action)
     @ActionSemantics(Of.SAFE)
     @MemberOrder(sequence = "4")
     public List<ToDoItem> allToDos() {
-        return allToDos(NotifyUserIfNone.YES);
-    }
-
-    public enum NotifyUserIfNone { YES, NO }
-    
-    @Programmatic
-    public List<ToDoItem> allToDos(NotifyUserIfNone notifyUser) {
         final String currentUser = currentUserName();
-        final List<ToDoItem> items = allMatches(ToDoItem.class, ToDoItem.thoseOwnedBy(currentUser));
+        final List<ToDoItem> items = container.allMatches(ToDoItem.class, ToDoItem.Predicates.thoseOwnedBy(currentUser));
         Collections.sort(items);
-        if(notifyUser == NotifyUserIfNone.YES && items.isEmpty()) {
-            getContainer().warnUser("No to-do items found.");
+        if(items.isEmpty()) {
+            container.warnUser("No to-do items found.");
         }
         return items;
     }
-    // }}
 
+    // //////////////////////////////////////
+    // AutoComplete
+    // //////////////////////////////////////
+
+    @Programmatic // not part of metamodel
+    public List<ToDoItem> autoComplete(final String description) {
+        if(false) {
+            // the naive implementation ...
+            return container.allMatches(ToDoItem.class, 
+                    Predicates.and(
+                        ToDoItem.Predicates.thoseOwnedBy(currentUserName()), 
+                        ToDoItem.Predicates.thoseWithSimilarDescription(description)));
+        } else {
+            // the JDO implementation ...
+            return container.allMatches(
+                    new QueryDefault<ToDoItem>(ToDoItem.class, 
+                            "todo_autoComplete", 
+                            "ownedBy", currentUserName(), 
+                            "description", description));
+        }
+    }
+
+
+    // //////////////////////////////////////
+    // Programmatic Helpers
+    // //////////////////////////////////////
 
-    // {{ newToDo  (hidden)
-    @Hidden // for use by fixtures
+    @Programmatic // for use by fixtures
     public ToDoItem newToDo(
             final String description, 
             final Category category, 
-            final String userName,
-            final LocalDate dueBy, 
-            final BigDecimal cost) {
-        final ToDoItem toDoItem = newTransientInstance(ToDoItem.class);
+            final Subcategory subcategory,
+            final String userName, 
+            final LocalDate dueBy, final BigDecimal cost) {
+        final ToDoItem toDoItem = container.newTransientInstance(ToDoItem.class);
         toDoItem.setDescription(description);
         toDoItem.setCategory(category);
+        toDoItem.setSubcategory(subcategory);
         toDoItem.setOwnedBy(userName);
         toDoItem.setDueBy(dueBy);
         toDoItem.setCost(cost);
@@ -163,53 +228,34 @@ public class ToDoItems extends AbstractFactoryAndRepository {
         //    new Location(51.5172+random(-0.05, +0.05), 0.1182 + random(-0.05, +0.05)));
         //
         
-        persist(toDoItem);
+        container.persist(toDoItem);
         return toDoItem;
     }
     
     private static double random(double from, double to) {
         return Math.random() * (to-from) + from;
     }
-    // }}
 
+    private String currentUserName() {
+        return container.getUser().getName();
+    }
 
     
-    // {{ similarTo (action)
-    @NotInServiceMenu
-    @ActionSemantics(Of.SAFE)
-    @MemberOrder(sequence = "5")
-    public List<ToDoItem> similarTo(final ToDoItem toDoItem) {
-        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(ToDoItem t) {
-                return t != toDoItem && Objects.equal(toDoItem.getCategory(), t.getCategory()) && Objects.equal(toDoItem.getOwnedBy(), t.getOwnedBy());
-            }
-        });
-    }
-    // }}
-    
+    // //////////////////////////////////////
+    // Injected Services
+    // //////////////////////////////////////
+
     
-    // {{ autoComplete (hidden)
-    @Hidden
-    public List<ToDoItem> autoComplete(final String description) {
-        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem t) {
-                return ownedByCurrentUser(t) && t.getDescription().contains(description);
-            }
+    private DomainObjectContainer container;
 
-        });
+    public void injectDomainObjectContainer(final DomainObjectContainer container) {
+        this.container = container;
     }
-    // }}
 
-    // {{ helpers
-    protected boolean ownedByCurrentUser(final ToDoItem t) {
-        return Objects.equal(t.getOwnedBy(), currentUserName());
-    }
-    protected String currentUserName() {
-        return getContainer().getUser().getName();
+    private ClockService clockService;
+    public void injectClockService(ClockService clockService) {
+        this.clockService = clockService;
     }
-    // }}
 
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java
new file mode 100644
index 0000000..6311d76
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/services/ClockService.java
@@ -0,0 +1,36 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 services;
+
+import org.joda.time.LocalDate;
+
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.clock.Clock;
+
+@Hidden
+public class ClockService {
+    
+    @Programmatic
+    public LocalDate now() {
+        return Clock.getTimeAsLocalDate();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/Dashboard.png
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/Dashboard.png b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/Dashboard.png
new file mode 100644
index 0000000..66cb925
Binary files /dev/null and b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/Dashboard.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-done.png
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-done.png b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-done.png
new file mode 100644
index 0000000..e71398f
Binary files /dev/null and b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-done.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-todo.png
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-todo.png b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-todo.png
new file mode 100644
index 0000000..a2c5c0f
Binary files /dev/null and b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem-todo.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.gif
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.gif b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.gif
deleted file mode 100644
index cc536e1..0000000
Binary files a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.png
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.png b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.png
new file mode 100644
index 0000000..11586b9
Binary files /dev/null and b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/resources/images/ToDoItem.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_completed.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_completed.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_completed.java
new file mode 100644
index 0000000..e0ef805
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_completed.java
@@ -0,0 +1,58 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 dom.todo;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.annotation.Bulk;
+
+public class ToDoTest_completed {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        toDoItem = new ToDoItem();
+        toDoItem.setComplete(false);
+    }
+    
+    @Test
+    public void happyCase() throws Exception {
+        // given
+        assertThat(toDoItem.disableCompleted(), is(nullValue()));
+        
+        // when
+        Bulk.InteractionContext.with(new Runnable() {
+            @Override
+            public void run() {
+                toDoItem.completed();
+            }
+        }, toDoItem);
+        
+        // then
+        assertThat(toDoItem.isComplete(), is(true));
+        assertThat(toDoItem.disableCompleted(), is(not(nullValue())));
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_notYetCompleted.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_notYetCompleted.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_notYetCompleted.java
new file mode 100644
index 0000000..4e83ddc
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoTest_notYetCompleted.java
@@ -0,0 +1,51 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 dom.todo;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoTest_notYetCompleted {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        toDoItem = new ToDoItem();
+        toDoItem.setComplete(true);
+    }
+    
+    @Test
+    public void happyCase() throws Exception {
+        // given
+        assertThat(toDoItem.disableNotYetCompleted(), is(nullValue()));
+        
+        // when
+        toDoItem.notYetCompleted();
+        
+        // then
+        assertThat(toDoItem.isComplete(), is(false));
+        assertThat(toDoItem.disableNotYetCompleted(), is(not(nullValue())));
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
index 4fd97db..25bcb84 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
@@ -23,60 +23,67 @@
 package fixture.todo;
 
 import java.math.BigDecimal;
-import java.util.List;
-
-import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.applib.fixtures.AbstractFixture;
-import org.joda.time.LocalDate;
 
 import dom.todo.ToDoItem;
 import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
 import dom.todo.ToDoItems;
-import dom.todo.ToDoItems.NotifyUserIfNone;
+
+import org.joda.time.LocalDate;
+
+import org.apache.isis.applib.clock.Clock;
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.objectstore.jdo.applib.service.support.IsisJdoSupport;
 
 public class ToDoItemsFixture extends AbstractFixture {
 
+    private final String user;
+
+    public ToDoItemsFixture() {
+        this(null);
+    }
+    
+    public ToDoItemsFixture(String ownedBy) {
+        this.user = ownedBy;
+    }
+    
     @Override
     public void install() {
 
-        removeAllToDosForCurrentUser();
+        final String ownedBy = this.user != null? this.user : getContainer().getUser().getName();
+        
+        isisJdoSupport.executeUpdate("delete from ${symbol_escape}"ToDoItem${symbol_escape}" where ${symbol_escape}"ownedBy${symbol_escape}" = '" + ownedBy + "'");
 
-        installFor(getContainer().getUser().getName());
+        installFor(ownedBy);
         
         getContainer().flush();
     }
 
-    public void installFor(String user) {
-
-        removeAllToDosFor(user);
+    private void installFor(String user) {
 
-        createToDoItemForUser("Buy milk", Category.Domestic, user, daysFromToday(0), new BigDecimal("1.50"));
-        createToDoItemForUser("Buy stamps", Category.Domestic, user, daysFromToday(0), new BigDecimal("10.00"));
-        createToDoItemForUser("Pick up laundry", Category.Other, user, daysFromToday(6), new BigDecimal("7.50"));
-        createToDoItemForUser("Write blog post", Category.Professional, user, null, null);
-        createToDoItemForUser("Organize brown bag", Category.Professional, user, daysFromToday(14), null);
+        createToDoItemForUser("Buy milk", Category.Domestic, Subcategory.Shopping, user, daysFromToday(0), new BigDecimal("0.75"));
+        createToDoItemForUser("Buy bread", Category.Domestic, Subcategory.Shopping, user, daysFromToday(0), new BigDecimal("1.75"));
+        createToDoItemForUser("Buy stamps", Category.Domestic, Subcategory.Shopping, user, daysFromToday(0), new BigDecimal("10.00")).setComplete(true);
+        createToDoItemForUser("Pick up laundry", Category.Domestic, Subcategory.Chores, user, daysFromToday(6), new BigDecimal("7.50"));
+        createToDoItemForUser("Mow lawn", Category.Domestic, Subcategory.Garden, user, daysFromToday(6), null);
+        createToDoItemForUser("Vacuum house", Category.Domestic, Subcategory.Housework, user, daysFromToday(3), null);
+        createToDoItemForUser("Sharpen knives", Category.Domestic, Subcategory.Chores, user, daysFromToday(14), null);
+        
+        createToDoItemForUser("Write to penpal", Category.Other, Subcategory.Other, user, null, null);
+        
+        createToDoItemForUser("Write blog post", Category.Professional, Subcategory.Marketing, user, daysFromToday(7), null).setComplete(true);
+        createToDoItemForUser("Organize brown bag", Category.Professional, Subcategory.Consulting, user, daysFromToday(14), null);
+        createToDoItemForUser("Submit conference session", Category.Professional, Subcategory.Education, user, daysFromToday(21), null);
+        createToDoItemForUser("Stage Isis release", Category.Professional, Subcategory.OpenSource, user, null, null);
 
         getContainer().flush();
     }
 
-    // {{ helpers
-    private void removeAllToDosForCurrentUser() {
-        
-        final List<ToDoItem> allToDos = toDoItems.allToDos(NotifyUserIfNone.NO);
-        for (final ToDoItem toDoItem : allToDos) {
-            getContainer().remove(toDoItem);
-        }
-    }
 
-    private void removeAllToDosFor(String user) {
-        final List<ToDoItem> items = allMatches(ToDoItem.class, ToDoItem.thoseOwnedBy(user));
-        for (final ToDoItem toDoItem : items) {
-            getContainer().remove(toDoItem);
-        }
-    }
+    // //////////////////////////////////////
 
-    private ToDoItem createToDoItemForUser(final String description, final Category category, String user, final LocalDate dueBy, final BigDecimal cost) {
-        return toDoItems.newToDo(description, category, user, dueBy, cost);
+    private ToDoItem createToDoItemForUser(final String description, final Category category, Subcategory subcategory, String user, final LocalDate dueBy, final BigDecimal cost) {
+        return toDoItems.newToDo(description, category, subcategory, user, dueBy, cost);
     }
 
     private static LocalDate daysFromToday(final int i) {
@@ -84,15 +91,20 @@ public class ToDoItemsFixture extends AbstractFixture {
         return date.plusDays(i);
     }
 
-    // }}
+    
+    // //////////////////////////////////////
+
 
-    // {{ injected: ToDoItems
     private ToDoItems toDoItems;
 
     public void setToDoItems(final ToDoItems toDoItems) {
         this.toDoItems = toDoItems;
     }
-    // }}
+
     
+    private IsisJdoSupport isisJdoSupport;
+    public void injectIsisJdoSupport(IsisJdoSupport isisJdoSupport) {
+        this.isisJdoSupport = isisJdoSupport;
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
deleted file mode 100644
index 00deb70..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
+++ /dev/null
@@ -1,67 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 fixture.todo;
-
-import java.util.List;
-
-import org.apache.isis.applib.AbstractService;
-import org.apache.isis.applib.annotation.Named;
-
-import com.google.common.collect.Lists;
-
-import dom.todo.ToDoItems;
-
-/**
- * Enables fixtures to be installed from the application.
- */
-@Named("Fixtures")
-public class ToDoItemsFixturesService extends AbstractService {
-
-    public String install() {
-        final ToDoItemsFixture fixture = new ToDoItemsFixture();
-        fixture.setContainer(getContainer());
-        fixture.setToDoItems(toDoItems);
-        fixture.install();
-        return "Example fixtures installed";
-    }
-
-    public String installFor(@Named("User") String user) {
-        final ToDoItemsFixture fixture = new ToDoItemsFixture();
-        fixture.setContainer(getContainer());
-        fixture.setToDoItems(toDoItems);
-        fixture.installFor(user);
-        return "Example fixtures installed for " + user;
-    }
-    public String default0InstallFor() {
-        return "guest";
-    }
-    public List<String> choices0InstallFor() {
-        return Lists.newArrayList("guest", "dick", "bob", "joe");
-    }
-
-    
-    private ToDoItems toDoItems;
-    public void setToDoItems(final ToDoItems toDoItems) {
-        this.toDoItems = toDoItems;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
index aaa4c52..234ed51 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/logging.properties
@@ -41,6 +41,7 @@ ${symbol_pound}log4j.debug=true
 
 ${symbol_pound} DataNucleus
 log4j.logger.DataNucleus.Datastore.Native=DEBUG, Console
+log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
 
 log4j.logger.DataNucleus.Persistence=WARN, Console
 log4j.logger.DataNucleus.Transaction=WARN, Console
@@ -49,7 +50,6 @@ log4j.logger.DataNucleus.Query=WARN, Console
 log4j.logger.DataNucleus.Cache=WARN, Console
 log4j.logger.DataNucleus.MetaData=WARN, Console
 log4j.logger.DataNucleus.Datastore=WARN, Console
-log4j.logger.DataNucleus.Datastore.Schema=WARN, Console
 log4j.logger.DataNucleus.Datastore.Persist=WARN, Console
 log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console
 log4j.logger.DataNucleus.General=WARN, Console

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
index b7a8d8d..93dbfee 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/pom.xml
@@ -29,33 +29,28 @@
 	<name>Quickstart Wicket/Restful/JDO Integration Tests</name>
 
     <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <configuration>
-                        <includes>
-                            <include>**/*.java</include>
-                        </includes>
-                        <excludes>
-                            <exclude>**/*Abstract*.java</exclude>
-                        </excludes>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+            <testResource>
+                <directory>src/test/java</directory>
+                <includes>
+                    <include>**</include>
+                </includes>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+        </testResources>  
     </build>
-	<dependencies>
+  	<dependencies>
 	
 		<!-- other modules in this project -->
 		<dependency>
 			<groupId>${project.groupId}</groupId>
 			<artifactId>${rootArtifactId}-fixture</artifactId>
 		</dependency>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>${rootArtifactId}-objstore-jdo</artifactId>
-		</dependency>
 
         <dependency>
             <groupId>org.apache.isis.core</groupId>
@@ -66,18 +61,62 @@
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-integtestsupport</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-specsupport</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-library</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-wrapper</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+            <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.hsqldb</groupId>
             <artifactId>hsqldb</artifactId>
         </dependency>
 
-		
+        <!-- 
+        uncomment to enable enhanced cucumber-jvm reporting
+        http://www.masterthought.net/section/cucumber-reporting
+        <dependency>  
+            <groupId>com.googlecode.totallylazy</groupId>  
+            <artifactId>totallylazy</artifactId>  
+            <version>991</version>  
+        </dependency>
+
+        <dependency>
+            <groupId>net.masterthought</groupId>
+            <artifactId>cucumber-reporting</artifactId>
+            <version>0.0.21</version>
+        </dependency>
+        <dependency>
+            <groupId>net.masterthought</groupId>
+            <artifactId>maven-cucumber-reporting</artifactId>
+            <version>0.0.4</version>
+        </dependency>  
+        -->
 	</dependencies>
 
+    <!-- 
+    uncomment for enhanced cucumber-jvm reporting
+    http://www.masterthought.net/section/cucumber-reporting
+    <repositories>  
+        <repository>  
+            <id>repo.bodar.com</id>  
+            <url>http://repo.bodar.com</url>  
+        </repository>  
+    </repositories>  
+     -->
+  
+
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/ToDoSystemInitializer.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/ToDoSystemInitializer.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/ToDoSystemInitializer.java
new file mode 100644
index 0000000..16e2c50
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/ToDoSystemInitializer.java
@@ -0,0 +1,88 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration;
+
+import app.ToDoItemAnalysis;
+import dom.todo.ToDoItemContributions;
+import dom.todo.ToDoItems;
+
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.integtestsupport.IsisSystemForTest;
+import org.apache.isis.core.wrapper.WrapperFactoryDefault;
+import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore;
+import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller;
+import org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl;
+import org.apache.isis.objectstore.jdo.service.RegisterEntities;
+
+/**
+ * Holds an instance of an {@link IsisSystemForTest} as a {@link ThreadLocal} on the current thread,
+ * initialized with ToDo app's domain services. 
+ */
+public class ToDoSystemInitializer {
+    
+    private ToDoSystemInitializer(){}
+
+    public static IsisSystemForTest initIsft() {
+        IsisSystemForTest isft = IsisSystemForTest.getElseNull();
+        if(isft == null) {
+            isft = new ToDoSystemBuilder().build().setUpSystem();
+            IsisSystemForTest.set(isft);
+        }
+        return isft;
+    }
+
+    private static class ToDoSystemBuilder extends IsisSystemForTest.Builder {
+
+        public ToDoSystemBuilder() {
+            //withFixtures( ... reference data fixtures ...); // if we had any...
+            withLoggingAt(org.apache.log4j.Level.INFO);
+            with(testConfiguration());
+            with(new DataNucleusPersistenceMechanismInstaller());
+            
+            withServices(
+                    new ToDoItems(),
+                    new ToDoItemAnalysis(),
+                    new ToDoItemContributions(),
+                    new WrapperFactoryDefault(),
+                    new RegisterEntities(),
+                    new IsisJdoSupportImpl()
+                    );
+        }
+
+        private IsisConfiguration testConfiguration() {
+            final IsisConfigurationDefault testConfiguration = new IsisConfigurationDefault();
+
+            testConfiguration.add("isis.persistor.datanucleus.RegisterEntities.packagePrefix", "dom");
+            testConfiguration.add("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL", "jdbc:hsqldb:mem:test");
+            
+            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.defaultInheritanceStrategy", "TABLE_PER_CLASS");
+            testConfiguration.add(DataNucleusObjectStore.INSTALL_FIXTURES_KEY , "true");
+            
+            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.cache.level2.type","none");
+
+            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.identifier.case", "PreserveCase");
+
+            return testConfiguration;
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java
new file mode 100644
index 0000000..f800e25
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/BootstrappingGlue.java
@@ -0,0 +1,59 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue;
+
+import integration.ToDoSystemInitializer;
+import cucumber.api.java.After;
+import cucumber.api.java.Before;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.isis.core.specsupport.scenarios.ScenarioExecutionScope;
+import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
+
+public class BootstrappingGlue extends CukeGlueAbstract {
+
+    // //////////////////////////////////////
+    
+    @Before(value={"@unit"}, order=100)
+    public void beforeScenarioUnitScope() {
+        before(ScenarioExecutionScope.UNIT);
+    }
+
+    @Before(value={"@integration"}, order=100)
+    public void beforeScenarioIntegrationScope() {
+        org.apache.log4j.PropertyConfigurator.configure("logging.properties");
+        ToDoSystemInitializer.initIsft();
+        
+        before(ScenarioExecutionScope.INTEGRATION);
+    }
+
+    @After
+    public void afterScenario(cucumber.api.Scenario sc) {
+        assertMocksSatisfied();
+        after(sc);
+    }
+
+    // //////////////////////////////////////
+    
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java
new file mode 100644
index 0000000..c826d30
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java
@@ -0,0 +1,50 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue;
+
+import cucumber.api.java.Before;
+import dom.todo.ToDoItem;
+import fixture.todo.ToDoItemsFixture;
+
+import org.apache.isis.core.specsupport.scenarios.InMemoryDB;
+import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
+
+public class CatalogOfFixturesGlue extends CukeGlueAbstract {
+
+    
+    @Before(value={"@unit", "@ToDoItemsFixture"}, order=20000)
+    public void unitFixtures() throws Throwable {
+        final InMemoryDB inMemoryDB = new InMemoryDBForToDoApp(this.scenarioExecution());
+        inMemoryDB.getElseCreate(ToDoItem.class, "Write blog post");
+        inMemoryDB.getElseCreate(ToDoItem.class, "Pick up bread");
+        final ToDoItem t3 = inMemoryDB.getElseCreate(ToDoItem.class, "Pick up butter");
+        t3.setComplete(true);
+        putVar("isis", "in-memory-db", inMemoryDB);
+    }
+
+    // //////////////////////////////////////
+
+    @Before(value={"@integration", "@ToDoItemsFixture"}, order=20000)
+    public void integrationFixtures() throws Throwable {
+        scenarioExecution().install(new ToDoItemsFixture());
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForToDoApp.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForToDoApp.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForToDoApp.java
new file mode 100644
index 0000000..4d8af87
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/InMemoryDBForToDoApp.java
@@ -0,0 +1,43 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue;
+
+import dom.todo.ToDoItem;
+
+import org.apache.isis.core.specsupport.scenarios.InMemoryDB;
+import org.apache.isis.core.specsupport.scenarios.ScenarioExecution;
+
+public class InMemoryDBForToDoApp extends InMemoryDB {
+    
+    public InMemoryDBForToDoApp(ScenarioExecution scenarioExecution) {
+        super(scenarioExecution);
+    }
+    
+    /**
+     * Hook to initialize if possible.
+     */
+    @Override
+    protected void init(Object obj, String str) {
+        if(obj instanceof ToDoItem) {
+            ToDoItem toDoItem = (ToDoItem) obj;
+            toDoItem.setDescription(str);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
new file mode 100644
index 0000000..9cfffd1
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
@@ -0,0 +1,169 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.glue.todoitem;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.List;
+
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+import cucumber.api.java.en.Given;
+import cucumber.api.java.en.Then;
+import cucumber.api.java.en.When;
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+
+import org.jmock.Expectations;
+import org.junit.Assert;
+
+import org.apache.isis.applib.annotation.Bulk;
+import org.apache.isis.core.specsupport.scenarios.InMemoryDB;
+import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
+
+public class ToDoItemGlue extends CukeGlueAbstract {
+
+    @Given("^there are a number of incomplete ToDo items${symbol_dollar}")
+    public void there_are_a_number_of_incomplete_ToDo_items() throws Throwable {
+        if(supportsMocks()) {
+            checking(new Expectations() {
+                {
+                    allowing(service(ToDoItems.class)).notYetComplete();
+                    will(returnValue(notYetCompleteItems()));
+                }
+            });
+        }
+        try {
+            final List<ToDoItem> notYetComplete = service(ToDoItems.class).notYetComplete();
+            assertThat(notYetComplete.isEmpty(), is(false));
+            putVar("list", "notYetCompleteItems", notYetComplete);
+            
+        } finally {
+            assertMocksSatisfied();
+        }
+    }
+    
+    @When("^I choose the first of the incomplete items${symbol_dollar}")
+    public void I_choose_the_first_one() throws Throwable {
+        @SuppressWarnings("unchecked")
+        List<ToDoItem> notYetComplete = getVar(null, "notYetCompleteItems", List.class);
+        assertThat(notYetComplete.isEmpty(), is(false));
+        
+        putVar("todo", "toDoItem", notYetComplete.get(0));
+    }
+    
+    @When("^mark the item as complete${symbol_dollar}")
+    public void mark_it_as_complete() throws Throwable {
+        final ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
+        if(supportsMocks()) {
+            Bulk.InteractionContext.with(new Runnable(){
+                @Override
+                public void run() {
+                    toDoItem.completed();
+                }
+            }, toDoItem);
+        } else {
+            // can just call directly; 
+            // framework will take care of setting the Bulk.InteractionContext.
+            wrap(toDoItem).completed();
+        }
+    }
+    
+    @Then("^the item is no longer listed as incomplete${symbol_dollar}")
+    public void the_item_is_no_longer_listed_as_incomplete() throws Throwable {
+        ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
+        whetherNotYetCompletedContains(toDoItem, false);
+    }
+
+    @Given("^.*completed .*item${symbol_dollar}")
+    public void a_completed_ToDo_item() throws Throwable {
+        if(supportsMocks()) {
+            checking(new Expectations(){{
+                allowing(service(ToDoItems.class)).allToDos();
+                will(returnValue(findItems(Predicates.<ToDoItem>alwaysTrue()) ));
+            }});
+        }
+        try {
+            final List<ToDoItem> allToDos = service(ToDoItems.class).allToDos();
+            for (ToDoItem toDoItem : allToDos) {
+                if(toDoItem.isComplete()) {
+                    putVar("todo", "toDoItem", toDoItem);
+                    return;
+                }
+            }
+            Assert.fail("could not locate any completed ToDo items");
+        } finally {
+            assertMocksSatisfied();
+        }
+    }
+
+    @When("^I mark the .*item as not yet complete${symbol_dollar}")
+    public void I_mark_it_as_not_yet_complete() throws Throwable {
+        ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
+        assertThat(toDoItem.isComplete(), is(true));
+        
+        toDoItem.setComplete(false);
+    }
+
+    @Then("^the .*item is listed as incomplete${symbol_dollar}")
+    public void the_item_is_listed_as_incomplete() throws Throwable {
+        ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
+        whetherNotYetCompletedContains(toDoItem, true);
+    }
+
+    private void whetherNotYetCompletedContains(ToDoItem toDoItem, final boolean whetherContained) {
+        if(supportsMocks()) {
+            final List<ToDoItem> notYetCompleteItems = notYetCompleteItems();
+            checking(new Expectations() {
+                {
+                    oneOf(service(ToDoItems.class)).notYetComplete();
+                    will(returnValue(notYetCompleteItems));
+                }
+            });
+        }
+        try {
+            final List<ToDoItem> notYetComplete = service(ToDoItems.class).notYetComplete();
+            assertThat(notYetComplete.contains(toDoItem), is(whetherContained));
+        } finally {
+            assertMocksSatisfied();
+        }
+    }
+
+
+    // helper
+    private List<ToDoItem> notYetCompleteItems() {
+        return findItems(new Predicate<ToDoItem>(){
+            @Override
+            public boolean apply(ToDoItem input) {
+                return !input.isComplete();
+            }
+        });
+    }
+
+    private List<ToDoItem> findItems(final Predicate<ToDoItem> predicate) {
+        final InMemoryDB inMemoryDB = getVar("isis", "in-memory-db", InMemoryDB.class);
+        final List<ToDoItem> items = inMemoryDB.findAll(ToDoItem.class);
+        return Lists.newArrayList(Iterables.filter(items, predicate));
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/RunSpecs.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/RunSpecs.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/RunSpecs.java
new file mode 100644
index 0000000..a0d30e2
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/RunSpecs.java
@@ -0,0 +1,41 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 integration.specs.todoitem;
+
+import cucumber.api.junit.Cucumber;
+
+import org.junit.runner.RunWith;
+
+
+/**
+ * Runs scenarios in all <tt>.feature</tt> files (this package and any subpackages). 
+ */
+@RunWith(Cucumber.class)
+@Cucumber.Options(
+        format = {
+                "html:target/cucumber-html-report"
+                ,"json:target/cucumber.json"
+        },
+        glue={"classpath:integration.glue"},
+        strict = true,
+        tags = { "~@backlog", "~@ignore" })
+public class RunSpecs {
+    // intentionally empty 
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findAndComplete.feature
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findAndComplete.feature b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findAndComplete.feature
new file mode 100644
index 0000000..9fc1596
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findAndComplete.feature
@@ -0,0 +1,39 @@
+#
+#  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.
+#
+@ToDoItemsFixture
+Feature: Find And Complete ToDo Items
+
+  # the scenario is listed twice here just to demonstrate that it
+  # can be run either at @unit-level scope (using mocks) or
+  # at @integration-level scope (against the running system).
+  
+  @unit
+  Scenario: Todo items once completed are no longer listed
+    Given there are a number of incomplete ToDo items
+    When  I choose the first of the incomplete items
+    And   mark the item as complete
+    Then  the item is no longer listed as incomplete 
+
+
+  @integration
+  Scenario: Todo items once completed are no longer listed
+    Given there are a number of incomplete ToDo items
+    When  I choose the first of the incomplete items
+    And   mark the item as complete
+    Then  the item is no longer listed as incomplete 
+
+    
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findCompletedAndMarkAsNotYetComplete.feature
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findCompletedAndMarkAsNotYetComplete.feature b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findCompletedAndMarkAsNotYetComplete.feature
new file mode 100644
index 0000000..1f5f73e
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/todoitem/ToDoItemSpec_findCompletedAndMarkAsNotYetComplete.feature
@@ -0,0 +1,35 @@
+#
+#  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.
+#
+@ToDoItemsFixture
+Feature: Find completed ToDoItem and mark as not yet complete
+
+  # the scenario is listed twice here just to demonstrate that it
+  # can be run either at @unit-level scope (using mocks) or
+  # at @integration-level scope (against the running system).
+  
+  @integration
+  Scenario: Todo items can be uncompleted
+    Given a completed item
+    When  I mark the item as not yet complete
+    Then  the item is listed as incomplete 
+
+ 
+  @unit
+  Scenario: Todo items can be uncompleted
+    Given a completed ToDo item
+    When  I mark the item as not yet complete
+    Then  the item is listed as incomplete 

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoIntegTest.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoIntegTest.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoIntegTest.java
new file mode 100644
index 0000000..4e60a9b
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoIntegTest.java
@@ -0,0 +1,43 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests;
+
+import integration.ToDoSystemInitializer;
+
+import org.junit.BeforeClass;
+
+import org.apache.isis.core.integtestsupport.IntegrationTestAbstract;
+import org.apache.isis.core.integtestsupport.scenarios.ScenarioExecutionForIntegration;
+
+public abstract class ToDoIntegTest extends IntegrationTestAbstract {
+
+    
+    @BeforeClass
+    public static void initClass() {
+        org.apache.log4j.PropertyConfigurator.configure("logging.properties");
+        ToDoSystemInitializer.initIsft();
+        
+        // instantiating will install onto ThreadLocal
+        new ScenarioExecutionForIntegration();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
new file mode 100644
index 0000000..e81eccd
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
@@ -0,0 +1,102 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.actions;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItemContributions;
+import dom.todo.ToDoItems;
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
+import fixture.todo.ToDoItemsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class ToDoItemContributionsTest_updateCategory extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private ToDoItemContributions toDoItemContributions;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final ToDoItems toDoItems = wrap(service(ToDoItems.class));
+        toDoItemContributions = wrap(service(ToDoItemContributions.class));
+        final List<ToDoItem> all = toDoItems.notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // when
+        toDoItemContributions.updateCategory(toDoItem, Category.Professional, Subcategory.Consulting);
+        
+        // then
+        assertThat(toDoItem.getCategory(), is(Category.Professional));
+        assertThat(toDoItem.getSubcategory(), is(Subcategory.Consulting));
+        
+        // when
+        toDoItemContributions.updateCategory(toDoItem, Category.Domestic, Subcategory.Chores);
+        
+        // then
+        assertThat(toDoItem.getCategory(), is(Category.Domestic));
+        assertThat(toDoItem.getSubcategory(), is(Subcategory.Chores));
+    }
+
+
+    @Test
+    public void categoryCannotBeNull() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage("Category is mandatory");
+        toDoItemContributions.updateCategory(toDoItem, null, Subcategory.Chores);
+    }
+
+    @Test
+    public void subcategoryCannotBeNull() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage("Subcategory is mandatory");
+        toDoItemContributions.updateCategory(toDoItem, Category.Professional, null);
+    }
+    
+    @Test
+    public void subcategoryMustBelongToCategory() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage(containsString("Invalid subcategory"));
+        toDoItemContributions.updateCategory(toDoItem, Category.Professional, Subcategory.Chores);
+    }
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
new file mode 100644
index 0000000..7f31f74
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
@@ -0,0 +1,86 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.actions;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_completed extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // given
+        assertThat(toDoItem.isComplete(), is(false));
+        
+        // when
+        toDoItem.completed();
+        
+        // then
+        assertThat(toDoItem.isComplete(), is(true));
+    }
+
+
+    @Test
+    public void cannotCompleteIfAlreadyCompleted() throws Exception {
+        
+        // given
+        unwrap(toDoItem).setComplete(true);
+
+        // when, then should fail
+        expectedExceptions.expectMessage("Already completed");
+        toDoItem.completed();
+    }
+
+
+    @Test
+    public void cannotSetPropertyDirectly() throws Exception {
+        
+        // given
+
+        // when, then should fail
+        expectedExceptions.expectMessage("Always disabled");
+        toDoItem.setComplete(true);
+    }
+
+}
\ No newline at end of file


[11/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/master
Commit: a1b7b76d6400d1501415827479d7eb00368022b1
Parents: 80617e2
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 22:28:35 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 22:28:35 2013 +0100

----------------------------------------------------------------------
 component/viewer/restfulobjects/applib/pom.xml    |  2 +-
 component/viewer/restfulobjects/pom.xml           | 18 +++++++-----------
 component/viewer/restfulobjects/rendering/pom.xml |  2 +-
 component/viewer/restfulobjects/server/pom.xml    |  2 +-
 component/viewer/restfulobjects/tck/pom.xml       |  8 ++------
 5 files changed, 12 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a1b7b76d/component/viewer/restfulobjects/applib/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/applib/pom.xml b/component/viewer/restfulobjects/applib/pom.xml
index 9530344..b9528ec 100644
--- a/component/viewer/restfulobjects/applib/pom.xml
+++ b/component/viewer/restfulobjects/applib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.1.0</version>
+		<version>2.2.0-SNAPSHOT</version>
 	</parent>
 	
 	<artifactId>isis-viewer-restfulobjects-applib</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/a1b7b76d/component/viewer/restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/pom.xml b/component/viewer/restfulobjects/pom.xml
index d622460..14f5f79 100644
--- a/component/viewer/restfulobjects/pom.xml
+++ b/component/viewer/restfulobjects/pom.xml
@@ -30,7 +30,7 @@
 
 	<groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-restfulobjects</artifactId>
-    <version>2.1.0</version>
+    <version>2.2.0-SNAPSHOT</version>
 
 	<name>Isis RestfulObjects Viewer</name>
 
@@ -119,36 +119,36 @@
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-				<version>2.1.0</version>
+				<version>2.2.0-SNAPSHOT</version>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-				<version>2.1.0</version>
+				<version>2.2.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-rendering</artifactId>
-				<version>2.1.0</version>
+				<version>2.2.0-SNAPSHOT</version>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-rendering</artifactId>
-				<version>2.1.0</version>
+				<version>2.2.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-server</artifactId>
-				<version>2.1.0</version>
+				<version>2.2.0-SNAPSHOT</version>
 			</dependency>
 	   		<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-server</artifactId>
-				<version>2.1.0</version>
+				<version>2.2.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
 			</dependency>
@@ -172,8 +172,4 @@
 	    <module>server</module>
 	    <module>tck</module>
     </modules>
-
-  <scm>
-    <tag>isis-viewer-restfulobjects-2.1.0</tag>
-  </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a1b7b76d/component/viewer/restfulobjects/rendering/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/pom.xml b/component/viewer/restfulobjects/rendering/pom.xml
index 7d64d3d..205612d 100644
--- a/component/viewer/restfulobjects/rendering/pom.xml
+++ b/component/viewer/restfulobjects/rendering/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.1.0</version>
+		<version>2.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-viewer-restfulobjects-rendering</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/a1b7b76d/component/viewer/restfulobjects/server/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/server/pom.xml b/component/viewer/restfulobjects/server/pom.xml
index 3a6eceb..c1d8c28 100644
--- a/component/viewer/restfulobjects/server/pom.xml
+++ b/component/viewer/restfulobjects/server/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.1.0</version>
+		<version>2.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-viewer-restfulobjects-server</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/a1b7b76d/component/viewer/restfulobjects/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/tck/pom.xml b/component/viewer/restfulobjects/tck/pom.xml
index b5ae400..4811740 100644
--- a/component/viewer/restfulobjects/tck/pom.xml
+++ b/component/viewer/restfulobjects/tck/pom.xml
@@ -28,7 +28,7 @@
 
     <groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-restfulobjects-tck</artifactId>
-    <version>2.1.0</version>
+    <version>2.2.0-SNAPSHOT</version>
 
 	<name>Isis RestfulObjects Viewer TCK tests</name>
 	
@@ -37,7 +37,7 @@
     <properties>
         <maven.test.skip>true</maven.test.skip>
 
-        <isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
+        <isis-viewer-restfulobjects.version>2.2.0-SNAPSHOT</isis-viewer-restfulobjects.version>
 
 		<siteBaseDir>..</siteBaseDir>
 		<relativeUrl>restfulobjects-tck/</relativeUrl>
@@ -124,8 +124,4 @@
         </dependency>
 
 	</dependencies>
-
-  <scm>
-    <tag>isis-viewer-restfulobjects-2.1.0</tag>
-  </scm>
 </project>


[21/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/master
Commit: 2dd8aee933b739e1f98184564ae85d5a90470064
Parents: 422dd0c
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 23:46:34 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 23:46:34 2013 +0100

----------------------------------------------------------------------
 example/archetype/quickstart_wicket_restful_jdo/pom.xml | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/2dd8aee9/example/archetype/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
index 3189aa4..a760e44 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.isis.archetype</groupId>
   <artifactId>quickstart_wicket_restful_jdo-archetype</artifactId>
-  <version>1.3.0</version>
+  <version>1.4.0-SNAPSHOT</version>
   <packaging>maven-archetype</packaging>
   <name>quickstart_wicket_restful_jdo-archetype</name>
   <build>
@@ -47,8 +47,4 @@
     <version>1.3.0</version>
     <relativePath>../../../core/pom.xm</relativePath>
   </parent>
-
-  <scm>
-    <tag>quickstart_wicket_restful_jdo-archetype-1.3.0</tag>
-  </scm>
 </project>


[14/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4b832637
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4b832637
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4b832637

Branch: refs/heads/master
Commit: 4b83263739701b5f28d9df4df882f2c2002544f6
Parents: a773eef
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 22:51:22 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 22:51:22 2013 +0100

----------------------------------------------------------------------
 component/security/shiro/pom.xml | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/4b832637/component/security/shiro/pom.xml
----------------------------------------------------------------------
diff --git a/component/security/shiro/pom.xml b/component/security/shiro/pom.xml
index 5137717..8b38f8d 100644
--- a/component/security/shiro/pom.xml
+++ b/component/security/shiro/pom.xml
@@ -29,7 +29,7 @@
 
 	<groupId>org.apache.isis.security</groupId>
 	<artifactId>isis-security-shiro</artifactId>
-    <version>1.3.0</version>
+    <version>1.4.0-SNAPSHOT</version>
 
 	<name>Isis Shiro Security</name>
 
@@ -104,7 +104,7 @@
 			<dependency>
 			    <groupId>org.apache.isis.security</groupId>
 			    <artifactId>isis-security-shiro</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 			</dependency>
     	</dependencies>
     </dependencyManagement>
@@ -160,8 +160,4 @@
 
 
 	</dependencies>
-
-  <scm>
-    <tag>isis-security-shiro-1.3.0</tag>
-  </scm>
 </project>


[06/28] git commit: ISIS-437: updating wicket viewer poms' parents...

Posted by da...@apache.org.
ISIS-437: updating wicket viewer poms' parents...

... to be isis-core-1.3.0


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

Branch: refs/heads/master
Commit: 3d0eebc90cd98ab569e1dbc486fd249466201958
Parents: 765b145
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 20:59:02 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 21:01:39 2013 +0100

----------------------------------------------------------------------
 component/viewer/wicket/pom.xml     | 2 +-
 component/viewer/wicket/tck/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/3d0eebc9/component/viewer/wicket/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/pom.xml b/component/viewer/wicket/pom.xml
index 2051c47..2134fde 100644
--- a/component/viewer/wicket/pom.xml
+++ b/component/viewer/wicket/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/3d0eebc9/component/viewer/wicket/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/tck/pom.xml b/component/viewer/wicket/tck/pom.xml
index 8e4054c..27a1cd0 100644
--- a/component/viewer/wicket/tck/pom.xml
+++ b/component/viewer/wicket/tck/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
         <relativePath>../../../../core/tck/pom.xml</relativePath>
     </parent>
 


[04/28] git commit: [maven-release-plugin] prepare release isis-objectstore-jdo-1.3.0

Posted by da...@apache.org.
[maven-release-plugin] prepare release isis-objectstore-jdo-1.3.0


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/748ef50d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/748ef50d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/748ef50d

Branch: refs/heads/master
Commit: 748ef50d32f47d940193450b9541a4872df71617
Parents: f2d1742
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 20:37:15 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 20:37:15 2013 +0100

----------------------------------------------------------------------
 component/objectstore/jdo/jdo-applib/pom.xml      |  4 ++--
 component/objectstore/jdo/jdo-datanucleus/pom.xml |  2 +-
 component/objectstore/jdo/jdo-metamodel/pom.xml   |  2 +-
 component/objectstore/jdo/pom.xml                 | 18 +++++++++++-------
 4 files changed, 15 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/748ef50d/component/objectstore/jdo/jdo-applib/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-applib/pom.xml b/component/objectstore/jdo/jdo-applib/pom.xml
index b09accf..ec03afe 100644
--- a/component/objectstore/jdo/jdo-applib/pom.xml
+++ b/component/objectstore/jdo/jdo-applib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.objectstore</groupId>
 		<artifactId>isis-objectstore-jdo</artifactId>
-		<version>1.2.0-SNAPSHOT</version>
+		<version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-objectstore-jdo-applib</artifactId>
@@ -125,7 +125,7 @@
 			<dependency>
 	            <groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 				<type>pom</type>
 				<scope>import</scope>						
 			</dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/748ef50d/component/objectstore/jdo/jdo-datanucleus/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/pom.xml b/component/objectstore/jdo/jdo-datanucleus/pom.xml
index 266baf4..cfcd025 100644
--- a/component/objectstore/jdo/jdo-datanucleus/pom.xml
+++ b/component/objectstore/jdo/jdo-datanucleus/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.objectstore</groupId>
 		<artifactId>isis-objectstore-jdo</artifactId>
-		<version>1.2.0-SNAPSHOT</version>
+		<version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-objectstore-jdo-datanucleus</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/748ef50d/component/objectstore/jdo/jdo-metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-metamodel/pom.xml b/component/objectstore/jdo/jdo-metamodel/pom.xml
index 787a4e7..815f375 100644
--- a/component/objectstore/jdo/jdo-metamodel/pom.xml
+++ b/component/objectstore/jdo/jdo-metamodel/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.objectstore</groupId>
 		<artifactId>isis-objectstore-jdo</artifactId>
-		<version>1.2.0-SNAPSHOT</version>
+		<version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-objectstore-jdo-metamodel</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/748ef50d/component/objectstore/jdo/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/pom.xml b/component/objectstore/jdo/pom.xml
index 6cf4dd9..e4dce5b 100644
--- a/component/objectstore/jdo/pom.xml
+++ b/component/objectstore/jdo/pom.xml
@@ -22,7 +22,7 @@
 
 	<groupId>org.apache.isis.objectstore</groupId>
 	<artifactId>isis-objectstore-jdo</artifactId>
-    <version>1.2.0-SNAPSHOT</version>
+    <version>1.3.0</version>
 
 	<name>Isis JDO ObjectStore</name>
 
@@ -104,36 +104,36 @@
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-applib</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-applib</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-metamodel</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-metamodel</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-datanucleus</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-datanucleus</artifactId>
-				<version>1.2.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
@@ -176,4 +176,8 @@
 	        </dependency>
 		</dependencies>
 	</dependencyManagement>
+
+  <scm>
+    <tag>isis-objectstore-jdo-1.3.0</tag>
+  </scm>
 </project>


[25/28] git commit: [maven-release-plugin] prepare release simple_wicket_restful_jdo-archetype-1.3.0

Posted by da...@apache.org.
[maven-release-plugin] prepare release simple_wicket_restful_jdo-archetype-1.3.0


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

Branch: refs/heads/master
Commit: b52d7392baf263f1203d5d119b0dcf25eefd00cd
Parents: 858a04b
Author: Dan Haywood <da...@apache.org>
Authored: Tue Oct 22 00:37:49 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Tue Oct 22 00:37:49 2013 +0100

----------------------------------------------------------------------
 example/archetype/simple_wicket_restful_jdo/pom.xml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/b52d7392/example/archetype/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/pom.xml b/example/archetype/simple_wicket_restful_jdo/pom.xml
index c22d53f..f4a5a2c 100644
--- a/example/archetype/simple_wicket_restful_jdo/pom.xml
+++ b/example/archetype/simple_wicket_restful_jdo/pom.xml
@@ -17,11 +17,11 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.isis.archetype</groupId>
   <artifactId>simple_wicket_restful_jdo-archetype</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.3.0</version>
   <packaging>maven-archetype</packaging>
   <name>simple_wicket_restful_jdo-archetype</name>
   <build>
@@ -47,4 +47,8 @@
     <version>1.3.0</version>
     <relativePath>../../../core/pom.xm</relativePath>
   </parent>
+
+  <scm>
+    <tag>simple_wicket_restful_jdo-archetype-1.3.0</tag>
+  </scm>
 </project>


[02/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/65396c24
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/65396c24
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/65396c24

Branch: refs/heads/master
Commit: 65396c24de712caaa476683aa369fb02b7e3584f
Parents: bd56429
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 12:13:11 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 12:13:11 2013 +0100

----------------------------------------------------------------------
 core/applib/pom.xml                |  2 +-
 core/bytecode-cglib/pom.xml        |  2 +-
 core/bytecode-javassist/pom.xml    |  4 +--
 core/integtestsupport/pom.xml      |  2 +-
 core/log4j/pom.xml                 |  2 +-
 core/metamodel/pom.xml             |  2 +-
 core/objectstore-inmemory/pom.xml  |  2 +-
 core/pom.xml                       | 48 ++++++++++++++++-----------------
 core/profilestore-inmemory/pom.xml |  2 +-
 core/runtime/pom.xml               |  2 +-
 core/security-noop/pom.xml         |  2 +-
 core/specsupport/pom.xml           |  2 +-
 core/tck/pom.xml                   |  2 +-
 core/tck/tck-dom/pom.xml           |  2 +-
 core/tck/tck-fixture/pom.xml       |  2 +-
 core/unittestsupport/pom.xml       |  2 +-
 core/webserver/pom.xml             |  2 +-
 core/wrapper/pom.xml               |  2 +-
 18 files changed, 42 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/applib/pom.xml
----------------------------------------------------------------------
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index c893525..2a6ce8e 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-		<version>1.3.0</version>
+		<version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-applib</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/bytecode-cglib/pom.xml
----------------------------------------------------------------------
diff --git a/core/bytecode-cglib/pom.xml b/core/bytecode-cglib/pom.xml
index 26d7b75..64b35d7 100644
--- a/core/bytecode-cglib/pom.xml
+++ b/core/bytecode-cglib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-		<version>1.3.0</version>
+		<version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-bytecode-cglib</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/bytecode-javassist/pom.xml
----------------------------------------------------------------------
diff --git a/core/bytecode-javassist/pom.xml b/core/bytecode-javassist/pom.xml
index 7fde4ce..1ca86e0 100644
--- a/core/bytecode-javassist/pom.xml
+++ b/core/bytecode-javassist/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-		<version>1.3.0</version>
+		<version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-bytecode-javassist</artifactId>
@@ -39,7 +39,7 @@
         <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/isis/trunk/runtimes/dflt/bytecode/javassist/</connection>
         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/isis/trunk$/{relativeUrl}</developerConnection>
         <url>http://svn.apache.org/repos/asf/incubator/isis/trunk/runtimes/dflt/bytecode/javassist/</url>
-      <tag>isis-1.3.0</tag>
+      <tag>HEAD</tag>
   </scm>
 
     <!-- used in Site generation for relative references. -->

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/integtestsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/integtestsupport/pom.xml b/core/integtestsupport/pom.xml
index b347d72..d1b3e10 100644
--- a/core/integtestsupport/pom.xml
+++ b/core/integtestsupport/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-integtestsupport</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/log4j/pom.xml
----------------------------------------------------------------------
diff --git a/core/log4j/pom.xml b/core/log4j/pom.xml
index 57d014d..6f20a35 100644
--- a/core/log4j/pom.xml
+++ b/core/log4j/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-log4j</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/core/metamodel/pom.xml b/core/metamodel/pom.xml
index 7859d2a..3beb60a 100644
--- a/core/metamodel/pom.xml
+++ b/core/metamodel/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-metamodel</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/objectstore-inmemory/pom.xml
----------------------------------------------------------------------
diff --git a/core/objectstore-inmemory/pom.xml b/core/objectstore-inmemory/pom.xml
index 68ae256..74b8fb0 100644
--- a/core/objectstore-inmemory/pom.xml
+++ b/core/objectstore-inmemory/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-objectstore</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 8df66fb..4c049fb 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -21,7 +21,7 @@
 
     <groupId>org.apache.isis.core</groupId>
     <artifactId>isis</artifactId>
-    <version>1.3.0</version>
+    <version>1.4.0-SNAPSHOT</version>
     
     <packaging>pom</packaging>
 
@@ -87,7 +87,7 @@
         <connection>scm:git:http://git.apache.org/isis.git/core</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/isis.git/trunk/framework/</developerConnection>
         <url>git://git.apache.org/isis.git/core</url>
-      <tag>isis-1.3.0</tag>
+      <tag>HEAD</tag>
   </scm>
 
     <!-- used in Site generation for relative references. -->
@@ -1013,13 +1013,13 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-unittestsupport</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <!-- not scope=test, because referenced by some sql-tests-common under compile scope -->
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-unittestsupport</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1028,14 +1028,14 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-applib</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-applib</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1044,7 +1044,7 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-log4j</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
@@ -1053,14 +1053,14 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-metamodel</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-metamodel</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1069,12 +1069,12 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-runtime</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-runtime</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
@@ -1083,33 +1083,33 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-bytecode-cglib</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-bytecode-javassist</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
 
             <!-- webserver -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-webserver</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
 
             <!-- specsupport -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-specsupport</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
 
             <!-- integtestsupport -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-integtestsupport</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <!-- not scope=test, because referenced by some sql-tests-common under compile scope -->
             </dependency>
 
@@ -1117,7 +1117,7 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-wrapper</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
 
 
@@ -1125,24 +1125,24 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-objectstore</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-objectstore</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
                 <type>test-jar</type>
                 <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-profilestore</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-security</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
 
 
@@ -1151,17 +1151,17 @@ ${license.additional-notes}
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-tck</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-tck-dom</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
                 <artifactId>isis-core-tck-fixture</artifactId>
-                <version>1.3.0</version>
+                <version>1.4.0-SNAPSHOT</version>
             </dependency>
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/profilestore-inmemory/pom.xml
----------------------------------------------------------------------
diff --git a/core/profilestore-inmemory/pom.xml b/core/profilestore-inmemory/pom.xml
index a6045be..34480ca 100644
--- a/core/profilestore-inmemory/pom.xml
+++ b/core/profilestore-inmemory/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-profilestore</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/runtime/pom.xml
----------------------------------------------------------------------
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 55dc3f7..e23e849 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-runtime</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/security-noop/pom.xml
----------------------------------------------------------------------
diff --git a/core/security-noop/pom.xml b/core/security-noop/pom.xml
index 7eaf858..c94673c 100644
--- a/core/security-noop/pom.xml
+++ b/core/security-noop/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-security</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/specsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/specsupport/pom.xml b/core/specsupport/pom.xml
index b55bfee..d22b4fe 100644
--- a/core/specsupport/pom.xml
+++ b/core/specsupport/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-specsupport</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/tck/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/pom.xml b/core/tck/pom.xml
index f1c9709..d2d92c0 100644
--- a/core/tck/pom.xml
+++ b/core/tck/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-tck</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/tck/tck-dom/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/tck-dom/pom.xml b/core/tck/tck-dom/pom.xml
index cf4aa9a..b99b953 100644
--- a/core/tck/tck-dom/pom.xml
+++ b/core/tck/tck-dom/pom.xml
@@ -22,7 +22,7 @@
 	<parent>
     	<groupId>org.apache.isis.core</groupId>
     	<artifactId>isis-core-tck</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-tck-dom</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/tck/tck-fixture/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/tck-fixture/pom.xml b/core/tck/tck-fixture/pom.xml
index b35b620..a04064a 100644
--- a/core/tck/tck-fixture/pom.xml
+++ b/core/tck/tck-fixture/pom.xml
@@ -22,7 +22,7 @@
     <parent>
     	<groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>isis-core-tck-fixture</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/unittestsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/unittestsupport/pom.xml b/core/unittestsupport/pom.xml
index deb5c36..32c264e 100644
--- a/core/unittestsupport/pom.xml
+++ b/core/unittestsupport/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-unittestsupport</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/webserver/pom.xml
----------------------------------------------------------------------
diff --git a/core/webserver/pom.xml b/core/webserver/pom.xml
index 06ee004..08c20d8 100644
--- a/core/webserver/pom.xml
+++ b/core/webserver/pom.xml
@@ -23,7 +23,7 @@
     <parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>isis-core-webserver</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/65396c24/core/wrapper/pom.xml
----------------------------------------------------------------------
diff --git a/core/wrapper/pom.xml b/core/wrapper/pom.xml
index a02c3a6..f3e94ee 100644
--- a/core/wrapper/pom.xml
+++ b/core/wrapper/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-wrapper</artifactId>


[22/28] ISIS-437: adding simple archetype

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
new file mode 100644
index 0000000..ad767d6
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -0,0 +1,196 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} specify system components.
+${symbol_pound}
+${symbol_pound} The values correspond to the named components in the installer-registry.properties file
+${symbol_pound} in the org.apache.isis.runtimes.dflt:runtime JAR (in the org.apache.isis.runtimes.dflt.runtime package)
+${symbol_pound}
+${symbol_pound} Although all configuration could reside in isis.properties, the recommendation is
+${symbol_pound} to split out into component specific files:
+${symbol_pound} 
+${symbol_pound}    xxx_yyy.properties files
+${symbol_pound}
+${symbol_pound} where
+${symbol_pound}    * xxx is the component type, and
+${symbol_pound}    * yyy is the component name.
+${symbol_pound}
+${symbol_pound} For example, persistor_sql.properties holds configuration information specific to the
+${symbol_pound}
+${symbol_pound}
+${symbol_pound} If the components are changed, also remember to edit pom.xml (further comments can be 
+${symbol_pound} found in the persistor_xxx.properties files)
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} configure the persistor (object store) to use
+${symbol_pound}
+
+${symbol_pound} JDO/DataNucleus objectstore
+isis.persistor=datanucleus
+
+
+
+
+${symbol_pound}
+${symbol_pound} configure authentication mechanism to use (to logon to the system)
+${symbol_pound} note:
+${symbol_pound} - authentication is disabled if running in exploration mode
+${symbol_pound} - the Scimpi viewer allows access to anonymous users
+${symbol_pound} 
+ 
+${symbol_pound} default is file in SERVER mode, none in SERVER_EXPLORATION.  Derived from wicket mode 
+${symbol_pound}isis.authentication=bypass
+isis.authentication=shiro
+
+${symbol_pound}
+${symbol_pound} configure authorization mechanism to use
+${symbol_pound}
+${symbol_pound} The authorization mechanism define each users' permissions to view/edit object properties 
+${symbol_pound} or collections, and to view/invoke object actions
+${symbol_pound}
+${symbol_pound} configuring this component automatically refines the metamodel (installing a facet factory
+${symbol_pound} which vetoes access as required)
+${symbol_pound} 
+ 
+${symbol_pound} default is file in SERVER mode, none in SERVER_EXPLORATION.  Derived from wicket mode 
+${symbol_pound}isis.authorization=file
+isis.authorization=shiro
+
+
+${symbol_pound}
+${symbol_pound} configure the user profile store to use.
+${symbol_pound} 
+${symbol_pound} the user profile store is supported by some viewers (though not the Wicket or 
+${symbol_pound} Restful viewers) as a way to store user-specific settings  (eg colours, themes etc)
+${symbol_pound} 
+isis.user-profile-store=in-memory
+
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} MetaModel
+${symbol_pound}
+${symbol_pound} The metamodel typically does not require additional configuration, although
+${symbol_pound} the system components (defined above) may refine the metamodel for their needs.
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} additional programming model facets
+${symbol_pound}
+
+${symbol_pound}isis.reflector.facets.include=
+${symbol_pound}isis.reflector.facets.exclude=
+
+
+${symbol_pound}
+${symbol_pound} metamodel validator
+${symbol_pound}
+
+${symbol_pound}isis.reflector.validator=
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} Value facet defaults
+${symbol_pound}
+${symbol_pound} (see also viewer-specific config files, eg viewer_wicket.properties)
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound} as used by @Title of a date
+isis.value.format.date=dd-MM-yyyy
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} Facet Decorators
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} Providing such capabilities as i18n
+${symbol_pound}
+
+isis.reflector.facet-decorators=org.apache.isis.core.progmodel.facetdecorators.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} Application Services and fixtures
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} Specify the domain services.
+${symbol_pound} 
+${symbol_pound} These are the most important configuration properties in the system, as they define
+${symbol_pound} the set of the classes for Isis to instantiate as domain service singletons.
+${symbol_pound} From these domain service instances the rest of the metamodel is discovered, while the 
+${symbol_pound} end-user gains access to other domain objects by invoking the actions of the domain services.
+${symbol_pound}
+
+
+${symbol_pound}isis.services.prefix = 
+isis.services = ${symbol_escape}
+                10:dom.simple.SimpleObjects,${symbol_escape}
+                services.ClockService,${symbol_escape}
+                ${symbol_escape}
+                30:webapp.prototyping.SimpleObjectsFixturesService,${symbol_escape}
+                30:webapp.prototyping.DeveloperUtilities,${symbol_escape}
+                ${symbol_escape}
+                org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault,${symbol_escape}
+                org.apache.isis.objectstore.jdo.service.RegisterEntities,${symbol_escape}
+                org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl,${symbol_escape}
+                org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,${symbol_escape}
+                org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer,${symbol_escape}
+                org.apache.isis.applib.services.audit.AuditingService${symbol_dollar}Stderr,${symbol_escape}
+                org.apache.isis.applib.services.publish.PublishingService${symbol_dollar}Stderr
+                
+                ${symbol_pound} if using the JDO implementation of the settings services
+                ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.settings.ApplicationSettingsServiceJdo,${symbol_escape}
+                ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.settings.UserSettingsServiceJdo
+                
+                ${symbol_pound} if using the JDO implementation of the publishing service (replace the ${symbol_dollar}Stderr implementations, above)
+                ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.audit.AuditingServiceJdo,${symbol_escape}
+                ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.publish.PublishingServiceJdo
+
+
+${symbol_pound} Specify the (optional) test fixtures
+${symbol_pound}
+${symbol_pound} Fixtures are used to seed the object store with an initial set of data.  For the 
+${symbol_pound} in-memory object store, the fixtures are installed on every run.  For other
+${symbol_pound} object stores, they are used only when the object store is first initialized.
+${symbol_pound}
+${symbol_pound}isis.fixtures.prefix= 
+isis.fixtures=fixture.simple.SimpleObjectsFixture 
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
new file mode 100644
index 0000000..083d6cd
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
@@ -0,0 +1,169 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+${symbol_pound}
+${symbol_pound} Isis uses log4j is used to provide system logging
+${symbol_pound}
+log4j.rootCategory=INFO, Console
+${symbol_pound}log4j.rootCategory=DEBUG, Console
+
+
+${symbol_pound} The console appender
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.target=System.out
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
+
+
+${symbol_pound} The stderr appender
+log4j.appender.Stderr=org.apache.log4j.ConsoleAppender
+log4j.appender.Stderr.target=System.err
+log4j.appender.Stderr.layout=org.apache.log4j.PatternLayout
+log4j.appender.Stderr.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
+
+
+${symbol_pound} other appenders
+log4j.appender.File=org.apache.log4j.RollingFileAppender
+log4j.appender.File.file=isis.log
+log4j.appender.File.append=false
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
+
+log4j.appender.sql=org.apache.log4j.FileAppender
+log4j.appender.sql.File=./logs/sql.log
+log4j.appender.sql.Append=false
+log4j.appender.sql.layout=org.apache.log4j.PatternLayout
+log4j.appender.sql.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
+
+log4j.appender.sqltiming=org.apache.log4j.FileAppender
+log4j.appender.sqltiming.File=./logs/sqltiming.log
+log4j.appender.sqltiming.Append=false
+log4j.appender.sqltiming.layout=org.apache.log4j.PatternLayout
+log4j.appender.sqltiming.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
+
+log4j.appender.jdbc=org.apache.log4j.FileAppender
+log4j.appender.jdbc.File=./logs/jdbc.log
+log4j.appender.jdbc.Append=false
+log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout
+log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
+
+log4j.appender.connection=org.apache.log4j.FileAppender
+log4j.appender.connection.File=./logs/connection.log
+log4j.appender.connection.Append=false
+log4j.appender.connection.layout=org.apache.log4j.PatternLayout
+log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
+
+
+
+
+
+! turn on the internal log4j debugging flag so we can see what it is doing
+${symbol_pound}log4j.debug=true
+
+
+${symbol_pound} DataNucleus
+log4j.logger.DataNucleus.Datastore.Native=DEBUG, Console
+log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
+
+log4j.logger.DataNucleus.Persistence=WARN, Console
+log4j.logger.DataNucleus.Transaction=WARN, Console
+log4j.logger.DataNucleus.Connection=WARN, Console
+log4j.logger.DataNucleus.Query=WARN, Console
+log4j.logger.DataNucleus.Cache=WARN, Console
+log4j.logger.DataNucleus.MetaData=WARN, Console
+log4j.logger.DataNucleus.Datastore=WARN, Console
+log4j.logger.DataNucleus.Datastore.Persist=WARN, Console
+log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console
+log4j.logger.DataNucleus.General=WARN, Console
+log4j.logger.DataNucleus.Lifecycle=WARN, Console
+log4j.logger.DataNucleus.ValueGeneration=WARN, Console
+log4j.logger.DataNucleus.Enhancer=WARN, Console
+log4j.logger.DataNucleus.SchemaTool=ERROR, Console
+log4j.logger.DataNucleus.JDO=WARN, Console
+log4j.logger.DataNucleus.JPA=ERROR, Console
+log4j.logger.DataNucleus.JCA=WARN, Console
+log4j.logger.DataNucleus.IDE=ERROR, Console
+
+log4j.additivity.DataNucleus.Datastore.Native=false
+log4j.additivity.DataNucleus.Datastore.Schema=false
+log4j.additivity.DataNucleus.Datastore.Persistence=false
+log4j.additivity.DataNucleus.Datastore.Transaction=false
+log4j.additivity.DataNucleus.Datastore.Connection=false
+log4j.additivity.DataNucleus.Datastore.Query=false
+log4j.additivity.DataNucleus.Datastore.Cache=false
+log4j.additivity.DataNucleus.Datastore.MetaData=false
+log4j.additivity.DataNucleus.Datastore.Datastore=false
+log4j.additivity.DataNucleus.Datastore.Datastore.Persist=false
+log4j.additivity.DataNucleus.Datastore.Datastore.Retrieve=false
+log4j.additivity.DataNucleus.Datastore.General=false
+log4j.additivity.DataNucleus.Datastore.Lifecycle=false
+log4j.additivity.DataNucleus.Datastore.ValueGeneration=false
+log4j.additivity.DataNucleus.Datastore.Enhancer=false
+log4j.additivity.DataNucleus.Datastore.SchemaTool=false
+log4j.additivity.DataNucleus.Datastore.JDO=false
+log4j.additivity.DataNucleus.Datastore.JPA=false
+log4j.additivity.DataNucleus.Datastore.JCA=false
+log4j.additivity.DataNucleus.Datastore.IDE=false
+
+
+${symbol_pound} if using log4jdbc-remix as JDBC driver
+${symbol_pound}log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
+${symbol_pound}log4j.additivity.jdbc.sqlonly=false
+${symbol_pound}log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
+${symbol_pound}log4j.additivity.jdbc.resultsettable=false
+
+${symbol_pound}log4j.logger.jdbc.audit=WARN,jdbc, Console
+${symbol_pound}log4j.additivity.jdbc.audit=false
+${symbol_pound}log4j.logger.jdbc.resultset=WARN,jdbc
+${symbol_pound}log4j.additivity.jdbc.resultset=false
+${symbol_pound}log4j.logger.jdbc.sqltiming=WARN,sqltiming
+${symbol_pound}log4j.additivity.jdbc.sqltiming=false
+${symbol_pound}log4j.logger.jdbc.connection=FATAL,connection
+${symbol_pound}log4j.additivity.jdbc.connection=false
+
+
+
+${symbol_pound} track Isis/JDO lifecycle integration
+
+${symbol_pound}log4j.logger.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=DEBUG, Console
+${symbol_pound}log4j.additivity.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=false
+
+${symbol_pound}log4j.logger.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=DEBUG,Console
+${symbol_pound}log4j.additivity.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=false
+
+
+
+
+${symbol_pound} track Isis/Wicket lifecycle integration
+
+${symbol_pound}log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=DEBUG, Console
+${symbol_pound}log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=false
+
+${symbol_pound}log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=INFO,Console
+${symbol_pound}log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=false
+
+
+
+
+
+${symbol_pound} Application-specific logging
+log4j.logger.dom.todo.ToDoItem=DEBUG, Stderr
+log4j.additivity.dom.todo.ToDoItem=false
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties
new file mode 100644
index 0000000..aaee709
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties
@@ -0,0 +1,108 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+
+${symbol_pound} for emergency use only
+isis.persistor.disableConcurrencyChecking=false
+
+
+${symbol_pound}
+${symbol_pound} configuration file holding the JDO objectstore's JDBC configuration
+${symbol_pound} (this is a bit of a hack... just exploiting fact that Isis also loads this file)
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} JDBC connection details
+${symbol_pound} (also update the pom.xml to reference the appropriate JDBC driver)
+${symbol_pound}
+
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB in-memory
+${symbol_pound}
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+${symbol_pound}
+${symbol_pound} HSQLDB in-memory (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB to file
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+${symbol_pound}
+${symbol_pound} HSQLDB to file (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+${symbol_pound}
+${symbol_pound} PostgreSQL Server 
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+${symbol_pound}
+${symbol_pound} PostgreSQL Server (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+
+
+${symbol_pound}
+${symbol_pound} MS SQL Server
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=simple
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
+
+${symbol_pound}
+${symbol_pound} MS SQL Server (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
new file mode 100644
index 0000000..d30ea5c
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
@@ -0,0 +1,78 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the JDO/DataNucleus objectstore
+${symbol_pound}
+
+${symbol_pound} identifies @PersistenceCapable entities to be eagerly registered
+${symbol_pound} if move class to other package (eg com.mycompany.myapp.dom) then update 
+isis.persistor.datanucleus.RegisterEntities.packagePrefix=dom
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} DataNucleus' configuration
+${symbol_pound}
+${symbol_pound} The 'isis.persistor.datanucleus.impl' prefix is stripped off,
+${symbol_pound} remainder is passed through to DataNucleus
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}
+
+isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true
+isis.persistor.datanucleus.impl.datanucleus.validateTables=true
+isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true
+
+
+${symbol_pound}
+${symbol_pound} How column names are identified 
+${symbol_pound} (http://www.datanucleus.org/products/datanucleus/jdo/orm/datastore_identifiers.html)
+${symbol_pound}
+isis.persistor.datanucleus.impl.datanucleus.identifier.case=PreserveCase
+
+
+${symbol_pound} L2 cache (on by default)
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
+
+${symbol_pound}see http://www.datanucleus.org/products/datanucleus/jdo/transaction_types.html${symbol_pound}optimistic
+isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
+
+
+${symbol_pound}
+${symbol_pound} uncomment to use JNDI rather than direct JDBC
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart
+
+${symbol_pound}
+${symbol_pound} uncomment to use JTA resource
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA
+
+
+
+${symbol_pound}
+${symbol_pound}
+${symbol_pound} JDBC connection details
+${symbol_pound} ... are in persistor.properties
+${symbol_pound}
+${symbol_pound}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
new file mode 100644
index 0000000..a643d86
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
@@ -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.
+#
+
+[main]
+
+contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+contextFactory.url = ldap://localhost:10389
+contextFactory.authenticationMechanism = CRAM-MD5
+contextFactory.systemAuthenticationMechanism = simple
+contextFactory.systemUsername = uid=admin,ou=system
+contextFactory.systemPassword = secret
+
+ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm
+ldapRealm.contextFactory = $contextFactory
+
+ldapRealm.searchBase = ou=groups,o=mojo
+ldapRealm.groupObjectClass = groupOfUniqueNames
+ldapRealm.uniqueMemberAttribute = uniqueMember
+ldapRealm.uniqueMemberAttributeValueTemplate = uid={0}
+
+# optional mapping from physical groups to logical application roles
+#ldapRealm.rolesByGroup = \
+#    LDN_USERS: user_role,\
+#    NYK_USERS: user_role,\
+#    HKG_USERS: user_role,\
+#    GLOBAL_ADMIN: admin_role,\
+#    DEMOS: self-install_role
+
+ldapRealm.permissionsByRole=\
+   user_role = *:ToDoItemsJdo:*:*,\
+               *:ToDoItem:*:*; \
+   self-install_role = *:ToDoItemsFixturesService:install:* ; \
+   admin_role = *
+
+# to use ldap...
+# (see docs for details of how to setup users/groups in Apache Directory Studio).
+#securityManager.realms = $ldapRealm
+
+# to use .ini file
+securityManager.realms = $iniRealm
+
+
+
+# -----------------------------------------------------------------------------
+# Users and their assigned roles
+#
+# Each line conforms to the format defined in the
+# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc
+# -----------------------------------------------------------------------------
+
+[users]
+# user = password, role1, role2, role3, ...
+
+
+sven = pass, admin_role
+dick = pass, user_role, self-install_role
+bob  = pass, user_role, self-install_role
+joe  = pass, user_role, self-install_role
+guest = guest, user_role
+
+
+
+# -----------------------------------------------------------------------------
+# Roles with assigned permissions
+# 
+# Each line conforms to the format defined in the
+# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc
+# -----------------------------------------------------------------------------
+
+[roles]
+# role = perm1, perm2, perm3, ...
+# perm in format: packageName:className:memberName:r,w
+
+user_role =   *:ToDoItemsJdo:*:*,\
+              *:ToDoItem:*:*
+self-install_role = *:ToDoItemsFixturesService:install:*
+admin_role = *

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
new file mode 100644
index 0000000..0392dd7
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
@@ -0,0 +1,26 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the Restful Objects viewer
+${symbol_pound}
+
+${symbol_pound} the baseUrl for hrefs in the events generated by the RO EventSerializer 
+isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
new file mode 100644
index 0000000..7ec5550
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
@@ -0,0 +1,52 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the Wicket viewer
+${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} The maximum length of titles to display in standalone or parented tables.
+${symbol_pound} Titles longer than this length will be truncated with trailing ellipses (...)
+${symbol_pound}
+${symbol_pound} For example, if set to 12, the title
+${symbol_pound} "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
+${symbol_pound}
+${symbol_pound} If set to 0, then only the icon will be shown.
+${symbol_pound}
+isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
+isis.viewer.wicket.maxTitleLengthInParentedTables=0
+
+
+isis.viewer.wicket.datePattern=dd-MM-yyyy
+isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm
+isis.viewer.wicket.datePickerPattern=dd-mm-yy
+
+${symbol_pound}isis.viewer.wicket.datePattern=dd/MM/yy
+${symbol_pound}isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
+${symbol_pound}isis.viewer.wicket.datePickerPattern=dd/mm/y
+
+
+${symbol_pound}isis.viewer.wicket.suppressRememberMe=true
+
+
+${symbol_pound} default is for wicket tags to be stripped
+${symbol_pound}isis.viewer.wicket.stripWicketTags=false
+

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..161cc1c
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,287 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<web-app id="WebApp_ID" version="2.4"
+    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+    <display-name>Quickstart Wicket/RestfulObjects app</display-name>
+
+    <welcome-file-list>
+        <welcome-file>about/index.html</welcome-file>
+    </welcome-file-list>
+
+    <!-- shiro security configuration -->
+    <listener>
+        <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
+    </listener>
+
+    <filter>
+        <filter-name>ShiroFilter</filter-name>
+        <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>ShiroFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+
+    <!-- which configuration directory to read overloaded property files from -->
+    <!-- 
+    Normally configuration like this should be done from outside your web 
+    application. Especially if your configuration is not know in advance or
+    if it can change depending on where the application gets deployed.
+    
+    For instance to configure this in Tomcat outside the application WAR add
+    the following line to your application context ( For more detail see:
+    http://tomcat.apache.org/tomcat-7.0-doc/config/context.html${symbol_pound}Context_Parameters )
+     
+    <Parameter name="isis.config.dir" value="/usr/local/tomcat/conf/"
+         override="true"/>
+         
+    If your configuration directory is fixed you can enable the following 
+    context parameter in here and forget about the outside part.
+         
+    <context-param>
+      <param-name>isis.config.dir</param-name>
+      <param-value>location of your config directory if fixed</param-value>
+    </context-param>
+    -->
+
+
+    <!--
+    determines which additional configuration files to search for 
+     -->
+    <context-param>
+        <param-name>isis.viewers</param-name>
+        <param-value>wicket,restfulobjects</param-value>
+    </context-param>
+
+
+
+
+    <!-- cache static resources for 1 day -->
+    <filter>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <filter-class>org.apache.isis.core.webapp.content.ResourceCachingFilter</filter-class>
+        <init-param>
+            <param-name>CacheTime</param-name>
+            <param-value>86400</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.js</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.css</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.png</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.jpg</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.gif</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.html</url-pattern>
+    </filter-mapping>
+    
+    <servlet>
+        <servlet-name>Resource</servlet-name>
+        <servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.css</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.png</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.jpg</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.gif</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.js</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.html</url-pattern>
+    </servlet-mapping>
+    
+
+
+    <!--
+    -
+    - config specific to the wicket-viewer
+    -
+    -->
+    <filter>
+        <filter-name>WicketFilter</filter-name>
+        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
+        <init-param>
+            <param-name>applicationClassName</param-name>
+            <param-value>webapp.SimpleApplication</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>WicketFilter</filter-name>
+        <url-pattern>/wicket/*</url-pattern>
+    </filter-mapping>
+
+
+    <context-param>
+        <param-name>configuration</param-name>
+        <!-- 
+        <param-value>deployment</param-value>
+         -->
+        <param-value>development</param-value>
+    </context-param>
+    
+   
+    <!--
+    -
+    - config specific to the restfulobjects-viewer
+    -
+    -->
+
+    <!--
+    THE FOLLOWING CONFIGURATION IS NOT REQUIRED IF THE WICKET VIEWER IS IN USE.
+    IF THE WICKET VIEWER CONFIGURATION IS REMOVED, THEN UNCOMMENT
+    
+    <listener>
+        <listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
+    </listener>
+
+    <context-param>
+        <param-name>deploymentType</param-name>
+        <param-value>SERVER_EXPLORATION</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>isis.viewers</param-name>
+        <param-value>restfulobjects</param-value>
+    </context-param>    
+    -->    
+    
+    <!-- bootstrap the RestEasy framework -->
+    <listener>
+        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
+    </listener>
+
+    <!-- used by RestEasy to determine the JAX-RS resources and other related configuration -->
+    <context-param>
+        <param-name>javax.ws.rs.Application</param-name>
+        <param-value>org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication</param-value>
+    </context-param>
+    
+    <context-param>
+        <param-name>resteasy.servlet.mapping.prefix</param-name>
+        <param-value>/restful/</param-value>
+    </context-param>
+    
+
+    <!-- authenticate user, set up an Isis session -->
+    <filter>
+        <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
+        <filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
+        <!-- authentication required for REST -->
+        <init-param>
+            <param-name>authenticationSessionStrategy</param-name>
+            <param-value>org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyBasicAuth</param-value>
+        </init-param>
+        <init-param>
+            <!-- what to do if no session was found; we indicate to issue a 401 basic authentication challenge -->
+            <param-name>whenNoSession</param-name>
+            <param-value>basicAuthChallenge</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <!-- this is mapped to the entire app; however the IsisSessionFilter will "notice" if the session filter has already been
+             executed for the request pipeline, and if so will do nothing -->
+        <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
+        <filter-class>org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+    </filter-mapping>
+
+
+    <servlet>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+        <url-pattern>/restful/*</url-pattern>
+    </servlet-mapping>
+
+
+    <!-- 
+    uncomment to use container-managed datasource;
+    for both container-managed (JTA) and non-container-managed transactions
+     -->
+     <!-- 
+    <resource-ref>
+        <description>db</description>
+        <res-ref-name>jdbc/quickstart</res-ref-name>
+        <res-type>javax.sql.DataSource</res-type>
+        <res-auth>Container</res-auth>
+    </resource-ref>
+      -->
+
+    <!--
+    uncomment to use container-managed datasource
+    with container-managed transactions (JTA).
+    -->
+    <!-- 
+    <resource-ref>
+        <description>db</description>
+        <res-ref-name>jdbc/quickstart-nontx</res-ref-name>
+        <res-type>javax.sql.DataSource</res-type>
+        <res-auth>Container</res-auth>
+    </resource-ref>
+     -->
+
+</web-app>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/images/isis-logo.png
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/images/isis-logo.png b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/images/isis-logo.png
new file mode 100644
index 0000000..5284fe7
Binary files /dev/null and b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/images/isis-logo.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
new file mode 100644
index 0000000..0b465c8
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
@@ -0,0 +1,120 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+  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.
+-->
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+        <title>Apache Isis&trade; Simple (Wicket/Restful/JDO/Shiro) App</title>
+        
+        <style type="text/css">
+body {
+    background-color: ${symbol_pound}1A467B;
+    font-family: Verdana, Helvetica, Arial;
+    font-size: 90%;
+}
+
+li {
+    margin-top: 6px;
+    margin-bottom: 6px;
+}
+table {
+    border-collapse: collapse;
+}
+table, th, td {
+    border: 1px;
+    border-style: solid;
+    border-color: lightgray;
+}
+th, td {
+    padding: 10px;
+}
+${symbol_pound}wrapper {
+    background-color: ${symbol_pound}ffffff;
+    width: 900px;
+    margin: 8px auto;
+    padding: 12px;
+}
+        </style>
+    </head>
+    <body>
+        <div id="wrapper">
+            <img alt="Isis Logo" src="about/images/isis-logo.png" />
+             
+            <p>
+            <a href="http://isis.apache.org">Apache Isis</a>&trade; is a framework to let you rapidly develop 
+            domain-driven apps in Java.  This app has been generated using Isis' 
+            <a href="http://isis.apache.org/getting-started/simple-archetype.html">simple</a> archetype, 
+            which configures Isis' most commonly used components as part of a very simple and purposefully minimal 
+            application.
+            
+            <p>
+            The app itself consists of a single domain class, 
+            <a href="https://github.com/apache/isis/blob/master/example/application/${parentArtifactId}/dom/src/main/java/dom/simple/SimpleObject.java"  target="_blank"><tt>SimpleObject</tt></a>, 
+            along with an equally simple (factory/repository) domain service, <a href="https://github.com/apache/isis/blob/master/example/application/${parentArtifactId}/dom/src/main/java/dom/simple/SimpleObjects.java"  target="_blank"><tt>SimpleObjects</tt></a>.
+            </p>
+            
+            <p>
+            Alternatively, if you'd like to start from a slightly richer starting point, you might want to use the
+            <a href="http://isis.apache.org/getting-started/quickstart-archetype.html">quickstart</a> archetype, which
+            generates a straightforward &quot;todo&quot; app.
+            </p>
+            
+            <p>
+            The Isis components that are configured in this app are:
+            </p>
+            
+            <table>
+                <tr>
+                    <th>Component</th>
+                    <th>Access URL</th>
+                    <th>Description</th>
+                    <th>Further info on the Isis website</th>
+                </tr>
+                <tr>
+                    <td>Wicket Viewer</td>
+                    <td><a href="wicket/">wicket/</a></td>
+                    <td>Provides a generic UI for end-users, built with <a href="http://wicket.apache.org">Apache Wicket</a>&trade;</td>
+                    <td><a href="http://isis.apache.org/components/viewers/wicket/about.html">wicket viewer</a></td>
+                </tr>
+                <tr>
+                    <td>RestfulObjects Viewer</td>
+                    <td><a href="restful/">restful/</a></td>
+                    <td>Provides a RESTful API conformant with the <a href="http://restfulobjects.org">Restful Objects</a> spec</td>
+                    <td><a href="http://isis.apache.org/components/viewers/restfulobjects/about.html">restfulobjects viewer</a></td>
+                </tr>
+                <tr>
+                    <td>JDO Object&nbsp;Store</td>
+                    <td>n/a</td>
+                    <td>Persists objects using JDO/DataNucleus; configured to use HSQLDB in-memory database</td>
+                    <td><a href="http://isis.apache.org/components/objectstores/jdo/about.html">jdo&nbsp;objectstore</a></td>
+                </tr>
+                <tr>
+                    <td>Shiro Security</td>
+                    <td>n/a</td>
+                    <td>Provides authentication and authorization, using <a href="http://shiro.apache.org">Apache Shiro</a>&trade;</td>
+                    <td><a href="http://isis.apache.org/components/security/shiro/about.html">shiro security</a></td>
+                </tr>
+            </table>
+            
+        </div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
new file mode 100644
index 0000000..74d58c4
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
@@ -0,0 +1,72 @@
+/*
+ *  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.
+ */
+
+/*
+uncomment to add a logo (in an ../images directory relative to this file)
+
+#header {
+    height: 48px;
+    background-image: url("../images/logo.png");
+	background-repeat: no-repeat;
+}
+
+#header h1 {
+	display: none;
+}
+*/
+
+/*
+example: uncomment to hide the icon
+
+.entityIconAndTitlePanel a img {
+	display: none;
+}
+*/
+
+/*
+example: uncomment to hide the sliding bookmark panel
+
+#bookmarkedPagesSlidingDiv {
+	display: none;
+}
+.showPanelTab {
+	display: none;
+}
+*/
+
+
+.entityActions .cssMenuPanel .menuh li.x-caution a,
+li.x-caution a {
+    background-color: #C94316;
+}
+.entityActions .cssMenuPanel .menuh li.x-caution a:hover {
+    background-color:#20B5C2;
+}	
+
+/*.entityActions .cssMenuPanel .menuh a:hover*/
+
+.entityActions .cssMenuPanel .menuh li.x-highlight a,
+li.x-highlight a {
+    background-color: #51A95C;
+}
+
+div.x-key span.scalarName {
+	color: red;
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif
new file mode 100644
index 0000000..75e3b1e
Binary files /dev/null and b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/scripts/application.js
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/scripts/application.js b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/scripts/application.js
new file mode 100644
index 0000000..d8cf6fe
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/scripts/application.js
@@ -0,0 +1,3 @@
+$(document).ready(function() {
+	/// here...
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties b/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
new file mode 100644
index 0000000..da74627
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
@@ -0,0 +1,5 @@
+#Tue Oct 22 00:29:32 BST 2013
+package=it.pkg
+version=0.1-SNAPSHOT
+groupId=archetype.it
+artifactId=basic

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/goal.txt
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/goal.txt b/example/archetype/simple_wicket_restful_jdo/src/test/resources/projects/basic/goal.txt
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 59897ed..7838ae7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,14 +64,11 @@
                 <module>component/viewer/restfulobjects</module>
         
                 <module>example/application/quickstart_scimpi_nosql</module>
-
                 <module>example/application/quickstart_wicket_restful_jdo</module>
                 <module>example/application/simple_wicket_restful_jdo</module>
                 
                 <module>example/archetype/quickstart_wicket_restful_jdo</module>
-                <!--
                 <module>example/archetype/simple_wicket_restful_jdo</module>
-                -->
         
                 <module>tool/maven-plugin</module>
             </modules>

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/scripts/updateGeneratedArchetypeSources.groovy
----------------------------------------------------------------------
diff --git a/scripts/updateGeneratedArchetypeSources.groovy b/scripts/updateGeneratedArchetypeSources.groovy
index f824702..040b230 100644
--- a/scripts/updateGeneratedArchetypeSources.groovy
+++ b/scripts/updateGeneratedArchetypeSources.groovy
@@ -22,9 +22,10 @@ import javax.xml.transform.*
 import javax.xml.transform.stream.*
 
 
-def cli = new CliBuilder(usage: 'updateGeneratedArchetypeSources.groovy -v [version]')
+def cli = new CliBuilder(usage: 'updateGeneratedArchetypeSources.groovy -n [name] -v [version]')
 cli.with {
-    v longOpt: 'version', args: 1, required: true, argName: 'version', 'Isis core version to use as parent POM'
+    n(longOpt: 'name', args: 1, required: true, argName: 'name', 'Application name (eg \'simple\' or \'quickstart\')')
+    v(longOpt: 'version', args: 1, required: true, argName: 'version', 'Isis core version to use as parent POM')
 }
 
 
@@ -97,6 +98,7 @@ if (!options) {
     return
 }
 
+application_name=options.n
 isis_version=options.v
 
 /////////////////////////////////////////////////////
@@ -194,7 +196,7 @@ new File(ROOT+"archetype-resources/").eachDirRecurse() { dir ->
         def launchXml = new XmlSlurper().parseText(launchFile.text)
         def projectAttr = launchXml.stringAttribute.find { it.@key=="org.eclipse.jdt.launching.PROJECT_ATTR" }
         String oldValue=projectAttr.@value
-        def newValue = oldValue.replaceAll("quickstart[^-]*-","\\\${rootArtifactId}-")
+        def newValue = oldValue.replaceAll("${application_name}[^-]*-","\\\${rootArtifactId}-")
         projectAttr.@value=newValue
 
         launchFile.text = """#set( \$symbol_pound = '#' )


[27/28] git commit: ISIS-437: updating STATUS for isis 1.3.0 etc

Posted by da...@apache.org.
ISIS-437: updating STATUS for isis 1.3.0 etc


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

Branch: refs/heads/master
Commit: deb512c4c5ded17bfbfd5279421710a2bd159f5a
Parents: c540198
Author: Dan Haywood <da...@apache.org>
Authored: Fri Oct 25 11:52:25 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Oct 25 11:52:25 2013 +0100

----------------------------------------------------------------------
 STATUS | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/deb512c4/STATUS
----------------------------------------------------------------------
diff --git a/STATUS b/STATUS
index 639ffd0..867808e 100644
--- a/STATUS
+++ b/STATUS
@@ -18,6 +18,14 @@ Description
 
 TLP releases:
 
+  * isis-1.3.0                                     : 25 Oct 2013
+  * isis-objectstore-jdo-1.3.0                     : 25 Oct 2013
+  * isis-security-shiro-1.3.0                      : 25 Oct 2013
+  * isis-viewer-restfulobjects-2.1.0               : 25 Oct 2013
+  * isis-viewer-wicket-1.3.0                       : 25 Oct 2013
+  * quickstart-wicket-restful_jdo-archetype-1.3.0  : 25 Oct 2013
+  * simple-wicket-restful_jdo-archetype-1.3.0      : 25 Oct 2013
+  
   * isis-1.2.0                                     : 31 May 2013
   * isis-objectstore-jdo-1.1.0                     : 31 May 2013
   * isis-security-file-1.0.1                       : 31 May 2013


[20/28] git commit: [maven-release-plugin] prepare release quickstart_wicket_restful_jdo-archetype-1.3.0

Posted by da...@apache.org.
[maven-release-plugin] prepare release quickstart_wicket_restful_jdo-archetype-1.3.0


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/422dd0c4
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/422dd0c4
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/422dd0c4

Branch: refs/heads/master
Commit: 422dd0c429b0e2274745d5930ea6f1c384c28fd2
Parents: c742898
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 23:46:24 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 23:46:24 2013 +0100

----------------------------------------------------------------------
 example/archetype/quickstart_wicket_restful_jdo/pom.xml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/422dd0c4/example/archetype/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
index d449259..3189aa4 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
@@ -17,11 +17,11 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.isis.archetype</groupId>
   <artifactId>quickstart_wicket_restful_jdo-archetype</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.3.0</version>
   <packaging>maven-archetype</packaging>
   <name>quickstart_wicket_restful_jdo-archetype</name>
   <build>
@@ -47,4 +47,8 @@
     <version>1.3.0</version>
     <relativePath>../../../core/pom.xm</relativePath>
   </parent>
+
+  <scm>
+    <tag>quickstart_wicket_restful_jdo-archetype-1.3.0</tag>
+  </scm>
 </project>


[16/28] ISIS-437: updating quickstart archetype

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_attachment.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_attachment.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_attachment.java
deleted file mode 100644
index 20df589..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_attachment.java
+++ /dev/null
@@ -1,86 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.nio.charset.Charset;
-import java.util.List;
-
-import javax.activation.MimeType;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.applib.value.Blob;
-
-public class ToDoItem_attachment extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private Blob attachment;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        attachment = toDoItem.getAttachment();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setAttachment(attachment);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        byte[] bytes = "{${symbol_escape}"foo${symbol_escape}": ${symbol_escape}"bar${symbol_escape}"}".getBytes(Charset.forName("UTF-8"));
-        final Blob newAttachment = new Blob("myfile.json", new MimeType("application/json"), bytes);
-        
-        // when
-        toDoItem.setAttachment(newAttachment);
-        
-        // then
-        assertThat(toDoItem.getAttachment(), is(newAttachment));
-    }
-
-    @Test
-    public void canBeNull() throws Exception {
-        
-        // when
-        toDoItem.setAttachment((Blob)null);
-        
-        // then
-        assertThat(toDoItem.getAttachment(), is((Blob)null));
-    }
-
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_category.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_category.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_category.java
deleted file mode 100644
index 6897ad4..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_category.java
+++ /dev/null
@@ -1,86 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItem.Category;
-
-import org.joda.time.LocalDate;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.applib.clock.Clock;
-
-public class ToDoItem_category extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private Category category;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        category = toDoItem.getCategory();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setCategory(category);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        // when
-        toDoItem.setCategory(Category.Professional);
-        
-        // then
-        assertThat(toDoItem.getCategory(), is(Category.Professional));
-        
-        // when
-        toDoItem.setCategory(Category.Domestic);
-        
-        // then
-        assertThat(toDoItem.getCategory(), is(Category.Domestic));
-    }
-
-
-    @Test
-    public void cannotBeNull() throws Exception {
-        
-        // when, then
-        expectedExceptions.expectMessage("Mandatory");
-        toDoItem.setCategory(null);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_cost.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_cost.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_cost.java
deleted file mode 100644
index 0dc734c..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_cost.java
+++ /dev/null
@@ -1,100 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_cost extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private BigDecimal cost;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        cost = toDoItem.getCost();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setCost(cost);
-    }
-
-    @Test
-    public void happyCaseUsingProperty() throws Exception {
-        
-        final BigDecimal newCost = new BigDecimal("123.45");
-        
-        // when
-        toDoItem.setCost(newCost);
-        
-        // then
-        assertThat(toDoItem.getCost(), is(newCost));
-    }
-
-    @Test
-    public void happyCaseUsingAction() throws Exception {
-        
-        final BigDecimal newCost = new BigDecimal("123.45");
-        
-        // when
-        toDoItem.updateCost(newCost);
-        
-        // then
-        assertThat(toDoItem.getCost(), is(newCost));
-    }
-    
-    @Test
-    public void canBeNull() throws Exception {
-        
-        // when
-        toDoItem.setCost((BigDecimal)null);
-        
-        // then
-        assertThat(toDoItem.getCost(), is((BigDecimal)null));
-    }
-
-    @Test
-    public void defaultForAction() throws Exception {
-        
-        // then
-        assertThat(unwrap(toDoItem).default0UpdateCost(), is(cost));
-    }
-    
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_description.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_description.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_description.java
deleted file mode 100644
index 70350c9..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_description.java
+++ /dev/null
@@ -1,87 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_description extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private String description;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        description = toDoItem.getDescription();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setDescription(description);
-    }
-    
-    @Test
-    public void happyCase() throws Exception {
-        
-        // given
-        assertThat(toDoItem.getDescription(), is("Buy milk"));
-        
-        // when
-        toDoItem.setDescription("Buy milk and butter");
-        
-        // then
-        assertThat(toDoItem.getDescription(), is("Buy milk and butter"));
-    }
-
-
-    @Test
-    public void failsRegex() throws Exception {
-        
-        // when
-        expectedExceptions.expectMessage("Doesn't match pattern");
-        toDoItem.setDescription("exclamation marks are not allowed!!!");
-    }
-
-    @Test
-    public void cannotBeNull() throws Exception {
-        
-        // when, then
-        expectedExceptions.expectMessage("Mandatory");
-        toDoItem.setDescription(null);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_dueBy.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_dueBy.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_dueBy.java
deleted file mode 100644
index 08f59de..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_dueBy.java
+++ /dev/null
@@ -1,105 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.joda.time.LocalDate;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.applib.clock.Clock;
-
-public class ToDoItem_dueBy extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private LocalDate dueBy;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        dueBy = toDoItem.getDueBy();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setDueBy(dueBy);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        // when
-        final LocalDate fiveDaysFromNow = Clock.getTimeAsLocalDate().plusDays(5);
-        toDoItem.setDueBy(fiveDaysFromNow);
-        
-        // then
-        assertThat(toDoItem.getDueBy(), is(fiveDaysFromNow));
-    }
-
-
-    @Test
-    public void canBeNull() throws Exception {
-        
-        // when
-        toDoItem.setDueBy((LocalDate)null);
-        
-        // then
-        assertThat(toDoItem.getDueBy(), is((LocalDate)null));
-    }
-
-    @Test
-    public void canBeUpToSixDaysInPast() throws Exception {
-        
-        final LocalDate sixDaysAgo = Clock.getTimeAsLocalDate().plusDays(-6);
-
-        // when
-        toDoItem.setDueBy(sixDaysAgo);
-        
-        // then
-        assertThat(toDoItem.getDueBy(), is(sixDaysAgo));
-    }
-
-
-    @Test
-    public void cannotBeMoreThanSixDaysInPast() throws Exception {
-        
-        final LocalDate sevenDaysAgo = Clock.getTimeAsLocalDate().plusDays(-7);
-        
-        // when, then
-        expectedExceptions.expectMessage("Due by date cannot be more than one week old");
-        toDoItem.setDueBy(sevenDaysAgo);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_notes.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_notes.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_notes.java
deleted file mode 100644
index 46d3f14..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_notes.java
+++ /dev/null
@@ -1,81 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_notes extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private String notes;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        notes = toDoItem.getNotes();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setNotes(notes);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        final String newNotes = "Lorem ipsum yada yada";
-        
-        // when
-        toDoItem.setNotes(newNotes);
-        
-        // then
-        assertThat(toDoItem.getNotes(), is(newNotes));
-    }
-
-    @Test
-    public void canBeNull() throws Exception {
-        
-        // when
-        toDoItem.setNotes((String)null);
-        
-        // then
-        assertThat(toDoItem.getNotes(), is((String)null));
-    }
-
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_ownedBy.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_ownedBy.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_ownedBy.java
deleted file mode 100644
index bf7cf96..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/props/ToDoItem_ownedBy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.props;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_ownedBy extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-    }
-
-    @Test
-    public void cannotModify() throws Exception {
-        
-        // when, then
-        expectedExceptions.expectMessage("Always hidden");
-        toDoItem.setOwnedBy("other");
-    }
-
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_finders.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_finders.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_finders.java
deleted file mode 100644
index ac6156a..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_finders.java
+++ /dev/null
@@ -1,80 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.repo;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.Test;
-
-public class ToDoItems_finders extends AbstractIntegTest {
-
-    @Test
-    public void t010_notYetCompleted() throws Exception {
-        
-        // when
-        final List<ToDoItem> notYetCompleteItems = wrap(toDoItems).notYetComplete();
-        
-        // then
-        assertThat(notYetCompleteItems.size(), is(5));
-    }
-
-    @Test
-    public void t020_complete() throws Exception {
-        
-        // when
-        final List<ToDoItem> completedItems = wrap(toDoItems).complete();
-        
-        // then
-        assertThat(completedItems.size(), is(0));
-    }
-
-    @Test
-    public void t030_complete_and_notYetComplete() throws Exception {
-        
-        // given
-        List<ToDoItem> notYetCompleteItems = wrap(toDoItems).notYetComplete();
-        final ToDoItem toDoItem = wrap(notYetCompleteItems.get(0));
-        
-        // when
-        toDoItem.completed();
-        
-        // then
-        assertThat(wrap(toDoItems).notYetComplete().size(), is(4));
-        assertThat(wrap(toDoItems).complete().size(), is(1));
-        
-        // and when
-        toDoItem.notYetCompleted();
-        
-        // then
-        assertThat(wrap(toDoItems).notYetComplete().size(), is(5));
-        assertThat(wrap(toDoItems).complete().size(), is(0));
-    }
-
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_newToDo_and_delete.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_newToDo_and_delete.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_newToDo_and_delete.java
deleted file mode 100644
index cd0d432..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/repo/ToDoItems_newToDo_and_delete.java
+++ /dev/null
@@ -1,55 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.repo;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integtests.AbstractIntegTest;
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItem.Category;
-
-import org.junit.Test;
-
-public class ToDoItems_newToDo_and_delete extends AbstractIntegTest {
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        // given
-        int size = wrap(toDoItems).notYetComplete().size();
-        
-        // when
-        final ToDoItem newToDo = wrap(toDoItems).newToDo("new todo", Category.Professional, null, null);
-
-        // then
-        assertThat(newToDo.getDescription(), is("new todo"));
-        assertThat(newToDo.getCategory(), is(Category.Professional));
-        assertThat(wrap(toDoItems).notYetComplete().size(), is(size+1));
-        
-        // when
-        newToDo.delete();
-
-        // then
-        assertThat(wrap(toDoItems).notYetComplete().size(), is(size));
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/.gitignore
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/.gitignore b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/.gitignore
deleted file mode 100644
index 1c85271..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/target-ide
-/target-ide

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/lib/.gitignore
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/lib/.gitignore b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/lib/.gitignore
deleted file mode 100644
index 70eee7e..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/lib/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# explicitly ignoring Microsoft JDBC4 jar
-# (cannot redistribute, licensing)
-#
-sqljdbc4.jar

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/pom.xml
deleted file mode 100644
index a4f7f1d..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-         http://www.apache.org/licenses/LICENSE-2.0
-         
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-    <parent>
-    	<groupId>${groupId}</groupId>
-        <artifactId>${rootArtifactId}</artifactId>
-        <version>${version}</version>
-    </parent>
-
-	<artifactId>${artifactId}</artifactId>
-	<name>Quickstart Wicket/Restful/JDO Repositories (for JDO)</name>
-
-	<dependencyManagement>
-		<dependencies>
-	        <dependency>
-	            <groupId>org.slf4j</groupId>
-	            <artifactId>slf4j-log4j12</artifactId>
-	            <version>1.7.5</version>
-	        </dependency>
-		</dependencies>
-	</dependencyManagement>
-
-	<dependencies>
-	
-		<!-- other modules in this project -->
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>${rootArtifactId}-dom</artifactId>
-		</dependency>
-		
-        <dependency>
-            <groupId>org.apache.isis.objectstore</groupId>
-            <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
-        </dependency>
-
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java
deleted file mode 100644
index 4e6d5a7..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java
+++ /dev/null
@@ -1,91 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 objstore.jdo.todo;
-
-import java.util.Collections;
-import java.util.List;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-
-import org.apache.isis.applib.query.QueryDefault;
-
-public class ToDoItemsJdo extends ToDoItems {
-
-    // {{ notYetComplete (action)
-    @Override
-    protected List<ToDoItem> doNotYetComplete() {
-        return allMatches(
-                new QueryDefault<ToDoItem>(ToDoItem.class, 
-                        "todo_notYetComplete", 
-                        "ownedBy", currentUserName()));
-    }
-    // }}
-
-    // {{ done (action)
-    @Override
-    protected List<ToDoItem> doComplete() {
-        return allMatches(
-                new QueryDefault<ToDoItem>(ToDoItem.class, 
-                        "todo_complete", 
-                        "ownedBy", currentUserName()));
-    }
-    // }}
-
-    // {{ similarTo (action)
-    @Override
-    public List<ToDoItem> similarTo(final ToDoItem thisToDoItem) {
-        final List<ToDoItem> similarToDoItems = allMatches(
-                new QueryDefault<ToDoItem>(ToDoItem.class, 
-                        "todo_similarTo", 
-                        "ownedBy", currentUserName(), 
-                        "category", thisToDoItem.getCategory()));
-        return Lists.newArrayList(Iterables.filter(similarToDoItems, excluding(thisToDoItem)));
-    }
-
-    private static Predicate<ToDoItem> excluding(final ToDoItem toDoItem) {
-        return new Predicate<ToDoItem>() {
-            @Override
-            public boolean apply(ToDoItem input) {
-                return input != toDoItem;
-            }
-        };
-    }
-    // }}
-
-    // {{ autoComplete (action)
-    @Override
-    public List<ToDoItem> autoComplete(String description) {
-        
-        return allMatches(
-                new QueryDefault<ToDoItem>(ToDoItem.class, 
-                        "todo_autoComplete", 
-                        "ownedBy", currentUserName(), 
-                        "description", description));
-    }
-    // }}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
index 8a188d8..81352e8 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/pom.xml
@@ -28,11 +28,15 @@
     <packaging>pom</packaging>
 
 	<properties>
-        <isis.version>1.2.0</isis.version>
-		<isis-objectstore-jdo.version>1.1.0</isis-objectstore-jdo.version>
-		<isis-viewer-wicket.version>1.2.0</isis-viewer-wicket.version>
-		<isis-viewer-restfulobjects.version>2.0.0</isis-viewer-restfulobjects.version>
-		<isis-security-shiro.version>1.1.1</isis-security-shiro.version>
+        <isis.version>1.3.0</isis.version>
+		<isis-objectstore-jdo.version>1.3.0</isis-objectstore-jdo.version>
+		<isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
+		<isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
+		<isis-security-shiro.version>1.3.0</isis-security-shiro.version>
+
+        <!-- must be consistent with the versions defined by the JDO Objectstore -->
+        <datanucleus-core.version>3.2.7</datanucleus-core.version>
+        <jdo-api.version>3.0.1</jdo-api.version>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -77,13 +81,20 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.5</version>
+                    <version>2.10</version>
                     <configuration>
+                        <includes>
+                            <include>**/*Test.java</include>
+                            <include>**/*Test_*.java</include>
+                            <include>**/*Spec*.java</include>
+                        </includes>
                         <excludes>
                             <exclude>**/Test*.java</exclude>
+                            <exclude>**/*ForTesting.java</exclude>
+                            <exclude>**/*Abstract*.java</exclude>
                         </excludes>
                         <useFile>true</useFile>
-                        <printSummary>false</printSummary>
+                        <printSummary>true</printSummary>
                         <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
                     </configuration>
                 </plugin>
@@ -91,10 +102,17 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-report-plugin</artifactId>
-                    <version>2.5</version>
+                    <version>2.10</version>
                     <configuration>
+                        <includes>
+                            <include>**/*Test.java</include>
+                            <include>**/*Test_*.java</include>
+                            <include>**/*Spec*.java</include>
+                        </includes>
                         <excludes>
                             <exclude>**/Test*.java</exclude>
+                            <exclude>**/*ForTesting.java</exclude>
+                            <exclude>**/*Abstract*.java</exclude>
                         </excludes>
                         <showSuccess>false</showSuccess>
                     </configuration>
@@ -300,11 +318,6 @@
             </dependency>
             <dependency>
                 <groupId>${project.groupId}</groupId>
-                <artifactId>${rootArtifactId}-objstore-jdo</artifactId>
-                <version>${version}</version>
-            </dependency>
-            <dependency>
-                <groupId>${project.groupId}</groupId>
                 <artifactId>${rootArtifactId}-webapp</artifactId>
                 <version>${version}</version>
             </dependency>
@@ -315,9 +328,9 @@
             <!--
             GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
             <dependency>
-                <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+                <groupId>com.danhaywood.isis.wicket</groupId>
                 <artifactId>danhaywood-isis-wicket-gmap3</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
+                <version>1.2.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
@@ -326,9 +339,9 @@
             <!--
             WICKEDCHARTS: uncomment to use https://github.com/danhaywood/isis-wicket-wickedcharts
             <dependency>
-                <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+                <groupId>com.danhaywood.isis.wicket</groupId>
                 <artifactId>danhaywood-isis-wicket-wickedcharts</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
+                <version>1.2.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
@@ -337,9 +350,18 @@
             <!--
             EXCEL: uncomment to use https://github.com/danhaywood/isis-wicket-excel
             <dependency>
-                <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+                <groupId>com.danhaywood.isis.wicket</groupId>
                 <artifactId>danhaywood-isis-wicket-excel</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
+                <version>1.2.0</version>
+            </dependency>
+            -->
+
+            <!--
+            FULLCALENDAR: uncomment to use https://github.com/danhaywood/isis-wicket-fullcalendar
+            <dependency>
+                <groupId>com.danhaywood.isis.wicket</groupId>
+                <artifactId>danhaywood-isis-wicket-fullcalendar</artifactId>
+                <version>1.2.0</version>
             </dependency>
             -->
 

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-PROTOTYPE.launch
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-PROTOTYPE.launch b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-PROTOTYPE.launch
new file mode 100644
index 0000000..05b2bd4
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-PROTOTYPE.launch
@@ -0,0 +1,26 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+  </listAttribute>
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+    <listEntry value="1"/>
+  </listAttribute>
+  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+    <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+    <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+  </listAttribute>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--port 8080 --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-SERVER.launch
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-SERVER.launch b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-SERVER.launch
new file mode 100644
index 0000000..d47d2ee
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-no-fixtures-SERVER.launch
@@ -0,0 +1,22 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+  </listAttribute>
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+    <listEntry value="1"/>
+  </listAttribute>
+  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--port 8080 --type SERVER" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-with-fixtures.launch
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-with-fixtures.launch b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-with-fixtures.launch
new file mode 100644
index 0000000..7c08d90
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-with-fixtures.launch
@@ -0,0 +1,26 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+  </listAttribute>
+  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+    <listEntry value="1"/>
+  </listAttribute>
+  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+    <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+    <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+  </listAttribute>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--port 8080 -D isis.persistor.datanucleus.install-fixtures=true --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp-with-fixtures.launch
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp-with-fixtures.launch b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp-with-fixtures.launch
deleted file mode 100644
index 21feb8c..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp-with-fixtures.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
-  </listAttribute>
-  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-    <listEntry value="1"/>
-  </listAttribute>
-  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
-    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
-    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
-  </mapAttribute>
-  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
-  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
-  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
-  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
-  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
-  <stringAttribute value="--port 8080 -D isis.persistor.datanucleus.install-fixtures=true -t SERVER_EXPLORATION" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
-  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
-</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp.launch
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp.launch b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp.launch
deleted file mode 100644
index 38b7883..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-webapp.launch
+++ /dev/null
@@ -1,21 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-    <listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
-  </listAttribute>
-  <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-    <listEntry value="1"/>
-  </listAttribute>
-  <mapAttribute key="org.eclipse.debug.core.preferred_launchers">
-    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
-    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
-  </mapAttribute>
-  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
-  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
-  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
-  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
-  <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
-  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
-</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
index fe71824..ed817d9 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/pom.xml
@@ -167,22 +167,13 @@
                 </exclusion>
             </exclusions>
         </dependency>
-
-        <!-- objectstore/domain service/repository implementations (brings in dependency to objectstore-jdo)-->
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>${rootArtifactId}-objstore-jdo</artifactId>
-            <exclusions>
-                <exclusion>
-                    <!-- so don't pick up transitive dependency to asm 4.0.0 -->
-                    <groupId>org.datanucleus</groupId>
-                    <artifactId>datanucleus-enhancer</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
         
         <!-- other isis components -->
         <dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+            <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.isis.viewer</groupId>
             <artifactId>isis-viewer-wicket-impl</artifactId>
         </dependency>
@@ -273,28 +264,35 @@
         <!-- 
         GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
         <dependency>
-            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <groupId>com.danhaywood.isis.wicket</groupId>
             <artifactId>danhaywood-isis-wicket-gmap3-ui</artifactId>
         </dependency>
          -->
         <!-- 
         WICKEDCHARTS: uncomment to use https://github.com/danhaywood/isis-wicket-wickedcharts
         <dependency>
-            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <groupId>com.danhaywood.isis.wicket</groupId>
             <artifactId>danhaywood-isis-wicket-wickedcharts-scalarchart</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <groupId>com.danhaywood.isis.wicket</groupId>
             <artifactId>danhaywood-isis-wicket-wickedcharts-summarycharts</artifactId>
         </dependency>
          -->
         <!-- 
         EXCEL: uncomment to use https://github.com/danhaywood/isis-wicket-excel
         <dependency>
-            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <groupId>com.danhaywood.isis.wicket</groupId>
             <artifactId>danhaywood-isis-wicket-excel</artifactId>
         </dependency>
          -->
+        <!-- 
+        FULLCALENDAR: uncomment to use https://github.com/danhaywood/isis-wicket-fullcalendar
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket</groupId>
+            <artifactId>danhaywood-isis-wicket-fullcalendar</artifactId>
+        </dependency>
+         -->
          
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java
deleted file mode 100644
index f14dd49..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java
+++ /dev/null
@@ -1,36 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 app;
-
-import com.google.inject.Singleton;
-
-import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault;
-
-@Singleton
-public class ComponentFactoryRegistrarForQuickStart extends ComponentFactoryRegistrarDefault {
-
-    @Override
-    public void addComponentFactories(ComponentFactoryList componentFactories) {
-        super.addComponentFactories(componentFactories);
-        // currently no replacements
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/QuickStartApplication.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/QuickStartApplication.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/QuickStartApplication.java
deleted file mode 100644
index 85d4100..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/app/QuickStartApplication.java
+++ /dev/null
@@ -1,106 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 app;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.nio.charset.Charset;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-import javax.servlet.ServletContext;
-
-import org.apache.commons.collections.EnumerationUtils;
-import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
-import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
-import com.google.common.io.Resources;
-import com.google.inject.AbstractModule;
-import com.google.inject.Module;
-import com.google.inject.name.Names;
-import com.google.inject.util.Modules;
-import com.google.inject.util.Providers;
-
-
-/**
- * As specified in <tt>web.xml</tt>.
- * 
- * <p>
- * See:
- * <pre>
- * &lt;filter>
- *   &lt;filter-name>wicket&lt;/filter-name>
- *    &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
- *    &lt;init-param>
- *      &lt;param-name>applicationClassName&lt;/param-name>
- *      &lt;param-value>app.QuickStartApplication&lt;/param-value>
- *    &lt;/init-param>
- * &lt;/filter>
- * </pre>
- * 
- */
-public class QuickStartApplication extends IsisWicketApplication {
-
-    private static final long serialVersionUID = 1L;
-
-    @Override
-    protected Module newIsisWicketModule() {
-        final Module isisDefaults = super.newIsisWicketModule();
-        
-        final Module quickstartOverrides = new AbstractModule() {
-            @Override
-            protected void configure() {
-                bind(ComponentFactoryRegistrar.class).to(ComponentFactoryRegistrarForQuickStart.class);
-                
-                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Quick Start App");
-                bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
-                bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
-                bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines("welcome.html"));
-                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("QuickStart");
-                bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
-            }
-        };
-
-        return Modules.override(isisDefaults).with(quickstartOverrides);
-    }
-
-    private static String readLines(final String resourceName) {
-        try {
-            List<String> readLines = Resources.readLines(Resources.getResource(QuickStartApplication.class, resourceName), Charset.defaultCharset());
-            final String aboutText = Joiner.on("${symbol_escape}n").join(readLines);
-            return aboutText;
-        } catch (IOException e) {
-            return "This is Quick Start";
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForToDoApp.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForToDoApp.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForToDoApp.java
new file mode 100644
index 0000000..7f7f0cf
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForToDoApp.java
@@ -0,0 +1,36 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 webapp;
+
+import com.google.inject.Singleton;
+
+import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault;
+
+@Singleton
+public class ComponentFactoryRegistrarForToDoApp extends ComponentFactoryRegistrarDefault {
+
+    @Override
+    public void addComponentFactories(ComponentFactoryList componentFactories) {
+        super.addComponentFactories(componentFactories);
+        // currently no replacements
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/PageClassListForToDoApp.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/PageClassListForToDoApp.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/PageClassListForToDoApp.java
new file mode 100644
index 0000000..1cd024b
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/PageClassListForToDoApp.java
@@ -0,0 +1,64 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 webapp;
+
+import org.apache.wicket.Page;
+
+import org.apache.isis.viewer.wicket.ui.ComponentFactory;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault;
+
+public class PageClassListForToDoApp extends PageClassListDefault {
+
+    @Override
+    protected Class<? extends Page> getSignInPageClass() {
+        // no override
+        return super.getSignInPageClass();
+    }
+    
+    @Override
+    protected Class<? extends Page> getHomePageClass() {
+        // no override
+        return super.getHomePageClass();
+    }
+
+    @Override
+    protected Class<? extends Page> getAboutPageClass() {
+        // no override
+        return super.getAboutPageClass();
+    }
+    
+    /**
+     * More typically, override using custom {@link ComponentFactory}s.
+     */
+    @Override
+    protected Class<? extends Page> getEntityPageClass() {
+        // no override
+        return super.getEntityPageClass();
+    }
+    
+    /**
+     * More typically, override using custom {@link ComponentFactory}s.
+     */
+    @Override
+    protected Class<? extends Page> getActionPageClass() {
+        // no override
+        return super.getActionPageClass();
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java
new file mode 100644
index 0000000..dd871ba
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java
@@ -0,0 +1,146 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 webapp;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.google.common.base.Joiner;
+import com.google.common.io.Resources;
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+import com.google.inject.util.Modules;
+import com.google.inject.util.Providers;
+
+import org.apache.wicket.Session;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Response;
+import org.apache.wicket.request.http.WebRequest;
+
+import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
+import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
+import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault;
+
+
+/**
+ * As specified in <tt>web.xml</tt>.
+ * 
+ * <p>
+ * See:
+ * <pre>
+ * &lt;filter>
+ *   &lt;filter-name>wicket&lt;/filter-name>
+ *    &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
+ *    &lt;init-param>
+ *      &lt;param-name>applicationClassName&lt;/param-name>
+ *      &lt;param-value>webapp.ToDoApplication&lt;/param-value>
+ *    &lt;/init-param>
+ * &lt;/filter>
+ * </pre>
+ * 
+ */
+public class ToDoApplication extends IsisWicketApplication {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * uncomment for a (slightly hacky) way of allowing logins using query args, eg:
+     * 
+     * <tt>?user=sven&pass=pass</tt>
+     * 
+     * <p>
+     * for demos only, obvious.
+     */
+    private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
+    
+    @Override
+    public Session newSession(final Request request, final Response response) {
+        if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
+            return super.newSession(request, response);
+        } 
+        
+        // else demo mode
+        final AuthenticatedWebSessionForIsis s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
+        final org.apache.wicket.util.string.StringValue user = request.getRequestParameters().getParameterValue("user");
+        final org.apache.wicket.util.string.StringValue password = request.getRequestParameters().getParameterValue("pass");
+        s.signIn(user.toString(), password.toString());
+        return s;
+    }
+
+    @Override
+    public WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) {
+        if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
+            return super.newWebRequest(servletRequest, filterPath);
+        } 
+
+        // else demo mode
+        try {
+            String uname = servletRequest.getParameter("user");
+            if (uname != null) {
+                servletRequest.getSession().invalidate();
+            }
+        } catch (Exception e) {
+        }
+        WebRequest request = super.newWebRequest(servletRequest, filterPath);
+        return request;
+    }
+    
+    @Override
+    protected Module newIsisWicketModule() {
+        final Module isisDefaults = super.newIsisWicketModule();
+        
+        final Module quickstartOverrides = new AbstractModule() {
+            @Override
+            protected void configure() {
+                bind(ComponentFactoryRegistrar.class).to(ComponentFactoryRegistrarForToDoApp.class);
+                bind(PageClassList.class).to(PageClassListForToDoApp.class);
+                
+                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Quick Start App");
+                bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
+                bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
+                bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines("welcome.html"));
+                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("QuickStart");
+                bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
+            }
+        };
+
+        return Modules.override(isisDefaults).with(quickstartOverrides);
+    }
+
+    private static String readLines(final String resourceName) {
+        try {
+            List<String> readLines = Resources.readLines(Resources.getResource(ToDoApplication.class, resourceName), Charset.defaultCharset());
+            final String aboutText = Joiner.on("${symbol_escape}n").join(readLines);
+            return aboutText;
+        } catch (IOException e) {
+            return "This is Quick Start";
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
new file mode 100644
index 0000000..c889c63
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
@@ -0,0 +1,45 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  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 webapp.prototyping;
+
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Blob;
+import org.apache.isis.applib.value.Clob;
+import org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServiceDefault;
+
+/**
+ * These overrides are simply to 'move' the action underneath the 
+ * {@link ToDoItemsFixturesService fixtures} menu.
+ */
+public class DeveloperUtilities extends DeveloperUtilitiesServiceDefault {
+
+    @MemberOrder(name="Prototyping", sequence="90")
+    @Override
+    public Clob downloadMetaModel() {
+        return super.downloadMetaModel();
+    }
+    
+    @MemberOrder(name="Prototyping", sequence="92")
+    @Override
+    public Blob downloadLayouts() {
+        return super.downloadLayouts();
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ToDoItemsFixturesService.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ToDoItemsFixturesService.java
new file mode 100644
index 0000000..d30470b
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ToDoItemsFixturesService.java
@@ -0,0 +1,87 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 webapp.prototyping;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Prototype;
+import org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Prototyping") // has the effect of defining a "Prototyping" menu item
+public class ToDoItemsFixturesService extends AbstractService {
+
+    @Prototype
+    public String installFixtures() {
+        installFixturesFor(null); // ie current user
+        return "Example fixtures installed";
+    }
+
+    // //////////////////////////////////////
+
+    @Prototype
+    public String installFixturesForUser(@Named("User") String user) {
+        installFixturesFor(user);
+        return "Example fixtures installed for " + user;
+    }
+    public String default0InstallFixturesForUser() {
+        return "guest";
+    }
+    public List<String> choices0InstallFixturesForUser() {
+        return Lists.newArrayList("guest", "sven", "dick", "bob", "joe");
+    }
+
+    // //////////////////////////////////////
+
+    @Prototype
+    public ToDoItem installFixturesAndReturnFirst() {
+        installFixtures();
+        List<ToDoItem> notYetComplete = toDoItems.notYetComplete();
+        return !notYetComplete.isEmpty() ? notYetComplete.get(0) : null;
+    }
+
+    // //////////////////////////////////////
+
+    private static void installFixturesFor(String user) {
+        final FixturesInstallerDelegate installer = new FixturesInstallerDelegate().withOverride();
+        installer.addFixture(new ToDoItemsFixture(user));
+        installer.installFixtures();
+    }
+    
+    // //////////////////////////////////////
+
+    private ToDoItems toDoItems;
+    public void injectToDoItems(ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/app/welcome.html
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/app/welcome.html b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/app/welcome.html
deleted file mode 100644
index 228283d..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/app/welcome.html
+++ /dev/null
@@ -1,31 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-         http://www.apache.org/licenses/LICENSE-2.0
-         
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<p class="intro">
-This is a <a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java"  target="_blank">single-class</a> domain application, configured to run with Isis' wicket viewer and the JDO/DataNucleus objectstore.
-</p>
-
-<br/>
-<br/>
-<p>
-For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Isis website</a>.
-</p>


[19/28] git commit: ISIS-437: updating quickstart archetype

Posted by da...@apache.org.
ISIS-437: updating quickstart archetype


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

Branch: refs/heads/master
Commit: c742898cfe9e73779bafd3e9ca360cb1021e9975
Parents: 4b83263
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 23:41:48 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 23:41:48 2013 +0100

----------------------------------------------------------------------
 .../quickstart_wicket_restful_jdo/dom/pom.xml   |   2 +-
 .../fixture/pom.xml                             |   2 +-
 .../integtests/pom.xml                          |   2 +-
 .../quickstart_wicket_restful_jdo/pom.xml       |  12 +-
 .../webapp/pom.xml                              |   2 +-
 .../quickstart_wicket_restful_jdo/pom.xml       |   8 +-
 .../META-INF/maven/archetype-metadata.xml       |  36 +-
 .../resources/archetype-resources/dom/pom.xml   |  75 ++-
 .../dom/src/main/java/app/ToDoAppDashboard.java |  93 ++++
 .../main/java/app/ToDoAppDashboard.layout.json  |  26 +
 .../main/java/app/ToDoAppDashboardService.java  |  52 ++
 .../dom/src/main/java/app/ToDoItemAnalysis.java | 127 +++++
 .../java/app/ToDoItemAnalysisContributions.java |  58 ++
 .../java/app/ToDoItemsByCategoryViewModel.java  | 191 +++++++
 .../ToDoItemsByCategoryViewModel.layout.json    |  43 ++
 .../java/app/ToDoItemsByDateRangeViewModel.java | 166 ++++++
 .../ToDoItemsByDateRangeViewModel.layout.json   |  33 ++
 .../dom/src/main/java/dom/todo/ToDoItem.java    | 553 ++++++++++++-------
 .../src/main/java/dom/todo/ToDoItem.layout.json |  92 +++
 .../dom/todo/ToDoItemChangedPayloadFactory.java |   4 +
 .../java/dom/todo/ToDoItemContributions.java    | 218 ++++++++
 .../dom/src/main/java/dom/todo/ToDoItems.java   | 236 ++++----
 .../src/main/java/services/ClockService.java    |  36 ++
 .../dom/src/main/resources/images/Dashboard.png | Bin 0 -> 2512 bytes
 .../src/main/resources/images/ToDoItem-done.png | Bin 0 -> 1794 bytes
 .../src/main/resources/images/ToDoItem-todo.png | Bin 0 -> 1257 bytes
 .../dom/src/main/resources/images/ToDoItem.gif  | Bin 1592 -> 0 bytes
 .../dom/src/main/resources/images/ToDoItem.png  | Bin 0 -> 1285 bytes
 .../test/java/dom/todo/ToDoTest_completed.java  |  58 ++
 .../java/dom/todo/ToDoTest_notYetCompleted.java |  51 ++
 .../java/fixture/todo/ToDoItemsFixture.java     |  82 +--
 .../fixture/todo/ToDoItemsFixturesService.java  |  67 ---
 .../integtests/logging.properties               |   2 +-
 .../archetype-resources/integtests/pom.xml      |  81 ++-
 .../java/integration/ToDoSystemInitializer.java |  88 +++
 .../integration/glue/BootstrappingGlue.java     |  59 ++
 .../integration/glue/CatalogOfFixturesGlue.java |  50 ++
 .../integration/glue/InMemoryDBForToDoApp.java  |  43 ++
 .../integration/glue/todoitem/ToDoItemGlue.java | 169 ++++++
 .../integration/specs/todoitem/RunSpecs.java    |  41 ++
 .../ToDoItemSpec_findAndComplete.feature        |  39 ++
 ...findCompletedAndMarkAsNotYetComplete.feature |  35 ++
 .../java/integration/tests/ToDoIntegTest.java   |  43 ++
 ...oDoItemContributionsTest_updateCategory.java | 102 ++++
 .../tests/actions/ToDoItemTest_completed.java   |  86 +++
 .../tests/actions/ToDoItemTest_duplicate.java   |  76 +++
 .../actions/ToDoItemTest_notYetCompleted.java   |  76 +++
 .../ToDoItemContributionsTest_similarTo.java    |  69 +++
 .../colls/ToDoItemTest_dependencies_add.java    |  92 +++
 .../colls/ToDoItemTest_dependencies_remove.java |  96 ++++
 .../ToDoItemContributionsTest_priority.java     |  71 +++
 .../tests/props/ToDoItemTest_attachment.java    |  81 +++
 .../tests/props/ToDoItemTest_category.java      |  56 ++
 .../tests/props/ToDoItemTest_cost.java          |  95 ++++
 .../tests/props/ToDoItemTest_description.java   |  94 ++++
 .../tests/props/ToDoItemTest_dueBy.java         |  99 ++++
 .../tests/props/ToDoItemTest_notes.java         |  73 +++
 .../tests/props/ToDoItemTest_ownedBy.java       |  59 ++
 .../tests/props/ToDoItemTest_subcategory.java   |  56 ++
 .../tests/repo/ToDoItemsTest_finders.java       |  78 +++
 .../repo/ToDoItemsTest_newToDo_and_delete.java  |  57 ++
 .../tests/smoke/ToDoItemTest_title.java         | 112 ++++
 .../test/java/integtests/AbstractIntegTest.java | 163 ------
 .../test/java/integtests/ToDoItem_title.java    | 119 ----
 .../integtests/actions/ToDoItem_completed.java  |  93 ----
 .../integtests/actions/ToDoItem_duplicate.java  |  81 ---
 .../actions/ToDoItem_notYetCompleted.java       |  83 ---
 .../colls/ToDoItem_dependencies_add.java        |  93 ----
 .../colls/ToDoItem_dependencies_remove.java     |  96 ----
 .../integtests/props/ToDoItem_attachment.java   |  86 ---
 .../integtests/props/ToDoItem_category.java     |  86 ---
 .../java/integtests/props/ToDoItem_cost.java    | 100 ----
 .../integtests/props/ToDoItem_description.java  |  87 ---
 .../java/integtests/props/ToDoItem_dueBy.java   | 105 ----
 .../java/integtests/props/ToDoItem_notes.java   |  81 ---
 .../java/integtests/props/ToDoItem_ownedBy.java |  53 --
 .../java/integtests/repo/ToDoItems_finders.java |  80 ---
 .../repo/ToDoItems_newToDo_and_delete.java      |  55 --
 .../archetype-resources/objstore-jdo/.gitignore |   2 -
 .../objstore-jdo/lib/.gitignore                 |   5 -
 .../archetype-resources/objstore-jdo/pom.xml    |  56 --
 .../java/objstore/jdo/todo/ToDoItemsJdo.java    |  91 ---
 .../main/resources/archetype-resources/pom.xml  |  60 +-
 .../launch/ToDoApp-no-fixtures-PROTOTYPE.launch |  26 +
 .../launch/ToDoApp-no-fixtures-SERVER.launch    |  22 +
 .../eclipse/launch/ToDoApp-with-fixtures.launch |  26 +
 ...cket_restful_jdo-webapp-with-fixtures.launch |  22 -
 .../quickstart_wicket_restful_jdo-webapp.launch |  21 -
 .../archetype-resources/webapp/pom.xml          |  32 +-
 .../ComponentFactoryRegistrarForQuickStart.java |  36 --
 .../main/java/app/QuickStartApplication.java    | 106 ----
 .../ComponentFactoryRegistrarForToDoApp.java    |  36 ++
 .../java/webapp/PageClassListForToDoApp.java    |  64 +++
 .../src/main/java/webapp/ToDoApplication.java   | 146 +++++
 .../webapp/prototyping/DeveloperUtilities.java  |  45 ++
 .../prototyping/ToDoItemsFixturesService.java   |  87 +++
 .../webapp/src/main/resources/app/welcome.html  |  31 --
 .../src/main/resources/webapp/welcome.html      |  38 ++
 .../src/main/webapp/WEB-INF/isis.properties     |  75 ++-
 .../src/main/webapp/WEB-INF/logging.properties  | 139 +++--
 .../main/webapp/WEB-INF/persistor.properties    | 107 ++++
 .../WEB-INF/persistor_datanucleus.properties    |  94 +---
 .../webapp/src/main/webapp/WEB-INF/shiro.ini    |  10 +-
 .../WEB-INF/viewer_restfulobjects.properties    |   5 +-
 .../webapp/WEB-INF/viewer_wicket.properties     |  14 +-
 .../webapp/src/main/webapp/WEB-INF/web.xml      |  25 +-
 .../webapp/src/main/webapp/about/index.html     |  57 +-
 .../webapp/src/main/webapp/css/application.css  |  43 ++
 .../src/main/webapp/images/spinning-icon.gif    | Bin 0 -> 5266 bytes
 .../projects/basic/archetype.properties         |   2 +-
 110 files changed, 4961 insertions(+), 2526 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/pom.xml b/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
index 12bd977..88afaac 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
     	<groupId>org.apache.isis.example.application</groupId>
     	<artifactId>quickstart_wicket_restful_jdo</artifactId>
-		<version>1.0.4-SNAPSHOT</version>
+		<version>1.3.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>quickstart_wicket_restful_jdo-dom</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml b/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
index 923ad96..f85a6a0 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>quickstart_wicket_restful_jdo</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>quickstart_wicket_restful_jdo-fixture</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml b/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
index dd33215..2e06937 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>quickstart_wicket_restful_jdo</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>quickstart_wicket_restful_jdo-integtests</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/application/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/pom.xml b/example/application/quickstart_wicket_restful_jdo/pom.xml
index 99d6f74..5164683 100644
--- a/example/application/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/pom.xml
@@ -23,18 +23,18 @@
 
     <groupId>org.apache.isis.example.application</groupId>
     <artifactId>quickstart_wicket_restful_jdo</artifactId>
-    <version>1.0.4-SNAPSHOT</version>
+    <version>1.3.0-SNAPSHOT</version>
 
     <name>Quickstart Wicket/Restful/JDO App</name>
 
     <packaging>pom</packaging>
 
 	<properties>
-        <isis.version>1.3.0-SNAPSHOT</isis.version>
-		<isis-objectstore-jdo.version>1.2.0-SNAPSHOT</isis-objectstore-jdo.version>
-		<isis-viewer-wicket.version>1.3.0-SNAPSHOT</isis-viewer-wicket.version>
-		<isis-viewer-restfulobjects.version>2.1.0-SNAPSHOT</isis-viewer-restfulobjects.version>
-		<isis-security-shiro.version>1.1.2-SNAPSHOT</isis-security-shiro.version>
+        <isis.version>1.3.0</isis.version>
+		<isis-objectstore-jdo.version>1.3.0</isis-objectstore-jdo.version>
+		<isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
+		<isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
+		<isis-security-shiro.version>1.3.0</isis-security-shiro.version>
 
         <!-- must be consistent with the versions defined by the JDO Objectstore -->
         <datanucleus-core.version>3.2.7</datanucleus-core.version>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
index e9b4186..aad3a41 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.isis.example.application</groupId>
         <artifactId>quickstart_wicket_restful_jdo</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>quickstart_wicket_restful_jdo-webapp</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
index e33740e..d449259 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
@@ -17,11 +17,11 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.isis.archetype</groupId>
   <artifactId>quickstart_wicket_restful_jdo-archetype</artifactId>
-  <version>1.0.4-SNAPSHOT</version>
+  <version>1.3.0-SNAPSHOT</version>
   <packaging>maven-archetype</packaging>
   <name>quickstart_wicket_restful_jdo-archetype</name>
   <build>
@@ -44,7 +44,7 @@
   <parent>
     <groupId>org.apache.isis.core</groupId>
     <artifactId>isis</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
-    <relativePath>../../../core/pom.xml</relativePath>
+    <version>1.3.0</version>
+    <relativePath>../../../core/pom.xm</relativePath>
   </parent>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
index 3dc69b7..8152952 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -29,37 +29,32 @@
           </includes>
         </fileSet>
         <fileSet encoding="UTF-8">
-          <directory>src/main/resources</directory>
+          <directory>src/main/java</directory>
           <includes>
-            <include>**/*.png</include>
-            <include>**/*.gif</include>
+            <include>**/*.json</include>
           </includes>
         </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory/>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/resources</directory>
           <includes>
-            <include>log4j.properties</include>
+            <include>**/*.png</include>
           </includes>
         </fileSet>
-      </fileSets>
-    </module>
-    <module id="${rootArtifactId}-fixture" dir="fixture" name="${rootArtifactId}-fixture">
-      <fileSets>
         <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/java</directory>
+          <directory>src/test/java</directory>
           <includes>
             <include>**/*.java</include>
           </includes>
         </fileSet>
-        <fileSet encoding="UTF-8">
+        <fileSet filtered="true" encoding="UTF-8">
           <directory/>
           <includes>
-            <include>.gitignore</include>
+            <include>log4j.properties</include>
           </includes>
         </fileSet>
       </fileSets>
     </module>
-    <module id="${rootArtifactId}-objstore-jdo" dir="objstore-jdo" name="${rootArtifactId}-objstore-jdo">
+    <module id="${rootArtifactId}-fixture" dir="fixture" name="${rootArtifactId}-fixture">
       <fileSets>
         <fileSet filtered="true" encoding="UTF-8">
           <directory>src/main/java</directory>
@@ -68,12 +63,6 @@
           </includes>
         </fileSet>
         <fileSet encoding="UTF-8">
-          <directory>lib</directory>
-          <includes>
-            <include>**/*.gitignore</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
           <directory/>
           <includes>
             <include>.gitignore</include>
@@ -89,6 +78,12 @@
             <include>**/*.java</include>
           </includes>
         </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.feature</include>
+          </includes>
+        </fileSet>
         <fileSet filtered="true" encoding="UTF-8">
           <directory/>
           <includes>
@@ -134,6 +129,7 @@
             <include>**/*.png</include>
             <include>**/*.js</include>
             <include>**/*.ini</include>
+            <include>**/*.gif</include>
             <include>**/*.css</include>
           </includes>
         </fileSet>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
index 34893cf..97795bf 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/pom.xml
@@ -29,11 +29,39 @@
 	<name>Quickstart Wicket/Restful/JDO DOM</name>
 
 	<build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**</include>
+                </includes>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </resource>
+        </resources>
 		<plugins>
             <plugin>
                 <groupId>org.datanucleus</groupId>
                 <artifactId>datanucleus-maven-plugin</artifactId>
                 <version>3.2.0-release</version>
+                <dependencies>
+                    <dependency>
+                        <!-- Force the enhancer to use the same version of core as the JDO objectstore -->
+                        <groupId>org.datanucleus</groupId>
+                        <artifactId>datanucleus-core</artifactId>
+                        <version>${datanucleus-core.version}</version>
+                    </dependency>
+                    <dependency>
+                        <!-- Force the enhancer to use the same version of jdo-api as the JDO objectstore -->
+                        <groupId>javax.jdo</groupId>
+                        <artifactId>jdo-api</artifactId>
+                        <version>${jdo-api.version}</version>
+                    </dependency>
+                </dependencies>
                 <configuration>
                 	<fork>false</fork>
                     <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
@@ -91,49 +119,38 @@
             <groupId>org.apache.isis.objectstore</groupId>
 			<artifactId>isis-objectstore-jdo-applib</artifactId>
 		</dependency>
+        
+		<dependency>
+            <groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-unittestsupport</artifactId>
+            <scope>test</scope>
+		</dependency>
 
-
-		<!-- DataNucleus (horrid, but needed to run the enhancer)-->
+        <!-- Bytecode libraries (for mocking) -->
         <dependency>
-            <groupId>javax.jdo</groupId>
-            <artifactId>jdo-api</artifactId>
+            <groupId>asm</groupId>
+            <artifactId>asm</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.datanucleus</groupId>
-            <artifactId>datanucleus-core</artifactId>
+            <groupId>org.objenesis</groupId>
+            <artifactId>objenesis</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.datanucleus</groupId>
-            <artifactId>datanucleus-api-jdo</artifactId>
+            <groupId>cglib</groupId>
+            <artifactId>cglib-nodep</artifactId>
+            <scope>test</scope>
         </dependency>
-        
+
         <!--
         GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3 
         <dependency>
-            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <groupId>com.danhaywood.isis.wicket</groupId>
             <artifactId>danhaywood-isis-wicket-gmap3-applib</artifactId>
         </dependency>
          -->
         
 	</dependencies>
-
-   <profiles>
-        <profile>
-            <id>not-m2e</id>
-            <activation>
-                <property>
-                    <name>!m2e.version</name>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.datanucleus</groupId>
-                    <artifactId>datanucleus-core</artifactId>
-                    <version>(3.1.99, 3.2.99)</version>
-                    <scope>runtime</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
     
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.java
new file mode 100644
index 0000000..fa09398
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.java
@@ -0,0 +1,93 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 app;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractViewModel;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Render;
+import org.apache.isis.applib.annotation.Render.Type;
+
+public class ToDoAppDashboard extends AbstractViewModel {
+
+    public String title() {
+        return "Dashboard";
+    }
+    
+    public String iconName() {
+        return "Dashboard";
+    }
+    
+    // //////////////////////////////////////
+    // ViewModel contract
+    // //////////////////////////////////////
+
+    private String memento;
+    
+    @Override
+    public String viewModelMemento() {
+        return memento;
+    }
+
+    @Override
+    public void viewModelInit(String memento) {
+        this.memento = memento;
+    }
+
+
+    // //////////////////////////////////////
+    // getAnalysisByCategory
+    // //////////////////////////////////////
+
+    @Named("By Category")
+    @Render(Type.EAGERLY)
+    @Disabled
+    public List<ToDoItemsByCategoryViewModel> getAnalysisByCategory() {
+        return toDoItemAnalysis.toDoItemsByCategory();
+    }
+    
+    // //////////////////////////////////////
+    // getAnalysisByDateRange
+    // //////////////////////////////////////
+    
+    @Named("By Date Range")
+    @Render(Type.EAGERLY)
+    @Disabled
+    public List<ToDoItemsByDateRangeViewModel> getAnalysisByDateRange() {
+        return toDoItemAnalysis.toDoItemsByDateRange();
+    }
+    
+
+    // //////////////////////////////////////
+    // injected services
+    // //////////////////////////////////////
+    
+    private ToDoItemAnalysis toDoItemAnalysis;
+    
+    public void injectToDoItemAnalysis(ToDoItemAnalysis toDoItemAnalysis) {
+        this.toDoItemAnalysis = toDoItemAnalysis;
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.layout.json
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.layout.json b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.layout.json
new file mode 100644
index 0000000..3421543
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.layout.json
@@ -0,0 +1,26 @@
+{
+  "columns": [
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 12,
+      "collections": {
+        "analysisByCategory": {}
+      }
+    }
+  ],
+  "actions": {
+    "downloadLayout": {},
+    "refreshLayout": {}
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboardService.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboardService.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboardService.java
new file mode 100644
index 0000000..14ff4b7
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboardService.java
@@ -0,0 +1,52 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 app;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.HomePage;
+
+@Hidden
+public class ToDoAppDashboardService extends AbstractService {
+
+    private static final String ID = "dashboard";
+
+    public String getId() {
+        return ID;
+    }
+
+    public String iconName() {
+        return ID;
+    }
+
+    // //////////////////////////////////////
+
+    @ActionSemantics(Of.SAFE)
+    @HomePage
+    public ToDoAppDashboard lookup() {
+        return newViewModelInstance(ToDoAppDashboard.class, ID);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java
new file mode 100644
index 0000000..90705c4
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java
@@ -0,0 +1,127 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 app;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+import dom.todo.ToDoItem.Category;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Bookmarkable;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Programmatic;
+
+@Named("Analysis")
+public class ToDoItemAnalysis extends AbstractFactoryAndRepository {
+
+    // //////////////////////////////////////
+    // Identification in the UI
+    // //////////////////////////////////////
+
+    @Override
+    public String getId() {
+        return "analysis";
+    }
+
+    public String iconName() {
+        return "ToDoItem";
+    }
+
+    // //////////////////////////////////////
+    // ByCategory (action)
+    // //////////////////////////////////////
+    
+    @Named("By Category")
+    @Bookmarkable
+    @ActionSemantics(Of.SAFE)
+    @MemberOrder(sequence = "1")
+    public List<ToDoItemsByCategoryViewModel> toDoItemsByCategory() {
+        final List<Category> categories = Arrays.asList(Category.values());
+        return Lists.newArrayList(Iterables.transform(categories, byCategory()));
+    }
+
+    private Function<Category, ToDoItemsByCategoryViewModel> byCategory() {
+        return new Function<Category, ToDoItemsByCategoryViewModel>(){
+             @Override
+             public ToDoItemsByCategoryViewModel apply(final Category category) {
+                 final ToDoItemsByCategoryViewModel byCategory = 
+                     getContainer().newViewModelInstance(ToDoItemsByCategoryViewModel.class, category.name());
+                 byCategory.setCategory(category);
+                 return byCategory;
+             }
+         };
+    }
+
+    // //////////////////////////////////////
+    // ByDateRange (action)
+    // //////////////////////////////////////
+    
+    public enum DateRange {
+        OverDue,
+        Today,
+        Tomorrow,
+        ThisWeek,
+        Later,
+        Unknown,
+    }
+    
+    @Named("By Date Range")
+    @Bookmarkable
+    @ActionSemantics(Of.SAFE)
+    @MemberOrder(sequence = "1")
+    public List<ToDoItemsByDateRangeViewModel> toDoItemsByDateRange() {
+        final List<DateRange> dateRanges = Arrays.asList(DateRange.values());
+        return Lists.newArrayList(Iterables.transform(dateRanges, byDateRange()));
+    }
+
+    private Function<DateRange, ToDoItemsByDateRangeViewModel> byDateRange() {
+        return new Function<DateRange, ToDoItemsByDateRangeViewModel>(){
+             @Override
+             public ToDoItemsByDateRangeViewModel apply(final DateRange dateRange) {
+                 final ToDoItemsByDateRangeViewModel byDateRange = 
+                     getContainer().newViewModelInstance(ToDoItemsByDateRangeViewModel.class, dateRange.name());
+                 byDateRange.setDateRange(dateRange);
+                 return byDateRange;
+             }
+         };
+    }
+    
+    
+    // //////////////////////////////////////
+    // ForCategory (programmatic)
+    // //////////////////////////////////////
+
+    @Programmatic
+    public ToDoItemsByCategoryViewModel toDoItemsForCategory(Category category) {
+        return byCategory().apply(category);
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysisContributions.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysisContributions.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysisContributions.java
new file mode 100644
index 0000000..37b60d7
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysisContributions.java
@@ -0,0 +1,58 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 app;
+
+import dom.todo.ToDoItem;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.NotContributed;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.NotContributed.As;
+import org.apache.isis.applib.annotation.Hidden;
+
+@Hidden
+public class ToDoItemAnalysisContributions extends AbstractFactoryAndRepository {
+
+
+    // //////////////////////////////////////
+    // AnalyseCategory
+    // //////////////////////////////////////
+
+    @NotInServiceMenu
+    @NotContributed(As.ASSOCIATION)
+    @ActionSemantics(Of.SAFE)
+    public ToDoItemsByCategoryViewModel analyseCategory(final ToDoItem item) {
+        return toDoAppAnalysis.toDoItemsForCategory(item.getCategory());
+    }
+
+    
+    // //////////////////////////////////////
+    // injected services
+    // //////////////////////////////////////
+
+    private ToDoItemAnalysis toDoAppAnalysis;
+    public void injectToDoAppAnalysis(ToDoItemAnalysis toDoAppAnalysis) {
+        this.toDoAppAnalysis = toDoAppAnalysis;
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
new file mode 100644
index 0000000..79da2f2
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
@@ -0,0 +1,191 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 app;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.google.common.base.Function;
+import com.google.common.base.Joiner;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
+import dom.todo.ToDoItems;
+
+import org.apache.isis.applib.AbstractViewModel;
+import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.annotation.Bookmarkable;
+import org.apache.isis.applib.annotation.Bounded;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.MultiLine;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Render;
+import org.apache.isis.applib.annotation.Render.Type;
+import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.util.ObjectContracts;
+
+@Named("By Category")
+@Bookmarkable
+public class ToDoItemsByCategoryViewModel 
+        extends AbstractViewModel 
+        implements Comparable<ToDoItemsByCategoryViewModel> {
+
+    
+    // //////////////////////////////////////
+    // ViewModel implementation
+    // //////////////////////////////////////
+
+    @Override
+    public String viewModelMemento() {
+        return getCategory().name();
+    }
+
+    @Override
+    public void viewModelInit(String memento) {
+        setCategory(Category.valueOf(memento));
+    }
+
+    // //////////////////////////////////////
+    // Category
+    // //////////////////////////////////////
+
+    private Category category;
+
+    /**
+     * Used as {@link ${symbol_pound}viewModelMemento() memento}
+     */
+    @Title
+    public Category getCategory() {
+        return category;
+    }
+
+    public void setCategory(final Category category) {
+        this.category = category;
+    }
+
+
+    // //////////////////////////////////////
+    // NotYetComplete, Complete
+    // //////////////////////////////////////
+
+    @MultiLine(numberOfLines=5)
+    public String getNotYetComplete() {
+        final List<ToDoItem> notYetComplete = getItemsNotYetComplete();
+        return Joiner.on(", ").join(
+            Iterables.transform(subcategories(), summarizeBySubcategory(notYetComplete)));
+    }
+
+    // //////////////////////////////////////
+
+    @MultiLine(numberOfLines=5)
+    public String getComplete() {
+        final List<ToDoItem> completeInCategory = getItemsComplete();
+        return Joiner.on(", ").join(
+            Iterables.transform(subcategories(), summarizeBySubcategory(completeInCategory)));
+    }
+
+    // //////////////////////////////////////
+
+    private Iterable<Subcategory> subcategories() {
+        return Iterables.filter(Arrays.asList(Subcategory.values()), Subcategory.thoseFor(getCategory()));
+    }
+
+    private Function<Subcategory, String> summarizeBySubcategory(final Iterable<ToDoItem> itemsInCategory) {
+        return new Function<Subcategory, String>() {
+            @Override
+            public String apply(final Subcategory subcategory) {
+                return subcategory + ": " + countIn(itemsInCategory, subcategory);
+            }
+        };
+    }
+
+    private static int countIn(final Iterable<ToDoItem> items, final Subcategory subcategory) {
+        return Iterables.size(Iterables.filter(items, 
+                ToDoItem.Predicates.thoseSubcategorised(subcategory)));
+    }
+
+    
+    // //////////////////////////////////////
+    // getItemsNotYetComplete, getItemsComplete
+    // //////////////////////////////////////
+
+    /**
+     * All those items {@link ToDoItems${symbol_pound}notYetComplete() not yet complete}, for this {@link ${symbol_pound}getCategory() category}.
+     */
+    @Render(Type.EAGERLY)
+    public List<ToDoItem> getItemsNotYetComplete() {
+        final List<ToDoItem> notYetComplete = toDoItems.notYetCompleteNoUi();
+        return Lists.newArrayList(Iterables.filter(notYetComplete, ToDoItem.Predicates.thoseCategorised(getCategory())));
+    }
+
+    // //////////////////////////////////////
+
+    /**
+     * All those items {@link ToDoItems${symbol_pound}complete() complete}, for this {@link ${symbol_pound}getCategory() category}.
+     */
+    @Render(Type.EAGERLY)
+    public List<ToDoItem> getItemsComplete() {
+        final List<ToDoItem> complete = toDoItems.completeNoUi();
+        return Lists.newArrayList(Iterables.filter(complete, ToDoItem.Predicates.thoseCategorised(getCategory())));
+    }
+
+    
+    // //////////////////////////////////////
+    // DeleteCompleted (action)
+    // //////////////////////////////////////
+
+    @Named("Delete")
+    public ToDoItemsByCategoryViewModel deleteCompleted() {
+        for (ToDoItem item : getItemsComplete()) {
+            removeIfNotAlready(item);
+        }
+        // force reload of page
+        return this;
+    }
+    
+    
+
+    // //////////////////////////////////////
+    // compareTo
+    // //////////////////////////////////////
+
+    @Override
+    public int compareTo(ToDoItemsByCategoryViewModel other) {
+        return ObjectContracts.compare(this, other, "category");
+    }
+
+    
+    // //////////////////////////////////////
+    // injected services
+    // //////////////////////////////////////
+    
+    private ToDoItems toDoItems;
+
+    public void injectedToDoItems(final ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.layout.json
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.layout.json b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.layout.json
new file mode 100644
index 0000000..c87b554
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.layout.json
@@ -0,0 +1,43 @@
+{
+  "columns": [
+    {
+      "span": 4,
+      "memberGroups": {
+        "General": {
+          "members": {
+            "category": {}
+          }
+        },
+        "Analysis": {
+          "members": {
+            "notYetComplete": {},
+            "complete": {}
+          }
+        }
+      }
+    },
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 8,
+      "collections": {
+        "itemsNotYetComplete": {},
+        "itemsComplete": {
+          "actions": {
+            "deleteCompleted": {}
+          }
+        }
+      }
+    }
+  ],
+  "actions": {
+    "downloadLayout": {},
+    "refreshLayout": {}
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
new file mode 100644
index 0000000..6d9b1fd
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
@@ -0,0 +1,166 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 app;
+
+import java.util.List;
+
+import app.ToDoItemAnalysis.DateRange;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+
+import org.joda.time.DateTime;
+
+import org.apache.isis.applib.AbstractViewModel;
+import org.apache.isis.applib.annotation.Bookmarkable;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Render;
+import org.apache.isis.applib.annotation.Render.Type;
+import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.util.ObjectContracts;
+
+import services.ClockService;
+
+@Named("By Date Range")
+@Bookmarkable
+public class ToDoItemsByDateRangeViewModel 
+        extends AbstractViewModel 
+        implements Comparable<ToDoItemsByDateRangeViewModel> {
+
+    
+    // //////////////////////////////////////
+    // ViewModel implementation
+    // //////////////////////////////////////
+
+    @Override
+    public String viewModelMemento() {
+        return getDateRange().name();
+    }
+
+    @Override
+    public void viewModelInit(String memento) {
+        setDateRange(DateRange.valueOf(memento));
+    }
+
+    // //////////////////////////////////////
+    // DateRange
+    // //////////////////////////////////////
+
+    private DateRange dateRange;
+
+    /**
+     * Used as {@link ${symbol_pound}viewModelMemento() memento}
+     */
+    @Title
+    public DateRange getDateRange() {
+        return dateRange;
+    }
+
+    public void setDateRange(final DateRange dateRange) {
+        this.dateRange = dateRange;
+    }
+
+
+    // //////////////////////////////////////
+    // Count
+    // //////////////////////////////////////
+
+    public int getCount() {
+        return getItemsNotYetComplete().size();
+    }
+    
+    // //////////////////////////////////////
+    // getItemsNotYetComplete
+    // //////////////////////////////////////
+
+    /**
+     * All those items {@link ToDoItems${symbol_pound}notYetComplete() not yet complete}, for this {@link ${symbol_pound}getCategory() category}.
+     */
+    @Render(Type.EAGERLY)
+    public List<ToDoItem> getItemsNotYetComplete() {
+        final List<ToDoItem> notYetComplete = toDoItems.notYetCompleteNoUi();
+        return Lists.newArrayList(Iterables.filter(notYetComplete, thoseInDateRange()));
+    }
+
+    private Predicate<ToDoItem> thoseInDateRange() {
+        return new Predicate<ToDoItem>() {
+            @Override
+            public boolean apply(ToDoItem t) {
+                return Objects.equal(dateRangeFor(t), getDateRange());
+            }
+        };
+    }
+    
+    private DateRange dateRangeFor(final ToDoItem t) {
+        if(t.getDueBy() == null) {
+            return DateRange.Unknown;
+        }
+        final DateTime dueBy = t.getDueBy().toDateTimeAtStartOfDay();
+        final DateTime today = clockService.now().toDateTimeAtStartOfDay();
+        
+        if(dueBy.isBefore(today)) {
+            return DateRange.OverDue;
+        }
+        if(dueBy.isBefore(today.plusDays(1))) {
+            return DateRange.Today;
+        }
+        if(dueBy.isBefore(today.plusDays(2))) {
+            return DateRange.Tomorrow;
+        }
+        if(dueBy.isBefore(today.plusDays(7))) {
+            return DateRange.ThisWeek;
+        }
+        return DateRange.Later;
+    }
+
+
+    // //////////////////////////////////////
+    // compareTo
+    // //////////////////////////////////////
+
+    @Override
+    public int compareTo(ToDoItemsByDateRangeViewModel other) {
+        return ObjectContracts.compare(this, other, "dateRange");
+    }
+
+    
+    // //////////////////////////////////////
+    // injected services
+    // //////////////////////////////////////
+    
+    private ToDoItems toDoItems;
+
+    public void injectedToDoItems(final ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+
+    private ClockService clockService;
+    public void injectClockService(ClockService clockService) {
+        this.clockService = clockService;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.layout.json
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.layout.json b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.layout.json
new file mode 100644
index 0000000..648e146
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.layout.json
@@ -0,0 +1,33 @@
+{
+  "columns": [
+    {
+      "span": 4,
+      "memberGroups": {
+        "General": {
+          "members": {
+            "dateRange": {},
+            "count": {}
+          }
+        }
+      }
+    },
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 0,
+      "memberGroups": {}
+    },
+    {
+      "span": 8,
+      "collections": {
+        "itemsNotYetComplete": {}
+      }
+    }
+  ],
+  "actions": {
+    "downloadLayout": {},
+    "refreshLayout": {}
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
index b854ae2..446e560 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
@@ -22,18 +22,22 @@
 package dom.todo;
 
 import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
 import javax.jdo.JDOHelper;
-import javax.jdo.annotations.Column;
 import javax.jdo.annotations.IdentityType;
 import javax.jdo.annotations.VersionStrategy;
 import javax.jdo.spi.PersistenceCapable;
 
 import com.google.common.base.Objects;
-import com.google.common.collect.Lists;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Ordering;
 
 import org.joda.time.LocalDate;
 
@@ -42,13 +46,13 @@ import org.apache.isis.applib.annotation.Audited;
 import org.apache.isis.applib.annotation.AutoComplete;
 import org.apache.isis.applib.annotation.Bookmarkable;
 import org.apache.isis.applib.annotation.Bulk;
+import org.apache.isis.applib.annotation.Bulk.InteractionContext;
+import org.apache.isis.applib.annotation.CssClass;
 import org.apache.isis.applib.annotation.Disabled;
 import org.apache.isis.applib.annotation.Hidden;
-import org.apache.isis.applib.annotation.MemberGroups;
-import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.MinLength;
 import org.apache.isis.applib.annotation.MultiLine;
 import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.annotation.NotPersisted;
 import org.apache.isis.applib.annotation.ObjectType;
 import org.apache.isis.applib.annotation.Optional;
 import org.apache.isis.applib.annotation.Programmatic;
@@ -57,49 +61,76 @@ import org.apache.isis.applib.annotation.PublishedObject;
 import org.apache.isis.applib.annotation.RegEx;
 import org.apache.isis.applib.annotation.Render;
 import org.apache.isis.applib.annotation.Render.Type;
+import org.apache.isis.applib.annotation.SortedBy;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.applib.filter.Filters;
+import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.TitleBuffer;
 import org.apache.isis.applib.value.Blob;
 
+import services.ClockService;
+
 @javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE)
-@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@javax.jdo.annotations.DatastoreIdentity(
+        strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY,
+         column="id")
+@javax.jdo.annotations.Version(
+        strategy=VersionStrategy.VERSION_NUMBER, 
+        column="version")
+@javax.jdo.annotations.Uniques({
+    @javax.jdo.annotations.Unique(
+            name="ToDoItem_description_must_be_unique", 
+            members={"ownedBy","description"})
+})
 @javax.jdo.annotations.Queries( {
     @javax.jdo.annotations.Query(
-            name="todo_all", language="JDOQL",  
-            value="SELECT FROM dom.todo.ToDoItem WHERE ownedBy == :ownedBy"),
+            name = "todo_all", language = "JDOQL",
+            value = "SELECT "
+                    + "FROM dom.todo.ToDoItem "
+                    + "WHERE ownedBy == :ownedBy"),
     @javax.jdo.annotations.Query(
-        name="todo_notYetComplete", language="JDOQL",  
-        value="SELECT FROM dom.todo.ToDoItem WHERE ownedBy == :ownedBy && complete == false"),
+            name = "todo_notYetComplete", language = "JDOQL",
+            value = "SELECT "
+                    + "FROM dom.todo.ToDoItem "
+                    + "WHERE ownedBy == :ownedBy "
+                    + "   && complete == false"),
     @javax.jdo.annotations.Query(
-            name="todo_complete", language="JDOQL",  
-            value="SELECT FROM dom.todo.ToDoItem WHERE ownedBy == :ownedBy && complete == true"),
+            name = "todo_complete", language = "JDOQL",
+            value = "SELECT "
+                    + "FROM dom.todo.ToDoItem "
+                    + "WHERE ownedBy == :ownedBy "
+                    + "&& complete == true"),
     @javax.jdo.annotations.Query(
-        name="todo_similarTo", language="JDOQL",  
-        value="SELECT FROM dom.todo.ToDoItem WHERE ownedBy == :ownedBy && category == :category"),
+            name = "todo_similarTo", language = "JDOQL",
+            value = "SELECT "
+                    + "FROM dom.todo.ToDoItem "
+                    + "WHERE ownedBy == :ownedBy "
+                    + "&& category == :category"),
     @javax.jdo.annotations.Query(
-            name="todo_autoComplete", language="JDOQL",  
-            value="SELECT FROM dom.todo.ToDoItem WHERE ownedBy == :ownedBy && description.indexOf(:description) >= 0")
+            name = "todo_autoComplete", language = "JDOQL",
+            value = "SELECT "
+                    + "FROM dom.todo.ToDoItem "
+                    + "WHERE ownedBy == :ownedBy && "
+                    + "description.indexOf(:description) >= 0")
 })
-@javax.jdo.annotations.Version(strategy=VersionStrategy.VERSION_NUMBER, column="VERSION")
-@javax.jdo.annotations.Unique(name="ToDoItem_description_must_be_unique", members={"ownedBy","description"})
 @ObjectType("TODO")
 @Audited
 @PublishedObject(ToDoItemChangedPayloadFactory.class)
-@AutoComplete(repository=ToDoItems.class, action="autoComplete")
-@MemberGroups({"General", "Detail"})
+@AutoComplete(repository=ToDoItems.class, action="autoComplete") // default unless overridden by autoCompleteNXxx() method
+//@Bounded - if there were a small number of instances only (overrides autoComplete functionality)
 @Bookmarkable
 public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
 
-	private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * 1000L;
-
-    public static enum Category {
-        Professional, Domestic, Other;
-    }
+    /**
+     * It isn't common for entities to log, but they can if required.  
+     * Isis uses the slf4j internally, and is the recommended API to use. 
+     */
+    private final static org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(ToDoItem.class);
+    
+    // //////////////////////////////////////
+    // Identification in the UI
+    // //////////////////////////////////////
 
-    // {{ Identification on the UI
     public String title() {
         final TitleBuffer buf = new TitleBuffer();
         buf.append(getDescription());
@@ -112,15 +143,19 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         }
         return buf.toString();
     }
-    // }}
+    
+    public String iconName() {
+        return "ToDoItem-" + (!isComplete() ? "todo" : "done");
+    }
 
+    // //////////////////////////////////////
+    // Description (property)
+    // //////////////////////////////////////
     
-    // {{ Description
     private String description;
 
-    @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*")
-    // words, spaces and selected punctuation
-    @MemberOrder(sequence = "1")
+    @javax.jdo.annotations.Column(allowsNull="false", length=30)
+    @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*") 
     public String getDescription() {
         return description;
     }
@@ -128,15 +163,16 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public void setDescription(final String description) {
         this.description = description;
     }
-    // }}
 
+    // //////////////////////////////////////
+    // DueBy (property)
+    // //////////////////////////////////////
 
-    // {{ DueBy (property)
     @javax.jdo.annotations.Persistent(defaultFetchGroup="true")
     private LocalDate dueBy;
 
-    @MemberOrder(name="Detail", sequence = "3")
-    @Optional
+    @javax.jdo.annotations.Column(allowsNull="true")
+    @CssClass("x-key")
     public LocalDate getDueBy() {
         return dueBy;
     }
@@ -154,13 +190,71 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         }
         return isMoreThanOneWeekInPast(dueBy) ? "Due by date cannot be more than one week old" : null;
     }
-    // }}
 
-    
-    // {{ Category
+    // //////////////////////////////////////
+    // Category and Subcategory (property)
+    // //////////////////////////////////////
+
+    public static enum Category {
+        Professional {
+            @Override
+            public List<Subcategory> subcategories() {
+                return Arrays.asList(Subcategory.OpenSource, Subcategory.Consulting, Subcategory.Education);
+            }
+        }, Domestic {
+            @Override
+            public List<Subcategory> subcategories() {
+                return Arrays.asList(Subcategory.Shopping, Subcategory.Housework, Subcategory.Garden, Subcategory.Chores);
+            }
+        }, Other {
+            @Override
+            public List<Subcategory> subcategories() {
+                return Arrays.asList(Subcategory.Other);
+            }
+        };
+        
+        public abstract List<Subcategory> subcategories();
+    }
+
+    public static enum Subcategory {
+        // professional
+        OpenSource, Consulting, Education, Marketing,
+        // domestic
+        Shopping, Housework, Garden, Chores,
+        // other
+        Other;
+
+        public static List<Subcategory> listFor(Category category) {
+            return category != null? category.subcategories(): Collections.<Subcategory>emptyList();
+        }
+
+        static String validate(final Category category, final Subcategory subcategory) {
+            if(category == null) {
+                return "Enter category first";
+            }
+            return !category.subcategories().contains(subcategory) 
+                    ? "Invalid subcategory for category '" + category + "'" 
+                    : null;
+        }
+        
+        public static Predicate<Subcategory> thoseFor(final Category category) {
+            return new Predicate<Subcategory>() {
+
+                @Override
+                public boolean apply(Subcategory subcategory) {
+                    return category.subcategories().contains(subcategory);
+                }
+            };
+        }
+    }
+
+    // //////////////////////////////////////
+
+
     private Category category;
 
-    @MemberOrder(sequence = "2")
+    @javax.jdo.annotations.Column(allowsNull="false")
+    @Disabled(reason="Use action to update both category and subcategory")
     public Category getCategory() {
         return category;
     }
@@ -168,14 +262,29 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public void setCategory(final Category category) {
         this.category = category;
     }
-    // }}
+
+    // //////////////////////////////////////
+
+    private Subcategory subcategory;
+
+    @javax.jdo.annotations.Column(allowsNull="false")
+    @Disabled(reason="Use action to update both category and subcategory")
+    public Subcategory getSubcategory() {
+        return subcategory;
+    }
+    public void setSubcategory(final Subcategory subcategory) {
+        this.subcategory = subcategory;
+    }
 
     
-    // {{ OwnedBy (property)
+    // //////////////////////////////////////
+    // OwnedBy (property)
+    // //////////////////////////////////////
+    
     private String ownedBy;
 
+    @javax.jdo.annotations.Column(allowsNull="false")
     @Hidden
-    // not shown in the UI
     public String getOwnedBy() {
         return ownedBy;
     }
@@ -184,14 +293,15 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         this.ownedBy = ownedBy;
     }
 
-    // }}
 
-    // {{ Complete (property), Done (action), Undo (action)
+    // //////////////////////////////////////
+    // Complete (property), 
+    // Done (action), Undo (action)
+    // //////////////////////////////////////
+
     private boolean complete;
 
     @Disabled
-    // cannot be edited as a property
-    @MemberOrder(sequence = "4")
     public boolean isComplete() {
         return complete;
     }
@@ -200,69 +310,87 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         this.complete = complete;
     }
 
-
     @Named("Done")
     @PublishedAction
     @Bulk
-    @MemberOrder(name="complete", sequence = "1")
+    @CssClass("x-highlight")
     public ToDoItem completed() {
         setComplete(true);
+        
+        // demonstrating the use of ... 
+        final InteractionContext ctxt = InteractionContext.current.get();
+        @SuppressWarnings("unused")
+        List<Object> allObjects = ctxt.getDomainObjects();
+        
+        LOG.debug("completed: "
+                + ctxt.getIndex() +
+                " [" + ctxt.getSize() + "]"
+                + (ctxt.isFirst() ? " (first)" : "")
+                + (ctxt.isLast() ? " (last)" : ""));
+
         return this;
     }
     // disable action dependent on state of object
     public String disableCompleted() {
-        return complete ? "Already completed" : null;
+        return isComplete() ? "Already completed" : null;
     }
 
-
-    @Named("Undo")
+    @Named("Not done")
     @PublishedAction
-    @MemberOrder(name="complete", sequence = "2")
+    @Bulk
     public ToDoItem notYetCompleted() {
         setComplete(false);
+
         return this;
     }
     // disable action dependent on state of object
     public String disableNotYetCompleted() {
         return !complete ? "Not yet completed" : null;
     }
-    // }}
 
+    // //////////////////////////////////////
+    // Cost (property), UpdateCost (action)
+    // //////////////////////////////////////
 
-    // {{ Cost (property), updateCost (action)
     private BigDecimal cost;
 
-    @Column(scale = 2)
-    @Optional
-    @MemberOrder(sequence = "4.1")
+    @javax.jdo.annotations.Column(allowsNull="true", scale=2)
+    @Disabled(reason="Update using action")
     public BigDecimal getCost() {
         return cost;
     }
 
     public void setCost(final BigDecimal cost) {
-        this.cost = cost;
+        this.cost = cost!=null?cost.setScale(2):null;
     }
     
     @Named("Update")
-    @MemberOrder(name="cost", sequence = "1")
-    public ToDoItem updateCost(@Named("New cost") final BigDecimal cost) {
+    public ToDoItem updateCost(@Named("New cost") @Optional final BigDecimal cost) {
+        LOG.debug("%s: cost updated: %s -> %s", this.container.titleOf(this), getCost(), cost);
         setCost(cost);
         return this;
     }
-    // provide a default value
+
+    // provide a default value for argument ${symbol_pound}0
     public BigDecimal default0UpdateCost() {
         return getCost();
     }
-    // }}
+    
+    // validate action arguments
+    public String validateUpdateCost(final BigDecimal proposedCost) {
+        if(proposedCost == null) { return null; }
+        return proposedCost.compareTo(BigDecimal.ZERO) < 0? "Cost must be positive": null;
+    }
 
+    // //////////////////////////////////////
+    // Notes (property)
+    // //////////////////////////////////////
 
-    // {{ Notes (property)
     private String notes;
 
+    @javax.jdo.annotations.Column(allowsNull="true", length=400)
     @Hidden(where=Where.ALL_TABLES)
-    @Optional
     @MultiLine(numberOfLines=5)
-    @MemberOrder(name="Detail", sequence = "6")
     public String getNotes() {
         return notes;
     }
@@ -270,15 +398,15 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public void setNotes(final String notes) {
         this.notes = notes;
     }
-    // }}
 
+    // //////////////////////////////////////
+    // Attachment (property)
+    // //////////////////////////////////////
 
-    // {{ Attachment (property)
     private Blob attachment;
 
     @javax.jdo.annotations.Persistent(defaultFetchGroup="false")
-    @Optional
-    @MemberOrder(name="Detail", sequence = "7")
+    @javax.jdo.annotations.Column(allowsNull="true")
     @Hidden(where=Where.STANDALONE_TABLES)
     public Blob getAttachment() {
         return attachment;
@@ -287,15 +415,13 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public void setAttachment(final Blob attachment) {
         this.attachment = attachment;
     }
-    // }}
-
-
 
+    // //////////////////////////////////////
+    // Version (derived property)
+    // //////////////////////////////////////
 
-    // {{ Version (derived property)
     @Hidden(where=Where.ALL_TABLES)
     @Disabled
-    @MemberOrder(name="Detail", sequence = "99")
     @Named("Version")
     public Long getVersionSequence() {
         if(!(this instanceof PersistenceCapable)) {
@@ -309,17 +435,36 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public boolean hideVersionSequence() {
         return !(this instanceof PersistenceCapable);
     }
-    // }}
 
+    // //////////////////////////////////////
+    // Dependencies (collection), 
+    // Add (action), Remove (action)
+    // //////////////////////////////////////
+
+    // overrides the natural ordering
+    public static class DependenciesComparator implements Comparator<ToDoItem> {
+        @Override
+        public int compare(ToDoItem p, ToDoItem q) {
+            Ordering<ToDoItem> byDescription = new Ordering<ToDoItem>() {
+                public int compare(final ToDoItem p, final ToDoItem q) {
+                    return Ordering.natural().nullsFirst().compare(p.getDescription(), q.getDescription());
+                }
+            };
+            return byDescription
+                    .compound(Ordering.<ToDoItem>natural())
+                    .compare(p, q);
+        }
+    }
+
+    
 
-    // {{ dependencies (Collection)
-    @javax.jdo.annotations.Persistent(table="TODO_DEPENDENCIES")
-    @javax.jdo.annotations.Join(column="DEPENDING_TODO_ID")
-    @javax.jdo.annotations.Element(column="DEPENDENT_TODO_ID")
+    @javax.jdo.annotations.Persistent(table="ToDoItemDependencies")
+    @javax.jdo.annotations.Join(column="dependingId")
+    @javax.jdo.annotations.Element(column="dependentId")
     private SortedSet<ToDoItem> dependencies = new TreeSet<ToDoItem>();
 
+    @SortedBy(DependenciesComparator.class)
     @Disabled
-    @MemberOrder(sequence = "1")
     @Render(Type.EAGERLY)
     public SortedSet<ToDoItem> getDependencies() {
         return dependencies;
@@ -328,15 +473,19 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public void setDependencies(final SortedSet<ToDoItem> dependencies) {
         this.dependencies = dependencies;
     }
-    // }}
 
-    // {{ add (action)
     @PublishedAction
-    @MemberOrder(name="dependencies", sequence = "3")
     public ToDoItem add(final ToDoItem toDoItem) {
         getDependencies().add(toDoItem);
         return this;
     }
+    public List<ToDoItem> autoComplete0Add(final @MinLength(2) String search) {
+        final List<ToDoItem> list = toDoItems.autoComplete(search);
+        list.removeAll(getDependencies());
+        list.remove(this);
+        return list;
+    }
+
     public String disableAdd(final ToDoItem toDoItem) {
         if(isComplete()) {
             return "Cannot add dependencies for items that are complete";
@@ -353,10 +502,8 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         }
         return null;
     }
-    // }}
 
-    // {{ remove (action)
-    @MemberOrder(name="dependencies", sequence = "4")
+    @CssClass("x-caution")
     public ToDoItem remove(final ToDoItem toDoItem) {
         getDependencies().remove(toDoItem);
         return this;
@@ -376,16 +523,17 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         return null;
     }
     // provide a drop-down
-    public List<ToDoItem> choices0Remove() {
-        return Lists.newArrayList(getDependencies());
+    public Collection<ToDoItem> choices0Remove() {
+        return getDependencies();
     }
-    // }}
+    
 
+    // //////////////////////////////////////
+    // Clone (action)
+    // //////////////////////////////////////
 
-    // {{ clone (action)
     @Named("Clone")
     // the name of the action in the UI
-    @MemberOrder(sequence = "3")
     // nb: method is not called "clone()" is inherited by java.lang.Object and
     // (a) has different semantics and (b) is in any case automatically ignored
     // by the framework
@@ -394,13 +542,15 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
             String description,
             @Named("Category")
             ToDoItem.Category category, 
+            @Named("Subcategory")
+            ToDoItem.Subcategory subcategory, 
             @Named("Due by") 
             @Optional
             LocalDate dueBy,
             @Named("Cost") 
             @Optional
             BigDecimal cost) {
-        return toDoItems.newToDo(description, category, dueBy, cost);
+        return toDoItems.newToDo(description, category, subcategory, dueBy, cost);
     }
     public String default0Duplicate() {
         return getDescription() + " - Copy";
@@ -408,25 +558,32 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
     public Category default1Duplicate() {
         return getCategory();
     }
-    public LocalDate default2Duplicate() {
+    public Subcategory default2Duplicate() {
+        return getSubcategory();
+    }
+    public LocalDate default3Duplicate() {
         return getDueBy();
     }
-    // }}
 
-    
-    // {{ delete (action)
+    // //////////////////////////////////////
+    // Delete (action)
+    // //////////////////////////////////////
+
     @Bulk
-    @MemberOrder(sequence = "4")
+    @CssClass("x-caution")
     public List<ToDoItem> delete() {
         container.removeIfNotAlready(this);
         container.informUser("Deleted " + container.titleOf(this));
         // invalid to return 'this' (cannot render a deleted object)
         return toDoItems.notYetComplete(); 
     }
-    // }}
 
+    // //////////////////////////////////////
+    // Programmatic Helpers
+    // //////////////////////////////////////
+
+    private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * 1000L;
 
-    // {{ isDue (programmatic)
     @Programmatic // excluded from the framework's metamodel
     public boolean isDue() {
         if (getDueBy() == null) {
@@ -435,119 +592,140 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
         return !isMoreThanOneWeekInPast(getDueBy());
     }
 
-    // }}
-
-
-    // {{ SimilarItems (derived collection)
-    @MemberOrder(sequence = "5")
-    @NotPersisted
-    @Render(Type.LAZILY)
-    public List<ToDoItem> getSimilarItems() {
-        return toDoItems.similarTo(this);
+    private static boolean isMoreThanOneWeekInPast(final LocalDate dueBy) {
+        return dueBy.toDateTimeAtStartOfDay().getMillis() < Clock.getTime() - ONE_WEEK_IN_MILLIS;
     }
 
-    // }}
-
+    // //////////////////////////////////////
+    // Predicates
+    // //////////////////////////////////////
 
-
-    // {{ compareTo (programmatic)
-    /**
-     * by complete flag, then due by date, then description.
-     * 
-     * <p>
-     * Required because {@link ${symbol_pound}getDependencies()} is of type {@link SortedSet}. 
-     */
-    @Override
-    public int compareTo(final ToDoItem other) {
-        if (isComplete() && !other.isComplete()) {
-            return +1;
+    public static class Predicates {
+        
+        public static Predicate<ToDoItem> thoseOwnedBy(final String currentUser) {
+            return new Predicate<ToDoItem>() {
+                @Override
+                public boolean apply(final ToDoItem toDoItem) {
+                    return Objects.equal(toDoItem.getOwnedBy(), currentUser);
+                }
+            };
         }
-        if (!isComplete() && other.isComplete()) {
-            return -1;
+
+        public static Predicate<ToDoItem> thoseNotYetComplete() {
+            return com.google.common.base.Predicates.not(thoseComplete());
         }
-        if (getDueBy() == null && other.getDueBy() != null) {
-            return +1;
+
+        public static Predicate<ToDoItem> thoseComplete() {
+            return new Predicate<ToDoItem>() {
+                @Override
+                public boolean apply(final ToDoItem t) {
+                    return t.isComplete();
+                }
+            };
         }
-        if (getDueBy() != null && other.getDueBy() == null) {
-            return -1;
+
+        public static Predicate<ToDoItem> thoseWithSimilarDescription(final String description) {
+            return new Predicate<ToDoItem>() {
+                @Override
+                public boolean apply(final ToDoItem t) {
+                    return t.getDescription().contains(description);
+                }
+            };
         }
-        if (getDueBy() == null && other.getDueBy() == null || getDueBy().equals(this.getDueBy())) {
-            return getDescription().compareTo(other.getDescription());
+
+        @SuppressWarnings("unchecked")
+        public static Predicate<ToDoItem> thoseSimilarTo(final ToDoItem toDoItem) {
+            return com.google.common.base.Predicates.and(
+                    thoseNot(toDoItem),
+                    thoseOwnedBy(toDoItem.getOwnedBy()),
+                    thoseCategorised(toDoItem.getCategory()));
         }
-        return getDueBy().compareTo(getDueBy());
-    }
-    // }}
 
-    // {{ helpers
-    private static boolean isMoreThanOneWeekInPast(final LocalDate dueBy) {
-        return dueBy.toDateTimeAtStartOfDay().getMillis() < Clock.getTime() - ONE_WEEK_IN_MILLIS;
-    }
+        public static Predicate<ToDoItem> thoseNot(final ToDoItem toDoItem) {
+            return new Predicate<ToDoItem>() {
+                @Override
+                public boolean apply(final ToDoItem t) {
+                    return t != toDoItem;
+                }
+            };
+        }
 
-    // }}
+        public static Predicate<ToDoItem> thoseCategorised(final Category category) {
+            return new Predicate<ToDoItem>() {
+                @Override
+                public boolean apply(final ToDoItem toDoItem) {
+                    return Objects.equal(toDoItem.getCategory(), category);
+                }
+            };
+        }
 
-    // {{ filters (programmatic)
-    @SuppressWarnings("unchecked")
-    public static Filter<ToDoItem> thoseDue() {
-        return Filters.and(Filters.not(thoseComplete()), new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem t) {
-                return t.isDue();
-            }
-        });
-    }
+        public static Predicate<ToDoItem> thoseSubcategorised(
+                final Subcategory subcategory) {
+            return new Predicate<ToDoItem>() {
+                @Override
+                public boolean apply(final ToDoItem t) {
+                    return Objects.equal(t.getSubcategory(), subcategory);
+                }
+            };
+        }
 
-    public static Filter<ToDoItem> thoseComplete() {
-        return new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem t) {
-                return t.isComplete();
-            }
-        };
+        public static Predicate<ToDoItem> thoseCategorised(
+                final Category category, final Subcategory subcategory) {
+            return com.google.common.base.Predicates.and(
+                    thoseCategorised(category), 
+                    thoseSubcategorised(subcategory)); 
+        }
     }
+    
+    // //////////////////////////////////////
+    // toString
+    // //////////////////////////////////////
 
-    public static Filter<ToDoItem> thoseOwnedBy(final String currentUser) {
-        return new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem toDoItem) {
-                return Objects.equal(toDoItem.getOwnedBy(), currentUser);
-            }
-
-        };
+    @Override
+    public String toString() {
+        return ObjectContracts.toString(this, "description,complete,dueBy,ownedBy");
     }
+        
+    // //////////////////////////////////////
+    // compareTo
+    // //////////////////////////////////////
 
-    public static Filter<ToDoItem> thoseSimilarTo(final ToDoItem toDoItem) {
-        return new Filter<ToDoItem>() {
-            @Override
-            public boolean accept(final ToDoItem eachToDoItem) {
-                return Objects.equal(toDoItem.getCategory(), eachToDoItem.getCategory()) && 
-                       Objects.equal(toDoItem.getOwnedBy(), eachToDoItem.getOwnedBy()) &&
-                       eachToDoItem != toDoItem;
-            }
-
-        };
+    /**
+     * Required so can store in {@link SortedSet sorted set}s (eg {@link ${symbol_pound}getDependencies()}). 
+     */
+    @Override
+    public int compareTo(final ToDoItem other) {
+        return ObjectContracts.compare(this, other, "complete,dueBy,description");
     }
-    // }}
 
-    
+    // //////////////////////////////////////
+    // Injected Services
+    // //////////////////////////////////////
 
-    // {{ injected: DomainObjectContainer
     private DomainObjectContainer container;
 
     public void injectDomainObjectContainer(final DomainObjectContainer container) {
         this.container = container;
     }
-    // }}
 
-    // {{ injected: ToDoItems
     private ToDoItems toDoItems;
 
     public void injectToDoItems(final ToDoItems toDoItems) {
         this.toDoItems = toDoItems;
     }
-    // }}
 
-// GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3    
-//    // {{
+    private ClockService clockService;
+    public void injectClockService(ClockService clockService) {
+        this.clockService = clockService;
+    }
+    
+    // //////////////////////////////////////
+    // Extensions
+    // //////////////////////////////////////
+
+    
+// GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
+//
 //    @Persistent
 //    private Location location;
 //    
@@ -559,14 +737,5 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
 //    public void setLocation(Location location) {
 //        this.location = location;
 //    }
-//    // }}
-
 
-    
-    public ToDoItem updateDueBy(
-            //@RenderedAdjusted
-            LocalDate dueBy) {
-        setDueBy(dueBy);
-        return this;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
new file mode 100644
index 0000000..fa63299
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
@@ -0,0 +1,92 @@
+/**
+ *  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.
+ */
+{
+    columns: [
+    {
+        span: 6,
+        memberGroups: {
+            General: {
+                members: {
+                    description: {},
+                    category: {
+                    },
+                    subcategory: {
+                        actions: {
+                            updateCategory: {},
+                            analyseCategory: {}
+                        }
+                    },
+                    complete: {
+                        actions: {
+                            completed: {},
+                            notYetCompleted: {}
+                        }
+                    }
+                }
+            },
+            Misc: {
+                members: {
+                    versionSequence: {}
+                }
+            }
+        }
+    },
+    {
+        span: 6,
+        memberGroups: {
+            Detail: {
+                members: {
+                    priority: {
+                        actions: {
+                            previous: {},
+                            next: {}
+                        }
+                    },
+                    dueBy: {},
+                    cost: {
+                        actions: {
+                            updateCost:{}
+                        }
+                    },
+                    notes: {},
+                    attachment: {}
+                }
+            }
+        }
+    },
+    {
+        span: 0
+    },
+    {
+        span: 6,
+        collections: {
+            dependencies: {
+                actions: {
+                    add:{},
+                    remove: {}
+                }
+            },
+            similarTo: {}
+        }
+    }
+    ],
+    actions: {
+        duplicate: {},
+        delete: {}
+    }
+}
+ 
\ No newline at end of file


[03/28] git commit: ISIS-437: updating jdo pom's parent to isis-core 1.3.0

Posted by da...@apache.org.
ISIS-437: updating jdo pom's parent to isis-core 1.3.0

in addition:
- parameterized the use of jdo-api rather than hard-code (similar to the examples/application


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

Branch: refs/heads/master
Commit: f2d174220bcf5a8fe8e5b10b17fc087a9d2cb626
Parents: 65396c2
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 20:28:38 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 20:28:38 2013 +0100

----------------------------------------------------------------------
 component/objectstore/jdo/jdo-applib/pom.xml | 14 +++++++++-----
 component/objectstore/jdo/pom.xml            |  3 ++-
 2 files changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/f2d17422/component/objectstore/jdo/jdo-applib/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-applib/pom.xml b/component/objectstore/jdo/jdo-applib/pom.xml
index 024eaed..b09accf 100644
--- a/component/objectstore/jdo/jdo-applib/pom.xml
+++ b/component/objectstore/jdo/jdo-applib/pom.xml
@@ -46,18 +46,22 @@
                 <version>3.3.0-release</version>
                 <dependencies>
                     <dependency>
-                        <!-- Force the enhancer to use the same version of core that's already
-                                on the classpath -->
+                        <!-- 
+                        Force the enhancer to use the same version of core 
+                        that's used by the JDO objectstore
+                        -->
                         <groupId>org.datanucleus</groupId>
                         <artifactId>datanucleus-core</artifactId>
                         <version>${datanucleus-core.version}</version>
                     </dependency>
                     <dependency>
-                        <!-- Force the enhancer to use the "jdo-api" released "3.0.1" version instead 
-                                of the "3.0.1-SNAPSHOT" version -->
+                        <!-- 
+                        Force the enhancer to use the same version of jdo-api
+                        that's used by the JDO objectstore
+                        -->
                         <groupId>javax.jdo</groupId>
                         <artifactId>jdo-api</artifactId>
-                        <version>3.0.1</version>
+                        <version>${jdo-api.version}</version>
                     </dependency>
                 </dependencies>
                 <configuration>

http://git-wip-us.apache.org/repos/asf/isis/blob/f2d17422/component/objectstore/jdo/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/pom.xml b/component/objectstore/jdo/pom.xml
index ebb8df6..6cf4dd9 100644
--- a/component/objectstore/jdo/pom.xml
+++ b/component/objectstore/jdo/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 
@@ -30,6 +30,7 @@
 
 	<properties>
         <datanucleus-core.version>3.2.7</datanucleus-core.version>
+        <jdo-api.version>3.0.1</jdo-api.version>
         <datanucleus-rdbms.version>3.2.6</datanucleus-rdbms.version>
         <datanucleus-api-jdo.version>3.2.4</datanucleus-api-jdo.version>
         <datanucleus-jodatime.version>3.2.1</datanucleus-jodatime.version>


[12/28] git commit: ISIS-437: updating shiro security pom parent...

Posted by da...@apache.org.
ISIS-437: updating shiro security pom parent...

... to be isis-core 1.3.0


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/92a6071d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/92a6071d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/92a6071d

Branch: refs/heads/master
Commit: 92a6071daf995d0053c4a88a794a20d21cd2332e
Parents: a1b7b76
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 22:48:32 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 22:48:32 2013 +0100

----------------------------------------------------------------------
 component/security/shiro/pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/92a6071d/component/security/shiro/pom.xml
----------------------------------------------------------------------
diff --git a/component/security/shiro/pom.xml b/component/security/shiro/pom.xml
index b2ab9f9..eb48dc3 100644
--- a/component/security/shiro/pom.xml
+++ b/component/security/shiro/pom.xml
@@ -23,13 +23,13 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 
 	<groupId>org.apache.isis.security</groupId>
 	<artifactId>isis-security-shiro</artifactId>
-    <version>1.1.2-SNAPSHOT</version>
+    <version>1.3.0-SNAPSHOT</version>
 
 	<name>Isis Shiro Security</name>
 
@@ -104,7 +104,7 @@
 			<dependency>
 			    <groupId>org.apache.isis.security</groupId>
 			    <artifactId>isis-security-shiro</artifactId>
-				<version>1.1.2-SNAPSHOT</version>
+				<version>1.3.0-SNAPSHOT</version>
 			</dependency>
     	</dependencies>
     </dependencyManagement>


[28/28] git commit: ISIS-437: bumping to 1.4.0-SNAPSHOT etc

Posted by da...@apache.org.
ISIS-437: bumping to 1.4.0-SNAPSHOT etc

... also fixing typo in one of the groovy release scripts, caused the editing of the parent pom of archetype sources to be incorrect


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

Branch: refs/heads/master
Commit: 1a20065437028880c0d3ecafdebd043d8f8fb59b
Parents: deb512c
Author: Dan Haywood <da...@apache.org>
Authored: Fri Oct 25 12:44:34 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Oct 25 12:44:34 2013 +0100

----------------------------------------------------------------------
 component/objectstore/jdo/pom.xml                       |  2 +-
 component/objectstore/nosql/pom.xml                     |  2 +-
 component/objectstore/xml/pom.xml                       |  2 +-
 component/progmodel/groovy/pom.xml                      |  2 +-
 component/security/file/pom.xml                         |  2 +-
 component/security/shiro/pom.xml                        |  2 +-
 component/viewer/dnd/pom.xml                            |  2 +-
 component/viewer/dnd/tck/pom.xml                        |  2 +-
 component/viewer/restfulobjects/pom.xml                 |  2 +-
 component/viewer/restfulobjects/tck/pom.xml             |  2 +-
 component/viewer/scimpi/pom.xml                         |  2 +-
 component/viewer/scimpi/tck/pom.xml                     |  2 +-
 component/viewer/wicket/pom.xml                         |  2 +-
 component/viewer/wicket/tck/pom.xml                     |  2 +-
 example/application/quickstart_scimpi_nosql/pom.xml     |  2 +-
 .../quickstart_wicket_restful_jdo/dom/pom.xml           |  2 +-
 .../quickstart_wicket_restful_jdo/fixture/pom.xml       |  2 +-
 .../quickstart_wicket_restful_jdo/integtests/pom.xml    |  2 +-
 .../application/quickstart_wicket_restful_jdo/pom.xml   | 12 ++++++------
 .../quickstart_wicket_restful_jdo/webapp/pom.xml        |  2 +-
 .../application/simple_wicket_restful_jdo/dom/pom.xml   |  2 +-
 .../simple_wicket_restful_jdo/fixture/pom.xml           |  2 +-
 .../simple_wicket_restful_jdo/integtests/pom.xml        |  2 +-
 example/application/simple_wicket_restful_jdo/pom.xml   | 12 ++++++------
 .../simple_wicket_restful_jdo/webapp/pom.xml            |  2 +-
 example/archetype/quickstart_wicket_restful_jdo/pom.xml |  4 ++--
 example/archetype/simple_wicket_restful_jdo/pom.xml     |  4 ++--
 scripts/updateGeneratedArchetypeSources.groovy          |  2 +-
 28 files changed, 40 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/objectstore/jdo/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/pom.xml b/component/objectstore/jdo/pom.xml
index 99c16e4..9a7640d 100644
--- a/component/objectstore/jdo/pom.xml
+++ b/component/objectstore/jdo/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/objectstore/nosql/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/pom.xml b/component/objectstore/nosql/pom.xml
index fe28304..b1fba45 100644
--- a/component/objectstore/nosql/pom.xml
+++ b/component/objectstore/nosql/pom.xml
@@ -23,7 +23,7 @@
     <parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
     </parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/objectstore/xml/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/xml/pom.xml b/component/objectstore/xml/pom.xml
index 0e608b2..dfe1834 100644
--- a/component/objectstore/xml/pom.xml
+++ b/component/objectstore/xml/pom.xml
@@ -23,7 +23,7 @@
     <parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/progmodel/groovy/pom.xml
----------------------------------------------------------------------
diff --git a/component/progmodel/groovy/pom.xml b/component/progmodel/groovy/pom.xml
index 3105d45..67b28d4 100644
--- a/component/progmodel/groovy/pom.xml
+++ b/component/progmodel/groovy/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/security/file/pom.xml
----------------------------------------------------------------------
diff --git a/component/security/file/pom.xml b/component/security/file/pom.xml
index 1009462..f32222b 100644
--- a/component/security/file/pom.xml
+++ b/component/security/file/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/security/shiro/pom.xml
----------------------------------------------------------------------
diff --git a/component/security/shiro/pom.xml b/component/security/shiro/pom.xml
index 8b38f8d..f2e0f27 100644
--- a/component/security/shiro/pom.xml
+++ b/component/security/shiro/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/dnd/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/pom.xml b/component/viewer/dnd/pom.xml
index d2a5437..106bcbc 100644
--- a/component/viewer/dnd/pom.xml
+++ b/component/viewer/dnd/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/dnd/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/tck/pom.xml b/component/viewer/dnd/tck/pom.xml
index d5d9480..8f5e64f 100644
--- a/component/viewer/dnd/tck/pom.xml
+++ b/component/viewer/dnd/tck/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
         <relativePath>../../../../core/tck/pom.xml</relativePath>
     </parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/pom.xml b/component/viewer/restfulobjects/pom.xml
index 14f5f79..d97cc40 100644
--- a/component/viewer/restfulobjects/pom.xml
+++ b/component/viewer/restfulobjects/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/restfulobjects/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/tck/pom.xml b/component/viewer/restfulobjects/tck/pom.xml
index 4811740..9c904d2 100644
--- a/component/viewer/restfulobjects/tck/pom.xml
+++ b/component/viewer/restfulobjects/tck/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
         <relativePath>../../../../core/tck/pom.xml</relativePath>
     </parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/scimpi/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/pom.xml b/component/viewer/scimpi/pom.xml
index ec824c0..14e998f 100644
--- a/component/viewer/scimpi/pom.xml
+++ b/component/viewer/scimpi/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/scimpi/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/tck/pom.xml b/component/viewer/scimpi/tck/pom.xml
index 4031b9c..86f6ce4 100644
--- a/component/viewer/scimpi/tck/pom.xml
+++ b/component/viewer/scimpi/tck/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
         <relativePath>../../../../core/tck/pom.xml</relativePath>
     </parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/wicket/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/pom.xml b/component/viewer/wicket/pom.xml
index 57b36c7..c869232 100644
--- a/component/viewer/wicket/pom.xml
+++ b/component/viewer/wicket/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/component/viewer/wicket/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/tck/pom.xml b/component/viewer/wicket/tck/pom.xml
index 03d1feb..6a6e132 100644
--- a/component/viewer/wicket/tck/pom.xml
+++ b/component/viewer/wicket/tck/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0</version>
+        <version>1.4.0-SNAPSHOT</version>
         <relativePath>../../../../core/tck/pom.xml</relativePath>
     </parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/quickstart_scimpi_nosql/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_scimpi_nosql/pom.xml b/example/application/quickstart_scimpi_nosql/pom.xml
index d87c7d6..99bddf8 100644
--- a/example/application/quickstart_scimpi_nosql/pom.xml
+++ b/example/application/quickstart_scimpi_nosql/pom.xml
@@ -33,7 +33,7 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-        <isis.version>1.3.0-SNAPSHOT</isis.version>
+        <isis.version>1.4.0-SNAPSHOT</isis.version>
         <isis-objectstore-nosql.version>1.0.0-SNAPSHOT</isis-objectstore-nosql.version>
         <isis-viewer-scimpi.version>1.0.0-SNAPSHOT</isis-viewer-scimpi.version>
         <isis-security-file.version>1.0.2-SNAPSHOT</isis-security-file.version>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/pom.xml b/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
index 88afaac..27d5872 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/dom/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
     	<groupId>org.apache.isis.example.application</groupId>
     	<artifactId>quickstart_wicket_restful_jdo</artifactId>
-		<version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>quickstart_wicket_restful_jdo-dom</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml b/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
index f85a6a0..b9b28f0 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>quickstart_wicket_restful_jdo</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>quickstart_wicket_restful_jdo-fixture</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml b/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
index 2e06937..ca0a47d 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>quickstart_wicket_restful_jdo</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>quickstart_wicket_restful_jdo-integtests</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/pom.xml b/example/application/quickstart_wicket_restful_jdo/pom.xml
index 5164683..9efed63 100644
--- a/example/application/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/pom.xml
@@ -23,18 +23,18 @@
 
     <groupId>org.apache.isis.example.application</groupId>
     <artifactId>quickstart_wicket_restful_jdo</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
 
     <name>Quickstart Wicket/Restful/JDO App</name>
 
     <packaging>pom</packaging>
 
 	<properties>
-        <isis.version>1.3.0</isis.version>
-		<isis-objectstore-jdo.version>1.3.0</isis-objectstore-jdo.version>
-		<isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
-		<isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
-		<isis-security-shiro.version>1.3.0</isis-security-shiro.version>
+        <isis.version>1.4.0-SNAPSHOT</isis.version>
+		<isis-objectstore-jdo.version>1.4.0-SNAPSHOT</isis-objectstore-jdo.version>
+		<isis-viewer-wicket.version>1.4.0-SNAPSHOT</isis-viewer-wicket.version>
+		<isis-viewer-restfulobjects.version>2.2.0-SNAPSHOT</isis-viewer-restfulobjects.version>
+		<isis-security-shiro.version>1.4.0-SNAPSHOT</isis-security-shiro.version>
 
         <!-- must be consistent with the versions defined by the JDO Objectstore -->
         <datanucleus-core.version>3.2.7</datanucleus-core.version>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
index aad3a41..05d242d 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.isis.example.application</groupId>
         <artifactId>quickstart_wicket_restful_jdo</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>quickstart_wicket_restful_jdo-webapp</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/simple_wicket_restful_jdo/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/pom.xml b/example/application/simple_wicket_restful_jdo/dom/pom.xml
index b513473..2515e82 100644
--- a/example/application/simple_wicket_restful_jdo/dom/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/dom/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
     	<groupId>org.apache.isis.example.application</groupId>
     	<artifactId>simple_wicket_restful_jdo</artifactId>
-		<version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>simple_wicket_restful_jdo-dom</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/simple_wicket_restful_jdo/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/fixture/pom.xml b/example/application/simple_wicket_restful_jdo/fixture/pom.xml
index 3d90fd8..a848a68 100644
--- a/example/application/simple_wicket_restful_jdo/fixture/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/fixture/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>simple_wicket_restful_jdo</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>simple_wicket_restful_jdo-fixture</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/simple_wicket_restful_jdo/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/integtests/pom.xml b/example/application/simple_wicket_restful_jdo/integtests/pom.xml
index 072da6b..3b5bf35 100644
--- a/example/application/simple_wicket_restful_jdo/integtests/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/integtests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
     	<groupId>org.apache.isis.example.application</groupId>
         <artifactId>simple_wicket_restful_jdo</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>simple_wicket_restful_jdo-integtests</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/pom.xml b/example/application/simple_wicket_restful_jdo/pom.xml
index 826b12f..6ab2d2a 100644
--- a/example/application/simple_wicket_restful_jdo/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/pom.xml
@@ -23,18 +23,18 @@
 
     <groupId>org.apache.isis.example.application</groupId>
     <artifactId>simple_wicket_restful_jdo</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
 
     <name>Simple Wicket/Restful/JDO App</name>
 
     <packaging>pom</packaging>
 
 	<properties>
-        <isis.version>1.3.0</isis.version>
-		<isis-objectstore-jdo.version>1.3.0</isis-objectstore-jdo.version>
-		<isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
-		<isis-viewer-restfulobjects.version>2.1.0</isis-viewer-restfulobjects.version>
-		<isis-security-shiro.version>1.3.0</isis-security-shiro.version>
+        <isis.version>1.4.0-SNAPSHOT</isis.version>
+        <isis-objectstore-jdo.version>1.4.0-SNAPSHOT</isis-objectstore-jdo.version>
+        <isis-viewer-wicket.version>1.4.0-SNAPSHOT</isis-viewer-wicket.version>
+        <isis-viewer-restfulobjects.version>2.2.0-SNAPSHOT</isis-viewer-restfulobjects.version>
+        <isis-security-shiro.version>1.4.0-SNAPSHOT</isis-security-shiro.version>
 
         <!-- must be consistent with the versions defined by the JDO Objectstore -->
         <datanucleus-core.version>3.2.7</datanucleus-core.version>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/application/simple_wicket_restful_jdo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/webapp/pom.xml b/example/application/simple_wicket_restful_jdo/webapp/pom.xml
index c5ad49d..a09352e 100644
--- a/example/application/simple_wicket_restful_jdo/webapp/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.isis.example.application</groupId>
         <artifactId>simple_wicket_restful_jdo</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>simple_wicket_restful_jdo-webapp</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/archetype/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/pom.xml b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
index a760e44..ff51fd4 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/pom.xml
@@ -44,7 +44,7 @@
   <parent>
     <groupId>org.apache.isis.core</groupId>
     <artifactId>isis</artifactId>
-    <version>1.3.0</version>
-    <relativePath>../../../core/pom.xm</relativePath>
+    <version>1.4.0-SNAPSHOT</version>
+    <relativePath>../../../core/pom.xml</relativePath>
   </parent>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/example/archetype/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/pom.xml b/example/archetype/simple_wicket_restful_jdo/pom.xml
index c47f722..ccbd6f2 100644
--- a/example/archetype/simple_wicket_restful_jdo/pom.xml
+++ b/example/archetype/simple_wicket_restful_jdo/pom.xml
@@ -44,7 +44,7 @@
   <parent>
     <groupId>org.apache.isis.core</groupId>
     <artifactId>isis</artifactId>
-    <version>1.3.0</version>
-    <relativePath>../../../core/pom.xm</relativePath>
+    <version>1.4.0-SNAPSHOT</version>
+    <relativePath>../../../core/pom.xml</relativePath>
   </parent>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/1a200654/scripts/updateGeneratedArchetypeSources.groovy
----------------------------------------------------------------------
diff --git a/scripts/updateGeneratedArchetypeSources.groovy b/scripts/updateGeneratedArchetypeSources.groovy
index 040b230..6f0c509 100644
--- a/scripts/updateGeneratedArchetypeSources.groovy
+++ b/scripts/updateGeneratedArchetypeSources.groovy
@@ -120,7 +120,7 @@ pomXml.appendNode {
     groupId("org.apache.isis.core")
     artifactId("isis")
     version(isis_version)
-    relativePath("../../../core/pom.xm")
+    relativePath("../../../core/pom.xml")
   }
 }
 pomXml.groupId='org.apache.isis.archetype'


[09/28] git commit: ISIS-437: updating restful objects viewer pom parents...

Posted by da...@apache.org.
ISIS-437: updating restful objects viewer pom parents...

... to be isis-core-1.3.0.
Also:
- removing jaxrs/pom.xml (not a module)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/68a71a33
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/68a71a33
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/68a71a33

Branch: refs/heads/master
Commit: 68a71a33cb681ff4c4ac9153af5895b5a3ac98a2
Parents: e82c8c3
Author: Dan Haywood <da...@apache.org>
Authored: Mon Oct 21 22:13:18 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Oct 21 22:15:53 2013 +0100

----------------------------------------------------------------------
 component/viewer/restfulobjects/jaxrs/pom.xml | 85 ----------------------
 component/viewer/restfulobjects/pom.xml       |  2 +-
 component/viewer/restfulobjects/tck/pom.xml   |  2 +-
 3 files changed, 2 insertions(+), 87 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/68a71a33/component/viewer/restfulobjects/jaxrs/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/jaxrs/pom.xml b/component/viewer/restfulobjects/jaxrs/pom.xml
deleted file mode 100644
index e3b5e8d..0000000
--- a/component/viewer/restfulobjects/jaxrs/pom.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-         http://www.apache.org/licenses/LICENSE-2.0
-         
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.viewer</groupId>
-		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-	
-	<artifactId>isis-viewer-restfulobjects-jaxrs</artifactId>
-	<name>Isis RestfulObjects Viewer jax-rs Resources</name>
-
-	<properties>
-		<siteBaseDir>..</siteBaseDir>
-		<relativeUrl>applib/</relativeUrl>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<dependencies>
-		<dependency>
-            <groupId>org.apache.isis.viewer</groupId>
-	        <artifactId>isis-viewer-restfulobjects-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.jboss.resteasy</groupId>
-			<artifactId>resteasy-jaxrs</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-metamodel</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-	    	
-	</dependencies>
-
-
-    <repositories>
-        <!-- The artifact in the maven repository has been moved and causes a build failure. Using this setting gets the artifact allowing the build to work.  This fix should hopefully be temporary -->
-        <repository>
-          <id>java.net</id>
-          <url>http://repo1.maven.org/maven2</url>
-            <snapshots>
-              <enabled>false</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/68a71a33/component/viewer/restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/pom.xml b/component/viewer/restfulobjects/pom.xml
index 139879f..72d65c4 100644
--- a/component/viewer/restfulobjects/pom.xml
+++ b/component/viewer/restfulobjects/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 		<relativePath>../../../core/pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/68a71a33/component/viewer/restfulobjects/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/tck/pom.xml b/component/viewer/restfulobjects/tck/pom.xml
index 32e24bf..457c1b4 100644
--- a/component/viewer/restfulobjects/tck/pom.xml
+++ b/component/viewer/restfulobjects/tck/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
         <relativePath>../../../../core/tck/pom.xml</relativePath>
     </parent>
 


[15/28] ISIS-437: updating quickstart archetype

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
new file mode 100644
index 0000000..a71ec99
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
@@ -0,0 +1,38 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<p class="intro">
+    <a href="http://isis.apache.org">Apache Isis</a>&trade; is a framework to let you rapidly develop 
+    domain-driven apps in Java.
+    <br/>
+    <br/>
+    This app has been generated using Isis' 
+    <a href="http://isis.apache.org/getting-started/quickstart-archetype.html">quickstart</a> archetype, 
+    which configures Isis' most commonly used components in a straightforward &quot;todo&quot; app.
+    <br/>
+    <br/>
+    The core domain functionality class is provided by the <a href="https://github.com/apache/isis/blob/master/example/application/${parentArtifactId}/dom/src/main/java/dom/todo/ToDoItem.java"  target="_blank">ToDoItem</a> domain class.  
+    Supporting services provide additional capabilities.
+    <br/>
+    <br/>
+    For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Isis website</a>.
+</p>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
index acdd13b..8fcb05c 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -43,34 +43,13 @@ ${symbol_pound} found in the persistor_xxx.properties files)
 ${symbol_pound}
 ${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
 
+
 ${symbol_pound}
 ${symbol_pound} configure the persistor (object store) to use
 ${symbol_pound}
-${symbol_pound} * in-memory   requires no additional configuration, but stores object in-memory.
-${symbol_pound}               Only suitable for prototyping
-${symbol_pound} * datanucleus uses JDO DataNucleus to persist objects to relational database.
-${symbol_pound}               for objectstore-specific properties, see persistor_datanucleus.properties   
-${symbol_pound} * fileserver  uses a simple FileServer to persist objects as JSON documents.  It requires the fileserver component to be running
-${symbol_pound}               for objectstore-specific properties, see persistor_fileserver.properties 
-${symbol_pound} * mongodb     uses MongoDB to be persist objects as JSON documents.  It requires MongoDB to be installed and running
-${symbol_pound}               for objectstore-specific properties, see persistor_fileserver.properties  
-${symbol_pound} * sql         uses an RDBMS to persist objects as table rows.  
-${symbol_pound}               for objectstore-specific properties, see persistor_sql.properties
-${symbol_pound} * xml         uses the XML ObjectStore to be persist objects to a set of XML files.  Only suitable for prototyping.
-${symbol_pound}               for objectstore-specific properties, see persistor_xml.properties 
-${symbol_pound}
-${symbol_pound} NOTE:
-${symbol_pound} * if using non-naive implementations of services, edit isis.services (below) and 
-${symbol_pound} * if necessary, update the pom.xml to reference appropriate objstore-xxx module
-${symbol_pound} * for sql and datanucleus objectstores, update the pom.xml to reference appropriate JDBC driver
-${symbol_pound} 
 
-${symbol_pound}isis.persistor=in-memory
+${symbol_pound} JDO/DataNucleus objectstore
 isis.persistor=datanucleus
-${symbol_pound}isis.persistor=fileserver
-${symbol_pound}isis.persistor=mongodb
-${symbol_pound}isis.persistor=sql
-${symbol_pound}isis.persistor=xml
 
 
 
@@ -104,8 +83,8 @@ isis.authorization=shiro
 ${symbol_pound}
 ${symbol_pound} configure the user profile store to use.
 ${symbol_pound} 
-${symbol_pound} the user profile store is supported by some viewers as a way to store 
-${symbol_pound} user-specific settings (eg colours, themes etc)
+${symbol_pound} the user profile store is supported by some viewers (though not the Wicket or 
+${symbol_pound} Restful viewers) as a way to store user-specific settings  (eg colours, themes etc)
 ${symbol_pound} 
 isis.user-profile-store=in-memory
 
@@ -151,6 +130,18 @@ isis.value.format.date=dd-MM-yyyy
 
 
 
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} Facet Decorators
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} Providing such capabilities as i18n
+${symbol_pound}
+
+isis.reflector.facet-decorators=org.apache.isis.core.progmodel.facetdecorators.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller
+
 
 ${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
 ${symbol_pound}
@@ -166,24 +157,33 @@ ${symbol_pound} the set of the classes for Isis to instantiate as domain service
 ${symbol_pound} From these domain service instances the rest of the metamodel is discovered, while the 
 ${symbol_pound} end-user gains access to other domain objects by invoking the actions of the domain services.
 ${symbol_pound}
-${symbol_pound} The implementations depend on the configured (see isis.persistor above) 
-${symbol_pound}
 
-${symbol_pound} if using the in-memory, XML, SQL, fileserver or mongo object stores:
-${symbol_pound}isis.services.prefix = dom
-${symbol_pound}isis.services = todo.ToDoItems
 
-
-${symbol_pound} if using the DataNucleus object store
 ${symbol_pound}isis.services.prefix = 
-isis.services = objstore.jdo.todo.ToDoItemsJdo,${symbol_escape}
-                fixture.todo.ToDoItemsFixturesService,${symbol_escape}
+isis.services = ${symbol_escape}
+                10:dom.todo.ToDoItems,${symbol_escape}
+                20:app.ToDoItemAnalysis,${symbol_escape}
+                dom.todo.ToDoItemContributions,${symbol_escape}
+                app.ToDoItemAnalysisContributions,${symbol_escape}
+                app.ToDoAppDashboardService,${symbol_escape}
+                services.ClockService,${symbol_escape}
+                ${symbol_escape}
+                30:webapp.prototyping.ToDoItemsFixturesService,${symbol_escape}
+                30:webapp.prototyping.DeveloperUtilities,${symbol_escape}
+                ${symbol_escape}
                 org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault,${symbol_escape}
                 org.apache.isis.objectstore.jdo.service.RegisterEntities,${symbol_escape}
+                org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl,${symbol_escape}
                 org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,${symbol_escape}
                 org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer,${symbol_escape}
-                org.apache.isis.applib.services.audit.AuditingService${symbol_dollar}Stderr,${symbol_escape}
+                org.apache.isis.applib.services.audit.AuditingService2${symbol_dollar}Stderr,${symbol_escape}
                 org.apache.isis.applib.services.publish.PublishingService${symbol_dollar}Stderr
+                
+                ${symbol_pound} if using the JDO implementation of the settings services
+                ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.settings.ApplicationSettingsServiceJdo,${symbol_escape}
+                ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.settings.UserSettingsServiceJdo
+                
+                ${symbol_pound} if using the JDO implementation of the publishing service (replace the ${symbol_dollar}Stderr implementations, above)
                 ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.audit.AuditingServiceJdo,${symbol_escape}
                 ${symbol_pound}org.apache.isis.objectstore.jdo.applib.service.publish.PublishingServiceJdo
 
@@ -198,8 +198,3 @@ ${symbol_pound}isis.fixtures.prefix=
 isis.fixtures=fixture.todo.ToDoItemsFixture 
 
 
-
-${symbol_pound} ActiveMQ/RA Publishing Service
-${symbol_pound} see: https://github.com/danhaywood/isis-publishingservice-activemq-ra
-${symbol_pound}com.danhaywood.isis.publishingservice.activemq.ra.connectionFactory=openejb:Resource/ConnectionFactory
-

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
index f401836..083d6cd 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
@@ -25,51 +25,28 @@ ${symbol_pound}
 log4j.rootCategory=INFO, Console
 ${symbol_pound}log4j.rootCategory=DEBUG, Console
 
+
 ${symbol_pound} The console appender
 log4j.appender.Console=org.apache.log4j.ConsoleAppender
 log4j.appender.Console.target=System.out
 log4j.appender.Console.layout=org.apache.log4j.PatternLayout
 log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
 
+
+${symbol_pound} The stderr appender
+log4j.appender.Stderr=org.apache.log4j.ConsoleAppender
+log4j.appender.Stderr.target=System.err
+log4j.appender.Stderr.layout=org.apache.log4j.PatternLayout
+log4j.appender.Stderr.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
+
+
+${symbol_pound} other appenders
 log4j.appender.File=org.apache.log4j.RollingFileAppender
 log4j.appender.File.file=isis.log
 log4j.appender.File.append=false
 log4j.appender.File.layout=org.apache.log4j.PatternLayout
 log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
 
-
-
-
-${symbol_pound}log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=DEBUG, Console
-${symbol_pound}log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=false
-
-
-! turn on the internal log4j debugging flag so we can see what it is doing
-${symbol_pound}log4j.debug=true
-
-
-log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
-log4j.additivity.jdbc.sqlonly=false
-
-log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
-log4j.additivity.jdbc.resultsettable=false
-
-
-
-log4j.logger.jdbc.audit=WARN,jdbc, Console
-log4j.additivity.jdbc.audit=false
-
-log4j.logger.jdbc.resultset=WARN,jdbc
-log4j.additivity.jdbc.resultset=false
-
-log4j.logger.jdbc.sqltiming=WARN,sqltiming
-log4j.additivity.jdbc.sqltiming=false
-
-log4j.logger.jdbc.connection=FATAL,connection
-log4j.additivity.jdbc.connection=false
-
-
-
 log4j.appender.sql=org.apache.log4j.FileAppender
 log4j.appender.sql.File=./logs/sql.log
 log4j.appender.sql.Append=false
@@ -94,3 +71,99 @@ log4j.appender.connection.Append=false
 log4j.appender.connection.layout=org.apache.log4j.PatternLayout
 log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
 
+
+
+
+
+! turn on the internal log4j debugging flag so we can see what it is doing
+${symbol_pound}log4j.debug=true
+
+
+${symbol_pound} DataNucleus
+log4j.logger.DataNucleus.Datastore.Native=DEBUG, Console
+log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
+
+log4j.logger.DataNucleus.Persistence=WARN, Console
+log4j.logger.DataNucleus.Transaction=WARN, Console
+log4j.logger.DataNucleus.Connection=WARN, Console
+log4j.logger.DataNucleus.Query=WARN, Console
+log4j.logger.DataNucleus.Cache=WARN, Console
+log4j.logger.DataNucleus.MetaData=WARN, Console
+log4j.logger.DataNucleus.Datastore=WARN, Console
+log4j.logger.DataNucleus.Datastore.Persist=WARN, Console
+log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console
+log4j.logger.DataNucleus.General=WARN, Console
+log4j.logger.DataNucleus.Lifecycle=WARN, Console
+log4j.logger.DataNucleus.ValueGeneration=WARN, Console
+log4j.logger.DataNucleus.Enhancer=WARN, Console
+log4j.logger.DataNucleus.SchemaTool=ERROR, Console
+log4j.logger.DataNucleus.JDO=WARN, Console
+log4j.logger.DataNucleus.JPA=ERROR, Console
+log4j.logger.DataNucleus.JCA=WARN, Console
+log4j.logger.DataNucleus.IDE=ERROR, Console
+
+log4j.additivity.DataNucleus.Datastore.Native=false
+log4j.additivity.DataNucleus.Datastore.Schema=false
+log4j.additivity.DataNucleus.Datastore.Persistence=false
+log4j.additivity.DataNucleus.Datastore.Transaction=false
+log4j.additivity.DataNucleus.Datastore.Connection=false
+log4j.additivity.DataNucleus.Datastore.Query=false
+log4j.additivity.DataNucleus.Datastore.Cache=false
+log4j.additivity.DataNucleus.Datastore.MetaData=false
+log4j.additivity.DataNucleus.Datastore.Datastore=false
+log4j.additivity.DataNucleus.Datastore.Datastore.Persist=false
+log4j.additivity.DataNucleus.Datastore.Datastore.Retrieve=false
+log4j.additivity.DataNucleus.Datastore.General=false
+log4j.additivity.DataNucleus.Datastore.Lifecycle=false
+log4j.additivity.DataNucleus.Datastore.ValueGeneration=false
+log4j.additivity.DataNucleus.Datastore.Enhancer=false
+log4j.additivity.DataNucleus.Datastore.SchemaTool=false
+log4j.additivity.DataNucleus.Datastore.JDO=false
+log4j.additivity.DataNucleus.Datastore.JPA=false
+log4j.additivity.DataNucleus.Datastore.JCA=false
+log4j.additivity.DataNucleus.Datastore.IDE=false
+
+
+${symbol_pound} if using log4jdbc-remix as JDBC driver
+${symbol_pound}log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
+${symbol_pound}log4j.additivity.jdbc.sqlonly=false
+${symbol_pound}log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
+${symbol_pound}log4j.additivity.jdbc.resultsettable=false
+
+${symbol_pound}log4j.logger.jdbc.audit=WARN,jdbc, Console
+${symbol_pound}log4j.additivity.jdbc.audit=false
+${symbol_pound}log4j.logger.jdbc.resultset=WARN,jdbc
+${symbol_pound}log4j.additivity.jdbc.resultset=false
+${symbol_pound}log4j.logger.jdbc.sqltiming=WARN,sqltiming
+${symbol_pound}log4j.additivity.jdbc.sqltiming=false
+${symbol_pound}log4j.logger.jdbc.connection=FATAL,connection
+${symbol_pound}log4j.additivity.jdbc.connection=false
+
+
+
+${symbol_pound} track Isis/JDO lifecycle integration
+
+${symbol_pound}log4j.logger.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=DEBUG, Console
+${symbol_pound}log4j.additivity.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=false
+
+${symbol_pound}log4j.logger.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=DEBUG,Console
+${symbol_pound}log4j.additivity.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=false
+
+
+
+
+${symbol_pound} track Isis/Wicket lifecycle integration
+
+${symbol_pound}log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=DEBUG, Console
+${symbol_pound}log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=false
+
+${symbol_pound}log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=INFO,Console
+${symbol_pound}log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=false
+
+
+
+
+
+${symbol_pound} Application-specific logging
+log4j.logger.dom.todo.ToDoItem=DEBUG, Stderr
+log4j.additivity.dom.todo.ToDoItem=false
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties
new file mode 100644
index 0000000..6c96534
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor.properties
@@ -0,0 +1,107 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+${symbol_pound} for emergency use only
+isis.persistor.disableConcurrencyChecking=false
+
+
+${symbol_pound}
+${symbol_pound} configuration file holding the JDO objectstore's JDBC configuration
+${symbol_pound} (this is a bit of a hack... just exploiting fact that Isis also loads this file)
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} JDBC connection details
+${symbol_pound} (also update the pom.xml to reference the appropriate JDBC driver)
+${symbol_pound}
+
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB in-memory
+${symbol_pound}
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+${symbol_pound}
+${symbol_pound} HSQLDB in-memory (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB to file
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+${symbol_pound}
+${symbol_pound} HSQLDB to file (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+${symbol_pound}
+${symbol_pound} PostgreSQL Server 
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+${symbol_pound}
+${symbol_pound} PostgreSQL Server (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+
+
+${symbol_pound}
+${symbol_pound} MS SQL Server
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=quickstart
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
+
+${symbol_pound}
+${symbol_pound} MS SQL Server (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
+${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
index 962f7c9..d30ea5c 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
@@ -27,15 +27,28 @@ ${symbol_pound} if move class to other package (eg com.mycompany.myapp.dom) then
 isis.persistor.datanucleus.RegisterEntities.packagePrefix=dom
 
 
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}
 ${symbol_pound}
 ${symbol_pound} DataNucleus' configuration
 ${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.PersistenceManagerFactoryClass=org.apache.isis.objectstore.jdo.datanucleus.JDOPersistenceManagerFactoryForIsis
+${symbol_pound} The 'isis.persistor.datanucleus.impl' prefix is stripped off,
+${symbol_pound} remainder is passed through to DataNucleus
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}
+
 isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true
 isis.persistor.datanucleus.impl.datanucleus.validateTables=true
 isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true
 
 
+${symbol_pound}
+${symbol_pound} How column names are identified 
+${symbol_pound} (http://www.datanucleus.org/products/datanucleus/jdo/orm/datastore_identifiers.html)
+${symbol_pound}
+isis.persistor.datanucleus.impl.datanucleus.identifier.case=PreserveCase
+
+
 ${symbol_pound} L2 cache (on by default)
 isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
 isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
@@ -44,89 +57,22 @@ ${symbol_pound}see http://www.datanucleus.org/products/datanucleus/jdo/transacti
 isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
 
 
-
-
-
-${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
-${symbol_pound} JDBC connection details
-${symbol_pound} (also update the pom.xml to reference the appropriate JDBC driver)
-${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
-
-
+${symbol_pound}
 ${symbol_pound} uncomment to use JNDI rather than direct JDBC
+${symbol_pound}
 ${symbol_pound}isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart
 
+${symbol_pound}
 ${symbol_pound} uncomment to use JTA resource
+${symbol_pound}
 ${symbol_pound}isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx
 ${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA
 
 
-${symbol_pound}
-${symbol_pound} HSQLDB in-memory
-${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-${symbol_pound}
-${symbol_pound} HSQLDB in-memory (using log4jdbc-remix)
-${symbol_pound}
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-
-
-${symbol_pound}
-${symbol_pound} HSQLDB to file
-${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-${symbol_pound}
-${symbol_pound} HSQLDB to file (using log4jdbc-remix)
-${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-
 
 ${symbol_pound}
-${symbol_pound} PostgreSQL Server 
 ${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
-
-${symbol_pound}
-${symbol_pound} PostgreSQL Server (using log4jdbc-remix)
-${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
-
-
-
-${symbol_pound}
-${symbol_pound} MS SQL Server
-${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=quickstart
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
-
+${symbol_pound} JDBC connection details
+${symbol_pound} ... are in persistor.properties
 ${symbol_pound}
-${symbol_pound} MS SQL Server (using log4jdbc-remix)
 ${symbol_pound}
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
-${symbol_pound}isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
index a643d86..edf1a2b 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/shiro.ini
@@ -69,7 +69,7 @@ securityManager.realms = $iniRealm
 
 
 sven = pass, admin_role
-dick = pass, user_role, self-install_role
+dick = pass, user_role, analysis_role, self-install_role
 bob  = pass, user_role, self-install_role
 joe  = pass, user_role, self-install_role
 guest = guest, user_role
@@ -87,7 +87,11 @@ guest = guest, user_role
 # role = perm1, perm2, perm3, ...
 # perm in format: packageName:className:memberName:r,w
 
-user_role =   *:ToDoItemsJdo:*:*,\
-              *:ToDoItem:*:*
+user_role = *:ToDoItems:*:*,\
+            *:ToDoItem:*:*
+analysis_role = *:ToDoItemAnalysis:*:*,\
+            *:ToDoItemsByCategoryViewModel:*:*,\
+            *:ToDoItemsByDateRangeViewModel:*:*,\
+            *:ToDoAppDashboard:*:*
 self-install_role = *:ToDoItemsFixturesService:install:*
 admin_role = *

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
index 0392dd7..10cbce9 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
@@ -23,4 +23,7 @@ ${symbol_pound} configuration file for the Restful Objects viewer
 ${symbol_pound}
 
 ${symbol_pound} the baseUrl for hrefs in the events generated by the RO EventSerializer 
-isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
\ No newline at end of file
+isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
+
+${symbol_pound} renders param details in the (incorrect) form that they were for GSOC2013 viewers
+${symbol_pound} isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
index f2fb071..7ec5550 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
@@ -29,8 +29,10 @@ ${symbol_pound}
 ${symbol_pound} For example, if set to 12, the title
 ${symbol_pound} "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
 ${symbol_pound}
-isis.viewer.wicket.maxTitleLengthInStandaloneTables=12
-isis.viewer.wicket.maxTitleLengthInParentedTables=9
+${symbol_pound} If set to 0, then only the icon will be shown.
+${symbol_pound}
+isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
+isis.viewer.wicket.maxTitleLengthInParentedTables=0
 
 
 isis.viewer.wicket.datePattern=dd-MM-yyyy
@@ -40,3 +42,11 @@ isis.viewer.wicket.datePickerPattern=dd-mm-yy
 ${symbol_pound}isis.viewer.wicket.datePattern=dd/MM/yy
 ${symbol_pound}isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
 ${symbol_pound}isis.viewer.wicket.datePickerPattern=dd/mm/y
+
+
+${symbol_pound}isis.viewer.wicket.suppressRememberMe=true
+
+
+${symbol_pound} default is for wicket tags to be stripped
+${symbol_pound}isis.viewer.wicket.stripWicketTags=false
+

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
index 3577606..0fbf7d5 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
@@ -156,7 +156,7 @@
         <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
         <init-param>
             <param-name>applicationClassName</param-name>
-            <param-value>app.QuickStartApplication</param-value>
+            <param-value>webapp.ToDoApplication</param-value>
         </init-param>
     </filter>
     <filter-mapping>
@@ -238,6 +238,16 @@
         <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
     </filter-mapping>
 
+    <filter>
+        <filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
+        <filter-class>org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+    </filter-mapping>
+
+
     <servlet>
         <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
         <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
@@ -274,17 +284,4 @@
     </resource-ref>
      -->
 
-
-    <!-- 
-    ActiveMQ/RA Publishing Service
-    see: https://github.com/danhaywood/isis-publishingservice-activemq-ra
-    ??? is this necessary, though ???
-    <resource-ref> 
-        <description>JMS Connection Factory</description> 
-        <res-ref-name>ConnectionFactory</res-ref-name> 
-        <res-type>javax.jms.ConnectionFactory</res-type> 
-        <res-auth>Container</res-auth> 
-    </resource-ref> 
-    -->
-
 </web-app>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
index 1e8dcc8..ed4b415 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/about/index.html
@@ -23,7 +23,7 @@
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-        <title>Apache Isis&trade; QuickStart (Wicket/Restful/JDO/Shiro)</title>
+        <title>Apache Isis&trade; QuickStart (Wicket/Restful/JDO/Shiro) App</title>
         
         <style type="text/css">
 body {
@@ -59,13 +59,26 @@ ${symbol_pound}wrapper {
         <div id="wrapper">
             <img alt="Isis Logo" src="about/images/isis-logo.png" />
              
-            <p>This app has been generated by the <a href="http://isis.apache.org/getting-started/quickstart-archetype.html">quickstart</a> (wicket/restful/jdo/shiro) archetype for 
-            <a href="http://isis.apache.org">Apache Isis</a>&trade;, a framework to let you rapidly develop 
-            domain-driven apps in Java.</p>
+            <p>
+            <a href="http://isis.apache.org">Apache Isis</a>&trade; is a framework to let you rapidly develop 
+            domain-driven apps in Java.  This app has been generated using Isis' 
+            <a href="http://isis.apache.org/getting-started/quickstart-archetype.html">quickstart</a> archetype, 
+            which configures Isis' most commonly used components as part of a straightforward
+            &quot;todo&quot; app.  
+            
+            <p>
+            The app itself consists of a single domain class, <tt>ToDoItem</tt>, along with a number of supporting 
+            services.  You are free to strip it back and reuse for your own purposes.
+            </p>
+            
+            <p>
+            Alternatively, if stripping back this app is too much work, you might want to start with the even simpler 
+            <a href="http://isis.apache.org/getting-started/simple-archetype.html">simple</a> archetype, and use this
+            app by way of reference.
+            </p>
             
             <p>
-            The app consists of a bare minimum of classes, so that you can easily strip it back and
-            reuse for your own purposes.  It is configured with:
+            The Isis components that are configured in this app are:
             </p>
             
             <table>
@@ -102,28 +115,30 @@ ${symbol_pound}wrapper {
             </table>
     
             <h2>App contents</h2>
-            <p>The key files in the application are:</p>
+            <p>The key files in this &quot;todo&quot; app are:</p>
             <!-- the hrefs below are partially URL encoded to prevent them from being modified when the archetype is created -->
             <ul>
-              <li>Domain classes (todo functionality) (in <tt>dom</tt> module and <tt>objstore-jdo</tt> module)</a>
+              <li>Domain classes (todo functionality) (in <tt>dom</tt> module)</a>
                   <ul>
                   <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java"><tt>ToDoItem</tt></a> domain entity
                   </li>
                   <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java"><tt>ToDoItems</tt></a> domain service (repository/factory)
                   </li>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java"><tt>ToDoItemsJdo</tt></a> domain service (repository methods overridden for JDO)
+                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysis.java"><tt>ToDoItemAnalysis</tt></a> application service analysing todo items
+                  </li>
+                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboard.java"><tt>ToDoAppDashboard</tt></a> dashboard application service
                   </li>
                   </ul>
               </li>
-              <li>Fixture classes (in <tt>fixture</tt> module)</a>
+              <li>Fixture classes (in <tt>fixture</tt> module and <tt>webapp</tt> module)</a>
                 <ul>
                   <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java"><tt>ToDoItemsFixture</tt></a> example fixture data (since configured for in-memory HSQLDB)
                   </li>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java"><tt>ToDoItemsFixtureService</tt></a> domain service to install fixtures at run-time
+                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/webapp/src/main/java/webapp/prototyping/ToDoItemsFixturesService.java"><tt>ToDoItemsFixtureService</tt></a> domain service to install fixtures at run-time
                   </li>
                 </ul>
               </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml">WEB-INF/web.xml</a></tt> (in <tt>viewer-webapp</tt> module)</a>
+              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/webapp/src/main/webapp/WEB-INF/web.xml">WEB-INF/web.xml</a></tt> (in <tt>webapp</tt> module)</a>
                 <ul>
                   <li><tt>AboutPageFilter</tt> - filter that redirects to this page 
                   </li>
@@ -137,9 +152,9 @@ ${symbol_pound}wrapper {
                   </li>
                 </ul>
               </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties">WEB-INF/isis.properties</a></tt> (in <tt>viewer-webapp</tt> module)</a>
+              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties">WEB-INF/isis.properties</a></tt> (in <tt>webapp</tt> module)</a>
                 <ul>
-                  <li><tt>isis.services</tt> - specifies the two domain services described above (<tt>ToDoItemsJdo</tt> and <tt>ToDoItemsFixtureService</tt>), appearing on the menu bar in the Wicket viewer, 
+                  <li><tt>isis.services</tt> - specifies the two domain services described above (<tt>ToDoItems</tt> and <tt>ToDoItemsFixtureService</tt>), appearing on the menu bar in the Wicket viewer, 
                   along with a number of hidden framework-provided domain services demonstrating Isis' support for publishing, auditing and customizable error handling 
                   </li>
                   <li><tt>isis.persistor</tt> - specifies to use the JDO object store
@@ -148,13 +163,19 @@ ${symbol_pound}wrapper {
                   </li>
                 </ul>
               </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties">WEB-INF/persistor_datanucleus.properties</a></tt> (in <tt>viewer-webapp</tt> module)</a>
+              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties">WEB-INF/persistor_datanucleus.properties</a></tt> (in <tt>webapp</tt> module)</a>
                 <ul>
                   <li>configuration for JDO object store 
                   </li>
                 </ul>
               </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/shiro.ini">WEB-INF/shiro.ini</a></tt> (in <tt>viewer-webapp</tt> module)</a>
+              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/webapp/src/main/webapp/WEB-INF/persistor.properties">WEB-INF/persistor.properties</a></tt> (in <tt>webapp</tt> module)</a>
+                <ul>
+                  <li>JDBC URL for JDO object store 
+                  </li>
+                </ul>
+              </li>
+              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini">WEB-INF/shiro.ini</a></tt> (in <tt>webapp</tt> module)</a>
                 <ul>
                   <li>configuration for Shiro security
                   </li>
@@ -169,7 +190,9 @@ ${symbol_pound}wrapper {
               </li>
               <li>Refactor the <tt>ToDoItem</tt>, <tt>ToDoItems</tt> and <tt>ToDoItemsJdo</tt> towards your own application's functionality; obviously you are likely to introduce many more classes and services
               </li>
-              <li>Reconfigure <tt>persistor_datanucleus.properties</tt> to specify the JDBC URL to the database you wish to work with; if necessary also update the <tt>pom.xml</tt> in the <tt>viewer-webapp</tt> module to add the JDBC driver to the classpath
+              <li>Reconfigure <tt>persistor.properties</tt> to specify the JDBC URL to the database you wish to work with; if necessary also update the <tt>pom.xml</tt> in the <tt>webapp</tt> module to add the JDBC driver to the classpath
+              </li>
+              <li>Fine-tune other RDBMS settings in <tt>persistor_datanucleus.properties</tt>
               </li>
               <li>Assuming you are using a persistent data store, then remove the <tt>ToDoItemsFixtureService</tt> from the <tt>isis.properties</tt> file (<tt>isis.services</tt> key).  Alternatively you could keep but refactor to provide a similar service for your own application's domain.    
               </li>

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
index 1e2caf9..5dedc8b 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/css/application.css
@@ -30,3 +30,46 @@ uncomment to add a logo (in an ../images directory relative to this file)
 	display: none;
 }
 */
+
+/*
+example: uncomment to hide the icon
+
+.entityIconAndTitlePanel a img {
+	display: none;
+}
+*/
+
+/*
+example: uncomment to hide the sliding bookmark panel
+
+#bookmarkedPagesSlidingDiv {
+	display: none;
+}
+.showPanelTab {
+	display: none;
+}
+*/
+
+
+.entityActions .cssMenuPanel .menuh li.x-caution a,
+li.x-caution a {
+    background-color: #C94316;
+}
+.entityCombined .entityActions .cssMenuPanel .menuh li.x-caution a:hover {
+    background-color:#20B5C2;
+}	
+
+/*.entityActions .cssMenuPanel .menuh a:hover*/
+
+.entityActions .cssMenuPanel .menuh li.x-highlight a,
+li.x-highlight a {
+    background-color: #51A95C;
+}
+.entityCombined .entityActions .cssMenuPanel .menuh li.x-highlight a:hover {
+    background-color:#20B5C2;
+}   
+
+div.x-key span.scalarName {
+	color: red;
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif
new file mode 100644
index 0000000..75e3b1e
Binary files /dev/null and b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/images/spinning-icon.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties b/example/archetype/quickstart_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
index 4346de4..b7b63c8 100644
--- a/example/archetype/quickstart_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/test/resources/projects/basic/archetype.properties
@@ -1,4 +1,4 @@
-#Mon May 27 07:18:11 BST 2013
+#Mon Oct 21 23:38:29 BST 2013
 package=it.pkg
 version=0.1-SNAPSHOT
 groupId=archetype.it


[05/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/765b1458
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/765b1458
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/765b1458

Branch: refs/heads/master
Commit: 765b1458f1f35ccaf3e901691419df562f628f69
Parents: 748ef50
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 20:37:25 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 20:37:25 2013 +0100

----------------------------------------------------------------------
 component/objectstore/jdo/jdo-applib/pom.xml      |  4 ++--
 component/objectstore/jdo/jdo-datanucleus/pom.xml |  2 +-
 component/objectstore/jdo/jdo-metamodel/pom.xml   |  2 +-
 component/objectstore/jdo/pom.xml                 | 18 +++++++-----------
 4 files changed, 11 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/765b1458/component/objectstore/jdo/jdo-applib/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-applib/pom.xml b/component/objectstore/jdo/jdo-applib/pom.xml
index ec03afe..bd9326f 100644
--- a/component/objectstore/jdo/jdo-applib/pom.xml
+++ b/component/objectstore/jdo/jdo-applib/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.objectstore</groupId>
 		<artifactId>isis-objectstore-jdo</artifactId>
-		<version>1.3.0</version>
+		<version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-objectstore-jdo-applib</artifactId>
@@ -125,7 +125,7 @@
 			<dependency>
 	            <groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 				<type>pom</type>
 				<scope>import</scope>						
 			</dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/765b1458/component/objectstore/jdo/jdo-datanucleus/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/pom.xml b/component/objectstore/jdo/jdo-datanucleus/pom.xml
index cfcd025..d33596f 100644
--- a/component/objectstore/jdo/jdo-datanucleus/pom.xml
+++ b/component/objectstore/jdo/jdo-datanucleus/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.objectstore</groupId>
 		<artifactId>isis-objectstore-jdo</artifactId>
-		<version>1.3.0</version>
+		<version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-objectstore-jdo-datanucleus</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/765b1458/component/objectstore/jdo/jdo-metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-metamodel/pom.xml b/component/objectstore/jdo/jdo-metamodel/pom.xml
index 815f375..2c7a9c4 100644
--- a/component/objectstore/jdo/jdo-metamodel/pom.xml
+++ b/component/objectstore/jdo/jdo-metamodel/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.isis.objectstore</groupId>
 		<artifactId>isis-objectstore-jdo</artifactId>
-		<version>1.3.0</version>
+		<version>1.4.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-objectstore-jdo-metamodel</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/765b1458/component/objectstore/jdo/pom.xml
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/pom.xml b/component/objectstore/jdo/pom.xml
index e4dce5b..99c16e4 100644
--- a/component/objectstore/jdo/pom.xml
+++ b/component/objectstore/jdo/pom.xml
@@ -22,7 +22,7 @@
 
 	<groupId>org.apache.isis.objectstore</groupId>
 	<artifactId>isis-objectstore-jdo</artifactId>
-    <version>1.3.0</version>
+    <version>1.4.0-SNAPSHOT</version>
 
 	<name>Isis JDO ObjectStore</name>
 
@@ -104,36 +104,36 @@
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-applib</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-applib</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-metamodel</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-metamodel</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-datanucleus</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.objectstore</groupId>
 				<artifactId>isis-objectstore-jdo-datanucleus</artifactId>
-				<version>1.3.0</version>
+				<version>1.4.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
@@ -176,8 +176,4 @@
 	        </dependency>
 		</dependencies>
 	</dependencyManagement>
-
-  <scm>
-    <tag>isis-objectstore-jdo-1.3.0</tag>
-  </scm>
 </project>


[07/28] git commit: [maven-release-plugin] prepare release isis-viewer-wicket-1.3.0

Posted by da...@apache.org.
[maven-release-plugin] prepare release isis-viewer-wicket-1.3.0


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

Branch: refs/heads/master
Commit: a600118470ff9948388e1ec35926e1555d32943c
Parents: 3d0eebc
Author: Dan Haywood <da...@apache.org>
Authored: Sun Oct 20 21:10:17 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Oct 20 21:10:17 2013 +0100

----------------------------------------------------------------------
 component/viewer/wicket/impl/pom.xml  |  2 +-
 component/viewer/wicket/model/pom.xml |  2 +-
 component/viewer/wicket/pom.xml       | 18 +++++++++++-------
 component/viewer/wicket/tck/pom.xml   |  8 ++++++--
 component/viewer/wicket/ui/pom.xml    |  2 +-
 5 files changed, 20 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a6001184/component/viewer/wicket/impl/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/pom.xml b/component/viewer/wicket/impl/pom.xml
index f2d987e..8f0aad3 100644
--- a/component/viewer/wicket/impl/pom.xml
+++ b/component/viewer/wicket/impl/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-wicket</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<name>Isis Wicket Viewer Implementation</name>

http://git-wip-us.apache.org/repos/asf/isis/blob/a6001184/component/viewer/wicket/model/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/pom.xml b/component/viewer/wicket/model/pom.xml
index 938f049..e9ed246 100644
--- a/component/viewer/wicket/model/pom.xml
+++ b/component/viewer/wicket/model/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-wicket</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-viewer-wicket-model</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/a6001184/component/viewer/wicket/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/pom.xml b/component/viewer/wicket/pom.xml
index 2134fde..bf02b55 100644
--- a/component/viewer/wicket/pom.xml
+++ b/component/viewer/wicket/pom.xml
@@ -30,7 +30,7 @@
 
 	<groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-wicket</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.3.0</version>
 
 	<name>Isis Wicket Viewer</name>
 
@@ -105,36 +105,36 @@
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-model</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
+				<version>1.3.0</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-model</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-ui</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-ui</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-impl</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-impl</artifactId>
-                <version>1.3.0-SNAPSHOT</version>
+                <version>1.3.0</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
@@ -282,4 +282,8 @@
 
 		</dependencies>
 	</dependencyManagement>
+
+  <scm>
+    <tag>isis-viewer-wicket-1.3.0</tag>
+  </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a6001184/component/viewer/wicket/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/tck/pom.xml b/component/viewer/wicket/tck/pom.xml
index 27a1cd0..bd2e63e 100644
--- a/component/viewer/wicket/tck/pom.xml
+++ b/component/viewer/wicket/tck/pom.xml
@@ -29,13 +29,13 @@
 
     <groupId>org.apache.isis.viewer</groupId>
 	<artifactId>isis-viewer-wicket-tck</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.3.0</version>
 
 	<name>Isis Wicket Viewer TCK tests</name>
 
 
 	<properties>
-        <isis-viewer-wicket.version>1.3.0-SNAPSHOT</isis-viewer-wicket.version>
+        <isis-viewer-wicket.version>1.3.0</isis-viewer-wicket.version>
 		<jetty.version>6.1.4</jetty.version>
 		<siteBaseDir>..</siteBaseDir>
 		<relativeUrl>wicket-tck/</relativeUrl>
@@ -115,4 +115,8 @@
         </dependency>
 
 	</dependencies>
+
+  <scm>
+    <tag>isis-viewer-wicket-1.3.0</tag>
+  </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a6001184/component/viewer/wicket/ui/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/pom.xml b/component/viewer/wicket/ui/pom.xml
index 3601f13..6b4cb3e 100644
--- a/component/viewer/wicket/ui/pom.xml
+++ b/component/viewer/wicket/ui/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-wicket</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.3.0</version>
 	</parent>
 
 	<artifactId>isis-viewer-wicket-ui</artifactId>


[26/28] git commit: [maven-release-plugin] prepare for next development iteration

Posted by da...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/master
Commit: c540198e8751fc2fa51279516cb2b05491c43e69
Parents: b52d739
Author: Dan Haywood <da...@apache.org>
Authored: Tue Oct 22 00:37:57 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Tue Oct 22 00:37:57 2013 +0100

----------------------------------------------------------------------
 example/archetype/simple_wicket_restful_jdo/pom.xml | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c540198e/example/archetype/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/pom.xml b/example/archetype/simple_wicket_restful_jdo/pom.xml
index f4a5a2c..c47f722 100644
--- a/example/archetype/simple_wicket_restful_jdo/pom.xml
+++ b/example/archetype/simple_wicket_restful_jdo/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.isis.archetype</groupId>
   <artifactId>simple_wicket_restful_jdo-archetype</artifactId>
-  <version>1.3.0</version>
+  <version>1.4.0-SNAPSHOT</version>
   <packaging>maven-archetype</packaging>
   <name>simple_wicket_restful_jdo-archetype</name>
   <build>
@@ -47,8 +47,4 @@
     <version>1.3.0</version>
     <relativePath>../../../core/pom.xm</relativePath>
   </parent>
-
-  <scm>
-    <tag>simple_wicket_restful_jdo-archetype-1.3.0</tag>
-  </scm>
 </project>


[17/28] ISIS-437: updating quickstart archetype

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
new file mode 100644
index 0000000..20366aa
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
@@ -0,0 +1,76 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.actions;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class ToDoItemTest_duplicate extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private ToDoItem duplicateToDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // given
+        final LocalDate todaysDate = Clock.getTimeAsLocalDate();
+        toDoItem.setDueBy(todaysDate);
+        toDoItem.updateCost(new BigDecimal("123.45"));
+        
+        duplicateToDoItem = toDoItem.duplicate(
+                unwrap(toDoItem).default0Duplicate(), 
+                unwrap(toDoItem).default1Duplicate(),
+                unwrap(toDoItem).default2Duplicate(),
+                unwrap(toDoItem).default3Duplicate(),
+                new BigDecimal("987.65"));
+        
+        // then
+        assertThat(duplicateToDoItem.getDescription(), is(toDoItem.getDescription() + " - Copy"));
+        assertThat(duplicateToDoItem.getCategory(), is(toDoItem.getCategory()));
+        assertThat(duplicateToDoItem.getDueBy(), is(todaysDate));
+        assertThat(duplicateToDoItem.getCost(), is(new BigDecimal("987.65")));
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
new file mode 100644
index 0000000..f6f33cf
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
@@ -0,0 +1,76 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.actions;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_notYetCompleted extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // given
+        unwrap(toDoItem).setComplete(true);
+        
+        // when
+        toDoItem.notYetCompleted();
+        
+        // then
+        assertThat(toDoItem.isComplete(), is(false));
+    }
+
+
+    @Test
+    public void cannotUndoIfNotYetCompleted() throws Exception {
+        
+        // given
+        assertThat(toDoItem.isComplete(), is(false));
+
+        // when, then should fail
+        expectedExceptions.expectMessage("Not yet completed");
+        toDoItem.notYetCompleted();
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
new file mode 100644
index 0000000..48a11a3
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
@@ -0,0 +1,69 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.colls;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItemContributions;
+import dom.todo.ToDoItems;
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
+import fixture.todo.ToDoItemsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class ToDoItemContributionsTest_similarTo extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private ToDoItemContributions toDoItemContributions;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final ToDoItems toDoItems = wrap(service(ToDoItems.class));
+        toDoItemContributions = wrap(service(ToDoItemContributions.class));
+        final List<ToDoItem> all = toDoItems.notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // when
+        List<ToDoItem> similarItems = toDoItemContributions.similarTo(toDoItem);
+        
+        // then
+        assertThat(similarItems.size(), is(6));
+    }
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
new file mode 100644
index 0000000..e6bc674
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
@@ -0,0 +1,92 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.colls;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_dependencies_add extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private ToDoItem otherToDoItem;
+    
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> items = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(items.get(0));
+        otherToDoItem = items.get(1); // wrapping this seems to trip up cglib :-(
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        unwrap(toDoItem).getDependencies().clear();
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+
+        // given
+        assertThat(toDoItem.getDependencies().size(), is(0));
+        
+        // when
+        toDoItem.add(otherToDoItem);
+        
+        // then
+        assertThat(toDoItem.getDependencies().size(), is(1));
+        assertThat(toDoItem.getDependencies().first(), is(unwrap(otherToDoItem)));
+    }
+
+
+    @Test
+    public void cannotDependOnSelf() throws Exception {
+
+        // when, then
+        expectedExceptions.expectMessage("Can't set up a dependency to self");
+        toDoItem.add(toDoItem);
+    }
+
+    @Test
+    public void cannotAddDependencyIfComplete() throws Exception {
+
+        // given
+        unwrap(toDoItem).setComplete(true);
+        
+        // when, then
+        expectedExceptions.expectMessage("Cannot add dependencies for items that are complete");
+        toDoItem.add(otherToDoItem);
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
new file mode 100644
index 0000000..c417d12
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
@@ -0,0 +1,96 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.colls;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_dependencies_remove extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private ToDoItem otherToDoItem;
+    private ToDoItem yetAnotherToDoItem;
+    
+
+    @Before
+    public void setUp() throws Exception {
+        // given
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> items = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(items.get(0));
+        otherToDoItem = items.get(1); // wrapping this seems to trip up cglib :-(
+        yetAnotherToDoItem = items.get(2); // wrapping this seems to trip up cglib :-(
+        
+        toDoItem.add(otherToDoItem);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        unwrap(toDoItem).getDependencies().clear();
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+
+        // given
+        assertThat(toDoItem.getDependencies().size(), is(1));
+        
+        // when
+        toDoItem.remove(otherToDoItem);
+        
+        // then
+        assertThat(toDoItem.getDependencies().size(), is(0));
+    }
+
+
+    @Test
+    public void cannotRemoveItemIfNotADepedndency() throws Exception {
+
+        // when, then
+        expectedExceptions.expectMessage("Not a dependency");
+        toDoItem.remove(yetAnotherToDoItem);
+    }
+
+    @Test
+    public void cannotRemoveDependencyIfComplete() throws Exception {
+
+        // given
+        unwrap(toDoItem).setComplete(true);
+        
+        // when, then
+        expectedExceptions.expectMessage("Cannot remove dependencies for items that are complete");
+        toDoItem.remove(otherToDoItem);
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
new file mode 100644
index 0000000..a41d96e
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
@@ -0,0 +1,71 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItemContributions;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemContributionsTest_priority extends ToDoIntegTest {
+
+    private ToDoItemContributions toDoItemContributions;
+    
+    private List<ToDoItem> notYetComplete;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final ToDoItems toDoItems = wrap(service(ToDoItems.class));
+        toDoItemContributions = service(ToDoItemContributions.class);
+        notYetComplete = toDoItems.notYetComplete();
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        assertPriority(0, 1);
+        assertPriority(1, 2);
+        assertPriority(2, 4);
+        assertPriority(3, 6);
+        assertPriority(4, 5);
+        assertPriority(5, 7);
+        assertPriority(6, 9);
+        assertPriority(7, 8);
+        assertPriority(8, 3);
+        assertPriority(9, 10);
+    }
+
+    private void assertPriority(final int n, final int priority) {
+        assertThat(toDoItemContributions.priority(notYetComplete.get(n)), is(Integer.valueOf(priority)));
+    }
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
new file mode 100644
index 0000000..9f9060e
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
@@ -0,0 +1,81 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.nio.charset.Charset;
+import java.util.List;
+
+import javax.activation.MimeType;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.value.Blob;
+
+public class ToDoItemTest_attachment extends ToDoIntegTest {
+
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        
+        scenarioExecution().install(new ToDoItemsFixture());
+        
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        byte[] bytes = "{${symbol_escape}"foo${symbol_escape}": ${symbol_escape}"bar${symbol_escape}"}".getBytes(Charset.forName("UTF-8"));
+        final Blob newAttachment = new Blob("myfile.json", new MimeType("application/json"), bytes);
+        
+        // when
+        toDoItem.setAttachment(newAttachment);
+        
+        // then
+        assertThat(toDoItem.getAttachment(), is(newAttachment));
+    }
+
+    @Test
+    public void canBeNull() throws Exception {
+        
+        // when
+        toDoItem.setAttachment((Blob)null);
+        
+        // then
+        assertThat(toDoItem.getAttachment(), is((Blob)null));
+    }
+
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
new file mode 100644
index 0000000..6d3726b
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
@@ -0,0 +1,56 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import dom.todo.ToDoItem.Category;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_category extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void cannotModify() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage(containsString("Reason: Use action to update both category and subcategory."));
+        toDoItem.setCategory(Category.Professional);
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
new file mode 100644
index 0000000..10816e3
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
@@ -0,0 +1,95 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_cost extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private BigDecimal cost;
+
+    @Before
+    public void setUp() throws Exception {
+        // given
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+        cost = toDoItem.getCost();
+    }
+
+    @Test
+    public void happyCaseUsingProperty() throws Exception {
+        
+        final BigDecimal newCost = new BigDecimal("123.45");
+        
+        // when
+        toDoItem.updateCost(newCost);
+        
+        // then
+        assertThat(toDoItem.getCost(), is(newCost));
+    }
+
+    @Test
+    public void happyCaseUsingAction() throws Exception {
+        
+        final BigDecimal newCost = new BigDecimal("123.45");
+        
+        // when
+        toDoItem.updateCost(newCost);
+        
+        // then
+        assertThat(toDoItem.getCost(), is(newCost));
+    }
+    
+    @Test
+    public void canBeNull() throws Exception {
+        
+        // when
+        toDoItem.updateCost((BigDecimal)null);
+        
+        // then
+        assertThat(toDoItem.getCost(), is((BigDecimal)null));
+    }
+
+    @Test
+    public void defaultForAction() throws Exception {
+        
+        // then
+        assertThat(unwrap(toDoItem).default0UpdateCost(), is(cost));
+    }
+    
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
new file mode 100644
index 0000000..c60bf24
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
@@ -0,0 +1,94 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_description extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // given
+        assertThat(toDoItem.getDescription(), is("Buy bread"));
+        
+        // when
+        toDoItem.setDescription("Buy bread and butter");
+        
+        // then
+        assertThat(toDoItem.getDescription(), is("Buy bread and butter"));
+    }
+
+
+    @Test
+    public void failsRegex() throws Exception {
+        
+        // when
+        expectedExceptions.expectMessage("Doesn't match pattern");
+        toDoItem.setDescription("exclamation marks are not allowed!!!");
+    }
+
+    @Test
+    public void cannotBeNull() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage("Mandatory");
+        toDoItem.setDescription(null);
+    }
+
+    @Test
+    public void onlyJustShortEnough() throws Exception {
+        
+        // when, then
+        toDoItem.setDescription("123456789012345678901234567890");
+    }
+
+    @Test
+    public void tooLong() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage("The value proposed exceeds the maximum length of 30");
+        toDoItem.setDescription("1234567890123456789012345678901");
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
new file mode 100644
index 0000000..6f6f2eb
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
@@ -0,0 +1,99 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class ToDoItemTest_dueBy extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // when
+        final LocalDate fiveDaysFromNow = Clock.getTimeAsLocalDate().plusDays(5);
+        toDoItem.setDueBy(fiveDaysFromNow);
+        
+        // then
+        assertThat(toDoItem.getDueBy(), is(fiveDaysFromNow));
+    }
+
+
+    @Test
+    public void canBeNull() throws Exception {
+        
+        // when
+        toDoItem.setDueBy((LocalDate)null);
+        
+        // then
+        assertThat(toDoItem.getDueBy(), is((LocalDate)null));
+    }
+
+    @Test
+    public void canBeUpToSixDaysInPast() throws Exception {
+        
+        final LocalDate nowAsLocalDate = Clock.getTimeAsLocalDate();
+        final LocalDate sixDaysAgo = nowAsLocalDate.plusDays(-5);
+
+        // when
+        toDoItem.setDueBy(sixDaysAgo);
+        
+        // then
+        assertThat(toDoItem.getDueBy(), is(sixDaysAgo));
+    }
+
+
+    @Test
+    public void cannotBeMoreThanSixDaysInPast() throws Exception {
+        
+        final LocalDate sevenDaysAgo = Clock.getTimeAsLocalDate().plusDays(-7);
+        
+        // when, then
+        expectedExceptions.expectMessage("Due by date cannot be more than one week old");
+        toDoItem.setDueBy(sevenDaysAgo);
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
new file mode 100644
index 0000000..bce40e6
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
@@ -0,0 +1,73 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_notes extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        // given
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        final String newNotes = "Lorem ipsum yada yada";
+        
+        // when
+        toDoItem.setNotes(newNotes);
+        
+        // then
+        assertThat(toDoItem.getNotes(), is(newNotes));
+    }
+
+    @Test
+    public void canBeNull() throws Exception {
+        
+        // when
+        toDoItem.setNotes((String)null);
+        
+        // then
+        assertThat(toDoItem.getNotes(), is((String)null));
+    }
+
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
new file mode 100644
index 0000000..fa5af04
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
@@ -0,0 +1,59 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import dom.todo.ToDoItem.Category;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_ownedBy extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void cannotModify() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage("Always hidden");
+        toDoItem.setOwnedBy("other");
+    }
+
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
new file mode 100644
index 0000000..48fac31
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
@@ -0,0 +1,56 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.props;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItem.Subcategory;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemTest_subcategory extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+    }
+
+    @Test
+    public void cannotModify() throws Exception {
+        
+        // when, then
+        expectedExceptions.expectMessage(containsString("Reason: Use action to update both category and subcategory."));
+        toDoItem.setSubcategory(Subcategory.Chores);
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
new file mode 100644
index 0000000..a909609
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
@@ -0,0 +1,78 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.repo;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.hamcrest.Matchers;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ToDoItemsTest_finders extends ToDoIntegTest {
+
+    private int notYetCompletedSize;
+    private int completedSize;
+
+    @Before
+    public void setUp() throws Exception {
+        scenarioExecution().install(new ToDoItemsFixture());
+
+        final List<ToDoItem> notYetCompleteItems = wrap(service(ToDoItems.class)).notYetComplete();
+        final List<ToDoItem> completedItems = wrap(service(ToDoItems.class)).complete();
+        
+        notYetCompletedSize = notYetCompleteItems.size();
+        completedSize = completedItems.size();
+        
+        assertThat(notYetCompletedSize, is(Matchers.greaterThan(5)));
+    }
+
+    @Test
+    public void complete_and_notYetComplete() throws Exception {
+        
+        // given
+        List<ToDoItem> notYetCompleteItems = wrap(service(ToDoItems.class)).notYetComplete();
+        final ToDoItem toDoItem = wrap(notYetCompleteItems.get(0));
+        
+        // when
+        toDoItem.completed();
+        
+        // then
+        assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(notYetCompletedSize-1));
+        assertThat(wrap(service(ToDoItems.class)).complete().size(), is(completedSize+1));
+        
+        // and when
+        toDoItem.notYetCompleted();
+        
+        // then
+        assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(notYetCompletedSize));
+        assertThat(wrap(service(ToDoItems.class)).complete().size(), is(completedSize));
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
new file mode 100644
index 0000000..250b857
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
@@ -0,0 +1,57 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.repo;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItem.Subcategory;
+
+import org.junit.Test;
+
+public class ToDoItemsTest_newToDo_and_delete extends ToDoIntegTest {
+
+    @Test
+    public void happyCase() throws Exception {
+        
+        // given
+        int size = wrap(service(ToDoItems.class)).notYetComplete().size();
+        
+        // when
+        final ToDoItem newToDo = wrap(service(ToDoItems.class)).newToDo("new todo", Category.Professional, Subcategory.OpenSource, null, null);
+
+        // then
+        assertThat(newToDo.getDescription(), is("new todo"));
+        assertThat(newToDo.getCategory(), is(Category.Professional));
+        assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(size+1));
+        
+        // when
+        newToDo.delete();
+
+        // then
+        assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(size));
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
new file mode 100644
index 0000000..65ed2f0
--- /dev/null
+++ b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
@@ -0,0 +1,112 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  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 integration.tests.smoke;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.not;
+import static org.junit.Assert.assertThat;
+import integration.tests.ToDoIntegTest;
+
+import java.util.List;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.ToDoItemsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class ToDoItemTest_title extends ToDoIntegTest {
+
+    private ToDoItem toDoItem;
+    private LocalDate dueBy;
+
+
+    @Before
+    public void setUp() throws Exception {
+
+        scenarioExecution().install(new ToDoItemsFixture());
+        
+        final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+        toDoItem = wrap(all.get(0));
+
+        dueBy = toDoItem.getDueBy();
+    }
+
+    
+    @Test
+    public void includesDescription() throws Exception {
+
+        // given
+        assertThat(container().titleOf(toDoItem), containsString("Buy bread due by"));
+
+        // when
+        unwrap(toDoItem).setDescription("Buy bread and butter");
+        
+        // then
+        assertThat(container().titleOf(toDoItem), containsString("Buy bread and butter due by"));
+    }
+
+    @Test
+    public void includesDueDateIfAny() throws Exception {
+
+        // given
+        assertThat(container().titleOf(toDoItem), containsString("due by " + dueBy.toString("yyyy-MM-dd")));
+
+        // when
+        final LocalDate fiveDaysFromNow = Clock.getTimeAsLocalDate().plusDays(5);
+        unwrap(toDoItem).setDueBy(fiveDaysFromNow);
+
+        // then
+        assertThat(container().titleOf(toDoItem), containsString("due by " + fiveDaysFromNow.toString("yyyy-MM-dd")));
+    }
+
+
+    @Test
+    public void ignoresDueDateIfNone() throws Exception {
+
+        // when
+        // (since wrapped, will call clearDueBy) 
+        toDoItem.setDueBy(null);
+
+        // then
+        assertThat(container().titleOf(toDoItem), not(containsString("due by")));
+    }
+
+    @Test
+    public void usesWhetherCompleted() throws Exception {
+
+        // given
+        assertThat(container().titleOf(toDoItem), not(containsString("Completed!")));
+
+        // when
+        toDoItem.completed();
+
+        // then
+        assertThat(container().titleOf(toDoItem), not(containsString("due by")));
+        assertThat(container().titleOf(toDoItem), containsString("Buy bread - Completed!"));
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/AbstractIntegTest.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/AbstractIntegTest.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/AbstractIntegTest.java
deleted file mode 100644
index 2e032c6..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/AbstractIntegTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests;
-
-import dom.todo.ToDoItems;
-import fixture.todo.ToDoItemsFixture;
-import objstore.jdo.todo.ToDoItemsJdo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.rules.ExpectedException;
-import org.junit.rules.MethodRule;
-import org.junit.runners.model.FrameworkMethod;
-import org.junit.runners.model.Statement;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.applib.services.wrapper.WrapperFactory;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.integtestsupport.IsisSystemForTest;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.core.wrapper.WrapperFactoryDefault;
-import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore;
-import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller;
-import org.apache.isis.objectstore.jdo.service.RegisterEntities;
-
-public abstract class AbstractIntegTest {
-
-    protected ToDoItems toDoItems;
-    protected WrapperFactory wrapperFactory;
-    protected DomainObjectContainer container;
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    @Rule
-    public IsisSystemForTestRule bootstrapIsis = new IsisSystemForTestRule();
-
-    @Rule
-    public ExpectedException expectedExceptions = ExpectedException.none();
-
-    /**
-     * Same running system returned for all tests, set up with {@link ToDoItemsFixture}.
-     * 
-     * <p>
-     * The database is NOT reset between tests.
-     */
-    public IsisSystemForTest getIsft() {
-        return bootstrapIsis.getIsisSystemForTest();
-    }
-
-    @Before
-    public void init() {
-        toDoItems = getIsft().getService(ToDoItemsJdo.class);
-        wrapperFactory = getIsft().getService(WrapperFactoryDefault.class);
-        container = getIsft().container;
-    }
-
-    protected <T> T wrap(T obj) {
-        return wrapperFactory.wrap(obj);
-    }
-
-    protected <T> T unwrap(T obj) {
-        return wrapperFactory.unwrap(obj);
-    }
-
-
-    ////////////////////////////////////////////////////////////////
-    // Boilerplate
-    ////////////////////////////////////////////////////////////////
-    
-    @BeforeClass
-    public static void initClass() {
-        PropertyConfigurator.configure("logging.properties");
-    }
-    
-    private static class ToDoIntegTestBuilder extends IsisSystemForTest.Builder {
-
-        public ToDoIntegTestBuilder() {
-            withFixtures(new ToDoItemsFixture());
-            withLoggingAt(Level.INFO);
-            with(testConfiguration());
-            with(new DataNucleusPersistenceMechanismInstaller());
-            
-            withServices(
-                    new ToDoItemsJdo(),
-                    new WrapperFactoryDefault(),
-                    new RegisterEntities()
-                    );
-        }
-
-        private IsisConfiguration testConfiguration() {
-            final IsisConfigurationDefault testConfiguration = new IsisConfigurationDefault();
-
-            testConfiguration.add("isis.persistor.datanucleus.RegisterEntities.packagePrefix", "dom");
-            testConfiguration.add("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL", "jdbc:hsqldb:mem:test");
-            
-            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.defaultInheritanceStrategy", "TABLE_PER_CLASS");
-            testConfiguration.add(DataNucleusObjectStore.INSTALL_FIXTURES_KEY , "true");
-            
-            testConfiguration.add("isis.persistor.datanucleus.impl.datanucleus.cache.level2.type","none");
-
-            return testConfiguration;
-        }
-    }
-
-    private static class IsisSystemForTestRule implements MethodRule {
-        private static ThreadLocal<IsisSystemForTest> ISFT = new ThreadLocal<IsisSystemForTest>() {
-            @Override
-            protected IsisSystemForTest initialValue() {
-                return new ToDoIntegTestBuilder().build().setUpSystem();
-            };
-        };
-
-        public IsisSystemForTest getIsisSystemForTest() {
-            // reuse same system for all calls.
-            return ISFT.get();
-        }
-        
-        @Override
-        public Statement apply(final Statement base, final FrameworkMethod method, final Object target) {
-            final IsisSystemForTest isft = getIsisSystemForTest(); // creates and starts running if required
-            return new Statement() {
-                @Override
-                public void evaluate() throws Throwable {
-                    isft.beginTran();
-                    base.evaluate();
-                    // if an exception is thrown by any test, then we don't attempt to cleanup (eg by calling bounceSystem)${symbol_pound}
-                    // because - in any case - we only ever install the fixtures once for ALL of the tests.
-                    // therefore, just fix the first test that fails and don't worry about any other test failures beyond that
-                    // (fix them up one by one)
-                    isft.commitTran();
-                }
-            };
-        }
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/ToDoItem_title.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/ToDoItem_title.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/ToDoItem_title.java
deleted file mode 100644
index 7f00d4f..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/ToDoItem_title.java
+++ /dev/null
@@ -1,119 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.joda.time.LocalDate;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.applib.clock.Clock;
-
-public class ToDoItem_title extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private String description;
-    private boolean isComplete;
-    private LocalDate dueBy;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        description = toDoItem.getDescription();
-        isComplete = toDoItem.isComplete();
-        dueBy = toDoItem.getDueBy();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setDescription(description);
-        unwrap(toDoItem).setComplete(isComplete);
-        unwrap(toDoItem).setDueBy(dueBy);
-    }
-    
-    
-    @Test
-    public void includesDescription() throws Exception {
-
-        // given
-        assertThat(container.titleOf(toDoItem), containsString("Buy milk due by"));
-
-        // when
-        unwrap(toDoItem).setDescription("Buy milk and butter");
-        
-        // then
-        assertThat(container.titleOf(toDoItem), containsString("Buy milk and butter due by"));
-    }
-
-    @Test
-    public void includesDueDateIfAny() throws Exception {
-
-        // given
-        assertThat(container.titleOf(toDoItem), containsString("due by " + dueBy.toString("yyyy-MM-dd")));
-
-        // when
-        final LocalDate fiveDaysFromNow = Clock.getTimeAsLocalDate().plusDays(5);
-        unwrap(toDoItem).setDueBy(fiveDaysFromNow);
-
-        // then
-        assertThat(container.titleOf(toDoItem), containsString("due by " + fiveDaysFromNow.toString("yyyy-MM-dd")));
-    }
-
-
-    @Test
-    public void ignoresDueDateIfNone() throws Exception {
-
-        // when
-        // (since wrapped, will call clearDueBy) 
-        toDoItem.setDueBy(null);
-
-        // then
-        assertThat(container.titleOf(toDoItem), not(containsString("due by")));
-    }
-
-    @Test
-    public void usesWhetherCompleted() throws Exception {
-
-        // given
-        assertThat(container.titleOf(toDoItem), not(containsString("Completed!")));
-
-        // when
-        toDoItem.completed();
-
-        // then
-        assertThat(container.titleOf(toDoItem), not(containsString("due by")));
-        assertThat(container.titleOf(toDoItem), containsString("Buy milk - Completed!"));
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_completed.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_completed.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_completed.java
deleted file mode 100644
index f96c0c0..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_completed.java
+++ /dev/null
@@ -1,93 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.actions;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_completed extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private boolean isComplete;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        isComplete = toDoItem.isComplete();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setComplete(isComplete);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        // given
-        assertThat(toDoItem.isComplete(), is(false));
-        
-        // when
-        toDoItem.completed();
-        
-        // then
-        assertThat(toDoItem.isComplete(), is(true));
-    }
-
-
-    @Test
-    public void cannotCompleteIfAlreadyCompleted() throws Exception {
-        
-        // given
-        unwrap(toDoItem).setComplete(true);
-
-        // when, then should fail
-        expectedExceptions.expectMessage("Already completed");
-        toDoItem.completed();
-    }
-
-
-    @Test
-    public void cannotSetPropertyDirectly() throws Exception {
-        
-        // given
-
-        // when, then should fail
-        expectedExceptions.expectMessage("Always disabled");
-        toDoItem.setComplete(true);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_duplicate.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_duplicate.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_duplicate.java
deleted file mode 100644
index 4149ccd..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_duplicate.java
+++ /dev/null
@@ -1,81 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.actions;
-
-import static org.hamcrest.CoreMatchers.*;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItem.Category;
-
-import org.joda.time.LocalDate;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.applib.clock.Clock;
-
-public class ToDoItem_duplicate extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private ToDoItem duplicateToDoItem;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        duplicateToDoItem.delete();
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        // given
-        final LocalDate todaysDate = Clock.getTimeAsLocalDate();
-        toDoItem.setDueBy(todaysDate);
-        toDoItem.setCost(new BigDecimal("123.45"));
-        
-        duplicateToDoItem = toDoItem.duplicate(
-                unwrap(toDoItem).default0Duplicate(), 
-                unwrap(toDoItem).default1Duplicate(),
-                unwrap(toDoItem).default2Duplicate(),
-                new BigDecimal("987.65"));
-        
-        // then
-        assertThat(duplicateToDoItem.getDescription(), is(toDoItem.getDescription() + " - Copy"));
-        assertThat(duplicateToDoItem.getCategory(), is(toDoItem.getCategory()));
-        assertThat(duplicateToDoItem.getDueBy(), is(todaysDate));
-        assertThat(duplicateToDoItem.getCost(), is(new BigDecimal("987.65")));
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_notYetCompleted.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_notYetCompleted.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_notYetCompleted.java
deleted file mode 100644
index 723627c..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/actions/ToDoItem_notYetCompleted.java
+++ /dev/null
@@ -1,83 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.actions;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_notYetCompleted extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private boolean isComplete;
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(all.get(0));
-
-        // to reset after
-        isComplete = toDoItem.isComplete();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).setComplete(isComplete);
-    }
-
-
-    @Test
-    public void happyCase() throws Exception {
-        
-        // given
-        unwrap(toDoItem).setComplete(true);
-        
-        // when
-        toDoItem.notYetCompleted();
-        
-        // then
-        assertThat(toDoItem.isComplete(), is(false));
-    }
-
-
-    @Test
-    public void cannotUndoIfNotYetCompleted() throws Exception {
-        
-        // given
-        assertThat(toDoItem.isComplete(), is(false));
-
-        // when, then should fail
-        expectedExceptions.expectMessage("Not yet completed");
-        toDoItem.notYetCompleted();
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_add.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_add.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_add.java
deleted file mode 100644
index 47b584e..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_add.java
+++ /dev/null
@@ -1,93 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.colls;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_dependencies_add extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private ToDoItem otherToDoItem;
-    private boolean isComplete;
-    
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> items = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(items.get(0));
-        otherToDoItem = items.get(1); // wrapping this seems to trip up cglib :-(
-        
-        isComplete = toDoItem.isComplete();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).getDependencies().clear();
-        unwrap(toDoItem).setComplete(isComplete);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-
-        // given
-        assertThat(toDoItem.getDependencies().size(), is(0));
-        
-        // when
-        toDoItem.add(otherToDoItem);
-        
-        // then
-        assertThat(toDoItem.getDependencies().size(), is(1));
-        assertThat(toDoItem.getDependencies().first(), is(unwrap(otherToDoItem)));
-    }
-
-
-    @Test
-    public void cannotDependOnSelf() throws Exception {
-
-        // when, then
-        expectedExceptions.expectMessage("Can't set up a dependency to self");
-        toDoItem.add(toDoItem);
-    }
-
-    @Test
-    public void cannotAddDependencyIfComplete() throws Exception {
-
-        // given
-        unwrap(toDoItem).setComplete(true);
-        
-        // when, then
-        expectedExceptions.expectMessage("Cannot add dependencies for items that are complete");
-        toDoItem.add(otherToDoItem);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c742898c/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_remove.java
----------------------------------------------------------------------
diff --git a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_remove.java b/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_remove.java
deleted file mode 100644
index c671258..0000000
--- a/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integtests/colls/ToDoItem_dependencies_remove.java
+++ /dev/null
@@ -1,96 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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 integtests.colls;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integtests.AbstractIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItem_dependencies_remove extends AbstractIntegTest {
-
-    private ToDoItem toDoItem;
-    private ToDoItem otherToDoItem;
-    private ToDoItem yetAnotherToDoItem;
-    private boolean isComplete;
-    
-
-    @Before
-    public void setUp() throws Exception {
-        // given
-        final List<ToDoItem> items = wrap(toDoItems).notYetComplete();
-        toDoItem = wrap(items.get(0));
-        otherToDoItem = items.get(1); // wrapping this seems to trip up cglib :-(
-        yetAnotherToDoItem = items.get(2); // wrapping this seems to trip up cglib :-(
-        
-        toDoItem.add(otherToDoItem);
-
-        isComplete = toDoItem.isComplete();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        unwrap(toDoItem).getDependencies().clear();
-        unwrap(toDoItem).setComplete(isComplete);
-    }
-
-    @Test
-    public void happyCase() throws Exception {
-
-        // given
-        assertThat(toDoItem.getDependencies().size(), is(1));
-        
-        // when
-        toDoItem.remove(otherToDoItem);
-        
-        // then
-        assertThat(toDoItem.getDependencies().size(), is(0));
-    }
-
-
-    @Test
-    public void cannotRemoveItemIfNotADepedndency() throws Exception {
-
-        // when, then
-        expectedExceptions.expectMessage("Not a dependency");
-        toDoItem.remove(yetAnotherToDoItem);
-    }
-
-    @Test
-    public void cannotRemoveDependencyIfComplete() throws Exception {
-
-        // given
-        unwrap(toDoItem).setComplete(true);
-        
-        // when, then
-        expectedExceptions.expectMessage("Cannot remove dependencies for items that are complete");
-        toDoItem.remove(otherToDoItem);
-    }
-
-}
\ No newline at end of file