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

[2/5] ISIS-437: adding simple archetype

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature
new file mode 100644
index 0000000..aa7aeb6
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/specs/simple/SimpleObjectSpec_listAllAndCreate.feature
@@ -0,0 +1,37 @@
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+@SimpleObjectsFixture
+Feature: List and Create New Simple Objectts
+
+  # the scenario is listed twice here just to demonstrate that it
+  # can be run either at @unit-level scope (using mocks) or
+  # at @integration-level scope (against the running system).
+  
+  @unit
+  Scenario: Existing simple objects can be listed and new ones created
+    Given there are initially 3 simple objects
+    When  I create a new simple object
+    Then  there are 4 simple objects 
+
+
+  @integration
+  Scenario: Existing simple objects can be listed and new ones created
+    Given there are initially 3 simple objects
+    When  I create a new simple object
+    Then  there are 4 simple objects 
+
+    
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
new file mode 100644
index 0000000..b873906
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
@@ -0,0 +1,43 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package integration.tests;
+
+import integration.SimpleAppSystemInitializer;
+
+import org.junit.BeforeClass;
+
+import org.apache.isis.core.integtestsupport.IntegrationTestAbstract;
+import org.apache.isis.core.integtestsupport.scenarios.ScenarioExecutionForIntegration;
+
+public abstract class SimpleAppIntegTest extends IntegrationTestAbstract {
+
+    
+    @BeforeClass
+    public static void initClass() {
+        org.apache.log4j.PropertyConfigurator.configure("logging.properties");
+        SimpleAppSystemInitializer.initIsft();
+        
+        // instantiating will install onto ThreadLocal
+        new ScenarioExecutionForIntegration();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
new file mode 100644
index 0000000..af4b225
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
@@ -0,0 +1,72 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package integration.tests.smoke;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+import integration.tests.SimpleAppIntegTest;
+
+import java.util.List;
+
+import dom.simple.SimpleObject;
+import dom.simple.SimpleObjects;
+import fixture.simple.SimpleObjectsFixture;
+
+import org.joda.time.LocalDate;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.applib.clock.Clock;
+
+public class SimpleObjectsTest_listAll_and_create extends SimpleAppIntegTest {
+
+    private SimpleObjects simpleObjects;
+
+    @Before
+    public void setUp() throws Exception {
+
+        scenarioExecution().install(new SimpleObjectsFixture());
+        
+        simpleObjects = wrap(service(SimpleObjects.class));
+    }
+
+    
+    @Test
+    public void listAll() throws Exception {
+
+        final List<SimpleObject> all = simpleObjects.listAll();
+        assertThat(all.size(), is(3));
+        
+        SimpleObject simpleObject = wrap(all.get(0));
+        assertThat(simpleObject.getName(), is("Foo"));
+    }
+    
+    @Test
+    public void create() throws Exception {
+        
+        simpleObjects.create("Faz");
+        
+        final List<SimpleObject> all = simpleObjects.listAll();
+        assertThat(all.size(), is(4));
+    }
+
+}
\ No newline at end of file

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

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

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

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

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

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

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java
new file mode 100644
index 0000000..9c7a0e9
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ComponentFactoryRegistrarForSimpleApp.java
@@ -0,0 +1,36 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package webapp;
+
+import com.google.inject.Singleton;
+
+import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault;
+
+@Singleton
+public class ComponentFactoryRegistrarForSimpleApp extends ComponentFactoryRegistrarDefault {
+
+    @Override
+    public void addComponentFactories(ComponentFactoryList componentFactories) {
+        super.addComponentFactories(componentFactories);
+        // currently no replacements
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java
new file mode 100644
index 0000000..dee56ab
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/SimpleApplication.java
@@ -0,0 +1,145 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package webapp;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.google.common.base.Joiner;
+import com.google.common.io.Resources;
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+import com.google.inject.util.Modules;
+import com.google.inject.util.Providers;
+
+import org.apache.wicket.Session;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Response;
+import org.apache.wicket.request.http.WebRequest;
+
+import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
+import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
+import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault;
+
+
+/**
+ * As specified in <tt>web.xml</tt>.
+ * 
+ * <p>
+ * See:
+ * <pre>
+ * &lt;filter>
+ *   &lt;filter-name>wicket&lt;/filter-name>
+ *    &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
+ *    &lt;init-param>
+ *      &lt;param-name>applicationClassName&lt;/param-name>
+ *      &lt;param-value>webapp.SimpleApplication&lt;/param-value>
+ *    &lt;/init-param>
+ * &lt;/filter>
+ * </pre>
+ * 
+ */
+public class SimpleApplication extends IsisWicketApplication {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * uncomment for a (slightly hacky) way of allowing logins using query args, eg:
+     * 
+     * <tt>?user=sven&pass=pass</tt>
+     * 
+     * <p>
+     * for demos only, obvious.
+     */
+    private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
+    
+    @Override
+    public Session newSession(final Request request, final Response response) {
+        if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
+            return super.newSession(request, response);
+        } 
+        
+        // else demo mode
+        final AuthenticatedWebSessionForIsis s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
+        final org.apache.wicket.util.string.StringValue user = request.getRequestParameters().getParameterValue("user");
+        final org.apache.wicket.util.string.StringValue password = request.getRequestParameters().getParameterValue("pass");
+        s.signIn(user.toString(), password.toString());
+        return s;
+    }
+
+    @Override
+    public WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) {
+        if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
+            return super.newWebRequest(servletRequest, filterPath);
+        } 
+
+        // else demo mode
+        try {
+            String uname = servletRequest.getParameter("user");
+            if (uname != null) {
+                servletRequest.getSession().invalidate();
+            }
+        } catch (Exception e) {
+        }
+        WebRequest request = super.newWebRequest(servletRequest, filterPath);
+        return request;
+    }
+    
+    @Override
+    protected Module newIsisWicketModule() {
+        final Module isisDefaults = super.newIsisWicketModule();
+        
+        final Module quickstartOverrides = new AbstractModule() {
+            @Override
+            protected void configure() {
+                bind(ComponentFactoryRegistrar.class).to(ComponentFactoryRegistrarForSimpleApp.class);
+                
+                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Quick Start App");
+                bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
+                bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
+                bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines("welcome.html"));
+                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("QuickStart");
+                bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
+            }
+        };
+
+        return Modules.override(isisDefaults).with(quickstartOverrides);
+    }
+
+    private static String readLines(final String resourceName) {
+        try {
+            List<String> readLines = Resources.readLines(Resources.getResource(SimpleApplication.class, resourceName), Charset.defaultCharset());
+            final String aboutText = Joiner.on("${symbol_escape}n").join(readLines);
+            return aboutText;
+        } catch (IOException e) {
+            return "This is Quick Start";
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
new file mode 100644
index 0000000..6b0cf4e
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
@@ -0,0 +1,45 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package webapp.prototyping;
+
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Blob;
+import org.apache.isis.applib.value.Clob;
+import org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServiceDefault;
+
+/**
+ * These overrides are simply to 'move' the action underneath the 
+ * {@link SimpleObjectsFixturesService fixtures} menu.
+ */
+public class DeveloperUtilities extends DeveloperUtilitiesServiceDefault {
+
+    @MemberOrder(name="Prototyping", sequence="90")
+    @Override
+    public Clob downloadMetaModel() {
+        return super.downloadMetaModel();
+    }
+    
+    @MemberOrder(name="Prototyping", sequence="92")
+    @Override
+    public Blob downloadLayouts() {
+        return super.downloadLayouts();
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java
new file mode 100644
index 0000000..a9bbc0a
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/SimpleObjectsFixturesService.java
@@ -0,0 +1,66 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package webapp.prototyping;
+
+import java.util.List;
+
+import dom.simple.SimpleObject;
+import dom.simple.SimpleObjects;
+import fixture.simple.SimpleObjectsFixture;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Prototype;
+import org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Prototyping")
+public class SimpleObjectsFixturesService extends AbstractService {
+
+    @Prototype
+    public String installFixtures() {
+        final FixturesInstallerDelegate installer = new FixturesInstallerDelegate().withOverride();
+        installer.addFixture(new SimpleObjectsFixture());
+        installer.installFixtures();
+        return "Example fixtures installed";
+    }
+
+    // //////////////////////////////////////
+
+    @Prototype
+    public SimpleObject installFixturesAndReturnFirst() {
+        installFixtures();
+        List<SimpleObject> all = simpleObjects.listAll();
+        return !all.isEmpty() ? all.get(0) : null;
+    }
+
+    
+    // //////////////////////////////////////
+
+    private SimpleObjects simpleObjects;
+    public void injectSimpleObjects(SimpleObjects simpleObjects) {
+        this.simpleObjects = simpleObjects;
+    }
+
+}

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

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

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

http://git-wip-us.apache.org/repos/asf/isis/blob/858a04b9/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..9a568b0
--- /dev/null
+++ b/example/archetype/simple_wicket_restful_jdo/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
@@ -0,0 +1,28 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#         http://www.apache.org/licenses/LICENSE-2.0
+#         
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+
+#
+# configuration file for the file-based authentication
+# not used by the onlinedemo
+#
+
+# list of users, and their password, and optionally roles
+sven:pass:org.apache.isis.viewer.wicket.roles.USER
+dick:pass:org.apache.isis.viewer.wicket.roles.USER
+bob:pass:org.apache.isis.viewer.wicket.roles.USER
+joe:pass:org.apache.isis.viewer.wicket.roles.USER
\ No newline at end of file

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

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

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