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, \