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/07/01 06:01:39 UTC

[isis] branch ISIS-2222 updated (9578e35 -> b559203)

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

danhaywood pushed a change to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from 9578e35  ISIS-2222: wip
     new 5ad1c74  ISIS-2222: fixes PropertyLayout for named and cssClass
     new 4281aef  ISIS-2222: removes title property for ActionLayout and PropertyLayout VM's
     new e36c69f  ISIS-2222: simplifies primitive boolean demo.
     new b559203  ISIS-2222: further improves primitive boolean demo

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../position/ActionLayoutPositionVm.java           |  2 +-
 .../position/ActionLayoutPositionVm.layout.xml     |  2 +-
 .../promptStyle/ActionLayoutPromptStyleVm.java     |  8 ++--
 .../ActionLayoutPromptStyleVm.layout.xml           |  3 +-
 .../cssClass/PropertyLayoutCssClassVm.java         | 17 +++-----
 .../cssClass/PropertyLayoutCssClassVm.layout.xml   |  6 +--
 .../PropertyLayoutCssClassVm_annotatedMixin.java   |  4 +-
 .../named/PropertyLayoutNamedMetaAnnotation.java   |  2 +-
 .../named/PropertyLayoutNamedVm.java               | 44 ++++++++++---------
 .../named/PropertyLayoutNamedVm.layout.xml         | 12 +++---
 .../PropertyLayoutNamedVm_annotatedEscaped.java    | 41 ------------------
 .../booleans/PrimitiveBooleans-description.adoc    | 22 +++++-----
 .../primitive/booleans/PrimitiveBooleans.java      | 10 ++---
 .../booleans/holder/PrimitiveBooleanHolder.java    | 30 +------------
 ...eanHolder.java => PrimitiveBooleanHolder2.java} | 43 +------------------
 ...a => PrimitiveBooleanHolder_mixinProperty.java} |  4 +-
 ...BooleanHolder_mixinPropertyNamedNotEscaped.java | 39 -----------------
 ...itiveBooleanHolder_updateReadOnlyProperty.java} |  4 +-
 ...pdateReadOnlyProperty2PromptInlineAsIfEdit.java | 49 ----------------------
 ...Holder_updateReadOnlyPropertyPositionPanel.java | 48 ---------------------
 ...der_updateReadOnlyPropertyPromptStyleModal.java | 49 ----------------------
 ...teReadOnlyPropertyPromptStylePanelDropDown.java | 48 ---------------------
 ...r_updateReadOnlyPropertyPromptStyleSidebar.java | 49 ----------------------
 ...n.adoc => PrimitiveBooleanJdo-description.adoc} |  2 +-
 ...leanJdoEntity.java => PrimitiveBooleanJdo.java} | 16 ++++---
 .../PrimitiveBooleanJdo.layout.xml}                |  7 +---
 .../booleans/jdo/PrimitiveBooleanJdoEntities.java  |  8 ++--
 ...ce.java => PrimitiveBooleanJdoSeedService.java} |  4 +-
 ...on.adoc => PrimitiveBooleanVm-description.adoc} |  2 +-
 ...oleanViewModel.java => PrimitiveBooleanVm.java} | 22 +++++-----
 .../PrimitiveBooleanVm.layout.xml}                 |  7 +---
 .../src/main/resources/static/css/application.css  |  7 ++++
 32 files changed, 103 insertions(+), 508 deletions(-)
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm_annotatedEscaped.java
 copy examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/{PrimitiveBooleanHolder.java => PrimitiveBooleanHolder2.java} (60%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/{PrimitiveBooleanHolder_mixinPropertyWithCssClass.java => PrimitiveBooleanHolder_mixinProperty.java} (89%)
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyNamedNotEscaped.java
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/{PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleInline.java => PrimitiveBooleanHolder_updateReadOnlyProperty.java} (90%)
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty2PromptInlineAsIfEdit.java
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPositionPanel.java
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleModal.java
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStylePanelDropDown.java
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleSidebar.java
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/{PrimitiveBooleanJdoEntity-description.adoc => PrimitiveBooleanJdo-description.adoc} (67%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/{PrimitiveBooleanJdoEntity.java => PrimitiveBooleanJdo.java} (85%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/{vm/PrimitiveBooleanViewModel.layout.xml => jdo/PrimitiveBooleanJdo.layout.xml} (88%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/{PrimitiveBooleanJdoEntitySeedService.java => PrimitiveBooleanJdoSeedService.java} (91%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/{PrimitiveBooleanViewModel-description.adoc => PrimitiveBooleanVm-description.adoc} (61%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/{PrimitiveBooleanViewModel.java => PrimitiveBooleanVm.java} (85%)
 rename examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/{jdo/PrimitiveBooleanJdoEntity.layout.xml => vm/PrimitiveBooleanVm.layout.xml} (88%)


[isis] 04/04: ISIS-2222: further improves primitive boolean demo

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit b559203649a29ed02e4f23daec1b4eb50f5726cb
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jul 1 07:01:12 2020 +0100

    ISIS-2222: further improves primitive boolean demo
---
 .../booleans/PrimitiveBooleans-description.adoc    | 22 +++++----
 .../primitive/booleans/PrimitiveBooleans.java      | 10 ++--
 .../booleans/holder/PrimitiveBooleanHolder.java    | 20 --------
 ...eanHolder.java => PrimitiveBooleanHolder2.java} | 35 +-------------
 ...n.adoc => PrimitiveBooleanJdo-description.adoc} |  2 +-
 ...leanJdoEntity.java => PrimitiveBooleanJdo.java} |  7 +--
 ...y.layout.xml => PrimitiveBooleanJdo.layout.xml} |  0
 .../booleans/jdo/PrimitiveBooleanJdoEntities.java  |  8 ++--
 ...ce.java => PrimitiveBooleanJdoSeedService.java} |  4 +-
 .../vm/PrimitiveBooleanViewModel.layout.xml        | 53 ----------------------
 ...on.adoc => PrimitiveBooleanVm-description.adoc} |  2 +-
 ...oleanViewModel.java => PrimitiveBooleanVm.java} |  7 +--
 .../PrimitiveBooleanVm.layout.xml}                 |  0
 13 files changed, 34 insertions(+), 136 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans-description.adoc
