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 2017/02/14 15:12:54 UTC
[04/20] isis git commit: ISIS-1561: refactors simpleapp to use
SimpleObjectData for holding sample data
ISIS-1561: refactors simpleapp to use SimpleObjectData for holding sample data
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f04fc056
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f04fc056
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f04fc056
Branch: refs/heads/master
Commit: f04fc05625b0cd38add131261be11cc817fff115
Parents: beed85a
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun Feb 12 22:15:05 2017 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun Feb 12 22:15:05 2017 +0000
----------------------------------------------------------------------
.../fixture/scenario/CreateSimpleObjects.java | 18 +++----
.../fixture/scenario/SimpleObjectData.java | 49 ++++++++++++++++++++
.../tests/SimpleObject_IntegTest.java | 6 ++-
3 files changed, 61 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/f04fc056/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/CreateSimpleObjects.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/CreateSimpleObjects.java b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/CreateSimpleObjects.java
index 35c4a43..2fc9e55 100644
--- a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/CreateSimpleObjects.java
+++ b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/CreateSimpleObjects.java
@@ -19,8 +19,6 @@
package domainapp.modules.simple.fixture.scenario;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nullable;
@@ -38,9 +36,6 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
public class CreateSimpleObjects extends FixtureScript {
- public final List<String> NAMES = Collections.unmodifiableList(Arrays.asList(
- "Foo", "Bar", "Baz", "Frodo", "Froyo", "Fizz", "Bip", "Bop", "Bang", "Boo"));
-
/**
* The number of objects to create, up to 10; optional, defaults to 3.
*/
@@ -49,7 +44,7 @@ public class CreateSimpleObjects extends FixtureScript {
private Integer number;
/**
- * The simpleobjects created by this fixture (output).
+ * The objects created by this fixture (output).
*/
@Getter
private final List<SimpleObject> simpleObjects = Lists.newArrayList();
@@ -57,19 +52,20 @@ public class CreateSimpleObjects extends FixtureScript {
@Override
protected void execute(final ExecutionContext ec) {
+ int max = SimpleObjectData.values().length;
+
// defaults
final int number = defaultParam("number", ec, 3);
// validate
- if(number < 0 || number > NAMES.size()) {
- throw new IllegalArgumentException(String.format("number must be in range [0,%d)", NAMES.size()));
+ if(number < 0 || number > max) {
+ throw new IllegalArgumentException(String.format("number must be in range [0,%d)", max));
}
// execute
for (int i = 0; i < number; i++) {
- final String name = NAMES.get(i);
-
- final SimpleObject simpleObject = wrap(simpleObjectMenu).create(name);
+ final SimpleObjectData data = SimpleObjectData.values()[i];
+ final SimpleObject simpleObject = data.createWith(wrap(simpleObjectMenu));
ec.addResult(this, simpleObject);
simpleObjects.add(simpleObject);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/f04fc056/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/SimpleObjectData.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/SimpleObjectData.java b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/SimpleObjectData.java
new file mode 100644
index 0000000..8cf4270
--- /dev/null
+++ b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/SimpleObjectData.java
@@ -0,0 +1,49 @@
+/*
+ * 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 domainapp.modules.simple.fixture.scenario;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjectMenu;
+import lombok.AllArgsConstructor;
+
+@AllArgsConstructor
+public enum SimpleObjectData {
+
+ FOO("Foo"),
+ BAR("Bar"),
+ BAZ("Baz"),
+ FRODO("Frodo"),
+ FROYO("Froyo"),
+ FIZZ("Fizz"),
+ BIP("Bip"),
+ BOP("Bop"),
+ BANG("Bang"),
+ BOO("Boo");
+
+ private final String name;
+
+ public SimpleObject createWith(final SimpleObjectMenu menu) {
+ return menu.create(name);
+ }
+
+ public SimpleObject findWith(final SimpleObjectMenu menu) {
+ return menu.findByName(name).get(0);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/f04fc056/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
index 9ece316..f1404c0 100644
--- a/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
+++ b/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
@@ -34,7 +34,9 @@ import org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleu
import org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp;
import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjectMenu;
import domainapp.modules.simple.fixture.scenario.CreateSimpleObjects;
+import domainapp.modules.simple.fixture.scenario.SimpleObjectData;
import domainapp.modules.simple.fixture.teardown.SimpleModuleTearDown;
import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
import static org.assertj.core.api.Assertions.assertThat;
@@ -44,6 +46,8 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
@Inject
FixtureScripts fixtureScripts;
@Inject
+ SimpleObjectMenu simpleObjectMenu;
+ @Inject
TransactionService transactionService;
SimpleObject simpleObject;
@@ -56,7 +60,7 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
fixtureScripts.runFixtureScript(fs, null);
transactionService.nextTransaction();
- simpleObject = fs.getSimpleObjects().get(0);
+ simpleObject = SimpleObjectData.FOO.findWith(wrap(simpleObjectMenu));
assertThat(simpleObject).isNotNull();
}