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/17 07:02:53 UTC

[isis] branch master updated: ISIS-3123: replace Integer showcase with generated files

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 eeb145663a ISIS-3123: replace Integer showcase with generated files
eeb145663a is described below

commit eeb145663aa8ecf61b50daf57f07a35c6f7110a8
Author: andi-huber <ah...@apache.org>
AuthorDate: Wed Aug 17 09:02:45 2022 +0200

    ISIS-3123: replace Integer showcase with generated files
---
 .../javalang/integers/WrapperIntegers-common.adoc  |  7 ++--
 .../integers/WrapperIntegers-description.adoc      | 10 +++---
 .../types/javalang/integers/WrapperIntegers.java   | 15 ++++++---
 .../javalang/integers/WrapperIntegers.layout.xml   |  2 ++
 .../integers/holder/WrapperIntegerHolder.java      | 17 +++++-----
 .../integers/holder/WrapperIntegerHolder2.java     | 11 +++---
 .../WrapperIntegerHolder_actionReturning.java      |  4 +--
 ...perIntegerHolder_actionReturningCollection.java | 10 +++---
 .../holder/WrapperIntegerHolder_mixinProperty.java |  4 +--
 ...tegerHolder_updateReadOnlyOptionalProperty.java |  6 ++--
 ...rapperIntegerHolder_updateReadOnlyProperty.java |  5 +--
 ...erHolder_updateReadOnlyPropertyWithChoices.java | 13 ++++----
 .../jdo/WrapperIntegerJdo-description.adoc         |  6 ++--
 .../javalang/integers/jdo/WrapperIntegerJdo.java   | 13 ++++----
 .../integers/jdo/WrapperIntegerJdoEntities.java    |  5 +--
 .../jpa/WrapperIntegerJpa-description.adoc         | 15 ++++-----
 .../javalang/integers/jpa/WrapperIntegerJpa.java   | 15 +++++----
 .../integers/jpa/WrapperIntegerJpaEntities.java    |  5 +--
 .../integers/persistence/WrapperIntegerEntity.java |  5 +--
 .../persistence/WrapperIntegerEntity.layout.xml    |  2 ++
 .../persistence/WrapperIntegerSeeding.java         |  7 ++--
 .../integers/samples/WrapperIntegerSamples.java    |  9 +++--
 .../integers/vm/WrapperIntegerVm-description.adoc  |  6 ++--
 .../javalang/integers/vm/WrapperIntegerVm.java     | 13 ++++----
 .../integers/vm/WrapperIntegerVm.layout.xml        |  2 ++
 .../value/ValueTypeGenTemplateTest.java            | 39 ++++++++++++++++------
 26 files changed, 149 insertions(+), 97 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-common.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-common.adoc
index ac755dfce5..db269f212a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-common.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-common.adoc
@@ -1,8 +1,10 @@
 :Notice: 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 ag [...]
 
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
 == Mixin actions
 
-A number of mixin actions contribute through the `WrapperIntegerHolder` interface, demonstrate the use of `Integer` as a parameter and as a return type.
+A number of mixin actions contribute through the `WrapperIntegerHolder` interface, demonstrate the use of `java.lang.Integer` as a parameter and as a return type.
 For example:
 
 * the `updateReadOnlyProperty` action is:
@@ -48,7 +50,7 @@ include::holder/WrapperIntegerHolder_mixinProperty.java[tags=class]
 
 == @PropertyLayout(labelPosition=...)
 
-There is also an extended interface, `WrapperIntegerHolder2`, with default methods demonstrating the use of label positions:
+To demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`, the entity and view model objects both implement the extended `WrapperIntegerHolder2` interface:
 
 [source,java]
 ----
@@ -63,3 +65,4 @@ include::holder/WrapperIntegerHolder2.java[tags=class]
 +
 CAUTION: currently not supported
 <.> Hide the label compleely.
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-description.adoc
index df78d60f07..2555b1b30f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers-description.adoc
@@ -1,11 +1,13 @@
 :Notice: 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 ag [...]
 
-The framework has built-in support for all of the Wrapper data types, including `Integer`.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+The framework has built-in support for the `java.lang.Integer` data type.
 
 From here you can:
 
-* navigate to an entity that uses the `Integer` datatype
-* open a view model that uses the `Integer` datatype
+* navigate to an entity that uses the `java.lang.Integer` datatype
+* open a view model that uses the `java.lang.Integer` datatype
 
 Some properties on these domain objects are mandatory, some optional.
 
@@ -26,4 +28,4 @@ include::holder/WrapperIntegerHolder.java[tags=class]
 
 The `WrapperIntegerHolder2` interface is used to demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`.
 
-Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
\ No newline at end of file
+Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
index f6ae534e77..e74939cfdc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
@@ -41,9 +41,11 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolderRepository;
+import demoapp.dom.types.Samples;
 import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
 import demoapp.dom.types.javalang.integers.vm.WrapperIntegerVm;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -53,16 +55,16 @@ import demoapp.dom.types.javalang.integers.vm.WrapperIntegerVm;
 public class WrapperIntegers implements HasAsciiDocDescription {
 
     @ObjectSupport public String title() {
-        return "Integer (wrapper) data type";
+        return "java.lang.Integer data type";
     }
 
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
-    public WrapperIntegerVm openViewModel(final Integer initialValue) {
+    public WrapperIntegerVm openViewModel(final java.lang.Integer initialValue) {
         return new WrapperIntegerVm(initialValue);
     }
-    @MemberSupport public Integer default0OpenViewModel() {
-        return 12345678;
+    @MemberSupport public java.lang.Integer default0OpenViewModel() {
+        return samples.single();
     }
 
     @Collection
@@ -72,7 +74,10 @@ public class WrapperIntegers implements HasAsciiDocDescription {
 
     @Inject
     @XmlTransient
-    ValueHolderRepository<Integer, ? extends WrapperIntegerEntity> entities;
+    ValueHolderRepository<java.lang.Integer, ? extends WrapperIntegerEntity> entities;
 
+    @Inject
+    @XmlTransient
+    Samples<java.lang.Integer> samples;
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.layout.xml
index 74e0160a87..247ed17506 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
index ef121655ce..37c96917a2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
@@ -20,21 +20,22 @@ package demoapp.dom.types.javalang.integers.holder;
 
 import javax.inject.Named;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.WrapperIntegerHolder")
 //tag::class[]
 public interface WrapperIntegerHolder {
 
-    Integer getReadOnlyProperty();
-    void setReadOnlyProperty(Integer c);
+    java.lang.Integer getReadOnlyProperty();
+    void setReadOnlyProperty(java.lang.Integer c);
 
-    Integer getReadWriteProperty();
-    void setReadWriteProperty(Integer c);
+    java.lang.Integer getReadWriteProperty();
+    void setReadWriteProperty(java.lang.Integer c);
 
-    Integer getReadOnlyOptionalProperty();
-    void setReadOnlyOptionalProperty(Integer c);
+    java.lang.Integer getReadOnlyOptionalProperty();
+    void setReadOnlyOptionalProperty(java.lang.Integer c);
 
-    Integer getReadWriteOptionalProperty();
-    void setReadWriteOptionalProperty(Integer c);
+    java.lang.Integer getReadWriteOptionalProperty();
+    void setReadWriteOptionalProperty(java.lang.Integer c);
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder2.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder2.java
index 1379c8b956..fecb378439 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder2.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder2.java
@@ -23,6 +23,7 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 public interface WrapperIntegerHolder2 extends WrapperIntegerHolder {
 
@@ -32,8 +33,8 @@ public interface WrapperIntegerHolder2 extends WrapperIntegerHolder {
         describedAs =
             "@PropertyLayout(labelPosition=LEFT)",
         hidden = Where.ALL_TABLES,
-        fieldSetId = "label-positions", sequence = "1")  // <.>
-    default Integer getReadOnlyPropertyDerivedLabelPositionLeft() {
+        fieldSetId = "label-positions", sequence = "1")     // <.>
+    default java.lang.Integer getReadOnlyPropertyDerivedLabelPositionLeft() {
         return getReadOnlyProperty();
     }
 
@@ -44,7 +45,7 @@ public interface WrapperIntegerHolder2 extends WrapperIntegerHolder {
             "@PropertyLayout(labelPosition=TOP)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "2")
-    default Integer getReadOnlyPropertyDerivedLabelPositionTop() {
+    default java.lang.Integer getReadOnlyPropertyDerivedLabelPositionTop() {
         return getReadOnlyProperty();
     }
 
@@ -55,7 +56,7 @@ public interface WrapperIntegerHolder2 extends WrapperIntegerHolder {
             "@PropertyLayout(labelPosition=RIGHT)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "3")
-    default Integer getReadOnlyPropertyDerivedLabelPositionRight() {
+    default java.lang.Integer getReadOnlyPropertyDerivedLabelPositionRight() {
         return getReadOnlyProperty();
     }
 
@@ -66,7 +67,7 @@ public interface WrapperIntegerHolder2 extends WrapperIntegerHolder {
             "@PropertyLayout(labelPosition=NONE)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "4")
-    default Integer getReadOnlyPropertyDerivedLabelPositionNone() {
+    default java.lang.Integer getReadOnlyPropertyDerivedLabelPositionNone() {
         return getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturning.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturning.java
index b1f633b903..6cf4c5b222 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturning.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturning.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
@@ -31,7 +31,7 @@ public class WrapperIntegerHolder_actionReturning {
 
     private final WrapperIntegerHolder holder;
 
-    public Integer act() {
+    public java.lang.Integer act() {
         return holder.getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturningCollection.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturningCollection.java
index 50768da1fb..97b1dc0f54 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturningCollection.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_actionReturningCollection.java
@@ -26,11 +26,10 @@ import javax.inject.Inject;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
-import lombok.RequiredArgsConstructor;
-
 import demoapp.dom.types.Samples;
+import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
@@ -38,12 +37,13 @@ public class WrapperIntegerHolder_actionReturningCollection {
 
     private final WrapperIntegerHolder holder;
 
-    public Collection<Integer> act() {
+    public Collection<java.lang.Integer> act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples<Integer> samples;
+    Samples<java.lang.Integer> samples;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_mixinProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_mixinProperty.java
index a796ef86ed..4ae067963f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_mixinProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_mixinProperty.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Where;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Property()
 @PropertyLayout(hidden = Where.ALL_TABLES, fieldSetId = "contributed", sequence = "1")
@@ -33,7 +33,7 @@ public class WrapperIntegerHolder_mixinProperty {
 
     private final WrapperIntegerHolder holder;
 
-    public Integer prop() {
+    public java.lang.Integer prop() {
         return holder.getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalProperty.java
index 4395fda8b8..9038f15b4d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalProperty.java
@@ -28,6 +28,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -44,12 +45,13 @@ public class WrapperIntegerHolder_updateReadOnlyOptionalProperty {
 
     @MemberSupport public WrapperIntegerHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)              // <.>
-            final Integer newValue
+            final java.lang.Integer newValue
     ) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
-    @MemberSupport public Integer default0Act() {
+
+    @MemberSupport public java.lang.Integer default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyProperty.java
index 5bca39cc81..930c400f82 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyProperty.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -40,12 +41,12 @@ public class WrapperIntegerHolder_updateReadOnlyProperty {
 
     private final WrapperIntegerHolder holder;
 
-    @MemberSupport public WrapperIntegerHolder act(final Integer newValue) {
+    @MemberSupport public WrapperIntegerHolder act(final java.lang.Integer newValue) {
         holder.setReadOnlyProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public Integer default0Act() {
+    @MemberSupport public java.lang.Integer default0Act() {
         return holder.getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyPropertyWithChoices.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyPropertyWithChoices.java
index 7bf5a49ffe..e93dea3b9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyPropertyWithChoices.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyPropertyWithChoices.java
@@ -29,10 +29,10 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
-import lombok.RequiredArgsConstructor;
-
 import demoapp.dom.types.Samples;
+import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -47,21 +47,22 @@ public class WrapperIntegerHolder_updateReadOnlyPropertyWithChoices {
 
     private final WrapperIntegerHolder holder;
 
-    @MemberSupport public WrapperIntegerHolder act(final Integer newValue) {
+    @MemberSupport public WrapperIntegerHolder act(final java.lang.Integer newValue) {
         holder.setReadOnlyProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public Integer default0Act() {
+    @MemberSupport public java.lang.Integer default0Act() {
         return holder.getReadOnlyProperty();
     }
 
-    @MemberSupport public List<Integer> choices0Act() {
+    @MemberSupport public List<java.lang.Integer> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples<Integer> samples;
+    Samples<java.lang.Integer> samples;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc
index 99b9e22e0e..cadc507d9a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc
@@ -1,6 +1,8 @@
 :Notice: 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 ag [...]
 
-JDO supports `Integer` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JDO supports `java.lang.Integer` out-of-the-box, so no special annotations are required. see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
 
 [source,java]
 ----
@@ -15,4 +17,4 @@ Apache Isis assumes properties are mandatory, so no additional annotation is req
 <.> optional property as defined to JDO/DataNucleus
 
 
-include::../WrapperIntegers-common.adoc[]
\ No newline at end of file
+include::../WrapperIntegers-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
index b5e72b0670..e488f2911c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
@@ -39,6 +39,7 @@ import lombok.Setter;
 
 import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 //tag::class[]
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@@ -49,35 +50,35 @@ public class WrapperIntegerJdo                                          // <.>
         extends WrapperIntegerEntity {
 
 //end::class[]
-    public WrapperIntegerJdo(final Integer initialValue) {
+    public WrapperIntegerJdo(final java.lang.Integer initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "Integer (wrapper) JDO entity: ")
+    @Title(prepend = "java.lang.Integer JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Column(allowsNull = "false")                                               // <.>
     @Getter @Setter
-    private Integer readOnlyProperty;
+    private java.lang.Integer readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                        // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Column(allowsNull = "false")
     @Getter @Setter
-    private Integer readWriteProperty;
+    private java.lang.Integer readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                               // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Column(allowsNull = "true")                                                // <.>
     @Getter @Setter
-    private Integer readOnlyOptionalProperty;
+    private java.lang.Integer readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
     @Column(allowsNull = "true")
     @Getter @Setter
-    private Integer readWriteOptionalProperty;
+    private java.lang.Integer readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java
index 3c0468ddcb..8527915dfb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java
@@ -23,17 +23,18 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 @Service
 public class WrapperIntegerJdoEntities
-extends ValueHolderRepository<Integer, WrapperIntegerJdo> {
+extends ValueHolderRepository<java.lang.Integer, WrapperIntegerJdo> {
 
     protected WrapperIntegerJdoEntities() {
         super(WrapperIntegerJdo.class);
     }
 
     @Override
-    protected WrapperIntegerJdo newDetachedEntity(Integer value) {
+    protected WrapperIntegerJdo newDetachedEntity(java.lang.Integer value) {
         return new WrapperIntegerJdo(value);
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa-description.adoc
index e28f351c01..5cedf2db3d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa-description.adoc
@@ -1,23 +1,20 @@
 :Notice: 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 ag [...]
 
-[WARNING]
-==== 
-TODO this yet is just a copy from JDO
-====
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
 
-JDO supports `Integer` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+JDO supports `java.lang.Integer` out-of-the-box, so no special annotations are required. see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]
 
 [source,java]
 ----
 include::WrapperIntegerJpa.java[tags=class]
 ----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
+<.> a no-arg constructor for convenience
+<.> required property as defined to JPA.
 +
 Apache Isis assumes properties are mandatory, so no additional annotation is required.
 <.> directly editable property as defined to Apache Isis
 <.> optional property as defined to Apache Isis
-<.> optional property as defined to JDO/DataNucleus
+<.> optional property as defined to JPA
 
 
-include::../WrapperIntegers-common.adoc[]
\ No newline at end of file
+include::../WrapperIntegers-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
index 08d26231c2..2122ea12b9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
@@ -42,6 +42,7 @@ import lombok.Setter;
 
 import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 //tag::class[]
 @Entity
@@ -52,12 +53,12 @@ import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
 @EntityListeners(IsisEntityListener.class)
 @Named("demo.WrapperIntegerEntity")
 @DomainObject
-@NoArgsConstructor
+@NoArgsConstructor                                                             // <.>
 public class WrapperIntegerJpa
         extends WrapperIntegerEntity {
 
 //end::class[]
-    public WrapperIntegerJpa(final Integer initialValue) {
+    public WrapperIntegerJpa(final java.lang.Integer initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
@@ -67,29 +68,29 @@ public class WrapperIntegerJpa
     @GeneratedValue
     private Long id;
 
-    @Title(prepend = "Integer (wrapper) JPA entity: ")
+    @Title(prepend = "java.lang.Integer JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Column(nullable = false)                                                   // <.>
     @Getter @Setter
-    private Integer readOnlyProperty;
+    private java.lang.Integer readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                        // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Column(nullable = false)
     @Getter @Setter
-    private Integer readWriteProperty;
+    private java.lang.Integer readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                               // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Column(nullable = true)                                                    // <.>
     @Getter @Setter
-    private Integer readOnlyOptionalProperty;
+    private java.lang.Integer readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
     @Column(nullable = true)
     @Getter @Setter
-    private Integer readWriteOptionalProperty;
+    private java.lang.Integer readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpaEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpaEntities.java
index 0570528038..2c7d6fc54b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpaEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpaEntities.java
@@ -23,17 +23,18 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 @Service
 public class WrapperIntegerJpaEntities
-extends ValueHolderRepository<Integer, WrapperIntegerJpa> {
+extends ValueHolderRepository<java.lang.Integer, WrapperIntegerJpa> {
 
     protected WrapperIntegerJpaEntities() {
         super(WrapperIntegerJpa.class);
     }
 
     @Override
-    protected WrapperIntegerJpa newDetachedEntity(Integer value) {
+    protected WrapperIntegerJpa newDetachedEntity(java.lang.Integer value) {
         return new WrapperIntegerJpa(value);
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
index 5d37772bcf..b34c79658e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
@@ -26,16 +26,17 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.integers.holder.WrapperIntegerHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.WrapperIntegerEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class WrapperIntegerEntity
 implements
     HasAsciiDocDescription,
     WrapperIntegerHolder2,
-    ValueHolder<Integer> {
+    ValueHolder<java.lang.Integer> {
 
     @Override
-    public Integer value() {
+    public java.lang.Integer value() {
         return getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.layout.xml
index fe9ce77481..c58ffa61a0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerSeeding.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerSeeding.java
index d6de8e10d7..eb8a74d153 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerSeeding.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerSeeding.java
@@ -25,11 +25,14 @@ import org.springframework.stereotype.Service;
 import demoapp.dom._infra.seed.SeedServiceAbstract;
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Service
-public class WrapperIntegerSeeding extends SeedServiceAbstract {
+public class WrapperIntegerSeeding
+extends SeedServiceAbstract {
 
     @Inject
-    public WrapperIntegerSeeding(ValueHolderRepository<Integer, ? extends WrapperIntegerEntity> entities) {
+    public WrapperIntegerSeeding(ValueHolderRepository<java.lang.Integer, ? extends WrapperIntegerEntity> entities) {
         super(entities);
     }
+
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/samples/WrapperIntegerSamples.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/samples/WrapperIntegerSamples.java
index 762c1a4e55..40be680355 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/samples/WrapperIntegerSamples.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/samples/WrapperIntegerSamples.java
@@ -24,12 +24,15 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom.types.Samples;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Service
-public class WrapperIntegerSamples implements Samples<Integer> {
+public class WrapperIntegerSamples implements Samples<java.lang.Integer> {
 
     @Override
-    public Stream<Integer> stream() {
-        return Stream.of(1,2,3,-1,-2,-3);
+    public Stream<java.lang.Integer> stream() {
+        return new org.apache.isis.core.metamodel.valuesemantics.IntValueSemantics()
+                .getExamples()
+                .stream();
     }
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm-description.adoc
index 6359ec4ade..4aed5f9659 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm-description.adoc
@@ -1,6 +1,8 @@
 :Notice: 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 ag [...]
 
-JAXB supports `Integer` link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JAXB supports `java.lang.Integer` out-of-the-box, so no special annotations are required. see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]
 
 [source,java]
 ----
@@ -14,4 +16,4 @@ include::WrapperIntegerVm.java[tags=class]
 This is the default for JAXB so no additional annotation required.
 
 
-include::../WrapperIntegers-common.adoc[]
\ No newline at end of file
+include::../WrapperIntegers-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
index 6250181717..baf46b1ad6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
@@ -39,6 +39,7 @@ import lombok.Setter;
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.javalang.integers.holder.WrapperIntegerHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @XmlRootElement(name = "root")
 @XmlType
@@ -51,33 +52,33 @@ public class WrapperIntegerVm
         implements HasAsciiDocDescription, WrapperIntegerHolder2 {
 
 //end::class[]
-    public WrapperIntegerVm(final Integer initialValue) {
+    public WrapperIntegerVm(final java.lang.Integer initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "Integer (wrapper) view model: ")
+    @Title(prepend = "java.lang.Integer view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @XmlElement(required = true)                                                // <.>
     @Getter @Setter
-    private Integer readOnlyProperty;
+    private java.lang.Integer readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                        // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @XmlElement(required = true)
     @Getter @Setter
-    private Integer readWriteProperty;
+    private java.lang.Integer readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                               // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Getter @Setter
-    private Integer readOnlyOptionalProperty;
+    private java.lang.Integer readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
     @Getter @Setter
-    private Integer readWriteOptionalProperty;
+    private java.lang.Integer readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.layout.xml
index fe9ce77481..c58ffa61a0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/tooling/metaprog/src/test/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplateTest.java b/tooling/metaprog/src/test/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplateTest.java
index 606d4ea70e..a39d96329c 100644
--- a/tooling/metaprog/src/test/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplateTest.java
+++ b/tooling/metaprog/src/test/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplateTest.java
@@ -17,6 +17,7 @@ import org.apache.isis.commons.internal.base._Text;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.commons.internal.functions._Predicates;
 import org.apache.isis.tooling.metaprog.demoshowcases.value.ValueTypeGenTemplate.Config;
+import org.apache.isis.tooling.metaprog.demoshowcases.value.ValueTypeGenTemplate.Config.ConfigBuilder;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.fail;
@@ -42,31 +43,47 @@ class ValueTypeGenTemplateTest {
         testShowcase(config);
     }
 
-    @Test //@Disabled("WIP")
-    void testLong() throws IOException {
-
-        val defaults = Config.builder().build();
+    @Test
+    void testWLong() throws IOException {
 
-        val config = Config.builder()
+        val config = fundamentalTypeSupportNotice()
                 .outputRootDir(outputDir("wlong"))
                 .showcaseName("WrapperLong")
                 .javaPackage("demoapp.dom.types.javalang.longs")
                 .showcaseValueType("java.lang.Long")
                 .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.LongValueSemantics")
-                .jdoTypeSupportNotice(defaults.getJdoTypeSupportNotice()
-                        + " see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]")
-                .jpaTypeSupportNotice(defaults.getJdoTypeSupportNotice()
-                        + " see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]")
-                .jaxbTypeSupportNotice(defaults.getJaxbTypeSupportNotice()
-                        + " see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]")
                 .build();
 
         testShowcase(config);
     }
 
+    @Test
+    void testWInt() throws IOException {
+
+        val config = fundamentalTypeSupportNotice()
+                .outputRootDir(outputDir("wint"))
+                .showcaseName("WrapperInteger")
+                .javaPackage("demoapp.dom.types.javalang.integers")
+                .showcaseValueType("java.lang.Integer")
+                .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.IntValueSemantics")
+                .build();
+
+        testShowcase(config);
+    }
 
     // -- HELPER
 
+    private ConfigBuilder fundamentalTypeSupportNotice() {
+        val defaults = Config.builder().build();
+        return Config.builder()
+                .jdoTypeSupportNotice(defaults.getJdoTypeSupportNotice()
+                        + " see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]")
+                .jpaTypeSupportNotice(defaults.getJdoTypeSupportNotice()
+                        + " see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]")
+                .jaxbTypeSupportNotice(defaults.getJaxbTypeSupportNotice()
+                        + " see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]");
+    }
+
     @SneakyThrows
     void testShowcase(final ValueTypeGenTemplate.Config config) {