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 2017/08/06 09:22:04 UTC
[24/45] isis git commit: ISIS-1521: recreates simpleapp archetype
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 <da...@haywood-associates.co.uk>
Authored: Sun Aug 6 08:47:03 2017 +0100
Committer: Dan Haywood <da...@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>dan@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:git@github.com:incodehq/incode-build.git/simpleapp</connection>
+ <developerConnection>scm:git:git@github.com:incodehq/incode-build.git/simpleapp</developerConnection>
+ <url>git@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\:git@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;
+}