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 "";
}