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 2014/12/19 09:07:34 UTC

[11/11] isis git commit: ISIS-928: recreating todoapp archetype

ISIS-928: recreating todoapp archetype


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

Branch: refs/heads/master
Commit: a90691ade545c142468be71fcbeb51117bdc9865
Parents: 57a56de
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Dec 19 08:03:10 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Dec 19 08:03:10 2014 +0000

----------------------------------------------------------------------
 example/archetype/todoapp/pom.xml               |  56 ++--
 .../META-INF/maven/archetype-metadata.xml       | 286 +++++++++----------
 .../resources/archetype-resources/dom/pom.xml   |   6 +-
 .../dom/src/main/java/dom/todo/ToDoItem.java    |  42 +--
 .../src/main/java/dom/todo/ToDoItem.layout.json |   3 +-
 .../src/test/java/dom/todo/ToDoItemTest.java    |  46 ++-
 .../integration/glue/todoitem/ToDoItemGlue.java |   4 +-
 .../archetype-resources/webapp/pom.xml          |   2 +-
 .../projects/basic/archetype.properties         |   2 +-
 9 files changed, 250 insertions(+), 197 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/pom.xml b/example/archetype/todoapp/pom.xml
index a1ce46a..dfc82e5 100644
--- a/example/archetype/todoapp/pom.xml
+++ b/example/archetype/todoapp/pom.xml
@@ -18,33 +18,33 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.isis.archetype</groupId>
-  <artifactId>todoapp-archetype</artifactId>
-  <version>1.8.0-SNAPSHOT</version>
-  <packaging>maven-archetype</packaging>
-  <name>todoapp-archetype</name>
-  <build>
-    <extensions>
-      <extension>
-        <groupId>org.apache.maven.archetype</groupId>
-        <artifactId>archetype-packaging</artifactId>
-        <version>2.2</version>
-      </extension>
-    </extensions>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <artifactId>maven-archetype-plugin</artifactId>
-          <version>2.2</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-  <parent>
-    <groupId>org.apache.isis.core</groupId>
-    <artifactId>isis</artifactId>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.isis.archetype</groupId>
+    <artifactId>todoapp-archetype</artifactId>
     <version>1.8.0-SNAPSHOT</version>
-    <relativePath>../../../core/pom.xml</relativePath>
-  </parent>
+    <packaging>maven-archetype</packaging>
+    <name>todoapp-archetype</name>
+    <build>
+        <extensions>
+            <extension>
+                <groupId>org.apache.maven.archetype</groupId>
+                <artifactId>archetype-packaging</artifactId>
+                <version>2.2</version>
+            </extension>
+        </extensions>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-archetype-plugin</artifactId>
+                    <version>2.2</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+    <parent>
+        <groupId>org.apache.isis.core</groupId>
+        <artifactId>isis</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../../../core/pom.xml</relativePath>
+    </parent>
 </project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/META-INF/maven/archetype-metadata.xml b/example/archetype/todoapp/src/main/resources/META-INF/maven/archetype-metadata.xml
index 2698586..165865d 100644
--- a/example/archetype/todoapp/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/example/archetype/todoapp/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -18,147 +18,147 @@
   under the License.
 -->
 <archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" name="todoapp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modules>
