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 ee37ad0f5d ISIS-3123: adds template 
updateReadOnlyOptionalPropertyWithChoices
ee37ad0f5d is described below

commit ee37ad0f5d2a49ab85dae3a9d9df336af69d3a72
Author: andi-huber <[email protected]>
AuthorDate: Thu Aug 18 10:23:58 2022 +0200

    ISIS-3123: adds template updateReadOnlyOptionalPropertyWithChoices
---
 .../org/apache/isis/commons/internal/base/_Files.java  | 11 +++++++++++
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java | 18 +++++++++---------
 .../demoshowcases/value/ValueTypeGenTemplate.java      |  4 ++--
 ...lder_updateReadOnlyOptionalPropertyWithChoices.java |  2 +-
 .../demoshowcases/value/ValueTypeGenTemplateTest.java  | 10 ++++++++++
 12 files changed, 96 insertions(+), 75 deletions(-)

diff --git 
a/commons/src/main/java/org/apache/isis/commons/internal/base/_Files.java 
b/commons/src/main/java/org/apache/isis/commons/internal/base/_Files.java
index 46e7c30605..90899b6850 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/base/_Files.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/base/_Files.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.nio.file.DirectoryStream;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
 import java.util.LinkedHashSet;
 import java.util.Optional;
 import java.util.Set;
@@ -211,4 +212,14 @@ public class _Files {
                 : Optional.empty();
     }
 
+    /**
+     * Copy {@code from} file {@code to} file, replacing existing.
+     * @param from
+     * @param to
+     */
+    @SneakyThrows
+    public static void copy(final @NonNull File from, final @NonNull File to) {
+        Files.copy(from.toPath(), to.toPath(), 
StandardCopyOption.REPLACE_EXISTING);
+    }
+
 }
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 79%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..d4af83e201 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.bytes.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperByteHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperByteHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperByteHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Byte newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Byte default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Byte> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Byte> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 78%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..0c66fa8db7 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.characters.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperCharacterHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperCharacterHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperCharacterHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Character newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Character default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Character> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Character> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 79%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..308ed09e67 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.doubles.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperDoubleHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperDoubleHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperDoubleHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Double newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Double default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Double> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Double> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 79%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..ff3be4b71f 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.floats.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperFloatHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperFloatHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperFloatHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Float newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Float default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Float> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Float> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 78%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..c33d55032f 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.integers.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperIntegerHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperIntegerHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperIntegerHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Integer newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Integer default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Integer> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Integer> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 79%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..2137bbef89 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.longs.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperLongHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperLongHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperLongHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Long newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Long default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Long> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Long> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 79%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..7a933b9900 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javalang.shorts.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class WrapperShortHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final WrapperShortHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public WrapperShortHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.lang.Short newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.lang.Short default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.lang.Short> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.lang.Short> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder_updateReadOnlyOptionalPropertyWithChoices.java
similarity index 79%
copy from 
tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
copy to 
examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..ec128bd977 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package demoapp.dom.types.javautil.uuids.holder;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 
-/*${generated-file-notice}*/
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -45,27 +45,27 @@ import lombok.RequiredArgsConstructor;
         , associateWith = "readOnlyOptionalProperty"
         , sequence = "2")
 @RequiredArgsConstructor
-public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoices {
+public class JavaUtilUuidHolder_updateReadOnlyOptionalPropertyWithChoices {
 
-    private final /*${showcase-name}*/Holder holder;
+    private final JavaUtilUuidHolder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(
+    @MemberSupport public JavaUtilUuidHolder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final java.util.UUID newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public java.util.UUID default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List<java.util.UUID> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples<java.util.UUID> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
 
b/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
index a040213bf5..f62b2807ff 100644
--- 
a/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
+++ 
b/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
@@ -153,7 +153,7 @@ public class ValueTypeGenTemplate {
 
         private final String pathTemplate;
         private final Generator generator;
-        private final File file(final Config config) {
+        private final File outputFile(final Config config) {
             return new File(config.getOutputRootDir(),
                     String.format(pathTemplate, config.getShowcaseName())
                     + generator.fileSuffix)
@@ -209,7 +209,7 @@ public class ValueTypeGenTemplate {
 
             val templateFile = template.templateFile(config);
 
-            val genTarget = template.file(config);
+            val genTarget = template.outputFile(config);
 
             val templateVars = new TemplateVars(template.generator);
             templateVars.putAll(config.templateVariables);
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
index c156d3eb7a..1c67a659f3 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package demoapp.dom.types.javalang.booleans.holder;
+package /*${java-package}*/;
 
 import java.util.List;
 import java.util.stream.Collectors;
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 5ec3f85e6a..e85c872cfc 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
@@ -56,6 +56,9 @@ class ValueTypeGenTemplateTest {
         val generatedFiles = _Sets.<File>newLinkedHashSet();
         generator.generate(generatedFiles::add);
 
+        // override origin
+        //copyFiles(generatedFiles, config.getOutputRootDir(), 
demoDomainShowCase);
+
         assertFileSetEquals(refShowcaseFiles, demoDomainShowCase, 
generatedFiles, config.getOutputRootDir());
         assertFileContentEquals(refShowcaseFiles, generatedFiles);
 
@@ -90,6 +93,13 @@ class ValueTypeGenTemplateTest {
     }
 
 
+    private void copyFiles(final Collection<File> files, final File 
sourceRoot, final File destinationRoot) {
+        files.forEach(src->{
+            val dest = new File(destinationRoot, 
_Files.realtiveFileName(sourceRoot, src));
+            _Files.copy(src, dest);
+        });
+    }
+
     private void assertFileContentEquals(final Collection<File> filesA, final 
Collection<File> filesB) {
 
         val sortedA = 
Can.ofCollection(filesA).sorted(Comparator.naturalOrder());

Reply via email to