You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/08/03 10:06:39 UTC

[isis] branch master updated: ISIS-3109: adds Offset(Date)Time demo showcasing

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 640d44e4b7 ISIS-3109: adds Offset(Date)Time demo showcasing
640d44e4b7 is described below

commit 640d44e4b77f4e1e48771c06b361377a601fe563
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Aug 3 12:06:32 2022 +0200

    ISIS-3109: adds Offset(Date)Time demo showcasing
    
    @ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)
---
 .../holder/JavaTimeOffsetDateTimeHolder4.java}              | 13 +++++++------
 .../jdo/JavaTimeOffsetDateTimeJdo.java                      |  5 +++++
 .../jpa/JavaTimeOffsetDateTimeJpa.java                      |  5 +++++
 .../persistence/JavaTimeOffsetDateTimeEntity.java           |  4 ++--
 .../persistence/JavaTimeOffsetDateTimeEntity.layout.xml     |  1 +
 .../javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java |  8 ++++++--
 .../vm/JavaTimeOffsetDateTimeVm.layout.xml                  |  1 +
 .../holder/JavaTimeOffsetTimeHolder4.java}                  | 13 +++++++------
 .../javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java       |  5 +++++
 .../javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java       |  5 +++++
 .../persistence/JavaTimeOffsetTimeEntity.java               |  4 ++--
 .../persistence/JavaTimeOffsetTimeEntity.layout.xml         |  1 +
 .../javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java         | 10 +++++++---
 .../javatimeoffsettime/vm/JavaTimeOffsetTimeVm.layout.xml   |  1 +
 .../holder/JavaTimeZonedDateTimeHolder4.java                |  3 ++-
 15 files changed, 57 insertions(+), 22 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder4.java
similarity index 82%
copy from examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
copy to examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder4.java
index ee35858413..b22d08d09a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder4.java
@@ -16,8 +16,9 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javatime.javatimezoneddatetime.holder;
+package demoapp.dom.types.javatime.javatimeoffsetdatetime.holder;
 
