This is an automated email from the ASF dual-hosted git repository. ntimofeev pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push: new ea686b8ba CAY-2758 refactoring for extended TemplateType new 9a3cd2f46 Merge pull request #520 from Ivan-nikitko/CAY-2758_refactoring_for_a_extended_TemplateType ea686b8ba is described below commit ea686b8bac351e48b26b01f715745580f8350823 Author: Ivan-nikitko <70625960+ivan-niki...@users.noreply.github.com> AuthorDate: Wed Sep 7 15:12:35 2022 +0200 CAY-2758 refactoring for extended TemplateType --- .../apache/cayenne/tools/CayenneGeneratorTask.java | 7 ++-- .../org/apache/cayenne/gen/CgenConfiguration.java | 16 ++++----- .../apache/cayenne/gen/ClassGenerationAction.java | 38 +--------------------- .../cayenne/gen/SingleClassGenerationTest.java | 8 ++--- .../cayenne/gen/SuperClassGenerationTest.java | 8 ++--- .../java/org/apache/cayenne/tools/CgenTask.java | 7 ++-- .../apache/cayenne/tools/CayenneGeneratorMojo.java | 7 ++-- .../modeler/dialog/cgen/TemplateDialog.java | 5 +-- .../editor/cgen/StandardModeController.java | 16 ++++----- 9 files changed, 40 insertions(+), 72 deletions(-) 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 f9d316f18..c8783374a 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.ArtifactsGenerationMode; 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 @@ public class CayenneGeneratorTask extends CayenneTask { 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 af4062701..7f86a0c9b 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 @@ public class CgenConfiguration implements Serializable, XMLSerializable { 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 @@ public class CgenConfiguration implements Serializable, XMLSerializable { && !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 752030495..8a5ca11b6 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 @@ import org.slf4j.Logger; 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 @@ public class ClassGenerationAction { 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 @@ public class ClassGenerationAction { 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 8bb66df2e..2fe7a2b13 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 @@ public class SingleClassGenerationTest extends ClassGenerationCase { 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 @@ public class SingleClassGenerationTest extends ClassGenerationCase { 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 @@ public class SingleClassGenerationTest extends ClassGenerationCase { 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 @@ public class SingleClassGenerationTest extends ClassGenerationCase { 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 295ec3ab7..94999da92 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 @@ public class SuperClassGenerationTest extends ClassGenerationCase { 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 @@ public class SuperClassGenerationTest extends ClassGenerationCase { 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 @@ public class SuperClassGenerationTest extends ClassGenerationCase { 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 @@ public class SuperClassGenerationTest extends ClassGenerationCase { 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 43de45327..58dba0f80 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.ArtifactsGenerationMode; 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 @@ public class CgenTask extends BaseCayenneTask { 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 68283dfd9..c434f10dc 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.ArtifactsGenerationMode; 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 @@ public class CayenneGeneratorMojo extends AbstractMojo { 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 8a1484284..a3701627b 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 @@ package org.apache.cayenne.modeler.dialog.cgen; 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 @@ public class TemplateDialog extends CayenneController { 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 797be9d6d..7c3c89716 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 @@ public class StandardModeController extends GeneratorController { 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 @@ public class StandardModeController extends GeneratorController { @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()); }