This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch jpa-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git


The following commit(s) were added to refs/heads/jpa-SNAPSHOT by this push:
     new 116be4b  factors out schema and namespace
116be4b is described below

commit 116be4bb9292809bfe036c53a42439332e7166f8
Author: Dan Haywood <[email protected]>
AuthorDate: Tue Aug 2 09:54:10 2022 +0100

    factors out schema and namespace
---
 .../domainapp/modules/simple/SimpleModule.java     |  3 +++
 .../modules/simple/dom/so/SimpleObject.java        | 22 ++++++++++++++++------
 .../modules/simple/dom/so/SimpleObjects.java       |  8 ++++----
 3 files changed, 23 insertions(+), 10 deletions(-)

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 4585b2c..5b85205 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -17,6 +17,9 @@ import domainapp.modules.simple.dom.so.SimpleObject;
 @EntityScan(basePackageClasses = {SimpleModule.class})
 public class SimpleModule implements ModuleWithFixtures {
 
+    public static final String NAMESPACE = "simple";
+    public static final String SCHEMA = "simple";
+
     @Override
     public FixtureScript getTeardownFixture() {
         return new TeardownFixtureJpaAbstract() {
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 a65beed..f9614f4 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
@@ -3,6 +3,7 @@ package domainapp.modules.simple.dom.so;
 import java.util.Comparator;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.isis.applib.annotation.Action;
@@ -15,6 +16,7 @@ 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.jaxb.PersistentEntityAdapter;
+import org.apache.isis.applib.layout.LayoutConstants;
 import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
@@ -30,13 +32,14 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.val;
 
+import domainapp.modules.simple.SimpleModule;
 import domainapp.modules.simple.types.Name;
 import domainapp.modules.simple.types.Notes;
 
 
 @javax.persistence.Entity
 @javax.persistence.Table(
-    schema="simple",
+    schema= SimpleModule.SCHEMA,
     uniqueConstraints = {
         @javax.persistence.UniqueConstraint(name = "SimpleObject__name__UNQ", 
columnNames = {"NAME"})
     }
@@ -50,7 +53,9 @@ import domainapp.modules.simple.types.Notes;
         )
 })
 @javax.persistence.EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "simple.SimpleObject", entityChangePublishing 
= Publishing.ENABLED)
+@Named(SimpleModule.NAMESPACE +
+        ".SimpleObject")
+@DomainObject(entityChangePublishing = Publishing.ENABLED)
 @DomainObjectLayout()
 @NoArgsConstructor(access = AccessLevel.PUBLIC)
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
@@ -86,19 +91,21 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
     @Name
     @javax.persistence.Column(length = Name.MAX_LEN, nullable = false)
     @Getter @Setter @ToString.Include
-    @PropertyLayout(fieldSetId = "name", sequence = "1")
+    @PropertyLayout(fieldSetId = LayoutConstants.FieldSetId.IDENTITY, sequence 
= "1")
     private String name;
 
     @Notes
     @javax.persistence.Column(length = Notes.MAX_LEN, nullable = true)
     @Getter @Setter
     @Property(commandPublishing = Publishing.ENABLED, executionPublishing = 
Publishing.ENABLED)
-    @PropertyLayout(fieldSetId = "name", sequence = "2")
+    @PropertyLayout(fieldSetId = LayoutConstants.FieldSetId.DETAILS, sequence 
= "2")
     private String notes;
 
 
     @Action(semantics = IDEMPOTENT, commandPublishing = Publishing.ENABLED, 
executionPublishing = Publishing.ENABLED)
-    @ActionLayout(associateWith = "name", promptStyle = PromptStyle.INLINE)
+    @ActionLayout(
+            associateWith = "name", promptStyle = PromptStyle.INLINE,
+            describedAs = "Updates the name of this object, certain characters 
(" + PROHIBITED_CHARACTERS + ") are not allowed.")
     public SimpleObject updateName(
             @Name final String name) {
         setName(name);
@@ -108,17 +115,20 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
         return getName();
     }
     public String validate0UpdateName(String newName) {
-        for (char prohibitedCharacter : "&%$!".toCharArray()) {
+        for (char prohibitedCharacter : PROHIBITED_CHARACTERS.toCharArray()) {
             if( newName.contains(""+prohibitedCharacter)) {
                 return "Character '" + prohibitedCharacter + "' is not 
allowed.";
             }
         }
         return null;
     }
+    static final String PROHIBITED_CHARACTERS = "&%$!";
+
 
 
     @Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE)
     @ActionLayout(
+            fieldSetId = LayoutConstants.FieldSetId.IDENTITY,
             position = ActionLayout.Position.PANEL,
             describedAs = "Deletes this object from the persistent datastore")
     public void delete() {
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 6e076d3..a124ef0 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
@@ -3,6 +3,7 @@ package domainapp.modules.simple.dom.so;
 import java.util.List;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.persistence.EntityManager;
 import javax.persistence.TypedQuery;
 
@@ -20,12 +21,11 @@ import 
org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.commons.functional.Try;
 import org.apache.isis.persistence.jpa.applib.services.JpaSupportService;
 
+import domainapp.modules.simple.SimpleModule;
 import domainapp.modules.simple.types.Name;
 
-@DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = "simple.SimpleObjects"
-)
+@Named(SimpleModule.NAMESPACE + ".SimpleObjects")
+@DomainService(nature = NatureOfService.VIEW)
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @lombok.RequiredArgsConstructor(onConstructor_ = {@Inject} )
 public class SimpleObjects {

Reply via email to