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 2012/12/06 15:29:38 UTC

[12/32] ISIS-188: factored out isis-parent pom

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/persistor_datanucleus.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/persistor_datanucleus.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/persistor_datanucleus.properties
deleted file mode 100644
index 14f8038..0000000
--- a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/persistor_datanucleus.properties
+++ /dev/null
@@ -1,114 +0,0 @@
-#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 objectstore
-${symbol_pound}
-
-isis.persistor.datanucleus.impl.javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactory
-isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true
-isis.persistor.datanucleus.impl.datanucleus.validateTables=true
-isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true
-
-
-${symbol_pound} L2 cache (on by default)
-isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
-
-${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}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${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} 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=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
-
-${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/cb83d4c7/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/web.xml b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 7b6d253..0000000
--- a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,136 +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.
--->
-<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 app</display-name>
-
-    <!-- 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>
-    -->
-
-    <!-- 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>wicket</filter-name>
-		<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
-		<init-param>
-			<param-name>applicationClassName</param-name>
-			<param-value>app.QuickStartApplication</param-value>
-		</init-param>
-	</filter>
-
-	<filter-mapping>
-		<filter-name>wicket</filter-name>
-		<url-pattern>/*</url-pattern>
-	</filter-mapping>
-
-	
-</web-app>

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/css/application.css
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/css/application.css b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/css/application.css
deleted file mode 100644
index bd4c5b0..0000000
--- a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/css/application.css
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
-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;
-}
-*/
-
-body {
-	background-color: #00477F;
-}
-
-.welcome .intro {
-	font-size: larger;
-	text-align: center;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.pdn
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.pdn b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.pdn
deleted file mode 100644
index 8fae9aa..0000000
Binary files a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.pdn and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.png
deleted file mode 100644
index 01967f2..0000000
Binary files a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-wicket/src/main/webapp/images/app-banner.png and /dev/null differ

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

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/archetype/quickstart/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/test/resources/projects/basic/archetype.properties b/framework/archetype/quickstart/src/test/resources/projects/basic/archetype.properties
deleted file mode 100644
index 57ffe72..0000000
--- a/framework/archetype/quickstart/src/test/resources/projects/basic/archetype.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Fri Oct 12 17:51:43 BST 2012
-package=it.pkg
-version=0.1-SNAPSHOT
-groupId=archetype.it
-artifactId=basic

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/archetype/quickstart/src/test/resources/projects/basic/goal.txt
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/test/resources/projects/basic/goal.txt b/framework/archetype/quickstart/src/test/resources/projects/basic/goal.txt
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/pom.xml
----------------------------------------------------------------------
diff --git a/framework/core/pom.xml b/framework/core/pom.xml
index 90e2ebd..c218482 100644
--- a/framework/core/pom.xml
+++ b/framework/core/pom.xml
@@ -14,8 +14,9 @@
 
     <parent>
         <groupId>org.apache.isis</groupId>
-        <artifactId>isis</artifactId>
+        <artifactId>isis-parent</artifactId>
         <version>0.3.1-SNAPSHOT</version>
+	<relativePath>../isis-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>core</artifactId>
@@ -46,20 +47,22 @@
     <url>http://incubator.apache.org/isis/${relativeUrl}</url>
 
     <modules>
-
-        <module>unittestsupport</module>
         <module>applib</module>
         <module>metamodel</module>
         <module>runtime</module>
         <module>webserver</module>
 
-        <module>integtestsupport</module>
         <module>bytecode-cglib</module>
         <module>bytecode-javassist</module>
         
         <module>objectstore-inmemory</module>
         <module>profilestore-inmemory</module>
         <module>security-noop</module>
+
+        <module>unittestsupport</module>
+        <module>integtestsupport</module>
+
+        <module>tck</module>
     </modules>
 
     <build>
@@ -161,12 +164,6 @@
 			    <artifactId>dflt</artifactId>
                 <version>0.3.1-SNAPSHOT</version>
 			</dependency>
-	        <dependency>
-	            <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
-	            <artifactId>dflt</artifactId>
-                <version>0.3.1-SNAPSHOT</version>
-	            <scope>test</scope>
-	        </dependency>
 
 			<!-- bytecode-javassist -->
 			<dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/pom.xml
----------------------------------------------------------------------
diff --git a/framework/core/tck/pom.xml b/framework/core/tck/pom.xml
new file mode 100644
index 0000000..4898791
--- /dev/null
+++ b/framework/core/tck/pom.xml
@@ -0,0 +1,244 @@
+<?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</groupId>
+        <artifactId>core</artifactId>
+        <version>0.3.1-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.apache.isis.tck</groupId>
+    <artifactId>tck</artifactId>
+
+    <name>TCK App</name>
+
+    <packaging>pom</packaging>
+    
+
+    <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.5</version>
+                    <configuration>
+                        <excludes>
+                            <exclude>**/Test*.java</exclude>
+                        </excludes>
+                        <useFile>true</useFile>
+                        <printSummary>false</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.5</version>
+                    <configuration>
+                        <excludes>
+                            <exclude>**/Test*.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>
+            </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>
+
+            <!-- this project's own modules -->
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>tck-dom</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>tck-fixture</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+
+            <!-- isis: applib -->
+            <dependency>
+                <groupId>org.apache.isis</groupId>
+                <artifactId>applib</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis</groupId>
+                <artifactId>applib</artifactId>
+                <classifier>javadoc</classifier>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            
+            <!-- isis: core -->
+            <dependency>
+                <groupId>org.apache.isis.core</groupId>
+                <artifactId>commons</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis.core</groupId>
+                <artifactId>isis-metamodel</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis.core</groupId>
+                <artifactId>progmodel</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis.core</groupId>
+                <artifactId>runtime</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+
+            <!-- isis: security: dflt -->
+            <dependency>
+                <groupId>org.apache.isis.security</groupId>
+                <artifactId>dflt</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+
+            <!-- isis: runtimes: dflt -->            
+            <dependency>
+                <groupId>org.apache.isis.runtimes.dflt</groupId>
+                <artifactId>runtime</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis.runtimes.dflt</groupId>
+                <artifactId>isis-webserver</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
+                <artifactId>dflt</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
+                <artifactId>javassist</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+
+            <!-- isis: runtimes-dflt: objectstores: dflt -->
+            <dependency>
+                <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+                <artifactId>dflt</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+
+            <!-- isis: runtimes-dflt: profilestores: dflt -->
+            <dependency>
+                <groupId>org.apache.isis.runtimes.dflt.profilestores</groupId>
+                <artifactId>dflt</artifactId>
+                <version>0.3.1-SNAPSHOT</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+  <modules>
+    <module>tck-dom</module>
+    <module>tck-fixture</module>
+  </modules>
+</project>

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

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/log4j.properties
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/log4j.properties b/framework/core/tck/tck-dom/log4j.properties
new file mode 100644
index 0000000..155ae59
--- /dev/null
+++ b/framework/core/tck/tck-dom/log4j.properties
@@ -0,0 +1,40 @@
+#  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.
+
+
+
+# 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
+#log4j.appender.A1.Threshold=INFO
+
+# Categories
+# Each category can be set to a "level", and to direct to an appender
+
+# 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
+
+
+# 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/cb83d4c7/framework/core/tck/tck-dom/pom.xml
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/pom.xml b/framework/core/tck/tck-dom/pom.xml
new file mode 100644
index 0000000..99ddbd4
--- /dev/null
+++ b/framework/core/tck/tck-dom/pom.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.
+--><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.tck</groupId>
+    	<artifactId>tck</artifactId>
+		<version>0.3.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>tck-dom</artifactId>
+	<name>TCK DOM</name>
+
+    <profiles>
+        <profile>
+            <id>isis-jdo-objectstore</id>
+            <activation>
+                <property>
+                    <name>component</name>
+                    <value>isis-jdo-objectstore</value>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.datanucleus</groupId>
+                        <artifactId>maven-datanucleus-plugin</artifactId>
+                        <version>3.1.1</version>
+                        <configuration>
+                            <fork>false</fork>
+                            <verbose>true</verbose>
+                            <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <phase>compile</phase>
+                                <goals>
+                                    <goal>enhance</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    
+                    <!-- 
+                    <plugin>
+                        <groupId>org.apache.isis.tools</groupId>
+                        <artifactId>isis-maven-plugin</artifactId>
+                        <version>0.3.1-SNAPSHOT</version>
+                    </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>
+                                                    maven-datanucleus-plugin
+                                                </artifactId>
+                                                <versionRange>
+                                                    [3.0.2,)
+                                                </versionRange>
+                                                <goals>
+                                                    <goal>enhance</goal>
+                                                </goals>
+                                            </pluginExecutionFilter>
+                                            <action>
+                                                <ignore></ignore>
+                                            </action>
+                                        </pluginExecution>
+                                    </pluginExecutions>
+                                </lifecycleMappingMetadata>
+                            </configuration>
+                        </plugin>
+                    </plugins>
+                </pluginManagement>
+            </build>
+        </profile>
+    </profiles>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.isis</groupId>
+			<artifactId>applib</artifactId>
+		</dependency>
+        
+        <!-- necessary, since we have JDO annotations in the code -->
+       <dependency>
+            <groupId>javax.jdo</groupId>
+            <artifactId>jdo-api</artifactId>
+            <version>3.0.1</version>
+            <exclusions>
+              <exclusion>
+                <!-- use geronimo-jta_1.1_spec instead -->
+                <groupId>javax.transaction</groupId>
+                <artifactId>jta</artifactId>
+              </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-core</artifactId>
+            <version>3.1.2</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-enhancer</artifactId>
+            <version>3.1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-api-jdo</artifactId>
+            <version>3.1.2</version>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-jta_1.1_spec</artifactId>
+          <version>1.1.1</version>
+        </dependency>
+    </dependencies>
+    
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/appended-resources/supplemental-models.xml b/framework/core/tck/tck-dom/src/main/appended-resources/supplemental-models.xml
new file mode 100644
index 0000000..bbf2a84
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/AbstractEntityRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/AbstractEntityRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/AbstractEntityRepository.java
new file mode 100644
index 0000000..c65fe21
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/AbstractEntityRepository.java
@@ -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.
+ */
+
+package org.apache.isis.tck.dom;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.annotation.QueryOnly;
+import org.apache.isis.applib.query.Query;
+import org.apache.isis.applib.query.QueryDefault;
+
+public abstract class AbstractEntityRepository<T> extends AbstractFactoryAndRepository {
+
+    private final Class<T> entityClass;
+    private final String serviceId;
+    
+    public AbstractEntityRepository(Class<T> entityClass, String serviceId) {
+        this.entityClass = entityClass;
+        this.serviceId = serviceId;
+    }
+
+    @Override
+    public final String getId() {
+        return serviceId;
+    }
+
+    @QueryOnly
+    @MemberOrder(sequence = "1")
+    public List<T> list() {
+        return allInstances(entityClass);
+    }
+
+    @MemberOrder(sequence = "2")
+    public T newEntity() {
+        final T entity = newTransientInstance(entityClass);
+        persist(entity);
+        return entity;
+    }
+    
+    @Programmatic
+    public T findByNamedQueryFirstOnly(String queryName, Map<String, Object> argumentByParameterName) {
+        final Query<T> query = new QueryDefault<T>(entityClass, queryName, argumentByParameterName); 
+        return this.firstMatch(query);
+    }
+
+    @Programmatic
+    public List<T> findByNamedQueryAll(String queryName, Map<String, Object> argumentByParameterName) {
+        final Query<T> query = new QueryDefault<T>(entityClass, queryName, argumentByParameterName); 
+        return this.allMatches(query);
+    }
+    
+}

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

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/Claim.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/Claim.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/Claim.java
new file mode 100644
index 0000000..cb48621
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/Claim.java
@@ -0,0 +1,239 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.claimapp.claims;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Color;
+import org.apache.isis.applib.value.Date;
+
+public class Claim extends AbstractDomainObject {
+
+    // {{ Title
+    public String title() {
+        return getStatus() + " - " + getDate();
+    }
+
+    // }}
+
+    // {{ Lifecycle
+    public void created() {
+        status = "New";
+        date = new Date();
+    }
+
+    // }}
+
+    // {{ Description
+    private String description;
+
+    @MemberOrder(sequence = "1")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+
+    public String defaultDescription() {
+        return "enter a description here";
+    }
+
+    // }}
+
+    // {{ Date
+    private Date date;
+
+    @MemberOrder(sequence = "2")
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(final Date date) {
+        this.date = date;
+    }
+
+    // }}
+
+    // {{ Status
+    private String status;
+
+    @Disabled
+    @MemberOrder(sequence = "3")
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(final String status) {
+        this.status = status;
+    }
+
+    // }}
+
+    // {{ Claimant
+    private Claimant claimant;
+
+    @Disabled
+    @MemberOrder(sequence = "4")
+    public Claimant getClaimant() {
+        return claimant;
+    }
+
+    public void setClaimant(final Claimant claimant) {
+        this.claimant = claimant;
+    }
+
+    // }}
+
+    // {{ BigDecimal
+    private BigDecimal bigDecimal;
+
+    @MemberOrder(sequence = "9")
+    public BigDecimal getBigDecimal() {
+        return bigDecimal;
+    }
+
+    public void setBigDecimal(final BigDecimal bigDecimal) {
+        this.bigDecimal = bigDecimal;
+    }
+
+    public void modifyBigDecimal(final BigDecimal bigDecimal) {
+        // check for no-op
+        if (bigDecimal == null || bigDecimal.equals(getBigDecimal())) {
+            return;
+        }
+        // associate new
+        setBigDecimal(bigDecimal);
+        // additional business logic
+        onModifyBigDecimal(bigDecimal);
+    }
+
+    public void clearBigDecimal() {
+        // check for no-op
+        if (getBigDecimal() == null) {
+            return;
+        }
+        // dissociate existing
+        setBigDecimal(null);
+        // additional business logic
+        onClearBigDecimal();
+    }
+
+    protected void onModifyBigDecimal(final BigDecimal bigDecimal) {
+    }
+
+    protected void onClearBigDecimal() {
+    }
+
+    // }}
+
+    // {{ Color
+    private Color color;
+
+    @MemberOrder(sequence = "8")
+    public Color getColor() {
+        return color;
+    }
+
+    public void setColor(final Color color) {
+        this.color = color;
+    }
+
+    public void modifyColor(final Color color) {
+        // check for no-op
+        if (color == null || color.equals(getColor())) {
+            return;
+        }
+        // associate new
+        setColor(color);
+        // additional business logic
+        onModifyColor(color);
+    }
+
+    public void clearColor() {
+        // check for no-op
+        if (getColor() == null) {
+            return;
+        }
+        // dissociate existing
+        setColor(null);
+        // additional business logic
+        onClearColor();
+    }
+
+    protected void onModifyColor(final Color color) {
+    }
+
+    protected void onClearColor() {
+    }
+
+    // }}
+
+    // {{ Approver
+    private Approver approver;
+
+    @Disabled
+    @MemberOrder(sequence = "5")
+    public Approver getApprover() {
+        return approver;
+    }
+
+    public void setApprover(final Approver approver) {
+        this.approver = approver;
+    }
+
+    // }}
+
+    // {{ Items
+    private final List<ClaimItem> items = new ArrayList<ClaimItem>();
+
+    @MemberOrder(sequence = "6")
+    public List<ClaimItem> getItems() {
+        return items;
+    }
+
+    public void addToItems(final ClaimItem item) {
+        items.add(item);
+    }
+
+    // }}
+
+    // {{ action: Submit
+    public void submit(final Approver approver) {
+        setStatus("Submitted");
+        setApprover(approver);
+    }
+
+    public String disableSubmit() {
+        return getStatus().equals("New") ? null : "Claim has already been submitted";
+    }
+
+    public Object[] defaultSubmit() {
+        return new Object[] { getClaimant().getApprover() };
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimItem.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimItem.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimItem.java
new file mode 100644
index 0000000..1deee7e
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimItem.java
@@ -0,0 +1,77 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.claimapp.claims;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Date;
+import org.apache.isis.applib.value.Money;
+
+public class ClaimItem extends AbstractDomainObject {
+
+    // {{ Title
+    public String title() {
+        return getDescription();
+    }
+
+    // }}
+
+    // {{ DateIncurred
+    private Date dateIncurred;
+
+    @MemberOrder(sequence = "1")
+    public Date getDateIncurred() {
+        return dateIncurred;
+    }
+
+    public void setDateIncurred(final Date dateIncurred) {
+        this.dateIncurred = dateIncurred;
+    }
+
+    // }}
+
+    // {{ Description
+    private String description;
+
+    @MemberOrder(sequence = "2")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+
+    // }}
+
+    // {{ Amount
+    private Money amount;
+
+    @MemberOrder(sequence = "3")
+    public Money getAmount() {
+        return amount;
+    }
+
+    public void setAmount(final Money price) {
+        this.amount = price;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepository.java
new file mode 100644
index 0000000..9eb6f12
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepository.java
@@ -0,0 +1,36 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.claimapp.claims;
+
+import java.util.List;
+
+import org.apache.isis.applib.annotation.Named;
+
+@Named("Claims")
+public interface ClaimRepository {
+
+    public List<Claim> allClaims();
+
+    public List<Claim> findClaims(@Named("Description") String description);
+
+    public List<Claim> claimsFor(Claimant claimant);
+
+    public Claim newClaim(Claimant claimant);
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepositoryImpl.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepositoryImpl.java
new file mode 100644
index 0000000..1eefa13
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/claims/ClaimRepositoryImpl.java
@@ -0,0 +1,46 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.claimapp.claims;
+
+import java.util.List;
+
+public class ClaimRepositoryImpl implements ClaimRepository {
+
+    @Override
+    public List<Claim> allClaims() {
+        return null;
+    }
+
+    @Override
+    public List<Claim> findClaims(final String description) {
+        return null;
+    }
+
+    @Override
+    public List<Claim> claimsFor(final Claimant claimant) {
+        return null;
+    }
+
+    @Override
+    public Claim newClaim(final Claimant claimant) {
+        return null;
+    }
+
+}

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

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/Employee.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/Employee.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/Employee.java
new file mode 100644
index 0000000..dd6f12b
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/Employee.java
@@ -0,0 +1,120 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.claimapp.employees;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.When;
+import org.apache.isis.tck.dom.claimapp.claims.Approver;
+import org.apache.isis.tck.dom.claimapp.claims.Claimant;
+
+public class Employee extends AbstractDomainObject implements Claimant, Approver {
+
+    // {{ Title
+    public String title() {
+        return getName();
+    }
+
+    // }}
+
+    // {{ Name
+    private String name;
+
+    @MemberOrder(sequence = "1")
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    public void modifyName(final String name) {
+        setName(name);
+    }
+
+    public void clearName() {
+        setName(null);
+    }
+
+    public boolean whetherHideName;
+
+    public boolean hideName() {
+        return whetherHideName;
+    }
+
+    public String reasonDisableName;
+
+    public String disableName() {
+        return reasonDisableName;
+    }
+
+    public String reasonValidateName;
+
+    public String validateName(final String name) {
+        return reasonValidateName;
+    }
+
+    // }}
+
+    // {{ Password
+    private String password;
+
+    @MemberOrder(sequence = "2")
+    @Disabled(when = When.ONCE_PERSISTED)
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(final String password) {
+        this.password = password;
+    }
+
+    // }}
+
+    // {{ Approver
+    private Approver approver;
+
+    @Override
+    @MemberOrder(sequence = "2")
+    public Approver getApprover() {
+        return approver;
+    }
+
+    public void setApprover(final Approver approver) {
+        this.approver = approver;
+    }
+
+    // }}
+
+    // {{ injected: EmployeeRepository
+    private EmployeeRepository employeeRepository;
+
+    public EmployeeRepository getEmployeeRepository() {
+        return employeeRepository;
+    }
+
+    public void setEmployeeRepository(final EmployeeRepository employeeRepository) {
+        this.employeeRepository = employeeRepository;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepository.java
new file mode 100644
index 0000000..773a674
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepository.java
@@ -0,0 +1,32 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.claimapp.employees;
+
+import java.util.List;
+
+import org.apache.isis.applib.annotation.Named;
+
+@Named("Employees")
+public interface EmployeeRepository {
+
+    public List<Employee> allEmployees();
+
+    public List<Employee> findEmployees(@Named("Name") String name);
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepositoryImpl.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepositoryImpl.java
new file mode 100644
index 0000000..9fc09b2
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/claimapp/employees/EmployeeRepositoryImpl.java
@@ -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.
+ */
+
+package org.apache.isis.tck.dom.claimapp.employees;
+
+import java.util.List;
+
+public class EmployeeRepositoryImpl implements EmployeeRepository {
+
+    @Override
+    public List<Employee> allEmployees() {
+        return null;
+    }
+
+    @Override
+    public List<Employee> findEmployees(final String name) {
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/HiddenRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/HiddenRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/HiddenRepository.java
new file mode 100644
index 0000000..9e9ab0d
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/HiddenRepository.java
@@ -0,0 +1,29 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.tck.dom.defaults;
+
+import org.apache.isis.applib.annotation.Hidden;
+
+@Hidden
+public class HiddenRepository {
+
+    public String someAction() {
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntity.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntity.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntity.java
new file mode 100644
index 0000000..78ae7b8
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntity.java
@@ -0,0 +1,112 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.defaults;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Title;
+
+public class WithDefaultsEntity extends AbstractDomainObject {
+
+    // {{ Name (string, title)
+    private String name;
+
+    @MemberOrder(sequence = "1")
+    @Title
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    public String defaultName() {
+        return "default-name";
+    }
+
+    // }}
+
+    // {{ Flag (boolean)
+    private boolean flag;
+
+    @MemberOrder(sequence = "1")
+    public boolean getFlag() {
+        return flag;
+    }
+
+    public void setFlag(final boolean flag) {
+        this.flag = flag;
+    }
+
+    public boolean defaultFlag() {
+        return true;
+    }
+
+    // }}
+
+    // {{ AnInt (int)
+    private int anInt;
+
+    @MemberOrder(sequence = "1")
+    public int getAnInt() {
+        return anInt;
+    }
+
+    public void setAnInt(final int anInt) {
+        this.anInt = anInt;
+    }
+
+    public int defaultAnInt() {
+        return 42;
+    }
+
+    // }}
+
+    // {{ Other (property)
+    private WithDefaultsEntity other;
+
+    @MemberOrder(sequence = "1")
+    public WithDefaultsEntity getOther() {
+        return other;
+    }
+
+    public void setOtherEntity(final WithDefaultsEntity withDefaultsEntity) {
+        this.other = withDefaultsEntity;
+    }
+
+    public WithDefaultsEntity defaultOther() {
+        final List<WithDefaultsEntity> list = repository.list();
+        return list.size() > 0 ? list.get(list.size() - 1) : null;
+    }
+
+    // }}
+
+    // {{ injected: WithDefaultsEntityRepository
+    private WithDefaultsEntityRepository repository;
+
+    public void setWithDefaultsEntityRepository(final WithDefaultsEntityRepository repository) {
+        this.repository = repository;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntityRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntityRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntityRepository.java
new file mode 100644
index 0000000..5aa2a35
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/defaults/WithDefaultsEntityRepository.java
@@ -0,0 +1,56 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.defaults;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.QueryOnly;
+import org.apache.isis.applib.filter.Filter;
+
+@Named("Simples")
+public class WithDefaultsEntityRepository extends AbstractFactoryAndRepository  {
+
+    @Override
+    public String getId() {
+        return "withDefaultsEntities";
+    }
+
+    @MemberOrder(sequence = "1")
+    @QueryOnly
+    public List<WithDefaultsEntity> list() {
+        final Filter<Object> filterPersistentOnly = new Filter<Object>() {
+
+            @Override
+            public boolean accept(final Object t) {
+                return getContainer().isPersistent(t);
+            }
+        };
+        return allMatches(WithDefaultsEntity.class, filterPersistentOnly);
+    }
+
+    @MemberOrder(sequence = "3")
+    public WithDefaultsEntity newTransientEntity() {
+        return newTransientInstance(WithDefaultsEntity.class);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Movie.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Movie.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Movie.java
new file mode 100644
index 0000000..ccecba6
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Movie.java
@@ -0,0 +1,68 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.movies;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import org.apache.isis.applib.annotation.ObjectType;
+
+@ObjectType("movies.MOVIE")
+public class Movie {
+
+    public String title() {
+        return name;
+    }
+
+    // {{ name: String 
+    private String name;
+    public String getName() {
+        return name;
+    }
+    public void setName(final String name) {
+        this.name = name;
+    }
+    // }}
+
+    // {{ director: Person 
+    private Person director;
+    public Person getDirector() {
+        return director;
+    }
+    public void setDirector(final Person director) {
+        this.director = director;
+    }
+    
+    // }}
+    
+    // {{ roles: List 
+    private final List<Role> roles = Lists.newArrayList();
+    public List<Role> getRoles() {
+        return roles;
+    }
+    public void addToRoles(final Role role) {
+        roles.add(role);
+    }
+    public void removeFromRoles(final Role role) {
+        roles.remove(role);
+    }
+    // }}
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/MovieDomainRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/MovieDomainRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/MovieDomainRepository.java
new file mode 100644
index 0000000..5852810
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/MovieDomainRepository.java
@@ -0,0 +1,50 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.movies;
+
+import java.util.List;
+
+import org.apache.isis.applib.DomainObjectContainer;
+
+public class MovieDomainRepository {
+    
+    public List<Person> allPersons() {
+        return container.allInstances(Person.class); 
+    }
+
+    public List<Movie> allMovies() {
+        return container.allInstances(Movie.class); 
+    }
+
+    public List<Role> allRoles() {
+        return container.allInstances(Role.class); 
+    }
+
+    
+    // {{ injected: DomainObjectContainer
+    private DomainObjectContainer container;
+
+    public void setDomainObjectContainer(final DomainObjectContainer container) {
+        this.container = container;
+    }
+    // }}
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Person.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Person.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Person.java
new file mode 100644
index 0000000..408402d
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Person.java
@@ -0,0 +1,54 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.movies;
+
+import java.util.Date;
+
+import org.apache.isis.applib.annotation.ObjectType;
+
+@ObjectType("movies.PERSON")
+public class Person {
+    
+    public String title() {
+        return name;
+    }
+
+    // {{ name: String
+    private String name;
+    public String getName() {
+        return name;
+    }
+    public void setName(final String name) {
+        this.name = name;
+    }
+    // }}
+    
+
+    // {{ Date: java.util.Date
+    private Date date;
+    public Date getDate() {
+        return date;
+    }
+    public void setDate(final Date date) {
+        this.date = date;
+    }
+    // }}
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Role.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Role.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Role.java
new file mode 100644
index 0000000..48c02bb
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/movies/Role.java
@@ -0,0 +1,54 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.tck.dom.movies;
+
+import org.apache.isis.applib.annotation.ObjectType;
+
+
+@ObjectType("movies.ROLE")
+public class Role {
+    
+    public String title() {
+        return name;
+    }
+
+    // {{ name: String
+    private String name;
+    public String getName() {
+        return name;
+    }
+    public void setName(final String name) {
+        this.name = name;
+    }
+    // }}
+    
+    
+    // {{ actor: Person
+    private Person actor;
+    public Person getActor() {
+        return actor;
+    }
+    public void setActor(final Person actor) {
+        this.actor = actor;
+    }
+    // }}
+
+
+}

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

http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/poly/EmptyEntityWithOwnProperty.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/poly/EmptyEntityWithOwnProperty.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/poly/EmptyEntityWithOwnProperty.java
new file mode 100644
index 0000000..03261ed
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/poly/EmptyEntityWithOwnProperty.java
@@ -0,0 +1,36 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.tck.dom.poly;
+
+
+public class EmptyEntityWithOwnProperty implements Empty {
+
+    // {{ Special: string
+    private String special;
+
+    public String getSpecial() {
+        return special;
+    }
+
+    public void setSpecial(final String special) {
+        this.special = special;
+    }
+    // }}
+    
+}
\ No newline at end of file