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/06/07 20:37:13 UTC

git commit: ISIS-798: fixing failing integ test in simple example

Repository: isis
Updated Branches:
  refs/heads/master 99b2e5872 -> 72ea16986


ISIS-798: fixing failing integ test in simple example

also refactoring simple example to use FixtureScripts
also minor improvements to todo example also


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

Branch: refs/heads/master
Commit: 72ea1698673d444605b57566d14f7b8039ddb56b
Parents: 99b2e58
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Jun 7 20:35:07 2014 +0200
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Jun 7 20:35:07 2014 +0200

----------------------------------------------------------------------
 .../applib/fixturescripts/FixtureScripts.java   |  3 +
 .../fixture/todo/ToDoItemsFixturesService.java  |  8 +++
 .../fixture/simple/SimpleObjectsFixture.java    | 14 ++--
 .../simple/SimpleObjectsFixturesService.java    | 73 ++++++++++++++++++++
 .../integtests/pom.xml                          |  4 --
 .../integration/SimpleAppSystemInitializer.java | 10 ++-
 .../webapp/prototyping/DeveloperUtilities.java  |  2 +-
 .../SimpleObjectsFixturesService.java           | 63 -----------------
 .../src/main/webapp/WEB-INF/isis.properties     |  2 +-
 9 files changed, 104 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index 3da28ff..03aa26b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -160,6 +160,9 @@ public abstract class FixtureScripts extends AbstractService {
 
         return fixtureScript.run(parameters);
     }
