ISIS-1521: recreates simpleapp archetype

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

Branch: refs/heads/release-1.15.0-RC1
Commit: 4e81bd87e176b337f21b0a97a2897b8aba734ec3
Parents: f349ade
Author: Dan Haywood <d...@haywood-associates.co.uk>
Authored: Sun Aug 6 08:47:03 2017 +0100
Committer: Dan Haywood <d...@haywood-associates.co.uk>
Committed: Sun Aug 6 08:47:03 2017 +0100

----------------------------------------------------------------------
 example/archetype/simpleapp/pom.xml             |    78 +
 example/archetype/simpleapp/release.properties  |    13 +
 .../appended-resources/supplemental-models.xml  |    26 +
 .../META-INF/maven/archetype-metadata.xml       |   212 +
 .../archetype-resources/.gitattributes          |    51 +
 .../resources/archetype-resources/.gitignore    |    41 +
 .../resources/archetype-resources/README.adoc   |   244 +
 .../archetype-resources/_checks/checkstyle.xml  |   290 +
 .../archetype-resources/_checks/pmd.xml         |    49 +
 .../application/lib/.gitignore                  |     5 +
 .../application/logging-integtest.properties    |   114 +
 .../archetype-resources/application/pom.xml     |   123 +
 ...ainAppApplicationModuleFixtureSubmodule.java |    26 +
 ...nAppFixtureScriptsSpecificationProvider.java |    49 +
 .../fixture/scenarios/DomainAppDemo.java        |    51 +
 .../fixture/teardown/DomainAppTearDown.java     |    35 +
 .../manifest/DomainAppAppManifest.java          |    52 +
 .../DomainAppAppManifestBypassSecurity.java     |    32 +
 .../DomainAppAppManifestWithFixtures.java       |    39 +
 ...ppAppManifestWithFixturesBypassSecurity.java |    33 +
 ...inAppApplicationModuleServicesSubmodule.java |    26 +
 .../services/homepage/HomePageService.java      |    46 +
 .../services/homepage/HomePageViewModel.java    |    49 +
 .../homepage/HomePageViewModel.layout.xml       |    52 +
 .../services/homepage/HomePageViewModel.png     |   Bin 0 -> 456 bytes
 .../manifest/authentication_shiro.properties    |    28 +
 .../application/manifest/isis.properties        |   385 +
 .../manifest/persistor_datanucleus.properties   |   109 +
 .../manifest/viewer_restfulobjects.properties   |    67 +
 .../manifest/viewer_wicket.properties           |   182 +
 .../bdd/specglue/BootstrappingGlue.java         |    42 +
 .../bdd/specglue/CatalogOfFixturesGlue.java     |    34 +
 .../application/bdd/specs/RunIntegBddSpecs.java |    45 +
 .../SimpleObjectSpec_listAllAndCreate.feature   |    26 +
 .../integtests/DomainAppIntegTestAbstract.java  |    37 +
 .../application/integtests/Smoke_IntegTest.java |   113 +
 .../module-simple/.gitignore                    |     5 +
 .../module-simple/build.gradle                  |    72 +
 .../archetype-resources/module-simple/gradlew   |   164 +
 .../module-simple/gradlew.bat                   |    90 +
 .../module-simple/layouts.gradle                |    49 +
 .../module-simple/liveReload.gradle             |    56 +
 .../module-simple/logging-dn-enhance.properties |    44 +
 .../module-simple/logging-integtest.properties  |   114 +
 .../archetype-resources/module-simple/pom.xml   |   161 +
 .../src/main/java/META-INF/persistence.xml      |    29 +
 .../modules/simple/SimpleModuleManifest.java    |    44 +
 .../simple/dom/SimpleModuleDomSubmodule.java    |    33 +
 .../modules/simple/dom/impl/SimpleObject.java   |   133 +
 .../simple/dom/impl/SimpleObject.layout.xml     |    73 +
 .../modules/simple/dom/impl/SimpleObject.png    |   Bin 0 -> 653 bytes
 .../simple/dom/impl/SimpleObjectMenu.java       |    80 +
 .../simple/dom/impl/SimpleObjectRepository.java |    61 +
 .../fixture/SimpleModuleFixtureSubmodule.java   |    26 +
 .../fixture/scenario/CreateSimpleObjects.java   |    80 +
 .../fixture/scenario/SimpleObjectData.java      |    52 +
 .../fixture/teardown/SimpleModuleTearDown.java  |    39 +
 .../dom/impl/SimpleObjectRepository_Test.java   |   128 +
 .../simple/dom/impl/SimpleObject_Test.java      |    52 +
 .../SimpleModuleIntegTestAbstract.java          |    37 +
 .../tests/SimpleObjectMenu_IntegTest.java       |   150 +
 .../tests/SimpleObject_IntegTest.java           |   162 +
 .../simple/specglue/SimpleObjectMenuGlue.java   |    56 +
 .../archetype-resources/pom-jdo-enhance-all.xml |    92 +
 .../main/resources/archetype-resources/pom.xml  |   184 +
 .../archetype-resources/webapp/lib/.gitignore   |     5 +
 .../archetype-resources/webapp/pom.xml          |   235 +
 .../domainapp/webapp/DomainApplication.java     |    93 +
 .../webapp/DomainApplication.properties         |    31 +
 .../src/main/java/domainapp/webapp/welcome.html |    43 +
 .../src/main/jettyconsole/isis-banner.pdn       |   Bin 0 -> 64162 bytes
 .../src/main/jettyconsole/isis-banner.png       |   Bin 0 -> 27310 bytes
 .../src/main/webapp/WEB-INF/isis.properties     |   129 +
 .../src/main/webapp/WEB-INF/logging.properties  |   232 +
 .../webapp/src/main/webapp/WEB-INF/shiro.ini    |    93 +
 .../src/main/webapp/WEB-INF/translations-en.po  |   674 +
 .../src/main/webapp/WEB-INF/translations-es.po  |   673 +
 .../src/main/webapp/WEB-INF/translations-nl.po  |   674 +
 .../src/main/webapp/WEB-INF/translations.po     |   673 +
 .../webapp/src/main/webapp/WEB-INF/web.xml      |   357 +
 .../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  |    19 +
 .../src/main/webapp/images/spinning-icon.gif    |   Bin 0 -> 5266 bytes
 .../src/main/webapp/scripts/application.js      |     3 +
 .../src/main/webapp/swagger-ui/00-README.md     |     5 +
 .../src/main/webapp/swagger-ui/css/print.css    |     1 +
 .../src/main/webapp/swagger-ui/css/reset.css    |     1 +
 .../src/main/webapp/swagger-ui/css/screen.css   |     1 +
 .../src/main/webapp/swagger-ui/css/style.css    |     1 +
 .../main/webapp/swagger-ui/css/typography.css   |     0
 .../webapp/swagger-ui/fonts/DroidSans-Bold.ttf  |   Bin 0 -> 42480 bytes
 .../main/webapp/swagger-ui/fonts/DroidSans.ttf  |   Bin 0 -> 41028 bytes
 .../main/webapp/swagger-ui/images/collapse.gif  |   Bin 0 -> 69 bytes
 .../main/webapp/swagger-ui/images/expand.gif    |   Bin 0 -> 73 bytes
 .../webapp/swagger-ui/images/explorer_icons.png |   Bin 0 -> 5115 bytes
 .../webapp/swagger-ui/images/favicon-16x16.png  |   Bin 0 -> 445 bytes
 .../webapp/swagger-ui/images/favicon-32x32.png  |   Bin 0 -> 1141 bytes
 .../main/webapp/swagger-ui/images/favicon.ico   |   Bin 0 -> 5430 bytes
 .../webapp/swagger-ui/images/logo_small.png     |   Bin 0 -> 455 bytes
 .../webapp/swagger-ui/images/pet_store_api.png  |   Bin 0 -> 631 bytes
 .../main/webapp/swagger-ui/images/throbber.gif  |   Bin 0 -> 9257 bytes
 .../webapp/swagger-ui/images/wordnik_api.png    |   Bin 0 -> 670 bytes
 .../webapp/swagger-ui/index-ORIG-2.2.10.html    |   129 +
 .../src/main/webapp/swagger-ui/index.html       |   171 +
 .../src/main/webapp/swagger-ui/lang/ca.js       |    53 +
 .../src/main/webapp/swagger-ui/lang/el.js       |    56 +
 .../src/main/webapp/swagger-ui/lang/en.js       |    56 +
 .../src/main/webapp/swagger-ui/lang/es.js       |    53 +
 .../src/main/webapp/swagger-ui/lang/fr.js       |    54 +
 .../src/main/webapp/swagger-ui/lang/geo.js      |    56 +
 .../src/main/webapp/swagger-ui/lang/it.js       |    52 +
 .../src/main/webapp/swagger-ui/lang/ja.js       |    56 +
 .../src/main/webapp/swagger-ui/lang/ko-kr.js    |    53 +
 .../src/main/webapp/swagger-ui/lang/pl.js       |    53 +
 .../src/main/webapp/swagger-ui/lang/pt.js       |    53 +
 .../src/main/webapp/swagger-ui/lang/ru.js       |    56 +
 .../src/main/webapp/swagger-ui/lang/tr.js       |    53 +
 .../main/webapp/swagger-ui/lang/translator.js   |    39 +
 .../src/main/webapp/swagger-ui/lang/zh-cn.js    |    56 +
 .../main/webapp/swagger-ui/lib/backbone-min.js  |     1 +
 .../src/main/webapp/swagger-ui/lib/es5-shim.js  |     1 +
 .../webapp/swagger-ui/lib/handlebars-4.0.5.js   |     3 +
 .../swagger-ui/lib/highlight.9.1.0.pack.js      |     1 +
 .../lib/highlight.9.1.0.pack_extended.js        |     1 +
 .../webapp/swagger-ui/lib/jquery-1.8.0.min.js   |     3 +
 .../webapp/swagger-ui/lib/jquery.ba-bbq.min.js  |     1 +
 .../webapp/swagger-ui/lib/jquery.slideto.min.js |     1 +
 .../webapp/swagger-ui/lib/jquery.wiggle.min.js  |     1 +
 .../main/webapp/swagger-ui/lib/js-yaml.min.js   |     2 +
 .../webapp/swagger-ui/lib/jsoneditor.min.js     |     5 +
 .../main/webapp/swagger-ui/lib/lodash.min.js    |     2 +
 .../src/main/webapp/swagger-ui/lib/marked.js    |     1 +
 .../swagger-ui/lib/object-assign-pollyfill.js   |     1 +
 .../webapp/swagger-ui/lib/sanitize-html.min.js  |     4 +
 .../main/webapp/swagger-ui/lib/swagger-oauth.js |     1 +
 .../webapp/src/main/webapp/swagger-ui/o2c.html  |    23 +
 .../src/main/webapp/swagger-ui/swagger-ui.js    | 25344 +++++++++++++++++
 .../main/webapp/swagger-ui/swagger-ui.min.js    |    15 +
 .../projects/basic/archetype.properties         |     5 +
 .../src/test/resources/projects/basic/goal.txt  |     0
 141 files changed, 35648 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/pom.xml 
