You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2026/04/13 15:43:10 UTC

(causeway-app-referenceapp) branch master updated: reactivates codegen for value type showcases

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/causeway-app-referenceapp.git


The following commit(s) were added to refs/heads/master by this push:
     new 3da8975  reactivates codegen for value type showcases
3da8975 is described below

commit 3da8975c982cc8e53f682902dfbdbcf7214d04ab
Author: andi-huber <ah...@apache.org>
AuthorDate: Mon Apr 13 17:43:01 2026 +0200

    reactivates codegen for value type showcases
---
 codegen/pom.xml                                    |  4 +++-
 .../demoshowcases/value/ValueTypeGenTemplate.java  | 16 ++++++-------
 .../value/ValueTypeGenTemplateTest.java            | 26 ++++++++--------------
 3 files changed, 20 insertions(+), 26 deletions(-)

diff --git a/codegen/pom.xml b/codegen/pom.xml
index e547593..562a444 100644
--- a/codegen/pom.xml
+++ b/codegen/pom.xml
@@ -25,7 +25,7 @@
 	<parent>
 		<groupId>org.apache.causeway.examples.apps</groupId>
 		<artifactId>reference-app-parent</artifactId>
-		<version>3.4.0-SNAPSHOT</version>
+		<version>${revision}</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 
@@ -34,6 +34,8 @@
 	<name>Reference App - Code Generator</name>
 
 	<properties>
+        <revision>4.0.0-SNAPSHOT</revision> <!-- can be overidden like mvn
+        -Drevision=2.7.8 -->
 		<javapoet.version>1.13.0</javapoet.version>
 		<skipTests>true</skipTests>
 		<enforcer.skip>true</enforcer.skip>