index f5d5b85..b4c3637 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans-description.adoc
@@ -16,6 +16,13 @@ These objects both implement a common interface, `PrimitiveBooleanHolder`:
 include::holder/PrimitiveBooleanHolder.java[tags=class]
 ----
 
+There is also an extension of this interface, `PrimitiveBooleanHolder2`, with default methods demonstrating the use of label positions:
+
+[source,java]
+----
+include::holder/PrimitiveBooleanHolder2.java[tags=class]
+----
+
 The default methods have annotations that automatically inherited.
 Using `@MemberOrder` positions the properties into the appropriate `<field-set>` within the `Xxx.layout.xml` layout file.
 
@@ -25,14 +32,12 @@ Using `@MemberOrder` positions the properties into the appropriate `<field-set>`
 A number of mixin actions contribute through this interface, demonstrate the use of `boolean` as a parameter and as a return type.
 For example:
 
-* the `updateReadOnlyPropertyPromptStyleInline` action is:
+* the `updateReadOnlyProperty` action is:
 +
 [source,java]
 ----
-include::holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleInline.java[tags=class]
+include::holder/PrimitiveBooleanHolder_updateReadOnlyProperty.java[tags=class]
 ----
-+
-There are a number of variants of this action, to demonstrate different prompt layouts.
 
 * the `actionReturning` action is:
 +
@@ -43,15 +48,12 @@ include::holder/PrimitiveBooleanHolder_actionReturning.java[tags=class]
 
 == Mixin properties
 
-We also use the interface to contribute a number of mixin properties:
+We also use the interface to contribute a mixin property:
 
-* the `mixinPropertyWithCssClass` property:
+* the `mixinProperty` property:
 +
 [source,java]
 ----
-include::holder/PrimitiveBooleanHolder_mixinPropertyWithCssClass.java[tags=class]
+include::holder/PrimitiveBooleanHolder_mixinProperty.java[tags=class]
 ----
-+
-TIP: the styling is provided from the `application.css` static resource.
-
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
index 449cae5..ecf86cb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
@@ -40,8 +40,8 @@ import lombok.extern.log4j.Log4j2;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.booleans.jdo.PrimitiveBooleanJdoEntities;
-import demoapp.dom.types.primitive.booleans.jdo.PrimitiveBooleanJdoEntity;
-import demoapp.dom.types.primitive.booleans.vm.PrimitiveBooleanViewModel;
+import demoapp.dom.types.primitive.booleans.jdo.PrimitiveBooleanJdo;
+import demoapp.dom.types.primitive.booleans.vm.PrimitiveBooleanVm;
 
 @XmlRootElement(name = "Demo")
 @XmlType