-    <module id="${rootArtifactId}-dom" dir="dom" name="${rootArtifactId}-dom">
-      <fileSets>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/java</directory>
-          <includes>
-            <include>**/*.xml</include>
-            <include>**/*.java</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory>src/main/java</directory>
-          <includes>
-            <include>**/*.png</include>
-            <include>**/*.json</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/resources</directory>
-          <includes>
-            <include>**/*.xml</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/test/java</directory>
-          <includes>
-            <include>**/*.java</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory/>
-          <includes>
-            <include>log4j.properties</include>
-          </includes>
-        </fileSet>
-      </fileSets>
-    </module>
-    <module id="${rootArtifactId}-fixture" dir="fixture" name="${rootArtifactId}-fixture">
-      <fileSets>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/java</directory>
-          <includes>
-            <include>**/*.java</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory/>
-          <includes>
-            <include>.gitignore</include>
-          </includes>
-        </fileSet>
-      </fileSets>
-    </module>
-    <module id="${rootArtifactId}-integtests" dir="integtests" name="${rootArtifactId}-integtests">
-      <fileSets>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/test/java</directory>
-          <includes>
-            <include>**/*.java</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory>src/test/java</directory>
-          <includes>
-            <include>**/*.feature</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory/>
-          <includes>
-            <include>logging.properties</include>
-          </includes>
-        </fileSet>
-      </fileSets>
-    </module>
-    <module id="${rootArtifactId}-webapp" dir="webapp" name="${rootArtifactId}-webapp">
-      <fileSets>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/java</directory>
-          <includes>
-            <include>**/*.java</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/webapp</directory>
-          <includes>
-            <include>**/*.xml</include>
-            <include>**/*.html</include>
-            <include>**/*.properties</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>src/main/resources</directory>
-          <includes>
-            <include>**/*.html</include>
-            <include>**/*.properties</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory>src/main/jettyconsole</directory>
-          <includes>
-            <include>**/*.png</include>
-            <include>**/*.pdn</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory>src/main/webapp</directory>
-          <includes>
-            <include>**/*.png</include>
-            <include>**/*.js</include>
-            <include>**/*.ini</include>
-            <include>**/*.gif</include>
-            <include>**/*.css</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory>src/main/resources</directory>
-          <includes>
-            <include>**/*.ini</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>ide/intellij</directory>
-          <includes>
-            <include>**/*.xml</include>
-            <include>**/*.txt</include>
-          </includes>
-        </fileSet>
-        <fileSet encoding="UTF-8">
-          <directory>lib</directory>
-          <includes>
-            <include>**/*.gitignore</include>
-          </includes>
-        </fileSet>
-        <fileSet filtered="true" encoding="UTF-8">
-          <directory>ide/eclipse</directory>
-          <includes>
-            <include>**/*.launch</include>
-          </includes>
-        </fileSet>
-      </fileSets>
-    </module>
-  </modules>
+    <modules>
+        <module id="${rootArtifactId}-dom" dir="dom" name="${rootArtifactId}-dom">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.xml</include>
+                        <include>**/*.java</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.png</include>
+                        <include>**/*.json</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/resources</directory>
+                    <includes>
+                        <include>**/*.xml</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/test/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory/>
+                    <includes>
+                        <include>log4j.properties</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+        <module id="${rootArtifactId}-fixture" dir="fixture" name="${rootArtifactId}-fixture">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory/>
+                    <includes>
+                        <include>.gitignore</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+        <module id="${rootArtifactId}-integtests" dir="integtests" name="${rootArtifactId}-integtests">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/test/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/test/java</directory>
+                    <includes>
+                        <include>**/*.feature</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory/>
+                    <includes>
+                        <include>logging.properties</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+        <module id="${rootArtifactId}-webapp" dir="webapp" name="${rootArtifactId}-webapp">
+            <fileSets>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/java</directory>
+                    <includes>
+                        <include>**/*.java</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/webapp</directory>
+                    <includes>
+                        <include>**/*.xml</include>
+                        <include>**/*.html</include>
+                        <include>**/*.properties</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>src/main/resources</directory>
+                    <includes>
+                        <include>**/*.html</include>
+                        <include>**/*.properties</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/main/jettyconsole</directory>
+                    <includes>
+                        <include>**/*.png</include>
+                        <include>**/*.pdn</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/main/webapp</directory>
+                    <includes>
+                        <include>**/*.png</include>
+                        <include>**/*.js</include>
+                        <include>**/*.ini</include>
+                        <include>**/*.gif</include>
+                        <include>**/*.css</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>src/main/resources</directory>
+                    <includes>
+                        <include>**/*.ini</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>ide/intellij</directory>
+                    <includes>
+                        <include>**/*.xml</include>
+                        <include>**/*.txt</include>
+                    </includes>
+                </fileSet>
+                <fileSet encoding="UTF-8">
+                    <directory>lib</directory>
+                    <includes>
+                        <include>**/*.gitignore</include>
+                    </includes>
+                </fileSet>
+                <fileSet filtered="true" encoding="UTF-8">
+                    <directory>ide/eclipse</directory>
+                    <includes>
+                        <include>**/*.launch</include>
+                    </includes>
+                </fileSet>
+            </fileSets>
+        </module>
+    </modules>
 </archetype-descriptor>

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/archetype-resources/dom/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/pom.xml b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/pom.xml
index b7589e6..38e5063 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/pom.xml
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/pom.xml
@@ -117,7 +117,9 @@
 
     <profiles>
         <profile>
-            <id>isis</id>
+            <id>isis-validate</id>
+            <activation>
+            </activation>
             <build>
                 <plugins>
                     <plugin>
@@ -125,7 +127,7 @@
                         <artifactId>isis-maven-plugin</artifactId>
                         <version>1.8.0-SNAPSHOT</version>
                         <configuration>
-                            <isisConfigDir>..\webapp\src\main\webapp\WEB-INF</isisConfigDir>
+                            <isisConfigDir>../webapp/src/main/webapp/WEB-INF</isisConfigDir>
                         </configuration>
                         <dependencies>
                             <dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
index 27749f4..11da27a 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java
@@ -43,6 +43,7 @@ import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.NonRecoverableException;
 import org.apache.isis.applib.RecoverableException;
 import org.apache.isis.applib.annotation.ActionInteraction;
+import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.ActionSemantics.Of;
 import org.apache.isis.applib.annotation.AutoComplete;
@@ -60,7 +61,6 @@ import org.apache.isis.applib.annotation.Optional;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.annotation.PropertyInteraction;
-import org.apache.isis.applib.annotation.Prototype;
 import org.apache.isis.applib.annotation.RegEx;
 import org.apache.isis.applib.annotation.TypicalLength;
 import org.apache.isis.applib.security.UserMemento;
@@ -185,6 +185,14 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
         return dueBy;
     }
 
+    /**
+     * Demonstrates how to perform security checks within the domain code.
+     *
+     * <p>
+     *     Generally speaking this approach is not recommended; such checks should
+     *     wherever possible be externalized in the security subsystem.
+     * </p>
+     */
     public boolean hideDueBy() {
         final UserMemento user = container.getUser();
         return user.hasRole("realm1:noDueBy_role");
@@ -641,7 +649,7 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
     //endregion
 
     //region > openSourceCodeOnGithub (action)
-    @Prototype
+    @ActionLayout(prototype = true)
     @ActionSemantics(Of.SAFE)
     public URL openSourceCodeOnGithub() throws MalformedURLException {
         return new URL("https://github.com/apache/isis/tree/master/example/application/${parentArtifactId}/dom/src/main/java/dom/todo/ToDoItem.java");
@@ -655,8 +663,8 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
         RecoverableExceptionAutoEscalated,
         NonRecoverableException;
     }
-    
-    @Prototype
+
+    @ActionLayout(prototype = true)
     @ActionSemantics(Of.SAFE)
     public void demoException(
             final @ParameterLayout(named="Type") DemoExceptionType type) {
@@ -906,26 +914,28 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
 
     //region > injected services
     @javax.inject.Inject
-    private DomainObjectContainer container;
+    DomainObjectContainer container;
 
     @javax.inject.Inject
-    private ToDoItems toDoItems;
+    ToDoItems toDoItems;
 
-    Bulk.InteractionContext bulkInteractionContext;
-    public void injectBulkInteractionContext(Bulk.InteractionContext bulkInteractionContext) {
-        this.bulkInteractionContext = bulkInteractionContext;
-    }
+    @javax.inject.Inject
+    Scratchpad scratchpad;
 
+    /**
+     * public only so can be injected from integ tests
+     */
     @javax.inject.Inject
-    private Scratchpad scratchpad;
+    public Bulk.InteractionContext bulkInteractionContext;
 
-    EventBusService eventBusService;
-    public void injectEventBusService(EventBusService eventBusService) {
-        this.eventBusService = eventBusService;
-    }
+    /**
+     * public only so can be injected from integ tests
+     */
+    @javax.inject.Inject
+    public EventBusService eventBusService;
 
     @javax.inject.Inject
-    private WrapperFactory wrapperFactory;
+    WrapperFactory wrapperFactory;
 
     //endregion
 

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
index 5cf21cd..1820be7 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json
@@ -111,7 +111,8 @@
                             },
                             "next": {
                                 "actionLayout": {
-                                    "cssClassFa": "fa fa-step-forward"
+                                    "cssClassFa": "fa fa-step-forward",
+                                    "cssClassFaPosition": "right"
                                 }
                             }
                         }

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoItemTest.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoItemTest.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoItemTest.java
index 1af588b..22a9ab2 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoItemTest.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/test/java/dom/todo/ToDoItemTest.java
@@ -19,11 +19,15 @@
  */
 package dom.todo;
 
