You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/06 12:09:54 UTC
[4/51] [partial] ISIS-188: moving components into correct directories.
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-bdd/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-bdd/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-bdd/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html
new file mode 100644
index 0000000..1325b09
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-bdd/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html
@@ -0,0 +1,166 @@
+#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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "file:src/test/resources/dtd/xhtml1-strict.dtd">
+<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:concordion="http://www.concordion.org/2007/concordion"
+ xmlns:isis="http://isis.apache.org/2010/concordion">
+<link href="../../concordion.css" rel="stylesheet" type="text/css" />
+<body>
+
+<h1>Mark Item As Done</h1>
+
+<div class="example">
+
+<h2>Given</h2>
+<p>
+Given <a concordion:run="concordion"
+ href="Fixture.html">this fixture</a></p>
+
+<p>Locate to-do item:</p>
+<table
+ isis:execute="${symbol_pound}result=usingIsisViewerThatArgs(${symbol_pound}onObject, ${symbol_pound}aliasResultAs, ${symbol_pound}perform, ${symbol_pound}onMember, ${symbol_pound}thatIt, ${symbol_pound}value)">
+ <tr>
+ <th concordion:set="${symbol_pound}onObject">on object</th>
+ <th concordion:set="${symbol_pound}aliasResultAs">alias result as</th>
+ <th concordion:set="${symbol_pound}perform">perform</th>
+ <th concordion:set="${symbol_pound}onMember">on member</th>
+ <th concordion:assertEquals="${symbol_pound}result" />
+ </tr>
+ <tr>
+ <td>toDoItems</td>
+ <td>listOfItemsBefore</td>
+ <td>invoke action</td>
+ <td>not yet done</td>
+ <td>ok</td>
+ </tr>
+</table>
+
+<p
+ concordion:execute="${symbol_pound}result=aliasItemsInList(${symbol_pound}listAlias, ${symbol_pound}title, ${symbol_pound}aliasAs)">
+... and then alias the '<span concordion:set="${symbol_pound}title">Buy milk</span>' item in the returned <span
+ concordion:set="${symbol_pound}listAlias">listOfItemsBefore</span> as <span
+ concordion:set="${symbol_pound}aliasAs">buyMilkItem</span>; <span
+ concordion:assertEquals="${symbol_pound}result">ok</span>.</p>
+
+<p>Confirm to-do item is not done:</p>
+<table
+ isis:execute="${symbol_pound}result=usingIsisViewerThatArgs(${symbol_pound}onObject, ${symbol_pound}aliasResultAs, ${symbol_pound}perform, ${symbol_pound}onMember, ${symbol_pound}thatIt, ${symbol_pound}value)">
+ <tr>
+ <th concordion:set="${symbol_pound}onObject">on object</th>
+ <th concordion:set="${symbol_pound}aliasResultAs">alias result as</th>
+ <th concordion:set="${symbol_pound}perform">perform</th>
+ <th concordion:set="${symbol_pound}onMember">on member</th>
+ <th concordion:set="${symbol_pound}thatIt">that it</th>
+ <th concordion:set="${symbol_pound}value">value</th>
+ <th concordion:assertEquals="${symbol_pound}result" />
+ </tr>
+ <tr>
+ <td>buyMilkItem</td>
+ <td></td>
+ <td>check property</td>
+ <td>done</td>
+ <td>is</td>
+ <td>False</td>
+ <td>ok</td>
+ </tr>
+</table>
+
+
+
+<h2>When</h2>
+
+<p>Mark as done</p>
+<table
+ isis:execute="${symbol_pound}result=usingIsisViewerThatArgs(${symbol_pound}onObject, ${symbol_pound}aliasResultAs, ${symbol_pound}perform, ${symbol_pound}onMember, ${symbol_pound}thatIt, ${symbol_pound}value)">
+ <tr>
+ <th concordion:set="${symbol_pound}onObject">on object</th>
+ <th concordion:set="${symbol_pound}aliasResultAs">alias result as</th>
+ <th concordion:set="${symbol_pound}perform">perform</th>
+ <th concordion:set="${symbol_pound}onMember">on member</th>
+ <th concordion:assertEquals="${symbol_pound}result" />
+ </tr>
+ <tr>
+ <td>buyMilkItem</td>
+ <td></td>
+ <td>invoke action</td>
+ <td>mark as done</td>
+ <td>ok</td>
+ </tr>
+</table>
+
+<h2>Then</h2>
+<p>Confirm item is done...</p>
+<table
+ isis:execute="${symbol_pound}result=usingIsisViewerThatArgs(${symbol_pound}onObject, ${symbol_pound}aliasResultAs, ${symbol_pound}perform, ${symbol_pound}onMember, ${symbol_pound}thatIt, ${symbol_pound}value)">
+ <tr>
+ <th concordion:set="${symbol_pound}onObject">on object</th>
+ <th concordion:set="${symbol_pound}aliasResultAs">alias result as</th>
+ <th concordion:set="${symbol_pound}perform">perform</th>
+ <th concordion:set="${symbol_pound}onMember">on member</th>
+ <th concordion:set="${symbol_pound}thatIt">that it</th>
+ <th concordion:set="${symbol_pound}value">value</th>
+ <th concordion:assertEquals="${symbol_pound}result" />
+ </tr>
+ <tr>
+ <td>buyMilkItem</td>
+ <td></td>
+ <td>check property</td>
+ <td>done</td>
+ <td>is</td>
+ <td>True</td>
+ <td>ok</td>
+ </tr>
+</table>
+
+<p>... and that when the list of items is obtained again...</p>
+<table
+ isis:execute="${symbol_pound}result=usingIsisViewerThatArgs(${symbol_pound}onObject, ${symbol_pound}aliasResultAs, ${symbol_pound}perform, ${symbol_pound}onMember, ${symbol_pound}thatIt, ${symbol_pound}value)">
+ <tr>
+ <th concordion:set="${symbol_pound}onObject">on object</th>
+ <th concordion:set="${symbol_pound}aliasResultAs">alias result as</th>
+ <th concordion:set="${symbol_pound}perform">perform</th>
+ <th concordion:set="${symbol_pound}onMember">on member</th>
+ <th concordion:assertEquals="${symbol_pound}result" />
+ </tr>
+ <tr>
+ <td>toDoItems</td>
+ <td>listOfItemsAfter</td>
+ <td>invoke action</td>
+ <td>not yet done</td>
+ <td>ok</td>
+ </tr>
+</table>
+
+<p concordion:execute="${symbol_pound}result=checkCollectionDoesNotContain(${symbol_pound}listAlias,${symbol_pound}alias)">
+... then the <span concordion:set="${symbol_pound}alias">buyMilkItem</span> is no
+longer in that list (<span concordion:set="${symbol_pound}listAlias">listOfItemsAfter</span>);
+ <span concordion:assertEquals="${symbol_pound}result">ok</span>.
+</p>
+
+<!-- uncomment the line below to run up the DnD viewer -->
+<!--
+<p concordion:execute="runViewer()">run viewer</p>
+--></div>
+
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/isis.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/isis.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/isis.properties
new file mode 100644
index 0000000..31ce91d
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/isis.properties
@@ -0,0 +1,32 @@
+#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.
+isis.services.prefix = objstore.dflt
+isis.services = todo.ToDoItemsDefault
+
+isis.fixtures.prefix= fixture
+isis.fixtures= LogonAsSvenFixture,todo.ToDoItemsFixture
+
+isis.exploration.users=sven, dick, bob
+
+isis.reflector.class-substitutor=org.apache.isis.runtimes.dflt.bytecode.dflt.classsubstitutor.CglibClassSubstitutor
+isis.persistor.object-factory=org.apache.isis.runtimes.dflt.bytecode.dflt.objectfactory.CglibObjectFactory
+
+isis.user-profile-store=in-memory
+isis.persistor=in-memory
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/pom.xml
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/pom.xml b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/pom.xml
new file mode 100644
index 0000000..622b547
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/pom.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>${groupId}</groupId>
+ <artifactId>${rootArtifactId}</artifactId>
+ <version>${version}</version>
+ </parent>
+
+ <artifactId>${artifactId}</artifactId>
+ <name>Quickstart JUnit Tests</name>
+
+ <dependencies>
+
+ <!-- this project's dependencies -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${rootArtifactId}-fixture</artifactId>
+ <version>${version}</version>
+ </dependency>
+
+ <!-- isis -->
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>runtime</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.profilestores</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.progmodels</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
+ <artifactId>file</artifactId>
+ </dependency>
+
+ <!-- isis viewers -->
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/AbstractTest.java
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/AbstractTest.java b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/AbstractTest.java
new file mode 100644
index 0000000..4873af7
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/AbstractTest.java
@@ -0,0 +1,103 @@
+#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 junit;
+
+import dom.todo.ToDoItems;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.runner.RunWith;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.progmodel.wrapper.applib.WrapperFactory;
+import org.apache.isis.progmodel.wrapper.applib.WrapperObject;
+import org.apache.isis.viewer.junit.ConfigDir;
+import org.apache.isis.viewer.junit.IsisTestRunner;
+import org.apache.isis.viewer.junit.Service;
+import org.apache.isis.viewer.junit.Services;
+
+@RunWith(IsisTestRunner.class)
+@ConfigDir("../viewer-dnd/config") // acts as default, but can be overridden by annotations
+@Services({ @Service(ToDoItems.class) })
+public abstract class AbstractTest {
+
+ private DomainObjectContainer domainObjectContainer;
+ private WrapperFactory wrapperFactory;
+
+ /**
+ * The {@link WrapperFactory${symbol_pound}wrap(Object) wrapped} equivalent of the
+ * {@link ${symbol_pound}setToDoItems(ToDoItems) injected} {@link ToDoItems}.
+ */
+ protected ToDoItems toDoItems;
+
+ @Before
+ public void wrapInjectedServices() throws Exception {
+ toDoItems = wrapped(toDoItems);
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ }
+
+ protected <T> T wrapped(final T obj) {
+ return wrapperFactory.wrap(obj);
+ }
+
+ @SuppressWarnings("unchecked")
+ protected <T> T unwrapped(final T obj) {
+ if (obj instanceof WrapperObject) {
+ final WrapperObject wrapperObject = (WrapperObject) obj;
+ return (T) wrapperObject.wrapped();
+ }
+ return obj;
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ // //////////////////////////////////////////////////////
+ // Injected.
+ // //////////////////////////////////////////////////////
+
+ protected WrapperFactory getWrapperFactory() {
+ return wrapperFactory;
+ }
+
+ public void setWrapperFactory(final WrapperFactory wrapperFactory) {
+ this.wrapperFactory = wrapperFactory;
+ }
+
+ protected DomainObjectContainer getDomainObjectContainer() {
+ return domainObjectContainer;
+ }
+
+ public void setDomainObjectContainer(final DomainObjectContainer domainObjectContainer) {
+ this.domainObjectContainer = domainObjectContainer;
+ }
+
+ public void setToDoItems(final ToDoItems toDoItems) {
+ this.toDoItems = toDoItems;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemRepositoryTest.java
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemRepositoryTest.java b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemRepositoryTest.java
new file mode 100644
index 0000000..d938886
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemRepositoryTest.java
@@ -0,0 +1,60 @@
+#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 junit.todo;
+
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.assertThat;
+
+import java.util.List;
+
+import junit.AbstractTest;
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItem.Category;
+import fixture.LogonAsSvenFixture;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Test;
+
+import org.apache.isis.viewer.junit.Fixture;
+import org.apache.isis.viewer.junit.Fixtures;
+
+@Fixtures({ @Fixture(ToDoItemsFixture.class), @Fixture(LogonAsSvenFixture.class) })
+public class ToDoItemRepositoryTest extends AbstractTest {
+
+ @Test
+ public void canFindAllItemsNotYetDone() throws Exception {
+ final List<ToDoItem> foobarList = toDoItems.notYetDone();
+ assertThat(foobarList.size(), is(5));
+ }
+
+ @Test
+ public void canCreateToDoItem() throws Exception {
+ final ToDoItem newItem = toDoItems.newToDo("item description", Category.Professional);
+ assertThat(newItem, is(not(nullValue())));
+ assertThat(newItem.getDescription(), is("item description"));
+ assertThat(getDomainObjectContainer().isPersistent(newItem), is(true));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemTest.java
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemTest.java b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemTest.java
new file mode 100644
index 0000000..a6049b7
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/tests-junit/src/test/java/junit/todo/ToDoItemTest.java
@@ -0,0 +1,69 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package junit.todo;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+import junit.AbstractTest;
+import dom.todo.ToDoItem;
+import fixture.LogonAsSvenFixture;
+import fixture.todo.ToDoItemsFixture;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.isis.progmodel.wrapper.applib.DisabledException;
+import org.apache.isis.viewer.junit.Fixture;
+import org.apache.isis.viewer.junit.Fixtures;
+
+@Fixtures({ @Fixture(ToDoItemsFixture.class), @Fixture(LogonAsSvenFixture.class) })
+public class ToDoItemTest extends AbstractTest {
+
+ private ToDoItem toDoItem;
+
+ @Override
+ @Before
+ public void setUp() {
+ toDoItem = toDoItems.notYetDone().get(0);
+ toDoItem = wrapped(toDoItem);
+ }
+
+ @Test
+ public void canMarkAsDone() throws Exception {
+ toDoItem.markAsDone();
+ assertThat(toDoItem.getDone(), is(true));
+ }
+
+ @Test
+ public void cannotMarkAsDoneTwice() throws Exception {
+ toDoItem.markAsDone();
+ try {
+ toDoItem.markAsDone();
+ fail("Should have been disabled");
+ } catch (final DisabledException e) {
+ assertThat(e.getMessage(), is("Already done"));
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/isis.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/isis.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/isis.properties
new file mode 100644
index 0000000..6efac05
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/isis.properties
@@ -0,0 +1,119 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound} Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound} or more contributor license agreements. See the NOTICE file
+${symbol_pound} distributed with this work for additional information
+${symbol_pound} regarding copyright ownership. The ASF licenses this file
+${symbol_pound} to you under the Apache License, Version 2.0 (the
+${symbol_pound} "License"); you may not use this file except in compliance
+${symbol_pound} with the License. You may obtain a copy of the License at
+${symbol_pound}
+${symbol_pound} http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}
+${symbol_pound} Unless required by applicable law or agreed to in writing,
+${symbol_pound} software distributed under the License is distributed on an
+${symbol_pound} "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound} KIND, either express or implied. See the License for the
+${symbol_pound} specific language governing permissions and limitations
+${symbol_pound} under the License.
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} specify system components.
+${symbol_pound}
+${symbol_pound} The values correspond to the named components in the installer-registry.properties file
+${symbol_pound} in the org.apache.isis.runtimes.dflt:runtime JAR (in the org.apache.isis.runtimes.dflt.runtime package)
+${symbol_pound}
+${symbol_pound} Although all configuration could reside in isis.properties, the recommendation is
+${symbol_pound} to split out into component specific files:
+${symbol_pound}
+${symbol_pound} xxx_yyy.properties files
+${symbol_pound}
+${symbol_pound} where
+${symbol_pound} * xxx is the component type, and
+${symbol_pound} * yyy is the component name.
+${symbol_pound}
+${symbol_pound} For example, persistor_sql.properties holds configuration information specific to the
+${symbol_pound}
+${symbol_pound}
+${symbol_pound} If the components are changed, also remember to edit pom.xml (further comments can be
+${symbol_pound} found in the persistor_xxx.properties files)
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} configure the persistor (object store) to use
+${symbol_pound}
+${symbol_pound} * in-memory requires no additional configuration, but stores object in-memory.
+${symbol_pound} Only suitable for prototyping
+${symbol_pound}
+${symbol_pound} other persistor implementations are not appropriate for the DnD viewer
+${symbol_pound}
+
+isis.persistor=in-memory
+${symbol_pound}isis.persistor=xml
+
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} MetaModel
+${symbol_pound}
+${symbol_pound} The metamodel typically does not require additional configuration, although
+${symbol_pound} the system components (defined above) may refine the metamodel for their needs.
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} additional programming model facets
+${symbol_pound}
+
+${symbol_pound}isis.reflector.facets.include=
+${symbol_pound}isis.reflector.facets.exclude=
+
+
+${symbol_pound}
+${symbol_pound} metamodel validator
+${symbol_pound}
+
+${symbol_pound}isis.reflector.validator=
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} Application Services and fixtures
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} Specify the domain services.
+${symbol_pound}
+${symbol_pound} These are the most important configuration properties in the system, as they define
+${symbol_pound} the set of the classes for Isis to instantiate as domain service singletons.
+${symbol_pound} From these domain service instances the rest of the metamodel is discovered, while the
+${symbol_pound} end-user gains access to other domain objects by invoking the actions of the domain services.
+${symbol_pound}
+${symbol_pound} The implementations depend on the configured (see isis.persistor above)
+${symbol_pound}
+
+${symbol_pound} if using the in-memory object store
+isis.services.prefix = dom
+isis.services = todo.ToDoItems
+
+
+
+
+${symbol_pound}
+${symbol_pound} Specify the (optional) test fixtures
+${symbol_pound}
+${symbol_pound} Fixtures are used to seed the object store with an initial set of data. For the
+${symbol_pound} in-memory object store, the fixtures are installed on every run.
+${symbol_pound}
+isis.fixtures.prefix= fixture
+isis.fixtures= todo.ToDoItemsFixture
+
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/logging.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/logging.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/logging.properties
new file mode 100644
index 0000000..f005231
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/logging.properties
@@ -0,0 +1,37 @@
+#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
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_in-memory.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_in-memory.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_in-memory.properties
new file mode 100644
index 0000000..da15c31
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_in-memory.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 In-memory objectstore
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} (intentionally empty)
+${symbol_pound}
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_xml.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_xml.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_xml.properties
new file mode 100644
index 0000000..e37c811
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/persistor_xml.properties
@@ -0,0 +1,25 @@
+#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 XML objectstore
+${symbol_pound}
+
+isis.xmlos.dir=/tmp/isis-${parentArtifactId}/persistor-xml/data
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/viewer_dnd.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/viewer_dnd.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/viewer_dnd.properties
new file mode 100644
index 0000000..648583a
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/config/viewer_dnd.properties
@@ -0,0 +1,25 @@
+#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 DnD viewer
+${symbol_pound}
+
+${symbol_pound} (intentionally empty)
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/ide/eclipse/launch/quickstart-viewer-dnd.launch
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/ide/eclipse/launch/quickstart-viewer-dnd.launch b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/ide/eclipse/launch/quickstart-viewer-dnd.launch
new file mode 100644
index 0000000..872889c
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/ide/eclipse/launch/quickstart-viewer-dnd.launch
@@ -0,0 +1,23 @@
+#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.runtime/src/main/java/org/apache/isis/Isis.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.Isis" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+ <stringAttribute value="--type exploration --viewer dnd" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+ <stringAttribute value="${rootArtifactId}-viewer-dnd" 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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/pom.xml
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/pom.xml b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/pom.xml
new file mode 100644
index 0000000..456259e
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-dnd/pom.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>${groupId}</groupId>
+ <artifactId>${rootArtifactId}</artifactId>
+ <version>${version}</version>
+ </parent>
+
+ <artifactId>${artifactId}</artifactId>
+ <name>Quickstart Viewer DnD</name>
+
+ <description>This module runs Isis' DnD viewer, intended for exploration, prototyping and
+ design. By default the viewer is configured to run with the in-memory object store,
+ meaning that changes will not be persisted from one run to the next; initial seed data
+ is read in from the isis.fixtures key in the isis.properties config file. Alternatively,
+ the viewer may be configured to run with the XML object store, which persists changes to set of
+ XML files.</description>
+
+ <!--
+ can run the dnd using either:
+ mvn antrun:run
+ or
+ mvn test -P dnd
+ -->
+
+ <properties>
+ <siteBaseDir>..</siteBaseDir>
+ </properties>
+
+ <build>
+ <plugins>
+ <!-- mvn package -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>org.apache.isis.Isis</mainClass>
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <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}.jar" />
+ <arg value="-type" />
+ <arg value="exploration" />
+ <arg value="-viewer" />
+ <arg value="dnd" />
+ </exec>
+ </tasks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <!-- other modules in this project -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${rootArtifactId}-fixture</artifactId>
+ </dependency>
+
+ <!-- isis core -->
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>runtime</artifactId>
+ </dependency>
+
+ <!-- isis default runtime -->
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt</groupId>
+ <artifactId>runtime</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>xml</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.profilestores</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+
+ <!-- isis defaults (other) -->
+ <dependency>
+ <groupId>org.apache.isis.progmodels</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+
+ <!-- isis viewers -->
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>dnd</artifactId>
+ </dependency>
+
+ </dependencies>
+
+ <profiles>
+ <profile>
+ <id>dnd</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>test</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.lck
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.lck b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.lck
new file mode 100644
index 0000000..5cd2e57
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.lck differ
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.properties
new file mode 100644
index 0000000..f621581
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.properties
@@ -0,0 +1,7 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}HSQL Database Engine 2.2.8
+${symbol_pound}Wed Oct 10 18:15:49 BST 2012
+version=2.2.8
+modified=yes
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.script
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.script b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.script
new file mode 100644
index 0000000..13c8dd0
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/hsql-db/tests.script
@@ -0,0 +1,46 @@
+SET DATABASE UNIQUE NAME HSQLDB3A4BACD59D
+SET DATABASE GC 0
+SET DATABASE DEFAULT RESULT MEMORY ROWS 0
+SET DATABASE EVENT LOG LEVEL 0
+SET DATABASE SQL NAMES FALSE
+SET DATABASE SQL REFERENCES FALSE
+SET DATABASE SQL SIZE TRUE
+SET DATABASE SQL TYPES FALSE
+SET DATABASE SQL TDC DELETE TRUE
+SET DATABASE SQL TDC UPDATE TRUE
+SET DATABASE SQL TRANSLATE TTI TYPES TRUE
+SET DATABASE SQL CONCAT NULLS TRUE
+SET DATABASE SQL NULLS FIRST TRUE
+SET DATABASE SQL UNIQUE NULLS TRUE
+SET DATABASE SQL CONVERT TRUNCATE TRUE
+SET DATABASE SQL AVG SCALE 0
+SET DATABASE SQL DOUBLE NAN TRUE
+SET DATABASE SQL LONGVAR IS LOB FALSE
+SET DATABASE TRANSACTION CONTROL LOCKS
+SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
+SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
+SET DATABASE TEXT TABLE DEFAULTS ''
+SET FILES WRITE DELAY 500 MILLIS
+SET FILES BACKUP INCREMENT TRUE
+SET FILES CACHE SIZE 10000
+SET FILES CACHE ROWS 50000
+SET FILES SCALE 8
+SET FILES LOB SCALE 32
+SET FILES DEFRAG 0
+SET FILES NIO TRUE
+SET FILES NIO SIZE 256
+SET FILES LOG TRUE
+SET FILES LOG SIZE 50
+CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'
+ALTER USER SA SET LOCAL TRUE
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
+SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
+GRANT DBA TO SA
+SET SCHEMA SYSTEM_LOBS
+INSERT INTO BLOCKS VALUES(0,2147483647,0)
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
new file mode 100644
index 0000000..d25a88c
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
@@ -0,0 +1,23 @@
+#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="--type server_exploration" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+ <stringAttribute value="${rootArtifactId}-viewer-html" 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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/lib/.gitignore
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/lib/.gitignore b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/pom.xml
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/pom.xml b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/pom.xml
new file mode 100644
index 0000000..d7653a2
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/pom.xml
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>${groupId}</groupId>
+ <artifactId>${rootArtifactId}</artifactId>
+ <version>${version}</version>
+ </parent>
+
+ <artifactId>${artifactId}</artifactId>
+ <name>Quickstart HTML Viewer</name>
+ <description>This module runs Isis' HTML webapp viewer. By default it is configured to
+ run using the sql object store. See other viewer modules for more persistence
+ options.</description>
+
+ <packaging>war</packaging>
+
+ <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>
+
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <!-- other modules in this project -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${rootArtifactId}-dom</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${rootArtifactId}-fixture</artifactId>
+ </dependency>
+
+
+
+ <!-- objectstore/domain service/repository implementations -->
+
+ <!--
+ - uncomment in order to use default object store
+ - (also edit isis.properties)
+ -
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+ -->
+
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>sql-impl</artifactId>
+ </dependency>
+
+ <!--
+ - uncomment in order to use jdo object store
+ - (also edit isis.properties)
+ -
+ - (also uncomment in order to install facet factories used to
+ - filter out any JDO enhancement to pojos)
+ -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${rootArtifactId}-objstore-jdo</artifactId>
+ </dependency>
+
+
+
+ <!-- isis viewer -->
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>html</artifactId>
+ </dependency>
+
+
+
+ <!-- isis runtime -->
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.profilestores</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+
+ <!-- isis progmodel -->
+ <dependency>
+ <groupId>org.apache.isis.progmodels</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+
+ <!-- isis security implementations -->
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
+ <artifactId>file</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.security</groupId>
+ <artifactId>dflt</artifactId>
+ </dependency>
+
+ <!-- to run using WebServer (optional) -->
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt</groupId>
+ <artifactId>isis-webserver</artifactId>
+ <scope>runtime</scope>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ <version>1.2</version>
+ </dependency>
+
+
+
+ <!--
+ JDBC drivers
+ (if using jdo or sql object store)
+ -->
+
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>2.2.9</version>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>com.microsoft.sqlserver</groupId>
+ <artifactId>jdbc</artifactId>
+ <version>4.0</version>
+ <scope>system</scope>
+ <optional>true</optional>
+ <systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
+ </dependency>
+ -->
+
+ <dependency>
+ <groupId>org.lazyluke</groupId>
+ <artifactId>log4jdbc-remix</artifactId>
+ <version>0.2.7</version>
+ </dependency>
+
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.pdn
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.pdn b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.pdn
new file mode 100644
index 0000000..ee6b1c4
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.pdn differ
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.png
new file mode 100644
index 0000000..c6dea47
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/jettyconsole/isis-banner.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/resources/images/Default.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/resources/images/Default.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/resources/images/Default.png
new file mode 100644
index 0000000..8409e46
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/resources/images/Default.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..97b228e
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/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:role1|role2|role3
+dick:pass
+bob:pass
+joe:pass
http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
new file mode 100644
index 0000000..8edf17c
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
new file mode 100644
index 0000000..4407ec2
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
new file mode 100644
index 0000000..7baee9c
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/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
+