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 2021/08/02 07:46:15 UTC
[isis-app-simpleapp] 01/02: ISIS-2329: quick demo
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2329
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 6385b78c297cb9ab7b3321c4621f2f5ff52ddb3d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Jul 26 16:55:23 2021 +0100
ISIS-2329: quick demo
---
.../modules/simple/dom/so/SimpleObject.java | 34 +++++++++++++---------
.../modules/simple/dom/so/SimpleObjects.java | 8 ++++-
pom.xml | 4 +--
3 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
index 094b99b..c1ef563 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
@@ -14,6 +14,7 @@ import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.annotation.Publishing;
import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.events.domain.ActionDomainEvent;
import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.applib.services.repository.RepositoryService;
@@ -97,23 +98,28 @@ public class SimpleObject implements Comparable<SimpleObject> {
private String notes;
- @Action(semantics = IDEMPOTENT, commandPublishing = Publishing.ENABLED, executionPublishing = Publishing.ENABLED)
+
+ @Action(semantics = IDEMPOTENT, commandPublishing = Publishing.ENABLED, executionPublishing = Publishing.ENABLED, domainEvent = UpdateName.ActionEvent.class)
@ActionLayout(associateWith = "name", promptStyle = PromptStyle.INLINE)
- public SimpleObject updateName(
- @Name final String name) {
- setName(name);
- return this;
- }
- public String default0UpdateName() {
- return getName();
- }
- public String validate0UpdateName(String newName) {
- for (char prohibitedCharacter : "&%$!".toCharArray()) {
- if( newName.contains(""+prohibitedCharacter)) {
- return "Character '" + prohibitedCharacter + "' is not allowed.";
+ public class UpdateName {
+
+ public class ActionEvent extends ActionDomainEvent<UpdateName> {}
+ public SimpleObject act(
+ @Name final String name) {
+ setName(name);
+ return SimpleObject.this;
+ }
+ public String default0Act() {
+ return getName();
+ }
+ public String validate0Act(String newName) {
+ for (char prohibitedCharacter : "&%$!".toCharArray()) {
+ if( newName.contains(""+prohibitedCharacter)) {
+ return "Character '" + prohibitedCharacter + "' is not allowed.";
+ }
}
+ return null;
}
- return null;
}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
index e67d9bb..0e3eccb 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
@@ -18,11 +18,13 @@ import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.persistence.jpa.applib.services.JpaSupportService;
+import org.springframework.context.event.EventListener;
+
import domainapp.modules.simple.types.Name;
@DomainService(
nature = NatureOfService.VIEW,
- objectType = "simple.SimpleObjects"
+ logicalTypeName = "simple.SimpleObjects"
)
@javax.annotation.Priority(PriorityPrecedence.EARLY)
@lombok.RequiredArgsConstructor(onConstructor_ = {@Inject} )
@@ -88,5 +90,9 @@ public class SimpleObjects {
});
}
+ @EventListener(SimpleObject.UpdateName.ActionEvent.class)
+ public void on(SimpleObject.UpdateName.ActionEvent ev) {
+ System.out.println(ev.getIdentifier());
+ }
}
diff --git a/pom.xml b/pom.xml
index fdecb38..71fd836 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-M5.20210724-1447-cdcc665b</version>
+ <version>2.0.0-SNAPSHOT</version>
<relativePath/>
</parent>
@@ -19,7 +19,7 @@
<packaging>pom</packaging>
<properties>
- <isis.version>2.0.0-M5.20210724-1447-cdcc665b</isis.version>
+ <isis.version>2.0.0-SNAPSHOT</isis.version>
<java.version>11</java.version>
<maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
<archunit.version>0.14.1</archunit.version>