CAY-2758 refactoring for extended TemplateType
diff --git a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
index f9d316f..c878337 100644
--- a/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
+++ b/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
@@ -28,6 +28,7 @@
import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.gen.ClassGenerationAction;
import org.apache.cayenne.gen.ClassGenerationActionFactory;
+import org.apache.cayenne.gen.TemplateType;
import org.apache.cayenne.map.DataMap;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.Path;
@@ -198,13 +199,13 @@
cgenConfiguration.setExternalToolConfig(externaltoolconfig != null ? externaltoolconfig : cgenConfiguration.getExternalToolConfig());
if(!cgenConfiguration.isMakePairs()) {
if(template == null) {
- cgenConfiguration.setTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot());
}
if(embeddabletemplate == null) {
- cgenConfiguration.setEmbeddableTemplate(ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setEmbeddableTemplate(TemplateType.EMBEDDABLE_SINGLE_CLASS.pathFromSourceRoot());
}
if(datamaptemplate == null) {
- cgenConfiguration.setDataMapTemplate(ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setDataMapTemplate(TemplateType.DATAMAP_SINGLE_CLASS.pathFromSourceRoot());
}
}
return cgenConfiguration;
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
index af40627..7f86a0c 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/CgenConfiguration.java
@@ -107,13 +107,13 @@
this.excludeEmbeddableArtifacts = new ArrayList<>();
this.artifactsGenerationMode = ArtifactsGenerationMode.ENTITY;
- this.template = ClassGenerationAction.SUBCLASS_TEMPLATE;
- this.superTemplate = ClassGenerationAction.SUPERCLASS_TEMPLATE;
- this.dataMapTemplate = ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE;
- this.dataMapSuperTemplate = ClassGenerationAction.DATAMAP_SUPERCLASS_TEMPLATE;
+ this.template = TemplateType.ENTITY_SUBCLASS.pathFromSourceRoot();
+ this.superTemplate = TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot();
+ this.dataMapTemplate = TemplateType.DATAMAP_SUBCLASS.pathFromSourceRoot();
+ this.dataMapSuperTemplate = TemplateType.DATAMAP_SUPERCLASS.pathFromSourceRoot();
- this.embeddableTemplate = ClassGenerationAction.EMBEDDABLE_SUBCLASS_TEMPLATE;
- this.embeddableSuperTemplate = ClassGenerationAction.EMBEDDABLE_SUPERCLASS_TEMPLATE;
+ this.embeddableTemplate = TemplateType.EMBEDDABLE_SUBCLASS.pathFromSourceRoot();
+ this.embeddableSuperTemplate = TemplateType.EMBEDDABLE_SUPERCLASS.pathFromSourceRoot();
}
public void resetCollections() {
@@ -440,8 +440,8 @@
&& !createPKProperties
&& !createPropertyNames
&& "*.java".equals(outputPattern)
- && template.equals(ClassGenerationAction.SUBCLASS_TEMPLATE)
- && superTemplate.equals(ClassGenerationAction.SUPERCLASS_TEMPLATE)
+ && template.equals(TemplateType.ENTITY_SUBCLASS.pathFromSourceRoot())
+ && superTemplate.equals(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot())
&& (superPkg == null || superPkg.isEmpty())
&& (externalToolConfig == null || externalToolConfig.isEmpty());
}
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 7520304..8a5ca11 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -48,18 +48,6 @@
public class ClassGenerationAction {
- public static final String SINGLE_CLASS_TEMPLATE = TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot();
- public static final String SUBCLASS_TEMPLATE = TemplateType.ENTITY_SUBCLASS.pathFromSourceRoot();
- public static final String SUPERCLASS_TEMPLATE = TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot();
-
- public static final String EMBEDDABLE_SINGLE_CLASS_TEMPLATE = TemplateType.EMBEDDABLE_SINGLE_CLASS.pathFromSourceRoot();
- public static final String EMBEDDABLE_SUBCLASS_TEMPLATE = TemplateType.EMBEDDABLE_SUBCLASS.pathFromSourceRoot();
- public static final String EMBEDDABLE_SUPERCLASS_TEMPLATE = TemplateType.EMBEDDABLE_SUPERCLASS.pathFromSourceRoot();
-
- public static final String DATAMAP_SINGLE_CLASS_TEMPLATE = TemplateType.DATAMAP_SINGLE_CLASS.pathFromSourceRoot();
- public static final String DATAMAP_SUBCLASS_TEMPLATE = TemplateType.DATAMAP_SUBCLASS.pathFromSourceRoot();
- public static final String DATAMAP_SUPERCLASS_TEMPLATE = TemplateType.DATAMAP_SUPERCLASS.pathFromSourceRoot();
-
public static final String SUPERCLASS_PREFIX = "_";
private static final String WILDCARD = "*";
@@ -104,30 +92,6 @@
this.templateCache = new HashMap<>(5);
}
- public String defaultTemplateName(TemplateType type) {
- switch (type) {
- case ENTITY_SINGLE_CLASS:
- return SINGLE_CLASS_TEMPLATE;
- case ENTITY_SUBCLASS:
- return SUBCLASS_TEMPLATE;
- case ENTITY_SUPERCLASS:
- return SUPERCLASS_TEMPLATE;
- case EMBEDDABLE_SUBCLASS:
- return EMBEDDABLE_SUBCLASS_TEMPLATE;
- case EMBEDDABLE_SUPERCLASS:
- return EMBEDDABLE_SUPERCLASS_TEMPLATE;
- case EMBEDDABLE_SINGLE_CLASS:
- return EMBEDDABLE_SINGLE_CLASS_TEMPLATE;
- case DATAMAP_SINGLE_CLASS:
- return DATAMAP_SINGLE_CLASS_TEMPLATE;
- case DATAMAP_SUPERCLASS:
- return DATAMAP_SUPERCLASS_TEMPLATE;
- case DATAMAP_SUBCLASS:
- return DATAMAP_SUBCLASS_TEMPLATE;
- default:
- throw new IllegalArgumentException("Invalid template type: " + type);
- }
- }
public String customTemplateName(TemplateType type) {
switch (type) {
@@ -295,7 +259,7 @@
String templateName = customTemplateName(type);
if (templateName == null) {
- templateName = defaultTemplateName(type);
+ templateName = type.pathFromSourceRoot();
}
// Velocity < 1.5 has some memory problems, so we will create a VelocityEngine every time,
diff --git a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SingleClassGenerationTest.java b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SingleClassGenerationTest.java
index 8bb66df..2fe7a2b 100644
--- a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SingleClassGenerationTest.java
+++ b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SingleClassGenerationTest.java
@@ -47,7 +47,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot(), context);
assertFalse(res.contains("org.apache.cayenne.exp.property.NumericProperty"));
assertFalse(res.contains("org.apache.cayenne.exp.property.ListProperty"));
}
@@ -68,7 +68,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot(), context);
assertTrue(res.contains("org.apache.cayenne.exp.property.NumericProperty"));
assertFalse(res.contains("org.apache.cayenne.exp.property.ListProperty"));
}
@@ -88,7 +88,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot(), context);
assertFalse(res.contains("org.apache.cayenne.exp.property.NumericProperty"));
assertTrue(res.contains("org.apache.cayenne.exp.property.EntityProperty"));
}
@@ -113,7 +113,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot(), context);
assertTrue(res.contains("org.apache.cayenne.exp.property.NumericProperty"));
assertTrue(res.contains("org.apache.cayenne.exp.property.EntityProperty"));
}
diff --git a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SuperClassGenerationTest.java b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SuperClassGenerationTest.java
index 295ec3a..94999da 100644
--- a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SuperClassGenerationTest.java
+++ b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/SuperClassGenerationTest.java
@@ -50,7 +50,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot(), context);
assertFalse(res.contains(NumericProperty.class.getName()));
assertFalse(res.contains(ListProperty.class.getName()));
}
@@ -71,7 +71,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot(), context);
assertTrue(res.contains(NumericProperty.class.getName()));
assertFalse(res.contains(ListProperty.class.getName()));
}
@@ -91,7 +91,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot(), context);
assertFalse(res.contains(NumericProperty.class.getName()));
assertTrue(res.contains(EntityProperty.class.getName()));
}
@@ -117,7 +117,7 @@
getInjector().getInstance(ToolsUtilsFactory.class)
.createPropertyUtils(logger, importUtils));
- String res = renderTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE, context);
+ String res = renderTemplate(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot(), context);
assertTrue(res.contains(NumericProperty.class.getName()));
assertTrue(res.contains(EntityProperty.class.getName()));
}
diff --git a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
index 43de453..58dba0f 100644
--- a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
+++ b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
@@ -28,6 +28,7 @@
import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.gen.ClassGenerationAction;
import org.apache.cayenne.gen.ClassGenerationActionFactory;
+import org.apache.cayenne.gen.TemplateType;
import org.apache.cayenne.map.DataMap;
import org.gradle.api.Action;
import org.gradle.api.GradleException;
@@ -359,13 +360,13 @@
cgenConfiguration.setExternalToolConfig(externalToolConfig != null ? externalToolConfig : cgenConfiguration.getExternalToolConfig());
if(!cgenConfiguration.isMakePairs()) {
if(template == null) {
- cgenConfiguration.setTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot());
}
if(embeddableTemplate == null) {
- cgenConfiguration.setEmbeddableTemplate(ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setEmbeddableTemplate(TemplateType.EMBEDDABLE_SINGLE_CLASS.pathFromSourceRoot());
}
if(dataMapTemplate == null) {
- cgenConfiguration.setDataMapTemplate(ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setDataMapTemplate(TemplateType.DATAMAP_SINGLE_CLASS.pathFromSourceRoot());
}
}
return cgenConfiguration;
diff --git a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
index 68283df..c434f10 100644
--- a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
+++ b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
@@ -29,6 +29,7 @@
import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.gen.ClassGenerationAction;
import org.apache.cayenne.gen.ClassGenerationActionFactory;
+import org.apache.cayenne.gen.TemplateType;
import org.apache.cayenne.map.DataMap;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -368,13 +369,13 @@
cgenConfiguration.setExternalToolConfig(externalToolConfig != null ? externalToolConfig : cgenConfiguration.getExternalToolConfig());
if(!cgenConfiguration.isMakePairs()) {
if(template == null) {
- cgenConfiguration.setTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot());
}
if(embeddableTemplate == null) {
- cgenConfiguration.setEmbeddableTemplate(ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setEmbeddableTemplate(TemplateType.EMBEDDABLE_SINGLE_CLASS.pathFromSourceRoot());
}
if(dataMapTemplate == null) {
- cgenConfiguration.setDataMapTemplate(ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setDataMapTemplate(TemplateType.DATAMAP_SINGLE_CLASS.pathFromSourceRoot());
}
}
return cgenConfiguration;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
index 8a14842..a370162 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/cgen/TemplateDialog.java
@@ -20,6 +20,7 @@
import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.gen.ClassGenerationAction;
+import org.apache.cayenne.gen.TemplateType;
import org.apache.cayenne.modeler.editor.cgen.StandardModeController;
import org.apache.cayenne.modeler.util.CayenneController;
@@ -72,10 +73,10 @@
private void initListeners() {
view.getUseDefault().addActionListener(action -> {
if(template != null) {
- cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SUBCLASS.pathFromSourceRoot());
}
if(superTemplate != null) {
- cgenConfiguration.setSuperTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE);
+ cgenConfiguration.setSuperTemplate(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot());
}
view.dispose();
});
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
index 797be9d..7c3c897 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
@@ -60,13 +60,13 @@
this.view.getPairs().addActionListener(val -> {
cgenConfiguration.setMakePairs(view.getPairs().isSelected());
if (!view.getPairs().isSelected()) {
- cgenConfiguration.setTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
- cgenConfiguration.setEmbeddableTemplate(ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
- cgenConfiguration.setDataMapTemplate(ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SINGLE_CLASS.pathFromSourceRoot());
+ cgenConfiguration.setEmbeddableTemplate(TemplateType.EMBEDDABLE_SINGLE_CLASS.pathFromSourceRoot());
+ cgenConfiguration.setDataMapTemplate(TemplateType.DATAMAP_SINGLE_CLASS.pathFromSourceRoot());
} else {
- cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
- cgenConfiguration.setEmbeddableTemplate(ClassGenerationAction.EMBEDDABLE_SUBCLASS_TEMPLATE);
- cgenConfiguration.setDataMapTemplate(ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SUBCLASS.pathFromSourceRoot());
+ cgenConfiguration.setEmbeddableTemplate(TemplateType.EMBEDDABLE_SUBCLASS.pathFromSourceRoot());
+ cgenConfiguration.setDataMapTemplate(TemplateType.DATAMAP_SUBCLASS.pathFromSourceRoot());
}
initForm(cgenConfiguration);
getParentController().checkCgenConfigDirty();
@@ -105,8 +105,8 @@
@Override
public void updateConfiguration(CgenConfiguration cgenConfiguration) {
- cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
- cgenConfiguration.setSuperTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE);
+ cgenConfiguration.setTemplate(TemplateType.ENTITY_SUBCLASS.pathFromSourceRoot());
+ cgenConfiguration.setSuperTemplate(TemplateType.ENTITY_SUPERCLASS.pathFromSourceRoot());
}