diff --git a/codegen/src/main/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplate.java b/codegen/src/main/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplate.java
index a3616b9..6a7cfd8 100644
--- a/codegen/src/main/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplate.java
+++ b/codegen/src/main/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplate.java
@@ -257,13 +257,13 @@ public class ValueTypeGenTemplate {
             return FileUtils.existingFile(templateFile(config, config.templateVariant)) // existence is optional
                     .orElseGet(()->{
                         // existence is mandatory
-                        val defaultTemplateFile = templateFile(config, TemplateVariant.DEFAULT);
+                        var defaultTemplateFile = templateFile(config, TemplateVariant.DEFAULT);
                         return FileUtils.existingFile(defaultTemplateFile)
                                 .orElseThrow(()->_Exceptions.noSuchElement("template %s not found", defaultTemplateFile));
                     });
         }
         private final File templateFile(final Config config, final TemplateVariant templateVariant) {
-            val templateFile = new File("src/main/resources",
+            var templateFile = new File("src/main/resources",
                     String.format(pathTemplate, config.fileNamePlaceholderForShowcaseName)
                     + templateVariant.suffix
                     + generator.fileSuffix)
@@ -288,7 +288,7 @@ public class ValueTypeGenTemplate {
         }
         @Override
         public void putAll(final Map<? extends String, ? extends String> other) {
-            other.forEach((key, value)->put(key, value));
+            other.forEach(this::put);
         }
         public void putRaw(final String key, final String value) {
             super.put(key, value);
@@ -302,11 +302,11 @@ public class ValueTypeGenTemplate {
 
         for(var template: config.getTemplates()) {
 
-            val templateFile = template.templateFile(config);
+            var templateFile = template.templateFile(config);
 
-            val genTarget = template.outputFile(config);
+            var genTarget = template.outputFile(config);
 
-            val templateVars = new TemplateVars(template.generator);
+            var templateVars = new TemplateVars(template.generator);
             templateVars.putAll(config.templateVariables);
             templateVars.put("java-package", template.javaPackage(config));
             templateVars.put("showcase-name", config.showcaseName);
@@ -354,7 +354,7 @@ public class ValueTypeGenTemplate {
 
     private void generateFromTemplate(
             final Map<String, String> templateVars, final File template, final File genTarget) {
-        val templateLines = TextUtils.readLinesFromFile(template, StandardCharsets.UTF_8);
+        var templateLines = TextUtils.readLinesFromFile(template, StandardCharsets.UTF_8);
 
         FileUtils.makeDir(genTarget.getParentFile());
 
@@ -364,7 +364,7 @@ public class ValueTypeGenTemplate {
     }
 
     private String templateProcessor(final Map<String, String> templateVars, final String line) {
-        val lineRef = _Refs.stringRef(line);
+        var lineRef = _Refs.stringRef(line);
         templateVars.forEach((key, value)->{
             lineRef.update(s->s.replace(key, value));
         });
diff --git a/codegen/src/test/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplateTest.java b/codegen/src/test/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplateTest.java
index 334ba1f..ed07b7a 100644
--- a/codegen/src/test/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplateTest.java
+++ b/codegen/src/test/java/demoapp/codegen/demoshowcases/value/ValueTypeGenTemplateTest.java
@@ -26,6 +26,7 @@ import java.util.Collection;
 import java.util.Comparator;
 import java.util.Objects;
 
+import org.jspecify.annotations.NonNull;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.EnumSource;
@@ -39,14 +40,10 @@ import org.apache.causeway.commons.internal.functions._Predicates;
 import org.apache.causeway.commons.io.FileUtils;
 import org.apache.causeway.commons.io.TextUtils;
 
-import org.jspecify.annotations.NonNull;
 import lombok.SneakyThrows;
-
+import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
-import demoapp.codegen.demoshowcases.value.ValueShowCase;
-import demoapp.codegen.demoshowcases.value.ValueTypeGenTemplate;
-
 @SuppressWarnings("unused")
 @Log4j2
 class ValueTypeGenTemplateTest {
@@ -69,19 +66,19 @@ class ValueTypeGenTemplateTest {
         // hack for Dan's PC; write out to a different git worktree
         frameWorkRoot = new File(frameWorkRoot.getParentFile(), "demo");
 
-        val demoDomainRoot = new File(frameWorkRoot, "examples/demo/domain/src/main/java");
-        val demoDomainShowCase = new File(demoDomainRoot, config.getJavaPackage().replace('.', '/'));
+        var demoDomainRoot = new File(frameWorkRoot, "examples/demo/domain/src/main/java");
+        var demoDomainShowCase = new File(demoDomainRoot, config.getJavaPackage().replace('.', '/'));
 
         // list reference source files
-        val refShowcaseFiles = FileUtils.searchFiles(demoDomainShowCase, _Predicates.alwaysTrue(), file->
+        var refShowcaseFiles = FileUtils.searchFiles(demoDomainShowCase, _Predicates.alwaysTrue(), file->
                   file.getName().endsWith(".java")
                   || file.getName().endsWith(".xml")
                   || file.getName().endsWith(".adoc")
               );
 
-        val generator = new ValueTypeGenTemplate(config);
+        var generator = new ValueTypeGenTemplate(config);
 
-        val generatedFiles = _Sets.<File>newLinkedHashSet();
+        var generatedFiles = _Sets.<File>newLinkedHashSet();
         generator.generate(generatedFiles::add);
 
         // override origin
@@ -93,15 +90,11 @@ class ValueTypeGenTemplateTest {
 
     }
 
-    static boolean PERSIST = true;
     static File outputRootDir;
 
     @BeforeAll
     static void setup() {
-        outputRootDir = PERSIST
-                ? FileUtils.makeDir(new File("C:/tmp/valueTypes"))
-                : FileUtils.tempDir("causeway-tooling-showcases");
-
+        outputRootDir = FileUtils.tempDir("causeway-tooling-showcases");
         log.info("tmp dir created in {}", outputRootDir);
     }
 
@@ -179,9 +172,8 @@ class ValueTypeGenTemplateTest {
         int lineIndex = 0;
         for(val lineA : linesA) {
             val lineB = linesB.get(lineIndex++).orElse(null);
-            if(!lineA.equals(lineB)) {
+            if(!lineA.equals(lineB))
                 return String.format("%s <-> %s", lineA, lineB);
-            }
         }
         return "";
     }