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 2020/01/31 17:44:37 UTC
[isis-app-simpleapp] branch master updated: updates mavendeps
dependencies, now on an interim again
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
The following commit(s) were added to refs/heads/master by this push:
new cd13226 updates mavendeps dependencies, now on an interim again
cd13226 is described below
commit cd132268406ab97b43b680a950d810f451337b37
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jan 31 17:44:06 2020 +0000
updates mavendeps dependencies, now on an interim again
---
README.adoc | 45 ---------
module-simple/pom.xml | 9 +-
.../domainapp/modules/simple/SimpleModule.java | 14 ++-
.../simple/dom/{impl => so}/SimpleObject.java | 42 +++++----
.../dom/{impl => so}/SimpleObject.layout.xml | 0
.../simple/dom/{impl => so}/SimpleObject.png | Bin
.../simple/dom/{impl => so}/SimpleObjects.java | 14 +--
.../simple/fixture/SimpleObjectBuilder.java | 4 +-
.../simple/fixture/SimpleObject_persona.java | 6 +-
.../modules/simple/{dom => }/types/Name.java | 4 +-
.../modules/simple/{dom => }/types/Notes.java | 2 +-
.../modules/simple/dom/impl/SimpleObject_Test.java | 34 -------
.../simple/dom/impl/SimpleObjects_Test.java | 101 ---------------------
.../modules/simple/dom/so/SimpleObject_Test.java | 71 +++++++++++++++
.../modules/simple/dom/so/SimpleObjects_Test.java | 81 +++++++++++++++++
.../integtests/SimpleModuleIntegTestAbstract.java | 4 -
.../integtests/tests/SimpleObject_IntegTest.java | 71 +++++++--------
.../integtests/tests/SimpleObjects_IntegTest.java | 9 +-
pom.xml | 2 +-
webapp/pom.xml | 59 ++----------
.../main/java/domainapp/webapp/AppManifest.java | 43 +++++++++
.../src/main/java/domainapp/webapp/SimpleApp.java | 42 +--------
.../webapp/application/ApplicationModule.java | 10 +-
.../fixture/scenarios/DomainAppDemo.java | 15 ++-
.../services/health/HealthCheckServiceImpl.java | 4 +-
.../services/homepage/HomePageService.java | 30 ------
.../services/homepage/HomePageViewModel.java | 6 +-
.../services/homepage/HomePageViewModel.layout.xml | 7 +-
webapp/src/main/resources/application.yml | 29 +++---
.../config/application-SQLSERVER.properties | 6 +-
.../main/resources/config/application.properties | 2 +-
webapp/src/main/resources/log4j2-spring.xml | 2 +
.../layout => resources}/menubars.layout.xml | 0
.../domainapp/webapp/bdd/RunIntegBddSpecs.java | 9 +-
.../webapp/bdd/fixtures/DomainAppDemoStepDef.java | 37 ++++++++
.../webapp/bdd/glue/SimpleObjectsStepDef.java | 81 -----------------
.../bdd/infrastructure/BootstrapStepDef.java | 23 +++++
.../bdd/infrastructure/TransactionalStepDef.java | 55 +++++++++++
.../SimpleObjectSpec_listAllAndCreate.feature | 12 ++-
.../webapp/bdd/stepdefs/SimpleObjectsStepDef.java | 48 ++++++++++
.../integtests/ApplicationIntegTestAbstract.java | 11 ++-
.../lockdown/LockDownMetaModel_IntegTest.java | 4 +-
...ainapp.modules.simple.dom.impl.SimpleObject.xml | 39 ++++----
...inapp.modules.simple.dom.impl.SimpleObjects.xml | 31 ++++---
...ication.services.homepage.HomePageViewModel.xml | 4 +-
.../webapp/integtests/smoke/Smoke_IntegTest.java | 10 +-
46 files changed, 573 insertions(+), 559 deletions(-)
diff --git a/README.adoc b/README.adoc
index ca78503..85b982d 100644
--- a/README.adoc
+++ b/README.adoc
@@ -171,51 +171,6 @@ When there are differences, the current state is written to the `current` subdir
If the current state is approved, it should be copied over to the corresponding `approved` subdirectory.
-== Docker
-
-To package up the application as a docker image and push to a Docker registry:
-
-* set `$DOCKER_REGISTRY_USERNAME` and `$DOCKER_REGISTRY_PASSWORD` environment variables
-
-* modify the `to/image` configuration property for the link:https://github.com/GoogleContainerTools/jib[jib-maven-plugin] in the `pom.xml`
-+
-The default value is `docker.io/apacheisis/simpleapp:latest`:
-
-** change `docker.io` prefix to push to a registry other than Docker hub
-** change `apacheisis/simpleapp` to the name of your app.
-
-* package up the app with the `docker` profile:
-+
-[source,bash]
-----
-mvn -pl webapp -DskipTests -Ddocker package
-----
-
-Variants:
-
-* to specify Docker registry credentials through some other mechanism, configure the `pom.xml` for `maven-jib-plugin` (it supports a link:https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#authentication-methods[variety of ways] to specify credentials)
-
-* to override the image at the command line, use `-Dimage=...`.
-
-
-
-To run a docker image previously packaged:
-
-[source,bash]
-----
-docker pull apacheisis/simpleapp:latest
-docker container run -d -p 8080:8080 apacheisis/simpleapp:latest
-----
-
-This can then be accessed at link:http://localhost:8080[localhost:8080].
-
-
-=== Externalized Configuration
-
-The Docker image is configured to run in the `/run/secrets` directory.
-Configuration can be therefore be externalized by defining an `application.properties` secret for the Kubernetes or Docker Swarm cluster.
-
-Spring Boot will use these settings in preference to the configuration properties defined in `classpath:config/application.properties`, see link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config[Spring docs].
== Translations
diff --git a/module-simple/pom.xml b/module-simple/pom.xml
index c3a9ec9..20075c0 100644
--- a/module-simple/pom.xml
+++ b/module-simple/pom.xml
@@ -68,7 +68,14 @@
<!-- TESTS -->
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-testing</artifactId>
+ <artifactId>isis-mavendeps-unittests</artifactId>
+ <type>pom</type>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-integtests</artifactId>
<type>pom</type>
<scope>test</scope>
</dependency>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
index d22b641..a7ba643 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -1,17 +1,23 @@
package domainapp.modules.simple;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-import org.apache.isis.testing.fixtures.applib.legacy.teardown.TeardownFixtureAbstract2;
+import org.apache.isis.testing.fixtures.applib.teardown.TeardownFixtureAbstract;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
-import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObject;
-@org.apache.isis.applib.annotation.Module
+@Configuration
+@Import({})
+@ComponentScan
public class SimpleModule implements ModuleWithFixtures {
@Override
public FixtureScript getTeardownFixture() {
- return new TeardownFixtureAbstract2() {
+ return new TeardownFixtureAbstract() {
@Override
protected void execute(ExecutionContext executionContext) {
deleteFrom(SimpleObject.class);
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
similarity index 79%
rename from module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
rename to module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
index 6319cc7..e0f8c57 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
@@ -1,4 +1,4 @@
-package domainapp.modules.simple.dom.impl;
+package domainapp.modules.simple.dom.so;
import java.util.Comparator;
@@ -10,6 +10,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.Auditing;
+import org.apache.isis.applib.annotation.CommandReification;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.Publishing;
@@ -18,24 +19,34 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.title.TitleService;
import org.apache.isis.applib.jaxbadapters.PersistentEntityAdapter;
-import static org.apache.isis.applib.annotation.CommandReification.ENABLED;
import static org.apache.isis.applib.annotation.SemanticsOf.IDEMPOTENT;
import static org.apache.isis.applib.annotation.SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE;
-import domainapp.modules.simple.dom.types.Name;
-import domainapp.modules.simple.dom.types.Notes;
+import domainapp.modules.simple.SimpleModule;
+import domainapp.modules.simple.types.Name;
+import domainapp.modules.simple.types.Notes;
import lombok.val;
@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE, schema = "simple")
@javax.jdo.annotations.DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY, column="id")
@javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column="version")
@javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
-@DomainObject(auditing = Auditing.ENABLED)
-@DomainObjectLayout() // causes UI events to be triggered
+@DomainObject()
+@DomainObjectLayout()
@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
public class SimpleObject implements Comparable<SimpleObject> {
- public static class ActionDomainEvent extends org.apache.isis.applib.events.domain.ActionDomainEvent<SimpleObject> {}
+ public static SimpleObject withName(String name) {
+ val simpleObject = new SimpleObject();
+ simpleObject.setName(name);
+ return simpleObject;
+ }
+
+ public static class ActionDomainEvent extends SimpleModule.ActionDomainEvent<SimpleObject> {}
+
+ @Inject RepositoryService repositoryService;
+ @Inject TitleService titleService;
+ @Inject MessageService messageService;
private SimpleObject() {
}
@@ -44,7 +55,7 @@ public class SimpleObject implements Comparable<SimpleObject> {
return "Object: " + getName();
}
- @lombok.Getter @lombok.Setter //@lombok.NonNull XXX lombok+JDOQ issue
+ @lombok.Getter @lombok.Setter
@Name private String name;
@lombok.Getter @lombok.Setter
@@ -52,7 +63,9 @@ public class SimpleObject implements Comparable<SimpleObject> {
public static class UpdateNameActionDomainEvent extends SimpleObject.ActionDomainEvent {}
- @Action(semantics = IDEMPOTENT, command = ENABLED, publishing = Publishing.ENABLED, associateWith = "name", domainEvent = UpdateNameActionDomainEvent.class)
+ @Action(semantics = IDEMPOTENT,
+ command = CommandReification.ENABLED, publishing = Publishing.ENABLED,
+ associateWith = "name", domainEvent = UpdateNameActionDomainEvent.class)
public SimpleObject updateName(
@Name final String name) {
setName(name);
@@ -85,16 +98,5 @@ public class SimpleObject implements Comparable<SimpleObject> {
}
- @Inject RepositoryService repositoryService;
- @Inject TitleService titleService;
- @Inject MessageService messageService;
-
- // FACTORY
-
- public static SimpleObject ofName(String name) {
- val simpleObject = new SimpleObject();
- simpleObject.setName(name);
- return simpleObject;
- }
}
\ No newline at end of file
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.layout.xml
similarity index 100%
rename from module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
rename to module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.layout.xml
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.png
similarity index 100%
rename from module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png
rename to module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.png
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
similarity index 86%
rename from module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
rename to module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
index e61b096..83834ad 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
@@ -1,4 +1,4 @@
-package domainapp.modules.simple.dom.impl;
+package domainapp.modules.simple.dom.so;
import java.util.List;
@@ -9,7 +9,8 @@ import org.apache.isis.applib.annotation.*;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
-import domainapp.modules.simple.dom.types.Name;
+import domainapp.modules.simple.SimpleModule;
+import domainapp.modules.simple.types.Name;
@DomainService(
nature = NatureOfService.VIEW,
@@ -26,15 +27,14 @@ public class SimpleObjects {
this.isisJdoSupport = isisJdoSupport;
}
- public static class ActionDomainEvent extends org.apache.isis.applib.events.domain.ActionDomainEvent<SimpleObjects> {}
+ public static class ActionDomainEvent extends SimpleModule.ActionDomainEvent<SimpleObjects> {}
public static class CreateActionDomainEvent extends ActionDomainEvent {}
@Action(semantics = SemanticsOf.NON_IDEMPOTENT, domainEvent = CreateActionDomainEvent.class)
- @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
+ @ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR)
public SimpleObject create(
- @Name final String name
- ) {
- return repositoryService.persist(SimpleObject.ofName(name));
+ @Name final String name) {
+ return repositoryService.persist(SimpleObject.withName(name));
}
public static class FindByNameActionDomainEvent extends ActionDomainEvent {}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
index 8635012..c517334 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
@@ -4,8 +4,8 @@ import javax.inject.Inject;
import org.apache.isis.testing.fixtures.applib.fixturescripts.BuilderScriptWithResult;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
index 30501e8..36e0c71 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
@@ -3,10 +3,10 @@ package domainapp.modules.simple.fixture;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.testing.fixtures.applib.api.PersonaWithBuilderScript;
import org.apache.isis.testing.fixtures.applib.api.PersonaWithFinder;
-import org.apache.isis.testing.fixtures.applib.legacy.setup.PersonaEnumPersistAll;
+import org.apache.isis.testing.fixtures.applib.setup.PersonaEnumPersistAll;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
import lombok.AllArgsConstructor;
@AllArgsConstructor
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java b/module-simple/src/main/java/domainapp/modules/simple/types/Name.java
similarity index 89%
rename from module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
rename to module-simple/src/main/java/domainapp/modules/simple/types/Name.java
index ebf9531..eb5b67d 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/types/Name.java
@@ -1,4 +1,4 @@
-package domainapp.modules.simple.dom.types;
+package domainapp.modules.simple.types;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -15,7 +15,7 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.spec.AbstractSpecification2;
@Column(length = Name.MAX_LEN, allowsNull = "false")
-@Property(editing = Editing.DISABLED, mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
+@Property(mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
@Parameter(mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
@ParameterLayout(named = "Name")
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java b/module-simple/src/main/java/domainapp/modules/simple/types/Notes.java
similarity index 94%
rename from module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
rename to module-simple/src/main/java/domainapp/modules/simple/types/Notes.java
index bb35237..1845679 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/types/Notes.java
@@ -1,4 +1,4 @@
-package domainapp.modules.simple.dom.types;
+package domainapp.modules.simple.types;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
deleted file mode 100644
index ab6be96..0000000
--- a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package domainapp.modules.simple.dom.impl;
-
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class SimpleObject_Test {
-
- SimpleObject simpleObject;
-
- @BeforeEach
- public void setUp() throws Exception {
- simpleObject = SimpleObject.ofName("Foobar");
- }
-
- public static class Name extends SimpleObject_Test {
-
- @Test
- public void happyCase() throws Exception {
- // given
- assertThat(simpleObject.getName()).isEqualTo("Foobar");
-
- // when
- String name = "Foobar - updated";
- simpleObject.setName(name);
-
- // then
- assertThat(simpleObject.getName()).isEqualTo(name);
- }
- }
-
-}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
deleted file mode 100644
index ede59c4..0000000
--- a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package domainapp.modules.simple.dom.impl;
-
-import java.util.List;
-
-import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
-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.services.repository.RepositoryService;
-import org.apache.isis.core.commons.internal.collections._Lists;
-import org.apache.isis.core.unittestsupport.jmocking.JMockActions;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class SimpleObjects_Test {
-
- @Rule
- public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
- @Mock
- RepositoryService mockRepositoryService;
- @Mock
- IsisJdoSupport_v3_2 mockIsisJdoSupport_v3_2;
-
- SimpleObjects simpleObjects;
-
- @Before
- public void setUp() {
- simpleObjects = new SimpleObjects(mockRepositoryService, mockIsisJdoSupport_v3_2);
- }
-
- public static class Create extends SimpleObjects_Test {
-
- @Test
- public void happyCase() {
-
- final String someName = "Foobar";
-
- // given
- context.checking(new Expectations() {
- {
- oneOf(mockRepositoryService).persist(with(nameOf(someName)));
- will(JMockActions.returnArgument(0));
- }
-
- });
-
- // when
- final SimpleObject obj = simpleObjects.create(someName);
-
- // then
- assertThat(obj).isNotNull();
- assertThat(obj.getName()).isEqualTo(someName);
- }
-
- private static Matcher<SimpleObject> nameOf(final String name) {
- return new TypeSafeMatcher<SimpleObject>() {
- @Override
- protected boolean matchesSafely(final SimpleObject item) {
- return name.equals(item.getName());
- }
-
- @Override
- public void describeTo(final Description description) {
- description.appendText("has name of '" + name + "'");
- }
- };
- }
- }
-
- public static class ListAll extends SimpleObjects_Test {
-
- @Test
- public void happyCase() {
-
- // given
- final List<SimpleObject> all = _Lists.newArrayList();
-
- context.checking(new Expectations() {
- {
- oneOf(mockRepositoryService).allInstances(SimpleObject.class);
- will(returnValue(all));
- }
- });
-
- // when
- final List<SimpleObject> list = simpleObjects.listAll();
-
- // then
- assertThat(list).isEqualTo(all);
- }
- }
-}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
new file mode 100644
index 0000000..922b077
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
@@ -0,0 +1,71 @@
+package domainapp.modules.simple.dom.so;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.apache.isis.applib.services.message.MessageService;
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.applib.services.title.TitleService;
+
+@ExtendWith(MockitoExtension.class)
+class SimpleObject_Test {
+
+ @Mock TitleService mockTitleService;
+ @Mock MessageService mockMessageService;
+ @Mock RepositoryService mockRepositoryService;
+
+ SimpleObject object;
+
+ @BeforeEach
+ public void setUp() throws Exception {
+ object = SimpleObject.withName("Foo");
+ object.titleService = mockTitleService;
+ object.messageService = mockMessageService;
+ object.repositoryService = mockRepositoryService;
+ }
+
+ @Nested
+ public class updateName {
+
+ @Test
+ void happy_case() {
+ // given
+ assertThat(object.getName()).isEqualTo("Foo");
+
+ // when
+ object.updateName("Bar");
+
+ // then
+ assertThat(object.getName()).isEqualTo("Bar");
+ }
+
+ }
+ @Nested
+ class delete {
+
+ @Test
+ void happy_case() throws Exception {
+
+ // given
+ assertThat(object).isNotNull();
+
+ // expecting
+ when(mockTitleService.titleOf(object)).thenReturn("Foo");
+
+ // when
+ object.delete();
+
+ // then
+ verify(mockMessageService).informUser("'Foo' deleted");
+ verify(mockRepositoryService).removeAndFlush(object);
+ }
+ }
+}
\ No newline at end of file
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
new file mode 100644
index 0000000..579804d
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
@@ -0,0 +1,81 @@
+package domainapp.modules.simple.dom.so;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.ArgumentMatcher;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.mockito.stubbing.Answer;
+
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.core.commons.internal.collections._Lists;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.Mockito.when;
+
+@ExtendWith(MockitoExtension.class)
+class SimpleObjects_Test {
+
+ @Mock RepositoryService mockRepositoryService;
+ @Mock IsisJdoSupport_v3_2 mockIsisJdoSupport_v3_2;
+
+ SimpleObjects objects;
+
+ @BeforeEach
+ public void setUp() {
+ objects = new SimpleObjects(mockRepositoryService, mockIsisJdoSupport_v3_2);
+ }
+
+ @Nested
+ class create {
+
+ @Test
+ void happyCase() {
+
+ // given
+ final String someName = "Foobar";
+
+ // expect
+ when(mockRepositoryService.persist(
+ argThat((ArgumentMatcher<SimpleObject>) simpleObject -> Objects.equals(simpleObject.getName(), someName)))
+ ).then((Answer<SimpleObject>) invocation -> invocation.getArgument(0));
+
+ // when
+ final SimpleObject obj = objects.create(someName);
+
+ // then
+ assertThat(obj).isNotNull();
+ assertThat(obj.getName()).isEqualTo(someName);
+ }
+ }
+
+ @Nested
+ class ListAll {
+
+ @Test
+ void happyCase() {
+
+ // given
+ final List<SimpleObject> all = new ArrayList<>();
+
+ // expecting
+ when(mockRepositoryService.allInstances(SimpleObject.class))
+ .thenReturn(all);
+
+ // when
+ final List<SimpleObject> list = objects.listAll();
+
+ // then
+ assertThat(list).isEqualTo(all);
+ }
+ }
+}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
index 131ac3b..6e038f8 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -33,12 +33,8 @@ public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestA
IsisModuleJdoDataNucleus5.class,
IsisModuleTestingFixturesApplib.class,
- IsisIntegrationTestAbstract.CommandSupport.class,
-
SimpleModule.class
})
public static class AppManifest {
}
-
}
-
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
index cc50598..40544da 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
@@ -1,13 +1,18 @@
package domainapp.modules.simple.integtests.tests;
import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
import javax.inject.Inject;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
+import org.springframework.context.event.EventListener;
import org.springframework.transaction.annotation.Transactional;
+import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.services.title.TitleService;
import org.apache.isis.applib.services.wrapper.DisabledException;
import org.apache.isis.applib.services.wrapper.InvalidException;
@@ -19,7 +24,9 @@ import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import domainapp.modules.simple.dom.impl.SimpleObject;
+import lombok.Getter;
+
+import domainapp.modules.simple.dom.so.SimpleObject;
import domainapp.modules.simple.fixture.SimpleObject_persona;
import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
@@ -34,7 +41,7 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
simpleObject = fixtureScripts.runPersona(SimpleObject_persona.FOO);
}
- public static class Name extends SimpleObject_IntegTest {
+ public static class name extends SimpleObject_IntegTest {
@Test
public void accessible() {
@@ -53,23 +60,42 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
// when
wrap(simpleObject).setName("new name");
-
});
}
}
- public static class UpdateName extends SimpleObject_IntegTest {
+ public static class updateName extends SimpleObject_IntegTest {
+
+ @DomainService
+ public static class UpdateNameListener {
+
+ @Getter
+ List<SimpleObject.UpdateNameActionDomainEvent> events = new ArrayList<>();
+
+ @EventListener(SimpleObject.UpdateNameActionDomainEvent.class)
+ public void on(SimpleObject.UpdateNameActionDomainEvent ev) {
+ events.add(ev);
+ }
+ }
+
+ @Inject
+ UpdateNameListener updateNameListener;
+
@Test
public void can_be_updated_directly() {
+ // given
+ updateNameListener.getEvents().clear();
+
// when
wrap(simpleObject).updateName("new name");
transactionService.flushTransaction();
// then
assertThat(wrap(simpleObject).getName()).isEqualTo("new name");
+ assertThat(updateNameListener.getEvents()).hasSize(5);
}
@Test
@@ -80,36 +106,14 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
// when
wrap(simpleObject).updateName("new name!");
-
});
- // also expect
- assertThat(cause.getMessage(), containsString("Exclamation mark is not allowed."));
-
- }
- }
-
-
- public static class Title extends SimpleObject_IntegTest {
-
- @Inject
- TitleService titleService;
-
- @Test
- public void interpolatesName() {
-
- // given
- final String name = wrap(simpleObject).getName();
-
- // when
- final String title = titleService.titleOf(simpleObject);
-
// then
- assertThat(title).isEqualTo("Object: " + name);
+ assertThat(cause.getMessage(), containsString("Exclamation mark is not allowed."));
}
}
- public static class DataNucleusId extends SimpleObject_IntegTest {
+ public static class dataNucleusId extends SimpleObject_IntegTest {
@Test
public void should_be_populated() {
@@ -121,15 +125,4 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
}
}
- public static class DataNucleusVersionTimestamp extends SimpleObject_IntegTest {
-
- @Test
- public void should_be_populated() {
- // when
- final Timestamp timestamp = mixin(Persistable_datanucleusVersionTimestamp.class, simpleObject).prop();
- // then
- assertThat(timestamp).isNotNull();
- }
- }
-
}
\ No newline at end of file
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
index 94a8a5a..dcd2302 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
@@ -1,6 +1,5 @@
package domainapp.modules.simple.integtests.tests;
-import java.sql.SQLIntegrityConstraintViolationException;
import java.util.List;
import javax.inject.Inject;
@@ -15,8 +14,8 @@ import org.apache.isis.testing.integtestsupport.applib.ThrowableMatchers;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
import domainapp.modules.simple.fixture.SimpleObject_persona;
import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
@@ -26,7 +25,7 @@ public class SimpleObjects_IntegTest extends SimpleModuleIntegTestAbstract {
@Inject
SimpleObjects menu;
- public static class ListAll extends SimpleObjects_IntegTest {
+ public static class listAll extends SimpleObjects_IntegTest {
@Test
public void happyCase() {
@@ -53,7 +52,7 @@ public class SimpleObjects_IntegTest extends SimpleModuleIntegTestAbstract {
}
}
- public static class Create extends SimpleObjects_IntegTest {
+ public static class create extends SimpleObjects_IntegTest {
@Test
public void happyCase() {
diff --git a/pom.xml b/pom.xml
index 613fe3f..5a25097 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.apache.isis.app</groupId>
<artifactId>isis-app-starter-parent</artifactId>
- <version>2.0.0-M2.20200120-1800-910c8085</version>
+ <version>2.0.0-M2.20200131-1559-7516c085</version>
<!--
<version>2.0.0-M3-SNAPSHOT</version>
-->
diff --git a/webapp/pom.xml b/webapp/pom.xml
index bfa08f9..fecb82d 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -11,7 +11,7 @@
<artifactId>simpleapp-webapp</artifactId>
<name>Apache Isis App - SimpleApp Webapp</name>
- <description>Assembles and runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
+ <description>Assembles and runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the JDO/DataNucleus object store.</description>
<packaging>jar</packaging>
@@ -43,6 +43,9 @@
<testResource>
<filtering>false</filtering>
<directory>src/test/java</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
</testResource>
</testResources>
<plugins>
@@ -123,14 +126,15 @@
<!-- TESTING -->
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-testing</artifactId>
+ <artifactId>isis-mavendeps-integtests</artifactId>
<type>pom</type>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.isis.testing</groupId>
- <artifactId>isis-testing-specsupport-applib</artifactId>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-integspecs</artifactId>
+ <type>pom</type>
<scope>test</scope>
</dependency>
@@ -177,53 +181,6 @@
</profile>
<profile>
- <id>docker</id>
- <activation>
- <property>
- <name>docker</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>com.google.cloud.tools</groupId>
- <artifactId>jib-maven-plugin</artifactId>
- <configuration>
- <from>
- <image>openjdk:8-alpine</image>
- </from>
- <container>
- <jvmFlags>
- <jvmFlag>-Xmx512m</jvmFlag>
- </jvmFlags>
- <mainClass>domainapp.webapp.SimpleApp</mainClass>
- <ports>
- <port>8080</port>
- </ports>
- <workingDirectory>/run/secrets</workingDirectory>
- </container>
- <to>
- <image>docker.io/apacheisis/simpleapp:latest</image>
- <auth>
- <username>${env.DOCKER_REGISTRY_USERNAME}</username>
- <password>${env.DOCKER_REGISTRY_PASSWORD}</password>
- </auth>
- </to>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>build</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
<id>jdbc-sqlserver</id>
<activation>
<property>
diff --git a/webapp/src/main/java/domainapp/webapp/AppManifest.java b/webapp/src/main/java/domainapp/webapp/AppManifest.java
new file mode 100644
index 0000000..43bf0d4
--- /dev/null
+++ b/webapp/src/main/java/domainapp/webapp/AppManifest.java
@@ -0,0 +1,43 @@
+package domainapp.webapp;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
+
+import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+import org.apache.isis.extensions.flyway.impl.IsisModuleExtFlywayImpl;
+import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
+import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
+import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
+import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
+import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
+
+import domainapp.webapp.application.ApplicationModule;
+import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
+
+@Configuration
+@Import({
+ IsisModuleCoreRuntimeServices.class,
+ IsisModuleSecurityShiro.class,
+ IsisModuleJdoDataNucleus5.class,
+ IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
+ IsisModuleViewerWicketViewer.class,
+
+ IsisModuleTestingFixturesApplib.class,
+ IsisModuleTestingH2ConsoleUi.class,
+
+ IsisModuleExtFlywayImpl.class,
+
+ ApplicationModule.class,
+
+ // discoverable fixtures
+ DomainAppDemo.class
+})
+@PropertySources({
+ @PropertySource(IsisPresets.DebugDiscovery),
+})
+public class AppManifest {
+}
diff --git a/webapp/src/main/java/domainapp/webapp/SimpleApp.java b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
index 39c1e56..dcce3c6 100644
--- a/webapp/src/main/java/domainapp/webapp/SimpleApp.java
+++ b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
@@ -3,56 +3,16 @@ package domainapp.webapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.extensions.flyway.impl.IsisModuleExtFlywayImpl;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
-import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
-import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
-import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
-
-import domainapp.webapp.application.ApplicationModule;
-import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
@SpringBootApplication
@Import({
- SimpleApp.AppManifest.class,
+ AppManifest.class,
})
public class SimpleApp extends SpringBootServletInitializer {
- @Configuration
- @PropertySources({
- @PropertySource(IsisPresets.NoTranslations),
- @PropertySource(IsisPresets.DataNucleusAutoCreate),
- @PropertySource(IsisPresets.DebugDiscovery),
- })
- @Import({
- IsisModuleCoreRuntimeServices.class,
- IsisModuleSecurityShiro.class,
- IsisModuleJdoDataNucleus5.class,
- IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
- IsisModuleViewerWicketViewer.class,
-
- IsisModuleTestingFixturesApplib.class,
- IsisModuleTestingH2ConsoleUi.class,
-
- IsisModuleExtFlywayImpl.class,
-
- ApplicationModule.class,
-
- // discoverable fixtures
- DomainAppDemo.class
- })
- public static class AppManifest {
- }
-
/**
* @implNote this is to support the <em>Spring Boot Maven Plugin</em>, which auto-detects an
* entry point by searching for classes having a {@code main(...)}
diff --git a/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java b/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
index b0211ad..ec319e8 100644
--- a/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
+++ b/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
@@ -1,12 +1,18 @@
package domainapp.webapp.application;
+import java.lang.annotation.Documented;
+
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import domainapp.modules.simple.SimpleModule;
-@org.apache.isis.applib.annotation.Module
+@Configuration
@Import(SimpleModule.class)
-public class ApplicationModule implements ModuleWithFixtures {
+@ComponentScan
+public class ApplicationModule {
}
diff --git a/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java b/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
index 70336f5..e0445b2 100644
--- a/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
+++ b/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
@@ -1,21 +1,20 @@
package domainapp.webapp.application.fixture.scenarios;
+import javax.inject.Inject;
+
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-import org.apache.isis.testing.fixtures.applib.legacy.teardown.TeardownFixtureAbstract2;
+import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixturesService;
-import domainapp.modules.simple.dom.impl.SimpleObject;
import domainapp.modules.simple.fixture.SimpleObject_persona;
public class DomainAppDemo extends FixtureScript {
+ @Inject
+ ModuleWithFixturesService moduleWithFixturesService;
+
@Override
protected void execute(final ExecutionContext ec) {
- ec.executeChild(this, new TeardownFixtureAbstract2() {
- @Override
- protected void execute(final ExecutionContext executionContext) {
- deleteFrom(SimpleObject.class);
- }
- });
+ ec.executeChildren(this, moduleWithFixturesService.getTeardownFixture());
ec.executeChild(this, new SimpleObject_persona.PersistAll());
}
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
index feaede6..9f75c0f 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
@@ -7,8 +7,8 @@ import org.apache.isis.applib.services.health.Health;
import org.apache.isis.applib.services.health.HealthCheckService;
import org.springframework.stereotype.Service;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-import domainapp.modules.simple.dom.types.Name;
+import domainapp.modules.simple.dom.so.SimpleObjects;
+
import lombok.extern.log4j.Log4j2;
@Service
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
deleted file mode 100644
index fadf3e0..0000000
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package domainapp.webapp.application.services.homepage;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.HomePage;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.factory.FactoryService;
-
-@Service
-@Named("domainapp.HomePageService")
-public class HomePageService {
-
- private final FactoryService factoryService;
-
- @Inject
- public HomePageService(final FactoryService factoryService) {
- this.factoryService = factoryService;
- }
-
- @Action(semantics = SemanticsOf.SAFE)
- @HomePage
- public HomePageViewModel homePage() {
- return factoryService.instantiate(HomePageViewModel.class);
- }
-
-}
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
index db8cfd3..570d3dd 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
@@ -5,16 +5,18 @@ import java.util.List;
import javax.inject.Inject;
import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.HomePage;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.services.i18n.TranslatableString;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
@DomainObject(
nature = Nature.VIEW_MODEL,
objectType = "domainapp.HomePageViewModel"
)
+@HomePage
public class HomePageViewModel {
public TranslatableString title() {
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
index 37b0af8..fb55faa 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bs3:row>
- <bs3:col span="2">
- <bs3:sizeSpan size="LG" span="2" offset="true"/>
+ <bs3:col span="3">
<bs3:row>
<bs3:col span="12" unreferencedActions="true">
<domainObject/>
@@ -14,13 +13,15 @@
</bs3:col>
</bs3:row>
</bs3:col>
- <bs3:col span="4" unreferencedCollections="true">
+ <bs3:col span="6" unreferencedCollections="true">
<bs3:row>
<bs3:col span="12">
<collection id="objects" defaultView="table"/>
</bs3:col>
</bs3:row>
</bs3:col>
+ <bs3:col span="3">
+ </bs3:col>
</bs3:row>
<bs3:row>
diff --git a/webapp/src/main/resources/application.yml b/webapp/src/main/resources/application.yml
index 65ba537..f7f1c9c 100644
--- a/webapp/src/main/resources/application.yml
+++ b/webapp/src/main/resources/application.yml
@@ -5,7 +5,6 @@
#
isis:
-
applib:
annotation:
action:
@@ -19,7 +18,6 @@ isis:
discard.*:btn-warning,
remove.*:btn-warning
domain-object:
- editing: false
auditing: all
publishing: all
property:
@@ -35,34 +33,37 @@ isis:
no-params-only: true
explicit-object-type: true
+ runtime-services:
+ translation:
+ po:
+ mode: disabled
+
viewer:
wicket:
application:
- menubars-layout-xml: domainapp/webapp/application/layout/menubars.layout.xml
- brand-logo-header: /images/apache-isis/logo-48x48.png
- favicon-url: /images/favicon.png
- name: Simple App
+ about: Simple App
+ brand-logo-header: images/apache-isis/logo-48x48.png
css: css/application.css
+ favicon-url: images/favicon.png
js: scripts/application.js
- about: Simple App
+ name: Simple App
+ menubars-layout-xml: menubars.layout.xml
credit:
- url: http://isis.apache.org
- image: /images/apache-isis/logo-48x48.png
+ image: images/apache-isis/logo-48x48.png
name: Apache Isis
themes:
- initial: Flatly
- showChooser: true
- enabled: bootstrap-theme, Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Lumen, Paper, Readable, Sandstone, Simplex, Slate, Spacelab, Superhero, United, Yeti
+ show-chooser: true
max-title-length-in-standalone-tables: 0
max-title-length-in-parented-tables: 0
- development-utilities:
- enable: true
bookmarked-pages:
- show-chooser: false
+ show-chooser: true
+ show-drop-down-on-footer: true
+
persistence:
jdo-datanucleus:
diff --git a/webapp/src/main/resources/config/application-SQLSERVER.properties b/webapp/src/main/resources/config/application-SQLSERVER.properties
index 4747259..d9a71f6 100644
--- a/webapp/src/main/resources/config/application-SQLSERVER.properties
+++ b/webapp/src/main/resources/config/application-SQLSERVER.properties
@@ -23,9 +23,11 @@ isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionDriverName = co
isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionUserName = simpleapp
isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionPassword = simpleapp
+isis.persistence.jdo-datanucleus.impl.datanucleus.schema.autoCreateAll=false
+
+spring.flyway.enabled=true
+
spring.flyway.url=${isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionURL}
spring.flyway.user=${isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionUserName}
spring.flyway.password=${isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionPassword}
-spring.flyway.enabled=true
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.autoCreateAll=false
diff --git a/webapp/src/main/resources/config/application.properties b/webapp/src/main/resources/config/application.properties
index 8e3d195..43689aa 100644
--- a/webapp/src/main/resources/config/application.properties
+++ b/webapp/src/main/resources/config/application.properties
@@ -16,5 +16,5 @@ isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionDriverName = or
isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionPassword =
+isis.persistence.jdo-datanucleus.impl.datanucleus.schema.autoCreateAll=true
spring.flyway.enabled=false
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.autoCreateAll=true
\ No newline at end of file
diff --git a/webapp/src/main/resources/log4j2-spring.xml b/webapp/src/main/resources/log4j2-spring.xml
index 44bb55c..62d6ae5 100644
--- a/webapp/src/main/resources/log4j2-spring.xml
+++ b/webapp/src/main/resources/log4j2-spring.xml
@@ -35,6 +35,8 @@
<logger name="DataNucleus.Datastore.Schema" level="info"/>
<logger name="DataNucleus.Datastore.Native" level="info"/>
+ <logger name="org.apache.isis.applib.services.publish.PublisherServiceLogging" level="debug"/>
+
<Root level="info">
<AppenderRef ref="Console" />
</Root>
diff --git a/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml b/webapp/src/main/resources/menubars.layout.xml
similarity index 100%
rename from webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
rename to webapp/src/main/resources/menubars.layout.xml
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java b/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
index 7c2f316..f61b05d 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
@@ -1,10 +1,9 @@
package domainapp.webapp.bdd;
-import io.cucumber.junit.Cucumber;
-import io.cucumber.junit.CucumberOptions;
-
import org.junit.runner.RunWith;
+import io.cucumber.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
/**
* Runs scenarios in all <tt>.feature</tt> files (this package and any subpackages).
@@ -18,8 +17,10 @@ import org.junit.runner.RunWith;
strict = true,
tags = { "not @backlog", "not @ignore" },
glue = {
+ },
+ features = {
}
- )
+)
public class RunIntegBddSpecs {
// intentionally empty
}
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/fixtures/DomainAppDemoStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/fixtures/DomainAppDemoStepDef.java
new file mode 100644
index 0000000..b66da87
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/bdd/fixtures/DomainAppDemoStepDef.java
@@ -0,0 +1,37 @@
+package domainapp.webapp.bdd.fixtures;
+
+import java.util.List;
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.apache.isis.applib.annotation.OrderPrecedence;
+import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
+
+import lombok.val;
+
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
+import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import io.cucumber.java.After;
+import io.cucumber.java.Before;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.When;
+
+public class DomainAppDemoStepDef {
+
+ @Inject private FixtureScripts fixtureScripts;
+
+ @Before(value="@DomainAppDemo", order= OrderPrecedence.MIDPOINT)
+ public void runDomainAppDemo() {
+ fixtureScripts.runFixtureScript(new DomainAppDemo(), null); // <1>
+ }
+
+}
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
deleted file mode 100644
index 733a89b..0000000
--- a/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package domainapp.webapp.bdd.glue;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-import domainapp.modules.simple.fixture.SimpleObject_persona;
-import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
-import io.cucumber.java.After;
-import io.cucumber.java.Before;
-import io.cucumber.java.en.Given;
-import io.cucumber.java.en.When;
-import lombok.val;
-
-import java.util.List;
-import java.util.UUID;
-
-import javax.inject.Inject;
-
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.support.TransactionTemplate;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class SimpleObjectsStepDef extends ApplicationIntegTestAbstract {
-
- @Given("^there are.* (\\d+) simple objects$")
- public void there_are_N_simple_objects(int n) throws Throwable {
- final List<SimpleObject> list = wrap(simpleObjects).listAll();
- assertThat(list.size(), is(n));
- }
-
- @When("^.*create a .*simple object$")
- public void create_a_simple_object() throws Throwable {
- wrap(simpleObjects).create(UUID.randomUUID().toString());
- }
-
- // -- TRANSACTION ASPECT
-
- private Runnable afterScenario;
-
- @Before //TODO is there another way to make scenarios transactional?
- public void beforeScenario(){
- val txTemplate = new TransactionTemplate(txMan);
- val status = txTemplate.getTransactionManager().getTransaction(null);
- afterScenario = () -> {
- txTemplate.getTransactionManager().rollback(status);
- };
-
- fixtureScripts.runPersonas(
- SimpleObject_persona.BANG,
- SimpleObject_persona.BAR,
- SimpleObject_persona.BAZ);
-
- status.flush();
- }
-
- @After
- public void afterScenario(){
- if(afterScenario==null) {
- return;
- }
- afterScenario.run();
- afterScenario = null;
- }
-
-
- // -- DEPENDENCIES
-
- @Inject protected SimpleObjects simpleObjects;
- @Inject private FixtureScripts fixtureScripts;
- //@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
- @Inject private PlatformTransactionManager txMan;
-
- @Before(value="@DomainAppDemo", order=20000)
- public void runDomainAppDemo() {
- fixtureScripts.runFixtureScript(new DomainAppDemo(), null); // <1>
- }
-
-}
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/infrastructure/BootstrapStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/infrastructure/BootstrapStepDef.java
new file mode 100644
index 0000000..b69042a
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/bdd/infrastructure/BootstrapStepDef.java
@@ -0,0 +1,23 @@
+package domainapp.webapp.bdd.infrastructure;
+
+import javax.inject.Inject;
+
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import org.apache.isis.applib.annotation.OrderPrecedence;
+
+import lombok.val;
+
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import io.cucumber.java.After;
+import io.cucumber.java.Before;
+
+public class BootstrapStepDef extends ApplicationIntegTestAbstract {
+
+ @Before(order= OrderPrecedence.FIRST)
+ public void bootstrap() {
+ // empty
+ }
+
+}
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/infrastructure/TransactionalStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/infrastructure/TransactionalStepDef.java
new file mode 100644
index 0000000..6c35809
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/bdd/infrastructure/TransactionalStepDef.java
@@ -0,0 +1,55 @@
+package domainapp.webapp.bdd.infrastructure;
+
+import java.util.List;
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.apache.isis.applib.annotation.OrderPrecedence;
+
+import lombok.val;
+
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import io.cucumber.java.After;
+import io.cucumber.java.Before;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.When;
+
+/**
+ * equivalent to the Spring @Transactional attribute
+ */
+public class TransactionalStepDef {
+
+ private Runnable afterScenario;
+
+ @Before(order = OrderPrecedence.EARLY)
+ public void beforeScenario(){
+ val txTemplate = new TransactionTemplate(txMan);
+ val status = txTemplate.getTransactionManager().getTransaction(null);
+ afterScenario = () -> {
+ txTemplate.getTransactionManager().rollback(status);
+ };
+
+ status.flush();
+ }
+
+ @After
+ public void afterScenario(){
+ if(afterScenario==null) {
+ return;
+ }
+ afterScenario.run();
+ afterScenario = null;
+ }
+
+ @Inject private PlatformTransactionManager txMan;
+
+}
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
index 0cbca41..ca807b4 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
+++ b/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
@@ -1,8 +1,14 @@
Feature: List and Create New Simple Objects
+ @DomainAppDemo
Scenario: Existing simple objects can be listed and new ones created
- Given there are initially 3 simple objects
+ Given there are initially 10 simple objects
When I create a new simple object
- Then there are 4 simple objects
+ Then there are 11 simple objects
+
+ Scenario: When there are no objects at all
+ Given there are initially 0 simple objects
+ When I create a new simple object
+ And I create another new simple object
+ Then there are 2 simple objects
-
\ No newline at end of file
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/SimpleObjectsStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/SimpleObjectsStepDef.java
new file mode 100644
index 0000000..ef3fac0
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/SimpleObjectsStepDef.java
@@ -0,0 +1,48 @@
+package domainapp.webapp.bdd.stepdefs;
+
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
+import domainapp.modules.simple.fixture.SimpleObject_persona;
+import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import io.cucumber.java.After;
+import io.cucumber.java.Before;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.Then;
+import io.cucumber.java.en.When;
+import lombok.val;
+
+import java.util.List;
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import org.apache.isis.applib.services.wrapper.WrapperFactory;
+import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+public class SimpleObjectsStepDef {
+
+ @Given("^there (?:is|are).* (\\d+) simple object[s]?$")
+ public void there_are_N_simple_objects(int n) {
+ final List<SimpleObject> list = wrap(simpleObjects).listAll();
+ assertThat(list.size(), is(n));
+ }
+
+ @When("^.*create (?:a|another) .*simple object$")
+ public void create_a_simple_object() {
+ wrap(simpleObjects).create(UUID.randomUUID().toString());
+ }
+
+ <T> T wrap(T domainObject) {
+ return wrapperFactory.wrap(domainObject);
+ }
+
+ @Inject protected SimpleObjects simpleObjects;
+ @Inject protected WrapperFactory wrapperFactory;
+
+}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
index ab5b46e..0731500 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
@@ -28,11 +28,12 @@ public abstract class ApplicationIntegTestAbstract extends IsisIntegrationTestAb
@Configuration
@Import({
- IsisModuleCoreRuntimeServices.class,
- IsisModuleJdoDataNucleus5.class,
- IsisModuleSecurityBypass.class,
- IsisModuleTestingFixturesApplib.class,
- ApplicationModule.class
+ IsisModuleCoreRuntimeServices.class,
+ IsisModuleJdoDataNucleus5.class,
+ IsisModuleSecurityBypass.class,
+ IsisModuleTestingFixturesApplib.class,
+
+ ApplicationModule.class
})
public static class AppManifest {
}
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
index f81da1f..f22ffeb 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
@@ -19,9 +19,9 @@ import org.apache.isis.schema.metamodel.v2.MetamodelDto;
import static org.approvaltests.Approvals.getReporter;
import static org.approvaltests.Approvals.verify;
+import static org.assertj.core.api.Assumptions.assumeThat;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.junit.Assume.assumeThat;
import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
import domainapp.webapp.util.CurrentVsApprovedApprovalTextWriter;
@@ -33,7 +33,7 @@ class LockDownMetaModel_IntegTest extends ApplicationIntegTestAbstract {
@BeforeEach
public void setUp() throws Exception {
- assumeThat(System.getProperty("metamodel.lockdown"), is(notNullValue()));
+ assumeThat(System.getProperty("metamodel.lockdown")).isNotNull();
}
@UseReporter(DiffReporter.class)
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
index 97959f5..75575ed 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
@@ -366,7 +366,7 @@
<mml:attr name="value">40</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.mustsatisfy.MustSatisfySpecificationFacetForPropertyAnnotation">
- <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="specifications">domainapp.modules.simple.types.Name$NoExclamationMarks</mml:attr>
<mml:attr name="validating">true</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
@@ -375,8 +375,9 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor">
<mml:attr name="intent.getName">ACCESSOR</mml:attr>
- <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.getName()</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="methods">public java.lang.String
+ domainapp.modules.simple.dom.so.SimpleObject.getName()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
<mml:attr name="typeFacet">org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
@@ -397,7 +398,8 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.update.init.PropertyInitializationFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod">
<mml:attr name="intent.setName">MODIFY_PROPERTY</mml:attr>
- <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.setName(java.lang.String)</mml:attr>
+ <mml:attr name="methods">public void
+ domainapp.modules.simple.dom.so.SimpleObject.setName(java.lang.String)</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromDefault">
<mml:attr name="getterFacet">org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
@@ -457,8 +459,9 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor">
<mml:attr name="intent.getNotes">ACCESSOR</mml:attr>
- <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.getNotes()</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="methods">public java.lang.String
+ domainapp.modules.simple.dom.so.SimpleObject.getNotes()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
<mml:attr name="typeFacet">org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
@@ -479,7 +482,8 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.update.init.PropertyInitializationFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod">
<mml:attr name="intent.setNotes">MODIFY_PROPERTY</mml:attr>
- <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.setNotes(java.lang.String)</mml:attr>
+ <mml:attr name="methods">public void
+ domainapp.modules.simple.dom.so.SimpleObject.setNotes(java.lang.String)</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromDefault">
<mml:attr name="getterFacet">org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
@@ -671,8 +675,8 @@
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
<mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
<mml:attr name="intent.delete">EXECUTE</mml:attr>
- <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.delete()</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="methods">public void domainapp.modules.simple.dom.so.SimpleObject.delete()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
<mml:attr name="returnType">void</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
@@ -1200,9 +1204,10 @@
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
<mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
<mml:attr name="intent.updateName">EXECUTE</mml:attr>
- <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObject.updateName(java.lang.String)</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
- <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="methods">public domainapp.modules.simple.dom.so.SimpleObject
+ domainapp.modules.simple.dom.so.SimpleObject.updateName(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
+ <mml:attr name="returnType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
<mml:attr name="disabled">false</mml:attr>
@@ -1242,7 +1247,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
- <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
+ <mml:returnType>domainapp.modules.simple.dom.so.SimpleObject</mml:returnType>
<mml:params>
<mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mml:facets>
@@ -1271,7 +1276,7 @@
<mml:attr name="value">40</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
- <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="specifications">domainapp.modules.simple.types.Name$NoExclamationMarks</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
<mml:attr name="validating">true</mml:attr>
</mml:facet>
@@ -1281,11 +1286,13 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
<mml:attr name="intent.default0UpdateName">DEFAULTS</mml:attr>
- <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.default0UpdateName()</mml:attr>
+ <mml:attr name="methods">public java.lang.String
+ domainapp.modules.simple.dom.so.SimpleObject.default0UpdateName()</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.param.validate.ActionParameterValidationFacet" fqcn="org.apache.isis.core.metamodel.facets.param.validate.method.ActionParameterValidationFacetViaMethod">
<mml:attr name="intent.validate0UpdateName">CHECK_IF_VALID</mml:attr>
- <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.validate0UpdateName(java.lang.String)</mml:attr>
+ <mml:attr name="methods">public java.lang.String
+ domainapp.modules.simple.dom.so.SimpleObject.validate0UpdateName(java.lang.String)</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.validate.method.ActionParameterValidationFacetViaMethod</mml:attr>
<mml:attr name="validating">true</mml:attr>
</mml:facet>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
index f56a593..a64b5fa 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
@@ -60,14 +60,15 @@
<mml:attr name="disabling">true</mml:attr>
<mml:attr name="hiding">true</mml:attr>
<mml:attr name="validating">true</mml:attr>
- <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObjects.CreateDomainEvent</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.so.SimpleObjects.CreateDomainEvent</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
- <mml:attr name="eventType">domainapp.modules.simple.dom.impl.SimpleObjects.CreateDomainEvent</mml:attr>
+ <mml:attr name="eventType">domainapp.modules.simple.dom.so.SimpleObjects.CreateDomainEvent</mml:attr>
<mml:attr name="intent.create">EXECUTE</mml:attr>
- <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObjects.create(java.lang.String)</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
- <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="methods">public domainapp.modules.simple.dom.so.SimpleObject
+ domainapp.modules.simple.dom.so.SimpleObjects.create(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObjects</mml:attr>
+ <mml:attr name="returnType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
<mml:attr name="disabled">false</mml:attr>
@@ -102,7 +103,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
- <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
+ <mml:returnType>domainapp.modules.simple.dom.so.SimpleObject</mml:returnType>
<mml:params>
<mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mml:facets>
@@ -131,7 +132,7 @@
<mml:attr name="value">40</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
- <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="specifications">domainapp.modules.simple.types.Name$NoExclamationMarks</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
<mml:attr name="validating">true</mml:attr>
</mml:facet>
@@ -152,7 +153,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
<mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics</mml:attr>
- <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
<mml:attr name="disabling">true</mml:attr>
@@ -163,8 +164,9 @@
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
<mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
<mml:attr name="intent.findByName">EXECUTE</mml:attr>
- <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.modules.simple.dom.impl.SimpleObjects.findByName(java.lang.String)</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject>
+ domainapp.modules.simple.dom.so.SimpleObjects.findByName(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObjects</mml:attr>
<mml:attr name="returnType">java.util.List</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
@@ -229,7 +231,7 @@
<mml:attr name="value">40</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
- <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="specifications">domainapp.modules.simple.types.Name$NoExclamationMarks</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
<mml:attr name="validating">true</mml:attr>
</mml:facet>
@@ -250,7 +252,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
<mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics</mml:attr>
- <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
<mml:attr name="disabling">true</mml:attr>
@@ -261,8 +263,9 @@
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
<mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
<mml:attr name="intent.listAll">EXECUTE</mml:attr>
- <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.modules.simple.dom.impl.SimpleObjects.listAll()</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject>
+ domainapp.modules.simple.dom.so.SimpleObjects.listAll()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObjects</mml:attr>
<mml:attr name="returnType">java.util.List</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
index e793202..0cf3bdd 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
@@ -238,7 +238,7 @@
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
- <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
@@ -297,7 +297,7 @@
<mml:attr name="onType">domainapp.webapp.application.services.homepage.HomePageViewModel</mml:attr>
</mml:facet>
</mml:facets>
- <mml:type>domainapp.modules.simple.dom.impl.SimpleObject</mml:type>
+ <mml:type>domainapp.modules.simple.dom.so.SimpleObject</mml:type>
</mml:coll>
</mml:collections>
<mml:actions>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
index 1d9846b..94465ee 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
@@ -14,8 +14,8 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import static org.assertj.core.api.Assertions.assertThat;
import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.dom.so.SimpleObject;
+import domainapp.modules.simple.dom.so.SimpleObjects;
@Transactional
class Smoke_IntegTest extends ApplicationIntegTestAbstract {
@@ -33,7 +33,6 @@ class Smoke_IntegTest extends ApplicationIntegTestAbstract {
assertThat(all).isEmpty();
-
// when
final SimpleObject fred = wrap(menu).create("Fred");
transactionService.flushTransaction();
@@ -44,7 +43,6 @@ class Smoke_IntegTest extends ApplicationIntegTestAbstract {
assertThat(all).contains(fred);
-
// when
final SimpleObject bill = wrap(menu).create("Bill");
transactionService.flushTransaction();
@@ -55,7 +53,6 @@ class Smoke_IntegTest extends ApplicationIntegTestAbstract {
assertThat(all).contains(fred, bill);
-
// when
wrap(fred).updateName("Freddy");
transactionService.flushTransaction();
@@ -86,10 +83,9 @@ class Smoke_IntegTest extends ApplicationIntegTestAbstract {
wrap(fred).delete();
transactionService.flushTransaction();
-
+ // then
all = wrap(menu).listAll();
assertThat(all).hasSize(1);
-
}
}