b/example/archetype/simpleapp/pom.xml
new file mode 100644
index 0000000..a852473
--- /dev/null
+++ b/example/archetype/simpleapp/pom.xml
@@ -0,0 +1,78 @@
+<?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>simpleapp-archetype</artifactId>
+    <version>1.15.0-SNAPSHOT</version>
+    <packaging>maven-archetype</packaging>
+    <name>simpleapp-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>
+    <description>This module defines a standard parent POM to use for various 
Incode applications and modules.  
+        Its primary purpose is to make it easy to use a set up maven mixins 
(https://github.com/odavid/maven-plugins)
+        within child POMs.  Specifically this means locking down the versions 
of plugins using pluginManagement.
+        
+        It does NOT define any mixins for Apache Isis.</description>
+    <url>https://github.com/incodehq/incode-build/simpleapp</url>
+    <developers>
+        <developer>
+            <id>danhaywood</id>
+            <name>Dan Haywood</name>
+            <email>d...@haywood-associates.co.uk</email>
+        </developer>
+    </developers>
+    <licenses>
+        <license>
+            <name>The Apache Software License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+    <scm>
+        
<connection>scm:git:g...@github.com:incodehq/incode-build.git/simpleapp</connection>
+        
<developerConnection>scm:git:g...@github.com:incodehq/incode-build.git/simpleapp</developerConnection>
+        <url>g...@github.com:incodehq/incode-build.git/simpleapp</url>
+    </scm>
+    <parent>
+        <groupId>org.apache.isis.core</groupId>
+        <artifactId>isis</artifactId>
+        <version>1.15.0</version>
+        <relativePath>../../../core/pom.xml</relativePath>
+    </parent>
+    <properties>
+        <archetype.test.skip>true</archetype.test.skip>
+    </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/release.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/release.properties 
b/example/archetype/simpleapp/release.properties
new file mode 100644
index 0000000..ced3b27
--- /dev/null
+++ b/example/archetype/simpleapp/release.properties
@@ -0,0 +1,13 @@
+#release configuration
+#Sun Aug 06 08:44:44 BST 2017
+scm.tagNameFormat=@{project.artifactId}-@{project.version}
+scm.tag=simpleapp-archetype-1.15.0
+pushChanges=false
+scm.url=scm\:git\:g...@github.com\:incodehq/incode-build.git/simpleapp
+preparationGoals=clean install
+remoteTagging=true
+projectVersionPolicyId=default
+scm.commentPrefix=[maven-release-plugin] 
+exec.snapshotReleasePluginAllowed=false
+exec.additionalArguments=-Papache-release  -P gpg,apache-release
+completedPhase=check-poms

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/appended-resources/supplemental-models.xml
 
b/example/archetype/simpleapp/src/main/appended-resources/supplemental-models.xml
new file mode 100644
index 0000000..01c58d8
--- /dev/null
+++ 
b/example/archetype/simpleapp/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/4e81bd87/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
 
b/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 0000000..bb3c767
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<archetype-descriptor 
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0";
 name="simpleapp" 
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";>
+    <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+            <directory>_checks</directory>
+            <includes>
+                <include>**/*.xml</include>
+            </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+            <directory>modules/module-simple</directory>
+            <includes>
+                <include>**/*.txt</include>
+                <include>**/*.java</include>
+                <include>**/*.xml</include>
+                <include>**/*.properties</include>
+            </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+            <directory>modules/module-simple</directory>
+            <includes>
+                <include>**/*.pot</include>
+                <include>**/*.png</include>
+                <include>**/*.jar</include>
+                <include>**/*.lst</include>
+                <include>**/*.class</include>
+            </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+            <directory/>
+            <includes>
+                <include>pom-jdo-enhance-all.xml</include>
+            </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+            <directory/>
+            <includes>
+                <include>.gitattributes</include>
+                <include>.gitignore</include>
+                <include>README.adoc</include>
+            </includes>
+        </fileSet>
+    </fileSets>
+    <modules>
+        <module name="${rootArtifactId}-module-simple" 
id="${rootArtifactId}-module-simple" dir="module-simple">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                        <include>**/*.xml</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.png</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>logging-dn-enhance.properties</include>
+                        <include>logging-integtest.properties</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory/>
+                    <includes>
+                        <include>.gitignore</include>
+                        <include>build.gradle</include>
+                        <include>gradlew</include>
+                        <include>gradlew.bat</include>
+                        <include>layouts.gradle</include>
+                        <include>liveReload.gradle</include>
+                        <include>translations.pot</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+        <module name="${rootArtifactId}-application" 
id="${rootArtifactId}-application" dir="application">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                        <include>**/*.xml</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.png</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/resources</directory>
+                    <includes>
+                        <include>**/*.properties</include>
+                    </includes>
+                </fileSet>
+                <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 encoding="UTF-8">
+                    <directory>lib</directory>
+                    <includes>
+                        <include>**/*.gitignore</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory/>
+                    <includes>
+                        <include>logging-integtest.properties</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory/>
+                    <includes>
+                        <include>translations.pot</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+        <module name="${rootArtifactId}-webapp" id="${rootArtifactId}-webapp" 
dir="webapp">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                        <include>**/*.html</include>
+                        <include>**/*.properties</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 encoding="UTF-8">
+                    <directory>src/main/resources</directory>
+                    <includes>
+                        <include>**/*.</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>**/*.css</include>
+                        <include>**/*.ico</include>
+                        <include>**/*.gif</include>
+                        <include>**/*.ini</include>
+                        <include>**/*.md</include>
+                        <include>**/*.ttf</include>
+                        <include>**/*.png</include>
+                        <include>**/*.js</include>
+                        <include>**/*.po</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>lib</directory>
+                    <includes>
+                        <include>**/*.gitignore</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+    </modules>
+</archetype-descriptor>

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitattributes
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitattributes
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitattributes
new file mode 100644
index 0000000..b1eafb6
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitattributes
@@ -0,0 +1,51 @@
+#
+#
+# text files are normalized (convert crlf => lf)
+# binary files are not normalized (binary is a macro for -text -diff)
+#
+#
+
+
+# Unless otherwise stated, assume text
+
+* text=auto
+
+
+*.java text diff=java
+*.html text diff=html
+*.xhtml text diff=html
+*.xml text
+*.txt text
+
+
+*.jar binary
+*.so binary
+*.dll binary
+
+# images
+*.jpg binary
+*.jpeg binary
+*.png binary
+*.pdn binary
+*.pdn binary
+
+
+*.cs     text diff=csharp
+
+*.sln    merge=union
+*.csproj merge=union
+*.vbproj merge=union
+*.fsproj merge=union
+*.dbproj merge=union
+
+*.doc   diff=astextplain
+*.DOC   diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot  diff=astextplain
+*.DOT  diff=astextplain
+*.pdf  diff=astextplain
+*.PDF   diff=astextplain
+*.rtf   diff=astextplain
+*.RTF   diff=astextplain
+

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitignore
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitignore 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitignore
new file mode 100644
index 0000000..e859485
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitignore
@@ -0,0 +1,41 @@
+*~
+*.swp
+*.class
+bin/
+target/
+target-ide/
+logs/
+.settings/
+.project
+.classpath
+.idea
+*.iml
+
+build/
+
+JArchitectOut/
+*.jdproj
+
+neo4j_DB/
+
+# log files
+datanucleus.log
+isis.log
+i18n-po.log
+hs_err_pid*.log
+
+# Package Files #
+*.war
+*.ear
+
+dependency-reduced-pom.xml
+pom.xml.tag
+pom.xml.next
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+
+.clover/
+
+
+rebel.xml
+translations.pot

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
new file mode 100644
index 0000000..d52423d
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
@@ -0,0 +1,244 @@
+= SimpleApp
+
+This application was generated by the link:http://isis.apache.org[Apache Isis] 
link:http://isis.apache.org/guides/ugfun.html#_ugfun_getting-started_simpleapp-archetype[simpleapp
 archetype].
+It is intended as a starting point for developing your own applications.
+
+== Quick start
+
+Build using:
+
+[source,bash]
+----
+mvn clean install
+----
+
+Run using:
+
+[source,bash]
+----
+mvn -pl webapp jetty:run
+----
+
+Login using: 
+
+* username: `sven`
+* password: `pass`
+
+The app runs with HSQLDB running in-memory, with sample data set up using 
link:https://isis.apache.org/guides/ugtst.html#_ugtst_fixture-scripts[fixture 
scripts].
+
+
+
+== Application Structure
+
+The following table explains the contents of each of the directories:
+
+[width="100%",options="header,footer", cols="2a,4a"]
+|====================
+|Directory
+|Description
+
+|`application`
+|Defines application-level classes such as menus and the ``AppManifest`` 
(which defines the modules that make up the application).
+It also  holds application-wide integration tests/BDD specs.
+
+|`module-simple`
+|Holds the "simple" module, consisting of the `SimpleObject` entity and 
supporting repository, along with module-specific unit- and integration tests.
+Also runs `isis:validate` goal for the domain objects within the module. +
+
+[TIP]
+====
+Larger applications should consist of multiple modules; each such module can 
be copied from this starter module.
+====
+
+|`webapp`
+|Assembles the application into a webapp (comprising both the Wicket viewer 
and Restful Objects viewer) and also as a docker image, and runs the 
`isis:swagger` goal.
+
+|`_checks`
+|Checkstyle and PMD rule sets for static analysis.
+
+[TIP]
+====
+Extend/adapt these according to your own standards.
+====
+
+
+|====================
+
+== More advanced use cases
+
+* To enhance all JDO entities prior to running: +
++
+[source,bash]
+----
+mvn -f pom-jdo-enhance-all.xml datanucleus:enhance
+----
+
+* To also generate the link:https://github.com/eirbjo/jetty-console[Jetty 
console], allowing the application to run as a standalone JAR: +
++
+[source,bash]
+----
+mvn install -Dmavenmixin-jettyconsole
+----
++
+This can then be run using: +
++
+[source,bash]
+----
+cd webapp/target && java -jar simpleapp-webapp-xxx-jetty-console.war
+----
++
+Add additional arguments ``--headless`` or ``--port 9999``, if required.
++
+It can also be run using: +
++
+[source,bash]
+----
+mvn -pl webapp && mvn antrun:run -Dmavenmixin-jettyconsole
+----
++
+or to specify arguments:
++
+[source,bash]
+----
+mvn -pl webapp && mvn antrun:run -Dmavenmixin-jettyconsole \
+    -Dmaven-antrun-plugin.jettyconsole.args="--headless --port 9090"
+----
+
+
+* To also generate source and javadoc JARs:
++
+[source,bash]
+----
+mvn clean package -Dmavenmixin-sourceandjavadoc
+----
++
+[NOTE]
+====
+This is configured only for the `module-simple` module.
+====
+
+* To create the website (for the `module-simple` module) with source/javadoc 
and static analysis:
++
+[source,bash]
+----
+mvn -pl module-simple site -Dmavenmixin-sourceandjavadoc 
-Dmavenmixin-staticanalysis
+----
++
+[NOTE]
+====
+This is intended to run only for the `module-simple` module, and will generate 
a website under`target/site/index.html`.
+====
+
+
+* To disable the running of unit tests: +
++
+[source,bash]
+----
+mvn -DskipUTs 
+----
++
+[TIP]
+====
+By default, output of unit tests are in  `target/surefire-unittest-reports` 
(in the ``module-simple`` modules).
+====
+
+* To disable the running of integration tests: +
++
+[source,bash]
+----
+mvn -DskipITs 
+----
++
+[TIP]
+====
+By default, output of integration tests are in  
`target/surefire-integtest-reports` (in the ``application`` and 
``module-simple`` modules).
+====
+
+* To disable the running of BDD specs: +
++
+[source,bash]
+----
+mvn -DskipBSs 
+----
++
+[TIP]
+====
+By default, output of integration tests are in  
`target/surefire-integbddspecs-reports` (in the ``application`` module).
+====
+
+* To disable the running of all tests and BDD specs: +
++
+[source,bash]
+----
+mvn -DskipTests 
+----
+
+* To disable the running of the `isis:validate` goal: +
++
+[source,bash]
+----
+mvn -Dskip.mavenmixin-isisvalidate  
+----
+
+
+* To disable the generation of cucumber reports: +
++
+[source,bash]
+----
+mvn -Dskip.mavenmixin-cucumberreporting
+----
++
+[TIP]
+====
+By default, cucumber reports are generated at 
`target/cucumber-html-reports/overview-features.html` (in the ``application`` 
module).
+====
+
+* To disable the running of the `isis:swagger` goal:
++
+[source,bash]
+----
+mvn -Dskip.mavenmixin-isisswagger
+----
++
+[TIP]
+====
+By default, Swagger schema definition files are generated at 
`target/generated-resources/isis-swagger` (in the ``webapp`` module).
+====
+
+* To package up the application as a docker image (specifying the docker image 
name as a system property): +
++
+[source,bash]
+----
+mvn install -Dmavenmixin-docker -Ddocker-plugin.imageName=mycompany/myapp
+----
++
+Alternatively, define the `${docker-plugin.imageName}` in the `webapp` module 
and use simply: +
++
+[source,bash]
+----
+mvn install -Dmavenmixin-docker
+----
++
+The packaged image can be viewed using `docker images`.
+
+* To run a docker image previously packaged: +
++
+[source,bash]
+----
+docker container run -d -p 8080:8080 mycompany/myapp
+----
++
+This can then be accessed at link:http://localhost:8080[localhost:8080].
++
+See 
link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-consume[mavenmixin-docker]
 for further details on how to run docker images.
+
+* To upload the application as a docker image to 
link:https://hub.docker.com[docker hub] (or some other docker registry): +
++
+[source,bash]
+----
+mvn -pl webapp deploy -Dmavenmixin-docker
+----
++
+This assumes that the `${docker-plugin.imageName}` property has been defined, 
_and_ also that docker registry credentials have been specified in 
`~/.m2/settings.xml`.
+Once more, see 
link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-configure[mavenmixin-docker]
 for further details.
+

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/checkstyle.xml
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/checkstyle.xml
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/checkstyle.xml
new file mode 100644
index 0000000..1d57a99
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/checkstyle.xml
@@ -0,0 +1,290 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.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.
+-->
+<!DOCTYPE module PUBLIC
+    "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_1.dtd";>
+
+<!--
+
+  Checkstyle configuration that checks the sun coding conventions from:
+
+    - the Java Language Specification at
+      http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+    - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+    - the Javadoc guidelines at
+      http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+    - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+    - some best practices
+
+  Checkstyle is very configurable. Be sure to read the documentation at
+  http://checkstyle.sf.net (or in your downloaded distribution).
+
+  Most Checks are configurable, be sure to consult the documentation.
+
+  To completely disable a check, just comment it out or delete it from the 
file.
+
+  Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+    <!-- Checks that a package.html file exists for each package.     -->
+    <!-- See 
http://checkstyle.sf.net/config_javadoc.html${symbol_pound}PackageHtml -->
+    <module name="JavadocPackage"/>
+    <!--
+    -->
+
+    <!-- Checks whether files end with a new line.                        -->
+    <!-- See 
http://checkstyle.sf.net/config_misc.html${symbol_pound}NewlineAtEndOfFile -->
+        <!-- 
+    <module name="NewlineAtEndOfFile"/>
+         -->
+
+    <!-- Checks that property files contain the same keys.         -->
+    <!-- See 
http://checkstyle.sf.net/config_misc.html${symbol_pound}Translation -->
+    <module name="Translation"/>
+
+    <!--
+    eg:
+    //CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 
exceptions
+    catch (Exception e)
+    //CHECKSTYLE.ON: IllegalCatch 
+     -->
+    <module name="SuppressionCommentFilter">
+        <property name="offCommentFormat" 
value="CHECKSTYLE.OFF${symbol_escape}: 
([${symbol_escape}w${symbol_escape}|]+)"/>
+        <property name="onCommentFormat" value="CHECKSTYLE.ON${symbol_escape}: 
([${symbol_escape}w${symbol_escape}|]+)"/>
+        <property name="checkFormat" value="${symbol_dollar}1"/>
+    </module>
+
+    <!--
+    eg:
+    // CHECKSTYLE IGNORE check FOR NEXT 1 LINES
+    public void onClick(View view) { ... }     -->    
+    <module name="SuppressWithNearbyCommentFilter">
+        <property name="commentFormat" value="CHECKSTYLE.IGNORE 
(${symbol_escape}w+) FOR NEXT (${symbol_escape}d+) LINES"/>
+        <property name="checkFormat" value="${symbol_dollar}1"/>
+        <property name="influenceFormat" value="${symbol_dollar}2"/>
+    </module>
+
+    <module name="TreeWalker">
+
+        <property name="cacheFile" 
value="${symbol_dollar}{checkstyle.cache.file}"/>
+
+        <!-- not available in eclipse-cs
+        <module name="JavadocDeprecated"/>
+        -->
+        <module name="MissingOverride"/>
+        
+        <!-- ************************************************************** -->
+        <!-- Checks that are different from the sun coding conventions ones -->
+        <!-- ************************************************************** -->
+        <property name="tabWidth" value="4"/>
+        <module name="LeftCurly">
+          <property name="option" value="eol"/>
+        </module>
+        <module name="RightCurly">
+          <property name="option" value="same"/>
+        </module>
+        <module name="MemberName">
+          <property name="format" 
value="^[a-z]([a-zA-Z0-9])*${symbol_dollar}"/>
+        </module>
+        <module name="StaticVariableName">
+          <property name="format" value="^[A-Z](_?[A-Z0-9])*${symbol_dollar}"/>
+        </module>
+        <module name="MethodName">
+          <property name="format" 
value="[a-z](_?[a-zA-Z0-9]+)*${symbol_dollar}"/>
+        </module>
+        <module name="ParameterName">
+          <property name="format" 
value="[a-z]([a-zA-Z0-9]+)*${symbol_dollar}"/>
+        </module>
+        <module name="LocalVariableName">
+          <property name="format" 
value="[a-z]([a-zA-Z0-9]+)*${symbol_dollar}"/>
+        </module>
+        
+        <!-- ************************************************************** -->
+        <!-- Default Sun coding conventions checks                          -->
+        <!-- ************************************************************** -->
+
+        <!-- Checks for Javadoc comments.                     -->
+        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+     
+        <!-- TODO: instate at some point (though only for public methods   
+        <module name="JavadocType"/>
+        -->
+        <!-- 
+        <module name="JavadocMethod"/>
+        <module name="JavadocVariable"/>
+         -->
+
+
+        <!-- Checks for Naming Conventions.                  -->
+        <!-- See http://checkstyle.sf.net/config_naming.html -->
+        <module name="ConstantName"/>
+        <module name="PackageName"/>
+        <module name="TypeName"/>
+        <module name="LocalFinalVariableName"/>
+
+
+        <!-- Checks for Headers                              -->
+        <!-- See http://checkstyle.sf.net/config_header.html -->
+                <!--         
+        <module name="Header">
+         -->
+            <!-- The follow property value demonstrates the ability     -->
+            <!-- to have access to ANT properties. In this case it uses -->
+            <!-- the ${symbol_dollar}{basedir} property to allow Checkstyle to 
be run  -->
+            <!-- from any directory within a project.                   -->
+                    <!--             
+            <property name="headerFile" 
value="${symbol_dollar}{checkstyle.header.file}"/>
+        </module>
+         -->
+
+        <!-- Following interprets the header file as regular expressions. -->
+        <!-- <module name="RegexpHeader"/>                                -->
+
+
+        <!-- Checks for imports                              -->
+        <!-- See http://checkstyle.sf.net/config_import.html -->
+        <module name="AvoidStarImport"/>
+        <module name="IllegalImport"/>
+        <module name="RedundantImport"/>
+        <module name="UnusedImports"/>
+
+    
+        <!-- Checks for blocks. You know, those {}'s         -->
+        <!-- See http://checkstyle.sf.net/config_blocks.html -->
+        <module name="EmptyBlock"/>
+        <module name="NeedBraces"/>
+        <!-- 
+        <module name="AvoidNestedBlocks"/>
+         -->
+
+
+        <!-- Checks for common coding problems               -->
+        <!-- See http://checkstyle.sf.net/config_coding.html -->
+        <module name="EmptyStatement"/>
+        <module name="MagicNumber"/>
+        <module name="MissingSwitchDefault"/>
+        <module name="RedundantThrows"/>
+        <module name="SimplifyBooleanExpression"/>
+        <module name="SimplifyBooleanReturn"/>
+        
+        <!-- not supported in maven 
+        <module name="DoubleCheckedLocking"/>  
+         -->
+        <!-- 
+        <module name="AvoidInlineConditionals"/>
+        <module name="EqualsHashCode"/>
+        <module name="HiddenField"/>
+        <module name="IllegalInstantiation"/>
+        <module name="InnerAssignment"/>
+         -->
+
+        <!-- Checks for class design                         -->
+        <!-- See http://checkstyle.sf.net/config_design.html -->
+        <!-- 
+        
+        <module name="VisibilityModifier"/>
+         -->
+         <!-- too many violations... 
+         <module name="DesignForExtension"/>
+          -->
+         <module name="FinalClass"/>
+         <module name="HideUtilityClassConstructor"/>
+         <module name="InterfaceIsType"/>
+
+         
+         <module name="CyclomaticComplexity">
+            <property name="max" value="12"/>
+         </module>
+         <module name="NPathComplexity">
+            <property name="max" value="160"/>
+        </module>
+
+        <!-- Miscellaneous other checks.                   -->
+        <!-- See http://checkstyle.sf.net/config_misc.html -->
+        <!-- 
+        <module name="ArrayTypeStyle"/>
+        <module name="GenericIllegalRegexp">
+            <property name="format" 
value="${symbol_escape}s+${symbol_dollar}"/>
+            <property name="message" value="Line has trailing spaces."/>
+        </module>
+         -->
+         <!-- removed; we detect these in other ways. 
+        <module name="TodoComment"/>
+          -->
+        <module name="UpperEll"/>
+        <module name="FinalParameters"/>
+         
+        <!-- Checks for whitespace                               -->
+        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+        <!-- 
+        <module name="NoWhitespaceAfter"/>
+        <module name="NoWhitespaceBefore"/>
+        <module name="OperatorWrap"/>
+        <module name="ParenPad"/>
+        <module name="WhitespaceAfter"/>
+        <module name="WhitespaceAround"/>
+        <module name="TabCharacter"/>
+         -->
+        <module name="EmptyForIteratorPad"/>
+
+
+        <!-- Modifier Checks                                    -->
+        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+        <!-- 
+        <module name="ModifierOrder"/>
+        <module name="RedundantModifier"/>
+         -->
+         
+        <!-- Checks for Size Violations.                    -->
+        <!-- See http://checkstyle.sf.net/config_sizes.html -->
+         <module name="LineLength">
+            <property name="max" value="120"/>
+        </module>
+        <module name="MethodLength">
+            <property name="max" value="30"/>
+        </module>
+        <module name="ParameterNumber">
+            <property name="max" value="6"/>
+        </module>
+
+    </module>
+    
+    
+
+    <module name="FileLength">
+        <property name="max" value="1500"/>
+    </module>
+
+    <module name="FileTabCharacter">
+        <property name="eachLine" value="true"/>
+        <property name="fileExtensions" value="java,xml"/>
+    </module>
+
+</module>

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/pmd.xml
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/pmd.xml
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/pmd.xml
new file mode 100644
index 0000000..7f2e381
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/_checks/pmd.xml
@@ -0,0 +1,49 @@
+#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.
+-->
+<ruleset name="Maven Ruleset"
+  xmlns="http://pmd.sf.net/ruleset/1.0.0";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 
http://pmd.sf.net/ruleset_xml_schema.xsd";
+  xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd";>
+  
+  <!-- 
+    Customized PMD ruleset for Maven, see [0] for more information 
+    [0] http://pmd.sourceforge.net/howtomakearuleset.html
+  -->
+  
+  <description>
+    This ruleset checks the code for discouraged programming constructs.
+  </description>
+  
+  <rule ref="rulesets/java/basic.xml">
+    <exclude name="EmptyCatchBlock"/>
+  </rule>
+  <rule ref="rulesets/java/basic.xml/EmptyCatchBlock">
+    <properties>
+      <property name="allowCommentedBlocks" value="true"/>
+    </properties>
+  </rule>
+  
+  <rule ref="rulesets/java/unusedcode.xml"/>
+  <rule ref="rulesets/java/imports.xml"/>
+</ruleset>

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/lib/.gitignore
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/lib/.gitignore
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/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/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/logging-integtest.properties
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/logging-integtest.properties
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/logging-integtest.properties
new file mode 100644
index 0000000..088bbe4
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/logging-integtest.properties
@@ -0,0 +1,114 @@
+#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
+
+log4j.appender.translations-po=org.apache.log4j.FileAppender
+log4j.appender.translations-po.File=./translations.pot
+log4j.appender.translations-po.Append=false
+log4j.appender.translations-po.layout=org.apache.log4j.PatternLayout
+log4j.appender.translations-po.layout.ConversionPattern=%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
+${symbol_pound} the first two log the DML and DDL (if set to DEBUG)
+log4j.logger.DataNucleus.Datastore.Native=WARN, Console
+log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
+${symbol_pound} the remainder can probably be left to WARN
+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
+
+
+log4j.logger.org.apache.isis.core.runtime.services.i18n.po.PoWriter=INFO,translations-po
+log4j.additivity.org.apache.isis.core.runtime.services.i18n.po.PoWriter=false

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
new file mode 100644
index 0000000..6e95f1a
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
@@ -0,0 +1,123 @@
+<?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>SimpleApp Application</name>
+
+    <description>This defines the application (manifest) and runs 
application-level fixtures and integration (smoke) tests</description>
+
+    <packaging>jar</packaging>
+
+    <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>
+        <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>
+        <plugins>
+            <plugin>
+                <groupId>com.github.odavid.maven.plugins</groupId>
+                <artifactId>mixin-maven-plugin</artifactId>
+                <version>0.1-alpha-39</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <mixins>
+                        <mixin>
+                            <groupId>com.danhaywood.mavenmixin</groupId>
+                            <artifactId>standard</artifactId>
+                        </mixin>
+                        <mixin>
+                            <groupId>com.danhaywood.mavenmixin</groupId>
+                            <artifactId>enforcerrelaxed</artifactId>
+                        </mixin>
+                        <mixin>
+                            <groupId>com.danhaywood.mavenmixin</groupId>
+                            <artifactId>surefire</artifactId>
+                        </mixin>
+                        <mixin>
+                            <groupId>com.danhaywood.mavenmixin</groupId>
+                            <artifactId>cucumberreporting</artifactId>
+                        </mixin>
+                    </mixins>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${rootArtifactId}-module-simple</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-wrapper</artifactId>
+        </dependency>
+
+        <!-- test -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${rootArtifactId}-module-simple</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-testing</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppApplicationModuleFixtureSubmodule.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppApplicationModuleFixtureSubmodule.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppApplicationModuleFixtureSubmodule.java
new file mode 100644
index 0000000..10a5446
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppApplicationModuleFixtureSubmodule.java
@@ -0,0 +1,26 @@
+#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 domainapp.application.fixture;
+
+public final class DomainAppApplicationModuleFixtureSubmodule {
+    private DomainAppApplicationModuleFixtureSubmodule(){}
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
new file mode 100644
index 0000000..68db9e9
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.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 domainapp.application.fixture;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.fixturescripts.FixtureScripts;
+import org.apache.isis.applib.services.fixturespec.FixtureScriptsSpecification;
+import 
org.apache.isis.applib.services.fixturespec.FixtureScriptsSpecificationProvider;
+
+import domainapp.application.fixture.scenarios.DomainAppDemo;
+
+/**
+ * Specifies where to find fixtures, and other settings.
+ */
+@DomainService(
+        nature = NatureOfService.DOMAIN
+)
+public class DomainAppFixtureScriptsSpecificationProvider implements 
FixtureScriptsSpecificationProvider {
+    @Override
+    public FixtureScriptsSpecification getSpecification() {
+        return FixtureScriptsSpecification
+                .builder(DomainAppFixtureScriptsSpecificationProvider.class)
+                .with(FixtureScripts.MultipleExecutionStrategy.EXECUTE)
+                .withRunScriptDefault(DomainAppDemo.class)
+                
.withRunScriptDropDown(FixtureScriptsSpecification.DropDownPolicy.CHOICES)
+                .withRecreate(DomainAppDemo.class)
+                .build();
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
new file mode 100644
index 0000000..ecf258d
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.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 domainapp.application.fixture.scenarios;
+
+import javax.annotation.Nullable;
+
+import org.apache.isis.applib.fixturescripts.FixtureScript;
+
+import domainapp.application.fixture.teardown.DomainAppTearDown;
+import domainapp.modules.simple.fixture.scenario.CreateSimpleObjects;
+import lombok.Getter;
+import lombok.Setter;
+
+public class DomainAppDemo extends FixtureScript {
+
+    public DomainAppDemo() {
+        withDiscoverability(Discoverability.DISCOVERABLE);
+    }
+
+    @Nullable
+    @Getter @Setter
+    private Integer number;
+
+    @Override
+    protected void execute(final ExecutionContext ec) {
+
+        // execute
+        ec.executeChild(this, new DomainAppTearDown());
+        ec.executeChild(this, new CreateSimpleObjects().setNumber(number));
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/teardown/DomainAppTearDown.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/teardown/DomainAppTearDown.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/teardown/DomainAppTearDown.java
new file mode 100644
index 0000000..4f9e450
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/teardown/DomainAppTearDown.java
@@ -0,0 +1,35 @@
+#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 domainapp.application.fixture.teardown;
+
+import org.apache.isis.applib.fixturescripts.FixtureScript;
+
+import domainapp.modules.simple.fixture.teardown.SimpleModuleTearDown;
+
+public class DomainAppTearDown extends FixtureScript {
+
+    @Override
+    protected void execute(ExecutionContext executionContext) {
+        executionContext.executeChild(this, new SimpleModuleTearDown());
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
new file mode 100644
index 0000000..29945a6
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.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 domainapp.application.manifest;
+
+import org.apache.isis.applib.AppManifestAbstract;
+
+import 
domainapp.application.fixture.DomainAppApplicationModuleFixtureSubmodule;
+import 
domainapp.application.services.DomainAppApplicationModuleServicesSubmodule;
+import domainapp.modules.simple.dom.SimpleModuleDomSubmodule;
+
+/**
+ * Bootstrap the application.
+ */
+public class DomainAppAppManifest extends AppManifestAbstract {
+
+    public static final Builder BUILDER = Builder.forModules(
+                    SimpleModuleDomSubmodule.class,
+                    DomainAppApplicationModuleFixtureSubmodule.class,
+                    DomainAppApplicationModuleServicesSubmodule.class
+            )
+            .withConfigurationPropertiesFile(DomainAppAppManifest.class,
+                    "isis.properties",
+                    "authentication_shiro.properties",
+                    "persistor_datanucleus.properties",
+                    "viewer_restfulobjects.properties",
+                    "viewer_wicket.properties"
+            ).withAuthMechanism("shiro");
+
+    public DomainAppAppManifest() {
+        super(BUILDER);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestBypassSecurity.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestBypassSecurity.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestBypassSecurity.java
new file mode 100644
index 0000000..c9cbdc8
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestBypassSecurity.java
@@ -0,0 +1,32 @@
+#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 domainapp.application.manifest;
+
+/**
+ * Bypasses security, meaning any user/password combination can be used to 
login.
+ */
+public class DomainAppAppManifestBypassSecurity extends DomainAppAppManifest {
+
+    @Override protected String overrideAuthMechanism() {
+        return "bypass";
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixtures.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixtures.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixtures.java
new file mode 100644
index 0000000..d91b478
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixtures.java
@@ -0,0 +1,39 @@
+#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 domainapp.application.manifest;
+
+import java.util.List;
+
+import org.apache.isis.applib.fixturescripts.FixtureScript;
+
+import domainapp.modules.simple.fixture.scenario.CreateSimpleObjects;
+
+/**
+ * Run the app but without setting up any fixtures.
+ */
+public class DomainAppAppManifestWithFixtures extends DomainAppAppManifest {
+
+    @Override protected void overrideFixtures(final List<Class<? extends 
FixtureScript>> fixtureScripts) {
+        fixtureScripts.add(CreateSimpleObjects.class);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixturesBypassSecurity.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixturesBypassSecurity.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixturesBypassSecurity.java
new file mode 100644
index 0000000..48fdc02
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/manifest/DomainAppAppManifestWithFixturesBypassSecurity.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 domainapp.application.manifest;
+
+/**
+ * Bypasses security, meaning any user/password combination can be used to 
login.
+ */
+public class DomainAppAppManifestWithFixturesBypassSecurity extends 
DomainAppAppManifestWithFixtures {
+
+    @Override protected String overrideAuthMechanism() {
+        return "bypass";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/DomainAppApplicationModuleServicesSubmodule.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/DomainAppApplicationModuleServicesSubmodule.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/DomainAppApplicationModuleServicesSubmodule.java
new file mode 100644
index 0000000..61feb63
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/DomainAppApplicationModuleServicesSubmodule.java
@@ -0,0 +1,26 @@
+#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 domainapp.application.services;
+
+public final class DomainAppApplicationModuleServicesSubmodule {
+    private DomainAppApplicationModuleServicesSubmodule(){}
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
new file mode 100644
index 0000000..07efddb
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
@@ -0,0 +1,46 @@
+#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 domainapp.application.services.homepage;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.HomePage;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.services.factory.FactoryService;
+
+@DomainService(
+        nature = NatureOfService.DOMAIN, // trick to suppress the actions from 
the top-level menu
+        objectType = "homepage.HomePageService"
+)
+public class HomePageService {
+
+    @Action(semantics = SemanticsOf.SAFE)
+    @HomePage
+    public HomePageViewModel homePage() {
+        return factoryService.instantiate(HomePageViewModel.class);
+    }
+
+
+    @javax.inject.Inject
+    FactoryService factoryService;
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/4e81bd87/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
new file mode 100644
index 0000000..dfae89f
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.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 domainapp.application.services.homepage;
+
+import java.util.List;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.Nature;
+import org.apache.isis.applib.services.i18n.TranslatableString;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjectRepository;
+
+@DomainObject(
+        nature = Nature.VIEW_MODEL,
+        objectType = 
"domainapp.application.services.homepage.HomePageViewModel"
+)
+public class HomePageViewModel {
+
+    public TranslatableString title() {
+        return TranslatableString.tr("{num} objects", "num", 
getObjects().size());
+    }
+
+    public List<SimpleObject> getObjects() {
+        return simpleObjectRepository.listAll();
+    }
+
+    @javax.inject.Inject
+    SimpleObjectRepository simpleObjectRepository;
+}

Reply via email to