@@ -56,15 +56,15 @@ public class PrimitiveBooleans implements HasAsciiDocDescription {
 
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
-    public PrimitiveBooleanViewModel openViewModel(boolean initialValue) {
-        return new PrimitiveBooleanViewModel(initialValue);
+    public PrimitiveBooleanVm openViewModel(boolean initialValue) {
+        return new PrimitiveBooleanVm(initialValue);
     }
     public boolean default0OpenViewModel() {
         return true;
     }
 
     @Collection
-    public List<PrimitiveBooleanJdoEntity> getEntities() {
+    public List<PrimitiveBooleanJdo> getEntities() {
         return entities.all();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
index f25c946..f4a20ed 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
@@ -60,25 +60,5 @@ public interface PrimitiveBooleanHolder {
     boolean isReadWriteProperty();
     void setReadWriteProperty(boolean c);
 
-    @MemberOrder(name = "label-positions", sequence = "1")
-    @Property
-    @PropertyLayout(labelPosition = LabelPosition.LEFT, describedAs = "labelPosition=LEFT", hidden = Where.ALL_TABLES)
-    default boolean isReadOnlyPropertyDerivedLabelPositionLeft() { return isReadOnlyProperty(); }
-
-    @MemberOrder(name = "label-positions", sequence = "2")
-    @Property
-    @PropertyLayout(labelPosition = LabelPosition.TOP, describedAs = "labelPosition=TOP", hidden = Where.ALL_TABLES)
-    default boolean isReadOnlyPropertyDerivedLabelPositionTop() { return isReadOnlyProperty(); }
-
-    @MemberOrder(name = "label-positions", sequence = "3")
-    @Property
-    @PropertyLayout(labelPosition = LabelPosition.RIGHT, describedAs = "labelPosition=RIGHT", hidden = Where.ALL_TABLES)
-    default boolean isReadOnlyPropertyDerivedLabelPositionRight() { return isReadOnlyProperty(); }
-
-    @MemberOrder(name = "label-positions", sequence = "4")
-    @Property
-    @PropertyLayout(labelPosition = LabelPosition.NONE, describedAs = "labelPosition=NONE", hidden = Where.ALL_TABLES)
-    default boolean isReadOnlyPropertyDerivedLabelPositionNone() { return isReadOnlyProperty(); }
-
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder2.java
similarity index 66%
copy from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
copy to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder2.java
index f25c946..6ce4c8f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder2.java
@@ -18,47 +18,14 @@
  */
 package demoapp.dom.types.primitive.booleans.holder;
 
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Bounding;
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.annotation.Title;
 import org.apache.isis.applib.annotation.Where;
 
-import lombok.Getter;
-import lombok.Setter;
-import lombok.extern.log4j.Log4j2;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-
-//tag::class[]
-public interface PrimitiveBooleanHolder {
-
-//end::class[]
-    @MemberOrder(name = "read-only-properties", sequence = "1") // TODO: doesn't seem to get picked up
-    @Property
-    @PropertyLayout
-//tag::class[]
-    boolean isReadOnlyProperty();
-    void setReadOnlyProperty(boolean c);
-
-//end::class[]
-    @MemberOrder(name = "editable-properties", sequence = "1") // TODO: doesn't seem to get picked up
-    @Property
-    @PropertyLayout
 //tag::class[]
-    boolean isReadWriteProperty();
-    void setReadWriteProperty(boolean c);
+public interface PrimitiveBooleanHolder2 extends PrimitiveBooleanHolder {
 
     @MemberOrder(name = "label-positions", sequence = "1")
     @Property
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo-description.adoc
similarity index 67%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity-description.adoc
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo-description.adoc
index 93e57f7..d7b0aee 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo-description.adoc
@@ -3,7 +3,7 @@ JDO package demoapp.dom.types.primitive.booleans
 
 [source,java]
 ----
-include::PrimitiveBooleanJdoEntity.java[tags="class"]
+include::PrimitiveBooleanJdo.java[tags="class"]
 ----
 <.> a no-arg constructor is introduced by JDO enhancer
 <.> no additional annotations required.
\ No newline at end of file
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
similarity index 92%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
index e693432..f9c4fd5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
@@ -36,6 +36,7 @@ import lombok.Setter;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder;
+import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder2;
 
 //tag::class[]
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@@ -43,11 +44,11 @@ import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder;
 @DomainObject(
         objectType = "demo.PrimitiveBooleanJdoEntity"
 )
-public class PrimitiveBooleanJdoEntity                                  // <.>
-        implements HasAsciiDocDescription, PrimitiveBooleanHolder {
+public class PrimitiveBooleanJdo                                  // <.>
+        implements HasAsciiDocDescription, PrimitiveBooleanHolder2 {
 
 //end::class[]
-    public PrimitiveBooleanJdoEntity(boolean initialValue) {
+    public PrimitiveBooleanJdo(boolean initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.layout.xml
similarity index 100%
copy from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml
copy to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.layout.xml
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntities.java
index 731e6b6..33f4c86 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntities.java
@@ -12,12 +12,12 @@ import org.apache.isis.applib.services.repository.RepositoryService;
 @Service
 public class PrimitiveBooleanJdoEntities {
 
-    public Optional<PrimitiveBooleanJdoEntity> find(final boolean readOnlyProperty) {
-        return repositoryService.firstMatch(PrimitiveBooleanJdoEntity.class, x -> x.isReadOnlyProperty() == readOnlyProperty);
+    public Optional<PrimitiveBooleanJdo> find(final boolean readOnlyProperty) {
+        return repositoryService.firstMatch(PrimitiveBooleanJdo.class, x -> x.isReadOnlyProperty() == readOnlyProperty);
     }
 
-    public List<PrimitiveBooleanJdoEntity> all() {
-        return repositoryService.allInstances(PrimitiveBooleanJdoEntity.class);
+    public List<PrimitiveBooleanJdo> all() {
+        return repositoryService.allInstances(PrimitiveBooleanJdo.class);
     }
 
     @Inject
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntitySeedService.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoSeedService.java
similarity index 91%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntitySeedService.java
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoSeedService.java
index cef4f3a..2bd9b92 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntitySeedService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoSeedService.java
@@ -13,7 +13,7 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
 
 @Service
-public class PrimitiveBooleanJdoEntitySeedService {
+public class PrimitiveBooleanJdoSeedService {
 
     @EventListener(AppLifecycleEvent.class)
     public void onAppLifecycleEvent(AppLifecycleEvent event) {
@@ -31,7 +31,7 @@ public class PrimitiveBooleanJdoEntitySeedService {
         @Override
         protected void execute(ExecutionContext executionContext) {
             Stream.of(true,false)
-                    .map(PrimitiveBooleanJdoEntity::new)
+                    .map(PrimitiveBooleanJdo::new)
                     .forEach(repositoryService::persist);
         }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.layout.xml
deleted file mode 100644
index ffa55a8..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.layout.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?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:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-        xmlns:cpt="http://isis.apache.org/applib/layout/component"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-	<bs3:row>
-		<bs3:col span="10" unreferencedActions="true">
-			<cpt:domainObject />
-			<cpt:action id="actionReturning"/>
-			<cpt:action id="rebuildMetamodel"/>
-		</bs3:col>
-		<bs3:col span="2">
-			<cpt:fieldSet name="" id="sources" />
-		</bs3:col>
-	</bs3:row>
-
-	<bs3:row>
-		<bs3:col span="6">
-			<cpt:fieldSet name="Action Prompt Styles" id="action-prompt-styles">
-				<cpt:property id="readOnlyProperty" />
-				<cpt:property id="readOnlyProperty2" >
-					<cpt:describedAs>
-						Associated action uses promptStyle=INLINE_AS_IF_EDIT
-					</cpt:describedAs>
-				</cpt:property>
-			</cpt:fieldSet>
-			<cpt:fieldSet name="Editable Properties" id="editable-properties">
-				<cpt:property id="readWriteProperty" />
-			</cpt:fieldSet>
-			<cpt:fieldSet name="Label Positions" id="label-positions"/>
-			<cpt:fieldSet name="Contributed by Mixins" id="contributed"/>
-			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
-		</bs3:col>
-		<bs3:col span="6">
-			<cpt:fieldSet name="Description" id="description" >
-				<cpt:action id="clearHints" position="PANEL" />
-				<cpt:action id="downloadLayoutXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="rebuildMetamodel"  position="PANEL"/>
-				<cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="downloadJdoMetadata"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="openRestApi" position="PANEL_DROPDOWN" />
-				<cpt:property id="description"/>
-			</cpt:fieldSet>
-		</bs3:col>
-	</bs3:row>
-	<bs3:row>
-		<bs3:col span="12" unreferencedCollections="true"/>
-	</bs3:row>
-
-</bs3:grid>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm-description.adoc
similarity index 61%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel-description.adoc
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm-description.adoc
index 451236f..344559c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm-description.adoc
@@ -2,7 +2,7 @@ JAXB supports `boolean` out-of-the-box, so no special annotations are required.
 
 [source,java]
 ----
-include::PrimitiveBooleanViewModel.java[tags="class"]
+include::PrimitiveBooleanVm.java[tags="class"]
 ----
 <.> a no-arg constructor is required by JAXB
 <.> no additional annotations required.
\ No newline at end of file
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
similarity index 93%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
index c770159..0b20866 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
@@ -37,6 +37,7 @@ import lombok.Setter;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder;
+import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder2;
 
 //tag::class[]
 @XmlRootElement(name = "root")
@@ -47,11 +48,11 @@ import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder;
         objectType = "demo.PrimitiveBooleanViewModel"
 )
 @lombok.NoArgsConstructor                                           // <.>
-public class PrimitiveBooleanViewModel
-        implements HasAsciiDocDescription, PrimitiveBooleanHolder {
+public class PrimitiveBooleanVm
+        implements HasAsciiDocDescription, PrimitiveBooleanHolder2 {
 
 //end::class[]
-    public PrimitiveBooleanViewModel(boolean initialValue) {
+    public PrimitiveBooleanVm(boolean initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.layout.xml
similarity index 100%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.layout.xml


[isis] 02/04: ISIS-2222: removes title property for ActionLayout and PropertyLayout VM's

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4281aef4e66cfd1d3fd593d431de02830296a95d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jul 1 06:30:53 2020 +0100

    ISIS-2222: removes title property for ActionLayout and PropertyLayout VM's
---
 .../dom/ActionLayout/position/ActionLayoutPositionVm.java  |  2 +-
 .../position/ActionLayoutPositionVm.layout.xml             |  2 +-
 .../promptStyle/ActionLayoutPromptStyleVm.java             |  8 +++-----
 .../promptStyle/ActionLayoutPromptStyleVm.layout.xml       |  3 +--
 .../PropertyLayout/cssClass/PropertyLayoutCssClassVm.java  | 14 +++-----------
 .../cssClass/PropertyLayoutCssClassVm.layout.xml           |  6 ++----
 .../dom/PropertyLayout/named/PropertyLayoutNamedVm.java    | 12 ++----------
 .../PropertyLayout/named/PropertyLayoutNamedVm.layout.xml  |  5 +----
 .../domain/src/main/resources/static/css/application.css   |  7 +++++++
 9 files changed, 21 insertions(+), 38 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.java b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.java
index 271d788..18f7f8e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.java
@@ -48,7 +48,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 public class ActionLayoutPositionVm implements HasAsciiDocDescription {
 
     public String title() {
-        return "Demonstrates: ActionLayout#position";
+        return "ActionLayout#position";
     }
 
     @Property(optionality = Optionality.OPTIONAL)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.layout.xml
index 8580ed6..298cb05 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/position/ActionLayoutPositionVm.layout.xml
@@ -41,7 +41,7 @@
 			<cpt:fieldSet name="Description" id="description" >
 				<cpt:action id="clearHints" position="PANEL" />
 				<cpt:action id="downloadLayoutXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="rebuildMetamodel"  position="PANEL"/>
+				<cpt:action id="rebuildMetamodel"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadJdoMetadata"  position="PANEL_DROPDOWN"/>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
index 5d9ece0..f52323f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
@@ -48,13 +48,11 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 )
 public class ActionLayoutPromptStyleVm implements HasAsciiDocDescription {
 
-//end::class[]
-    public ActionLayoutPromptStyleVm() {
-        this.title = "ActionLayout#promptStyle";
+    public String title() {
+        return "ActionLayout#promptStyle";
     }
 
-//tag::class[]
-    @Title(prepend = "Demonstrates: ")
+    @Title
     @Property(editing = Editing.DISABLED)
     @MemberOrder(name = "general", sequence = "1")
     @XmlElement(required = true)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.layout.xml
index c9cadf5..d342fa6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.layout.xml
@@ -17,7 +17,6 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="General" id="general"/>
 			<cpt:fieldSet name="Annotated" id="annotated"/>
 			<cpt:fieldSet name="Layout" id="layout">
 				<cpt:property id="readOnlyProperty3">
@@ -38,7 +37,7 @@
 			<cpt:fieldSet name="Description" id="description" >
 				<cpt:action id="clearHints" position="PANEL" />
 				<cpt:action id="downloadLayoutXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="rebuildMetamodel"  position="PANEL"/>
+				<cpt:action id="rebuildMetamodel"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadJdoMetadata"  position="PANEL_DROPDOWN"/>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
index 9097e17..9f6ebd9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
@@ -51,18 +51,10 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 )
 public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
 
-//end::class[]
-    public PropertyLayoutCssClassVm() {
-        this.title = "PropertyLayout#cssClass";
+    public String title() {
+        return "PropertyLayout#cssClass";
     }
 
-//tag::class[]
-    @Title
-    @Property(editing = Editing.DISABLED)
-    @XmlElement(required = true)
-    @Getter @Setter
-    private String title;
-
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(cssClass = "red", describedAs = "@PropertyLayout(cssClass=\"red\")", hidden = Where.ALL_TABLES)
     @MemberOrder(name = "properties", sequence = "1")
@@ -71,7 +63,7 @@ public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
     private String propertyUsingAnnotation;
 
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(describedAs = "<cpt:property id=\"...\" cssClass=\"red\")/>", hidden = Where.ALL_TABLES)
+    @PropertyLayout(describedAs = "<cpt:property id=\"...\" cssClass=\"red\"/>", hidden = Where.ALL_TABLES)
     @MemberOrder(name = "properties", sequence = "2")
     @XmlElement(required = false)
     @Getter @Setter
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml
index 01f28a1..ed44cde 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml
@@ -8,6 +8,7 @@
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
+			<cpt:action id="rebuildMetamodel"  position="PANEL"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
@@ -16,9 +17,6 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="General" id="general">
-				<cpt:property id="title" />
-			</cpt:fieldSet>
 			<cpt:fieldSet name="Properties" id="properties">
 				<cpt:property id="cssClassUsingLayoutProperty" cssClass="red"/>
 			</cpt:fieldSet>
@@ -30,7 +28,7 @@
 			<cpt:fieldSet name="Description" id="description" >
 				<cpt:action id="clearHints" position="PANEL" />
 				<cpt:action id="downloadLayoutXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="rebuildMetamodel"  position="PANEL"/>
+				<cpt:action id="rebuildMetamodel" position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadJdoMetadata"  position="PANEL_DROPDOWN"/>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java
index 671a504..c057af4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java
@@ -50,18 +50,10 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 )
 public class PropertyLayoutNamedVm implements HasAsciiDocDescription {
 
-//end::class[]
-    public PropertyLayoutNamedVm() {
-        this.title = "PropertyLayout#named";
+    public String title() {
+        return "PropertyLayout#named";
     }
 
-//tag::class[]
-    @Title
-    @Property(editing = Editing.DISABLED)
-    @XmlElement(required = true)
-    @Getter @Setter
-    private String title;
-
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(named = "Named using annotation", describedAs = "@PropertyLayout(named= \"Named using annotation\")", hidden = Where.ALL_TABLES)
     @MemberOrder(name = "named", sequence = "1")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
index 118adab..265a0e8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
@@ -17,9 +17,6 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="General" id="general">
-				<cpt:property id="title" />
-			</cpt:fieldSet>
 			<cpt:fieldSet name="Named" id="named">
 				<cpt:property id="propertyUsingAnnotation"/>
 				<cpt:property id="propertyUsingLayout">
@@ -34,7 +31,7 @@
 			<cpt:fieldSet name="Description" id="description" >
 				<cpt:action id="clearHints" position="PANEL" />
 				<cpt:action id="downloadLayoutXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="rebuildMetamodel"  position="PANEL"/>
+				<cpt:action id="rebuildMetamodel" position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
 				<cpt:action id="downloadJdoMetadata"  position="PANEL_DROPDOWN"/>
diff --git a/examples/demo/domain/src/main/resources/static/css/application.css b/examples/demo/domain/src/main/resources/static/css/application.css
index 8c17512..3af478c 100644
--- a/examples/demo/domain/src/main/resources/static/css/application.css
+++ b/examples/demo/domain/src/main/resources/static/css/application.css
@@ -6,6 +6,13 @@
 }
 
 /*
+ * Demonstrates use of @PropertyLayout(cssClass='red')
+ */
+.property.blue label {
+    color: dodgerblue;
+}
+
+/*
  * admonitionblock styles (ie, NOTE: TIP: CAUTION: IMPORTANT: WARNING:)
  * (taken from asciidoctor.css)
  */


[isis] 03/04: ISIS-2222: simplifies primitive boolean demo.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit e36c69f30bd434deb875596cb1f587e39789a78a
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jul 1 06:47:49 2020 +0100

    ISIS-2222: simplifies primitive boolean demo.
---
 .../booleans/holder/PrimitiveBooleanHolder.java    | 10 +----
 ...a => PrimitiveBooleanHolder_mixinProperty.java} |  4 +-
 ...BooleanHolder_mixinPropertyNamedNotEscaped.java | 39 -----------------
 ...itiveBooleanHolder_updateReadOnlyProperty.java} |  4 +-
 ...pdateReadOnlyProperty2PromptInlineAsIfEdit.java | 49 ----------------------
 ...Holder_updateReadOnlyPropertyPositionPanel.java | 48 ---------------------
 ...der_updateReadOnlyPropertyPromptStyleModal.java | 49 ----------------------
 ...teReadOnlyPropertyPromptStylePanelDropDown.java | 48 ---------------------
 ...r_updateReadOnlyPropertyPromptStyleSidebar.java | 49 ----------------------
 .../booleans/jdo/PrimitiveBooleanJdoEntity.java    |  9 ++--
 .../jdo/PrimitiveBooleanJdoEntity.layout.xml       |  7 +---
 .../booleans/vm/PrimitiveBooleanViewModel.java     | 15 +++----
 12 files changed, 15 insertions(+), 316 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
index 073d5f3..f25c946 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
@@ -45,7 +45,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 public interface PrimitiveBooleanHolder {
 
 //end::class[]
-    @MemberOrder(name = "action-prompt-styles", sequence = "1") // TODO: doesn't seem to get picked up
+    @MemberOrder(name = "read-only-properties", sequence = "1") // TODO: doesn't seem to get picked up
     @Property
     @PropertyLayout
 //tag::class[]
@@ -53,14 +53,6 @@ public interface PrimitiveBooleanHolder {
     void setReadOnlyProperty(boolean c);
 
 //end::class[]
-    @MemberOrder(name = "action-prompt-styles", sequence = "1") // TODO: doesn't seem to get picked up
-    @Property
-    @PropertyLayout(describedAs = "associated action uses promptStyle=INLINE_AS_IF_EDIT", hidden = Where.ALL_TABLES) // TODO: doesn't seem to get picked up
-//tag::class[]
-    boolean isReadOnlyProperty2();
-    void setReadOnlyProperty2(boolean c);
-
-//end::class[]
     @MemberOrder(name = "editable-properties", sequence = "1") // TODO: doesn't seem to get picked up
     @Property
     @PropertyLayout
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyWithCssClass.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinProperty.java
similarity index 89%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyWithCssClass.java
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinProperty.java
index 053c1f2..8f4734b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyWithCssClass.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinProperty.java
@@ -28,9 +28,9 @@ import lombok.RequiredArgsConstructor;
 
 //tag::class[]
 @Property()
-@PropertyLayout(cssClass = "red", describedAs = "cssClass = \"red\" ", hidden = Where.ALL_TABLES)
+@PropertyLayout(hidden = Where.ALL_TABLES)
 @RequiredArgsConstructor
-public class PrimitiveBooleanHolder_mixinPropertyWithCssClass {
+public class PrimitiveBooleanHolder_mixinProperty {
 
     private final PrimitiveBooleanHolder primitiveBooleanHolder;
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyNamedNotEscaped.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyNamedNotEscaped.java
deleted file mode 100644
index b3cd075..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_mixinPropertyNamedNotEscaped.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.primitive.booleans.holder;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-
-import lombok.RequiredArgsConstructor;
-
-
-//@Property()
-//@PropertyLayout(named = "<i>Named<i/> <b>not</b> escaped property", namedEscaped = false, describedAs = "named = \"(some markup)\", namedEscaped = false") // TODO: this doesn't render, and causes bootlint issues
-@RequiredArgsConstructor
-public class PrimitiveBooleanHolder_mixinPropertyNamedNotEscaped {
-
-    private final PrimitiveBooleanHolder primitiveBooleanHolder;
-
-    @MemberOrder(name = "contributed", sequence = "3")
-    public boolean prop() {
-        return primitiveBooleanHolder.isReadOnlyProperty();
-    }
-
-
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleInline.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty.java
similarity index 90%
rename from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleInline.java
rename to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty.java
index 2aa0aa6..ccb2c78 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleInline.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty.java
@@ -31,9 +31,9 @@ import lombok.RequiredArgsConstructor;
         associateWith = "readOnlyProperty",
         associateWithSequence = "1"
 )
-@ActionLayout(promptStyle = PromptStyle.INLINE, named = "Inline", describedAs = "promptStyle = INLINE")
+@ActionLayout(promptStyle = PromptStyle.INLINE, named = "Update")
 @RequiredArgsConstructor
-public class PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleInline {
+public class PrimitiveBooleanHolder_updateReadOnlyProperty {
 
     private final PrimitiveBooleanHolder primitiveBooleanHolder;
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty2PromptInlineAsIfEdit.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty2PromptInlineAsIfEdit.java
deleted file mode 100644
index 8585511..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyProperty2PromptInlineAsIfEdit.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.primitive.booleans.holder;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-@Action(
-        semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty2",
-        associateWithSequence = "1"
-)
-@ActionLayout(promptStyle = PromptStyle.INLINE_AS_IF_EDIT)
-@RequiredArgsConstructor
-public class PrimitiveBooleanHolder_updateReadOnlyProperty2PromptInlineAsIfEdit {
-
-    private final PrimitiveBooleanHolder primitiveBooleanHolder;
-
-    public PrimitiveBooleanHolder act(boolean newValue) {
-        primitiveBooleanHolder.setReadOnlyProperty2(newValue);
-        return primitiveBooleanHolder;
-    }
-    public boolean default0Act() {
-        return primitiveBooleanHolder.isReadOnlyProperty2();
-    }
-
-
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPositionPanel.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPositionPanel.java
deleted file mode 100644
index a85cfc4..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPositionPanel.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.primitive.booleans.holder;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-@Action(
-        semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty",
-        associateWithSequence = "2"
-)
-@ActionLayout(position = ActionLayout.Position.PANEL, named = "Position in panel", describedAs = "position = PANEL")
-@RequiredArgsConstructor
-public class PrimitiveBooleanHolder_updateReadOnlyPropertyPositionPanel {
-
-    private final PrimitiveBooleanHolder primitiveBooleanHolder;
-
-    public PrimitiveBooleanHolder act(boolean newValue) {
-        primitiveBooleanHolder.setReadOnlyProperty(newValue);
-        return primitiveBooleanHolder;
-    }
-    public boolean default0Act() {
-        return primitiveBooleanHolder.isReadOnlyProperty();
-    }
-
-
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleModal.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleModal.java
deleted file mode 100644
index 62c46a1..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleModal.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.primitive.booleans.holder;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-@Action(
-        semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty",
-        associateWithSequence = "2"
-)
-@ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL, named = "Modal", describedAs = "promptStyle = MODAL")
-@RequiredArgsConstructor
-public class PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleModal {
-
-    private final PrimitiveBooleanHolder primitiveBooleanHolder;
-
-    public PrimitiveBooleanHolder act(boolean newValue) {
-        primitiveBooleanHolder.setReadOnlyProperty(newValue);
-        return primitiveBooleanHolder;
-    }
-    public boolean default0Act() {
-        return primitiveBooleanHolder.isReadOnlyProperty();
-    }
-
-
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStylePanelDropDown.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStylePanelDropDown.java
deleted file mode 100644
index 0c59f63..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStylePanelDropDown.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.primitive.booleans.holder;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-@Action(
-        semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty",
-        associateWithSequence = "3"
-)
-@ActionLayout(position = ActionLayout.Position.PANEL_DROPDOWN, named = "Panel Dropdown", describedAs = "position = PANEL_DROPDOWN")
-@RequiredArgsConstructor
-public class PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStylePanelDropDown {
-
-    private final PrimitiveBooleanHolder primitiveBooleanHolder;
-
-    public PrimitiveBooleanHolder act(boolean newValue) {
-        primitiveBooleanHolder.setReadOnlyProperty(newValue);
-        return primitiveBooleanHolder;
-    }
-    public boolean default0Act() {
-        return primitiveBooleanHolder.isReadOnlyProperty();
-    }
-
-
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleSidebar.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleSidebar.java
deleted file mode 100644
index 09d536c..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleSidebar.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.primitive.booleans.holder;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-@Action(
-        semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty",
-        associateWithSequence = "3"
-)
-@ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR, named = "sidebar", describedAs = "promptStyle = DIALOG_SIDEBAR")
-@RequiredArgsConstructor
-public class PrimitiveBooleanHolder_updateReadOnlyPropertyPromptStyleSidebar {
-
-    private final PrimitiveBooleanHolder primitiveBooleanHolder;
-
-    public PrimitiveBooleanHolder act(boolean newValue) {
-        primitiveBooleanHolder.setReadOnlyProperty(newValue);
-        return primitiveBooleanHolder;
-    }
-    public boolean default0Act() {
-        return primitiveBooleanHolder.isReadOnlyProperty();
-    }
-
-
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java
index 30e8e4f..e693432 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.java
@@ -25,6 +25,7 @@ import javax.jdo.annotations.PersistenceCapable;
 
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Title;
@@ -48,21 +49,17 @@ public class PrimitiveBooleanJdoEntity                                  // <.>
 //end::class[]
     public PrimitiveBooleanJdoEntity(boolean initialValue) {
         this.readOnlyProperty = initialValue;
-        this.readOnlyProperty2 = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
     @Title(prepend = "boolean (primitive) JDO entity: ")
+    @MemberOrder(name = "read-only-properties", sequence = "1")
     @Getter @Setter
     private boolean readOnlyProperty;                                   // <.>
 
-    @Property
-    @PropertyLayout(hidden = Where.ALL_TABLES)
-    @Getter @Setter
-    private boolean readOnlyProperty2;
-
     @Property(editing = Editing.ENABLED)
+    @MemberOrder(name = "editable-properties", sequence = "1")
     @Getter @Setter
     private boolean readWriteProperty;
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml
index ffa55a8..72ab3c8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdoEntity.layout.xml
@@ -18,13 +18,8 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Action Prompt Styles" id="action-prompt-styles">
+			<cpt:fieldSet name="Read Only Properties" id="read-only-properties">
 				<cpt:property id="readOnlyProperty" />
-				<cpt:property id="readOnlyProperty2" >
-					<cpt:describedAs>
-						Associated action uses promptStyle=INLINE_AS_IF_EDIT
-					</cpt:describedAs>
-				</cpt:property>
 			</cpt:fieldSet>
 			<cpt:fieldSet name="Editable Properties" id="editable-properties">
 				<cpt:property id="readWriteProperty" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java
index c6d1ecb..c770159 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanViewModel.java
@@ -25,6 +25,7 @@ import javax.xml.bind.annotation.XmlType;
 
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
@@ -42,7 +43,7 @@ import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder;
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
-        nature=Nature.VIEW_MODEL,
+        nature= Nature.VIEW_MODEL,
         objectType = "demo.PrimitiveBooleanViewModel"
 )
 @lombok.NoArgsConstructor                                           // <.>
@@ -52,21 +53,17 @@ public class PrimitiveBooleanViewModel
 //end::class[]
     public PrimitiveBooleanViewModel(boolean initialValue) {
         this.readOnlyProperty = initialValue;
-        this.readOnlyProperty2 = initialValue;
         this.readWriteProperty = initialValue;
     }
-//tag::class[]
 
+//tag::class[]
     @Title(prepend = "boolean (primitive) view model: ")
+    @MemberOrder(name = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private boolean readOnlyProperty;                               // <.>
-
-    @Property
-    @PropertyLayout(hidden = Where.ALL_TABLES)
-    @Getter @Setter
-    private boolean readOnlyProperty2;
+    private boolean readOnlyProperty;                                   // <.>
 
     @Property(editing = Editing.ENABLED)
+    @MemberOrder(name = "editable-properties", sequence = "1")
     @Getter @Setter
     private boolean readWriteProperty;
 


[isis] 01/04: ISIS-2222: fixes PropertyLayout for named and cssClass

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 5ad1c74981af6b34c3c7608f844dd317111231ec
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jun 30 23:55:18 2020 +0100

    ISIS-2222: fixes PropertyLayout for named and cssClass
---
 .../cssClass/PropertyLayoutCssClassVm.java         |  5 +--
 .../PropertyLayoutCssClassVm_annotatedMixin.java   |  4 +--
 .../named/PropertyLayoutNamedMetaAnnotation.java   |  2 +-
 .../named/PropertyLayoutNamedVm.java               | 34 ++++++++++++------
 .../named/PropertyLayoutNamedVm.layout.xml         |  7 ++--
 .../PropertyLayoutNamedVm_annotatedEscaped.java    | 41 ----------------------
 6 files changed, 34 insertions(+), 59 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
index 6258484..9097e17 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
@@ -46,7 +46,8 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutCssClassVm"
+        objectType = "demo.PropertyLayoutCssClassVm",
+        editing = Editing.ENABLED
 )
 public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
 
@@ -56,7 +57,7 @@ public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
     }
 
 //tag::class[]
-    @Title(prepend = "Demonstrates: ")
+    @Title
     @Property(editing = Editing.DISABLED)
     @XmlElement(required = true)
     @Getter @Setter
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm_annotatedMixin.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm_annotatedMixin.java
index 3066378..0b9850f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm_annotatedMixin.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/cssClass/PropertyLayoutCssClassVm_annotatedMixin.java
@@ -26,8 +26,8 @@ import org.apache.isis.applib.annotation.Where;
 import lombok.RequiredArgsConstructor;
 
 //tag::class[]
-@Property()
-@PropertyLayout(cssClass = "red", describedAs = "cssClass = \"red\" ", hidden = Where.ALL_TABLES)
+//@Property()
+//@PropertyLayout(cssClass = "red", describedAs = "cssClass = \"red\" ", hidden = Where.ALL_TABLES)  // TODO: this fails as attempts to invoke as an action, and heuristics replace null with the view model object.
 @RequiredArgsConstructor
 public class PropertyLayoutCssClassVm_annotatedMixin {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedMetaAnnotation.java
index 97d0fb1..8e86673 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedMetaAnnotation.java
@@ -10,7 +10,7 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 
 //tag::class[]
-@PropertyLayout(named = "Named <i>from</i> custom type", namedEscaped = false)
+@PropertyLayout(named = "Named from meta-annotation")
 @Inherited
 @Target({ ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
 @Retention(RetentionPolicy.RUNTIME)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java
index 9450e6e..671a504 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.java
@@ -45,10 +45,10 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutNamedVm"
+        objectType = "demo.PropertyLayoutNamedVm",
+        editing = Editing.ENABLED
 )
-public class PropertyLayoutNamedVm
-        implements HasAsciiDocDescription {
+public class PropertyLayoutNamedVm implements HasAsciiDocDescription {
 
 //end::class[]
     public PropertyLayoutNamedVm() {
@@ -56,7 +56,7 @@ public class PropertyLayoutNamedVm
     }
 
 //tag::class[]
-    @Title(prepend = "Demonstrates: ")
+    @Title
     @Property(editing = Editing.DISABLED)
     @XmlElement(required = true)
     @Getter @Setter
@@ -64,17 +64,31 @@ public class PropertyLayoutNamedVm
 
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(named = "Named using annotation", describedAs = "@PropertyLayout(named= \"Named using annotation\")", hidden = Where.ALL_TABLES)
-    @MemberOrder(name = "properties", sequence = "1")
+    @MemberOrder(name = "named", sequence = "1")
     @XmlElement(required = false)
     @Getter @Setter
-    private String propertyUsingAnnotation;
+    private String namedUsingAnnotation;
 
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(describedAs = "<cpt:property id=\"...\"><cpt:named>...</cpt:named></cpt:property>", hidden = Where.ALL_TABLES)
-    @MemberOrder(name = "properties", sequence = "2")
+    @MemberOrder(name = "named", sequence = "2")
     @XmlElement(required = false)
     @Getter @Setter
-    private String propertyUsingLayout;
+    private String namedUsingLayout;
+
+    @Property(optionality = Optionality.OPTIONAL)
+    @PropertyLayout(named = "Named <b>uses</b> <i>markup</i>", namedEscaped = false, describedAs = "@PropertyLayout(named= \"Named <b>uses</b> <i>markup</i>\" namedEscaped=false)", hidden = Where.ALL_TABLES)
+    @MemberOrder(name = "markup", sequence = "1")
+    @XmlElement(required = false)
+    @Getter @Setter
+    private String nameUsesMarkup;
+
+    @Property(optionality = Optionality.OPTIONAL)
+    @PropertyLayout(named = "Named <b>but</b> <i>escaped</i>", namedEscaped = false, describedAs = "@PropertyLayout(named= \"Named <b>but</b> <i>unescaped</i>\" namedEscaped=true)", hidden = Where.ALL_TABLES)
+    @MemberOrder(name = "markup", sequence = "2")
+    @XmlElement(required = false)
+    @Getter @Setter
+    private String nameUsesEscapedMarkup;
 
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayoutNamedMetaAnnotation
@@ -82,7 +96,7 @@ public class PropertyLayoutNamedVm
     @MemberOrder(name = "meta-annotated", sequence = "1")
     @XmlElement(required = false)
     @Getter @Setter
-    private String propertyUsingMetaAnnotation;
+    private String namedUsingMetaAnnotation;
 
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayoutNamedMetaAnnotation
@@ -90,7 +104,7 @@ public class PropertyLayoutNamedVm
     @MemberOrder(name = "meta-annotated", sequence = "2")
     @XmlElement(required = false)
     @Getter @Setter
-    private String propertyUsingMetaAnnotationOverridden;
+    private String namedUsingMetaAnnotationButOverridden;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
index bc67d4f..118adab 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
@@ -20,12 +20,13 @@
 			<cpt:fieldSet name="General" id="general">
 				<cpt:property id="title" />
 			</cpt:fieldSet>
-			<cpt:fieldSet name="Properties" id="properties">
-				<cpt:property id="namedUsingLayoutProperty">
+			<cpt:fieldSet name="Named" id="named">
+				<cpt:property id="propertyUsingAnnotation"/>
+				<cpt:property id="propertyUsingLayout">
 					<cpt:named>Named using layout.xml</cpt:named>
 				</cpt:property>
 			</cpt:fieldSet>
-			<cpt:fieldSet name="Contributed" id="contributed"/>
+			<cpt:fieldSet name="Markup" id="markup"/>
 			<cpt:fieldSet name="Meta-annotated" id="meta-annotated"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
 		</bs3:col>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm_annotatedEscaped.java b/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm_annotatedEscaped.java
deleted file mode 100644
index 43a78eb..0000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/PropertyLayout/named/PropertyLayoutNamedVm_annotatedEscaped.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.PropertyLayout.named;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-import lombok.RequiredArgsConstructor;
-
-
-@Property()
-@PropertyLayout(named = "<i>Named<i/> escaped mixin property", namedEscaped = true, describedAs = "named = \"(some markup)\", namedEscaped = true")
-@RequiredArgsConstructor
-public class PropertyLayoutNamedVm_annotatedEscaped {
-
-    private final PropertyLayoutNamedVm propertyLayoutNamedVm;
-
-    @MemberOrder(name = "contributed", sequence = "4")
-    public String prop() {
-        return propertyLayoutNamedVm.getPropertyUsingAnnotation();
-    }
-
-
-}