+import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
@@ -26,7 +27,7 @@ import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
-public interface JavaTimeZonedDateTimeHolder4 extends JavaTimeZonedDateTimeHolder3 {
+public interface JavaTimeOffsetDateTimeHolder4 extends JavaTimeOffsetDateTimeHolder3 {
 
     @Property
     @ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)
@@ -35,19 +36,19 @@ public interface JavaTimeZonedDateTimeHolder4 extends JavaTimeZonedDateTimeHolde
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "time-zone-translation", sequence = "1")
-    default java.time.ZonedDateTime getReadOnlyPropertyNoTimeZoneTranslation() {
+    default java.time.OffsetDateTime getReadOnlyPropertyNoTimeZoneTranslation() {
         return getReadOnlyProperty();
     }
 
-    @Property
+    @Property(editing = Editing.ENABLED)
     @ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)
     @PropertyLayout(
             describedAs = "@ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "time-zone-translation", sequence = "2")
-    java.time.ZonedDateTime getReadWritePropertyNoTimeZoneTranslation();
-    void setReadWritePropertyNoTimeZoneTranslation(final java.time.ZonedDateTime temporal);
+    java.time.OffsetDateTime getReadWritePropertyNoTimeZoneTranslation();
+    void setReadWritePropertyNoTimeZoneTranslation(final java.time.OffsetDateTime temporal);
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
index 983ff33309..9937c664cb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
@@ -52,6 +52,7 @@ public class JavaTimeOffsetDateTimeJdo
     public JavaTimeOffsetDateTimeJdo(final java.time.OffsetDateTime initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
+        this.readWritePropertyNoTimeZoneTranslation = initialValue;
     }
 
 //tag::class[]
@@ -79,5 +80,9 @@ public class JavaTimeOffsetDateTimeJdo
     @Getter @Setter
     private java.time.OffsetDateTime readWriteOptionalProperty;
 
+    @Column(allowsNull = "false")
+    @Getter @Setter
+    private java.time.OffsetDateTime readWritePropertyNoTimeZoneTranslation;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
index 4a2684002b..5314e5f598 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
@@ -60,6 +60,7 @@ public class JavaTimeOffsetDateTimeJpa
     public JavaTimeOffsetDateTimeJpa(final java.time.OffsetDateTime initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
+        this.readWritePropertyNoTimeZoneTranslation = initialValue;
     }
 
 //tag::class[]
@@ -91,5 +92,9 @@ public class JavaTimeOffsetDateTimeJpa
     @Getter @Setter
     private java.time.OffsetDateTime readWriteOptionalProperty;
 
+    @Column(nullable = false)
+    @Getter @Setter
+    private java.time.OffsetDateTime readWritePropertyNoTimeZoneTranslation;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
index 3992eaa761..ceec935ca5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
@@ -24,14 +24,14 @@ import org.apache.isis.applib.annotation.DomainObject;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
-import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDateTimeHolder3;
+import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDateTimeHolder4;
 
 @Named("demo.JavaTimeOffsetTimeEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class JavaTimeOffsetDateTimeEntity
 implements
     HasAsciiDocDescription,
-    JavaTimeOffsetDateTimeHolder3,
+    JavaTimeOffsetDateTimeHolder4,
     ValueHolder<java.time.OffsetDateTime> {
 
     @Override
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.layout.xml
index 149a5265fd..78b2b973d3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.layout.xml
@@ -33,6 +33,7 @@
 			<cpt:fieldSet name="Optional Properties" id="optional-properties"/>
 			<cpt:fieldSet name="Contributed by Mixins" id="contributed"/>
 			<cpt:fieldSet name="@PropertyLayout(labelPosition=...)" id="label-positions"/>
+			<cpt:fieldSet name="@ValueSemantics(timeZoneTranslation=...)" id="time-zone-translation"/>
 			<cpt:fieldSet name="@PropertyLayout(renderDay=...)" id="render-day"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
 		</bs3:col>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
index 37a948e5d8..a6ba068ac7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
@@ -39,7 +39,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDateTimeHolder3;
+import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDateTimeHolder4;
 
 //tag::class[]
 @XmlRootElement(name = "root")
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDa
         nature=Nature.VIEW_MODEL)
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeOffsetDateTimeVm
-        implements HasAsciiDocDescription, JavaTimeOffsetDateTimeHolder3 {
+        implements HasAsciiDocDescription, JavaTimeOffsetDateTimeHolder4 {
 
 //end::class[]
     public JavaTimeOffsetDateTimeVm(final java.time.OffsetDateTime initialValue) {
@@ -85,5 +85,9 @@ public class JavaTimeOffsetDateTimeVm
     @Getter @Setter
     private java.time.OffsetDateTime readWriteOptionalProperty;
 
+    @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.OffsetDateTimeToStringAdapter.class)
+    @Getter @Setter
+    private java.time.OffsetDateTime readWritePropertyNoTimeZoneTranslation;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.layout.xml
index 149a5265fd..78b2b973d3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.layout.xml
@@ -33,6 +33,7 @@
 			<cpt:fieldSet name="Optional Properties" id="optional-properties"/>
 			<cpt:fieldSet name="Contributed by Mixins" id="contributed"/>
 			<cpt:fieldSet name="@PropertyLayout(labelPosition=...)" id="label-positions"/>
+			<cpt:fieldSet name="@ValueSemantics(timeZoneTranslation=...)" id="time-zone-translation"/>
 			<cpt:fieldSet name="@PropertyLayout(renderDay=...)" id="render-day"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
 		</bs3:col>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder4.java
similarity index 83%
copy from examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
copy to examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder4.java
index ee35858413..3a8ec5f5b2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder4.java
@@ -16,8 +16,9 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javatime.javatimezoneddatetime.holder;
+package demoapp.dom.types.javatime.javatimeoffsettime.holder;
 
+import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
@@ -26,7 +27,7 @@ import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
-public interface JavaTimeZonedDateTimeHolder4 extends JavaTimeZonedDateTimeHolder3 {
+public interface JavaTimeOffsetTimeHolder4 extends JavaTimeOffsetTimeHolder3 {
 
     @Property
     @ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)
@@ -35,19 +36,19 @@ public interface JavaTimeZonedDateTimeHolder4 extends JavaTimeZonedDateTimeHolde
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "time-zone-translation", sequence = "1")
-    default java.time.ZonedDateTime getReadOnlyPropertyNoTimeZoneTranslation() {
+    default java.time.OffsetTime getReadOnlyPropertyNoTimeZoneTranslation() {
         return getReadOnlyProperty();
     }
 
-    @Property
+    @Property(editing = Editing.ENABLED)
     @ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)
     @PropertyLayout(
             describedAs = "@ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "time-zone-translation", sequence = "2")
-    java.time.ZonedDateTime getReadWritePropertyNoTimeZoneTranslation();
-    void setReadWritePropertyNoTimeZoneTranslation(final java.time.ZonedDateTime temporal);
+    java.time.OffsetTime getReadWritePropertyNoTimeZoneTranslation();
+    void setReadWritePropertyNoTimeZoneTranslation(final java.time.OffsetTime temporal);
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
index 7e7eddfd82..a8f55a3911 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
@@ -52,6 +52,7 @@ public class JavaTimeOffsetTimeJdo                                          // <
     public JavaTimeOffsetTimeJdo(final java.time.OffsetTime initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
+        this.readWritePropertyNoTimeZoneTranslation = initialValue;
     }
 
 //tag::class[]
@@ -79,5 +80,9 @@ public class JavaTimeOffsetTimeJdo                                          // <
     @Getter @Setter
     private java.time.OffsetTime readWriteOptionalProperty;
 
+    @Column(allowsNull = "false")
+    @Getter @Setter
+    private java.time.OffsetTime readWritePropertyNoTimeZoneTranslation;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
index cbd673b73f..fca9cb4070 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
@@ -60,6 +60,7 @@ public class JavaTimeOffsetTimeJpa
     public JavaTimeOffsetTimeJpa(final java.time.OffsetTime initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
+        this.readWritePropertyNoTimeZoneTranslation = initialValue;
     }
 
 //tag::class[]
@@ -91,5 +92,9 @@ public class JavaTimeOffsetTimeJpa
     @Getter @Setter
     private java.time.OffsetTime readWriteOptionalProperty;
 
+    @Column(nullable = false)
+    @Getter @Setter
+    private java.time.OffsetTime readWritePropertyNoTimeZoneTranslation;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
index ae4e481844..977842c942 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
@@ -24,14 +24,14 @@ import org.apache.isis.applib.annotation.DomainObject;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
-import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHolder3;
+import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHolder4;
 
 @Named("demo.JavaTimeOffsetTimeEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class JavaTimeOffsetTimeEntity
 implements
     HasAsciiDocDescription,
-    JavaTimeOffsetTimeHolder3,
+    JavaTimeOffsetTimeHolder4,
     ValueHolder<java.time.OffsetTime> {
 
     @Override
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.layout.xml
index 149a5265fd..78b2b973d3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.layout.xml
@@ -33,6 +33,7 @@
 			<cpt:fieldSet name="Optional Properties" id="optional-properties"/>
 			<cpt:fieldSet name="Contributed by Mixins" id="contributed"/>
 			<cpt:fieldSet name="@PropertyLayout(labelPosition=...)" id="label-positions"/>
+			<cpt:fieldSet name="@ValueSemantics(timeZoneTranslation=...)" id="time-zone-translation"/>
 			<cpt:fieldSet name="@PropertyLayout(renderDay=...)" id="render-day"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
 		</bs3:col>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
index 1f7c0d54c9..43a1c3936c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
@@ -39,7 +39,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHolder3;
+import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHolder4;
 
 //tag::class[]
 @XmlRootElement(name = "root")
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHo
         nature=Nature.VIEW_MODEL)
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeOffsetTimeVm
-        implements HasAsciiDocDescription, JavaTimeOffsetTimeHolder3 {
+        implements HasAsciiDocDescription, JavaTimeOffsetTimeHolder4 {
 
 //end::class[]
     public JavaTimeOffsetTimeVm(final java.time.OffsetTime initialValue) {
@@ -62,7 +62,7 @@ public class JavaTimeOffsetTimeVm
     @Title(prepend = "java.time.OffsetTime view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @XmlElement(required = true)                                                // <.>
-    @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.OffsetTimeAdapter.class)               // <.>
+    @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.OffsetTimeAdapter.class)           // <.>
     @Getter @Setter
     private java.time.OffsetTime readOnlyProperty;
 
@@ -85,5 +85,9 @@ public class JavaTimeOffsetTimeVm
     @Getter @Setter
     private java.time.OffsetTime readWriteOptionalProperty;
 
+    @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.OffsetTimeAdapter.class)
+    @Getter @Setter
+    private java.time.OffsetTime readWritePropertyNoTimeZoneTranslation;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.layout.xml
index 149a5265fd..78b2b973d3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.layout.xml
@@ -33,6 +33,7 @@
 			<cpt:fieldSet name="Optional Properties" id="optional-properties"/>
 			<cpt:fieldSet name="Contributed by Mixins" id="contributed"/>
 			<cpt:fieldSet name="@PropertyLayout(labelPosition=...)" id="label-positions"/>
+			<cpt:fieldSet name="@ValueSemantics(timeZoneTranslation=...)" id="time-zone-translation"/>
 			<cpt:fieldSet name="@PropertyLayout(renderDay=...)" id="render-day"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
 		</bs3:col>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
index ee35858413..ec54711365 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder4.java
@@ -18,6 +18,7 @@
  */
 package demoapp.dom.types.javatime.javatimezoneddatetime.holder;
 
+import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
@@ -39,7 +40,7 @@ public interface JavaTimeZonedDateTimeHolder4 extends JavaTimeZonedDateTimeHolde
         return getReadOnlyProperty();
     }
 
-    @Property
+    @Property(editing = Editing.ENABLED)
     @ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)
     @PropertyLayout(
             describedAs = "@ValueSemantics(timeZoneTranslation = TimeZoneTranslation.NONE)",