+    public FixtureScript default0RunFixtureScript() {
+        return fixtureScriptList.isEmpty() ? null: fixtureScriptList.get(0);
+    }
     protected List<FixtureScript> choices0RunFixtureScript() {
         return fixtureScriptList;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
index 3bda83a..f8658f7 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
@@ -38,6 +38,11 @@ public class ToDoItemsFixturesService extends FixtureScripts {
         super("fixture.todo");
     }
 
+    //@Override // compatibility with core 1.6.0
+    public FixtureScript default0RunFixtureScript() {
+        return findFixtureScriptFor(RecreateToDoItemsAndCompleteSeveralForCurrent.class);
+    }
+
     /**
      * Raising visibility to <tt>public</tt> so that choices are available for first param
      * of {@link #runFixtureScript(FixtureScript, String)}.
@@ -47,6 +52,9 @@ public class ToDoItemsFixturesService extends FixtureScripts {
         return super.choices0RunFixtureScript();
     }
 
+    // //////////////////////////////////////
+
+
     @Prototype
     @MemberOrder(sequence="20")
     public Object recreateToDoItemsForCurrentAndReturnFirst() {

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
index b96ec5d..2be2228 100644
--- a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
+++ b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
@@ -26,6 +26,10 @@ import org.apache.isis.applib.fixturescripts.FixtureScript;
 
 public class SimpleObjectsFixture extends FixtureScript {
 
+    public SimpleObjectsFixture() {
+        withDiscoverability(Discoverability.DISCOVERABLE);
+    }
+
     @Override
     protected void execute(ExecutionContext executionContext) {
 
@@ -33,15 +37,15 @@ public class SimpleObjectsFixture extends FixtureScript {
         execute(new SimpleObjectsTearDownFixture(), executionContext);
 
         // create
-        create("Foo");
-        create("Bar");
-        create("Baz");
+        create("Foo", executionContext);
+        create("Bar", executionContext);
+        create("Baz", executionContext);
     }
 
     // //////////////////////////////////////
 
-    private SimpleObject create(final String name) {
-        return simpleObjects.create(name);
+    private SimpleObject create(final String name, ExecutionContext executionContext) {
+        return executionContext.add(this, simpleObjects.create(name));
     }
 
     // //////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
new file mode 100644
index 0000000..4fe76ea
--- /dev/null
+++ b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
@@ -0,0 +1,73 @@
+/*
+ *  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 fixture.simple;
+
+import dom.simple.SimpleObjects;
+
+import java.util.List;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Prototype;
+import org.apache.isis.applib.fixturescripts.FixtureResult;
+import org.apache.isis.applib.fixturescripts.FixtureScript;
+import org.apache.isis.applib.fixturescripts.FixtureScripts;
+import org.apache.isis.applib.fixturescripts.SimpleFixtureScript;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Prototyping")
+public class SimpleObjectsFixturesService extends FixtureScripts {
+
+    public SimpleObjectsFixturesService() {
+        super("fixture.simple");
+    }
+
+    //@Override // compatibility with core 1.6.0
+    public FixtureScript default0RunFixtureScript() {
+        return findFixtureScriptFor(SimpleFixtureScript.class);
+    }
+
+    /**
+     * Raising visibility to <tt>public</tt> so that choices are available for first param
+     * of {@link #runFixtureScript(FixtureScript, String)}.
+     */
+    @Override
+    public List<FixtureScript> choices0RunFixtureScript() {
+        return super.choices0RunFixtureScript();
+    }
+
+
+    // //////////////////////////////////////
+
+    @Prototype
+    @MemberOrder(sequence="20")
+    public Object installFixturesAndReturnFirst() {
+        final List<FixtureResult> run = findFixtureScriptFor(SimpleObjectsFixture.class).run(null);
+        return run.get(0).getObject();
+    }
+
+    // //////////////////////////////////////
+
+    private SimpleObjects simpleObjects;
+    public void injectSimpleObjects(SimpleObjects simpleObjects) {
+        this.simpleObjects = simpleObjects;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/simple_wicket_restful_jdo/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/integtests/pom.xml b/example/application/simple_wicket_restful_jdo/integtests/pom.xml
index d4fd476..9839c90 100644
--- a/example/application/simple_wicket_restful_jdo/integtests/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/integtests/pom.xml
@@ -29,10 +29,6 @@
 	<artifactId>simple_wicket_restful_jdo-integtests</artifactId>
 	<name>Simple Wicket/Restful/JDO Integration Tests</name>
 
-    <properties>
-        <skipTests>true</skipTests>
-    </properties>
-
     <build>
         <testResources>
             <testResource>

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/SimpleAppSystemInitializer.java b/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
index fb01af4..fdb1858 100644
--- a/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
+++ b/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/SimpleAppSystemInitializer.java
@@ -17,9 +17,13 @@
 package integration;
 
 import dom.simple.SimpleObjects;
+import fixture.simple.SimpleObjectsFixturesService;
 
+import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.integtestsupport.IsisSystemForTest;
+import org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault;
+import org.apache.isis.core.runtime.services.memento.MementoServiceDefault;
 import org.apache.isis.core.wrapper.WrapperFactoryDefault;
 import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller;
 import org.apache.isis.objectstore.jdo.datanucleus.IsisConfigurationForJdoIntegTests;
@@ -52,8 +56,12 @@ public class SimpleAppSystemInitializer {
             
             withServices(
                     new SimpleObjects(),
+                    new SimpleObjectsFixturesService(),
                     new WrapperFactoryDefault(),
-                    new IsisJdoSupportImpl()
+                    new IsisJdoSupportImpl(),
+                    new ClassDiscoveryServiceUsingReflections(),
+                    new MementoServiceDefault(),
+                    new BookmarkServiceDefault()
                     );
         }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/simple_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java b/example/application/simple_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
index 4d6ef14..e180a08 100644
--- a/example/application/simple_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
+++ b/example/application/simple_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
@@ -23,7 +23,7 @@ import org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServic
 
 /**
  * These overrides are simply to 'move' the action underneath the 
- * {@link SimpleObjectsFixturesService prototyping} menu.
+ * {@link fixture.simple.SimpleObjectsFixturesService prototyping} menu.
  */
 public class DeveloperUtilities extends DeveloperUtilitiesServiceDefault {
 

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

http://git-wip-us.apache.org/repos/asf/isis/blob/72ea1698/example/application/simple_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/simple_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
index 4591060..7b6c2e1 100644
--- a/example/application/simple_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/simple_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -160,7 +160,7 @@ isis.reflector.facet-decorators=org.apache.isis.core.progmodel.facetdecorators.i
 isis.services = \
                 10:dom.simple.SimpleObjects,\
                 \
-                20:webapp.prototyping.SimpleObjectsFixturesService,\
+                20:fixture.simple.SimpleObjectsFixturesService,\
                 20:webapp.prototyping.DeveloperUtilities,\
                 \
                 # supporting services if using JDO objectstore, \