+import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.Bulk;
+import org.apache.isis.applib.security.RoleMemento;
+import org.apache.isis.applib.security.UserMemento;
 import org.apache.isis.applib.services.eventbus.EventBusService;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
@@ -53,9 +57,45 @@ public abstract class ToDoItemTest {
         context.ignoring(eventBusService);
     }
 
-    public static class Actions {
+    public static class Properties extends ToDoItemTest {
 
-        public static class Completed extends ToDoItemTest {
+        @Mock
+        DomainObjectContainer mockContainer;
+
+        public static class DueBy extends Properties {
+
+            @Test
+            public void hiddenForNoDueByRole() {
+                final UserMemento userWithRole = new UserMemento("user", new RoleMemento("realm1:noDueBy_role"));
+                context.checking(new Expectations() {{
+                    allowing(mockContainer).getUser();
+                    will(returnValue(userWithRole));
+                }});
+
+                toDoItem.container = mockContainer;
+
+                assertThat(toDoItem.hideDueBy(), is(true));
+            }
+
+            @Test
+            public void notHiddenWithoutRole() {
+                final UserMemento userWithRole = new UserMemento("user", new RoleMemento("realm1:someOtherRole"));
+                context.checking(new Expectations() {{
+                    allowing(mockContainer).getUser();
+                    will(returnValue(userWithRole));
+                }});
+
+                toDoItem.container = mockContainer;
+
+                assertThat(toDoItem.hideDueBy(), is(false));
+            }
+        }
+
+    }
+
+    public static class Actions extends ToDoItemTest {
+
+        public static class Completed extends Actions {
 
             @Test
             public void happyCase() throws Exception {
@@ -73,7 +113,7 @@ public abstract class ToDoItemTest {
             }
         }
 
-        public static class NotYetCompleted extends ToDoItemTest {
+        public static class NotYetCompleted extends Actions {
 
             @Test
             public void happyCase() throws Exception {

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
index 9b73ad7..0a3c5a6 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java
@@ -83,8 +83,8 @@ public class ToDoItemGlue extends CukeGlueAbstract {
                     allowing(eventBusService);
                 }
             });
-            toDoItem.injectBulkInteractionContext(bulkInteractionContext);
-            toDoItem.injectEventBusService(eventBusService);
+            toDoItem.bulkInteractionContext = bulkInteractionContext;
+            toDoItem.eventBusService = eventBusService;
         }
         wrap(toDoItem).completed();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
index 406385b..9c51e78 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
@@ -78,7 +78,7 @@
             <plugin>
                 <artifactId>maven-war-plugin</artifactId>
                 <configuration>
-                    <warName>quickstart</warName>
+                    <warName>todoapp</warName>
                     <archive>
                         <manifest>
                             <addClasspath>false</addClasspath>

http://git-wip-us.apache.org/repos/asf/isis/blob/a90691ad/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties b/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties
index dc26e49..70ecada 100644
--- a/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties
+++ b/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties
@@ -1,4 +1,4 @@
-#Wed Dec 17 22:39:38 GMT 2014
+#Fri Dec 19 08:03:00 GMT 2014
 package=it.pkg
 version=0.1-SNAPSHOT
 groupId=archetype.it