You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by sk...@apache.org on 2015/03/16 14:53:58 UTC
cayenne git commit: CAY-1991 | More control over generated String
property names
Repository: cayenne
Updated Branches:
refs/heads/master 4ff768966 -> 5bbbd9217
CAY-1991 | More control over generated String property names
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5bbbd921
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5bbbd921
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5bbbd921
Branch: refs/heads/master
Commit: 5bbbd9217ecf51d277906469d68e4974f0d8b3ab
Parents: 4ff7689
Author: Savva Kolbachev <s....@gmail.com>
Authored: Mon Mar 16 16:52:45 2015 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Mon Mar 16 16:52:45 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/cayenne/gen/Artifact.java | 1 +
.../cayenne/gen/ClassGenerationAction.java | 32 +++++++++++++-------
.../cayenne/tools/CayenneGeneratorTask.java | 14 +++++++--
.../templates/v1_2/client-superclass.vm | 4 +--
.../templates/v1_2/embeddable-singleclass.vm | 3 +-
.../templates/v1_2/embeddable-superclass.vm | 3 +-
.../resources/templates/v1_2/singleclass.vm | 4 +--
.../main/resources/templates/v1_2/superclass.vm | 4 +--
docs/doc/src/main/resources/RELEASE-NOTES.txt | 4 +++
.../src/docbkx/including-cayenne-in-project.xml | 6 ++++
.../dialog/codegen/CustomModeController.java | 6 ++++
.../modeler/dialog/codegen/CustomModePanel.java | 10 +++++-
.../codegen/CustomPreferencesUpdater.java | 17 ++++++++++-
.../cayenne/tools/CayenneGeneratorMojo.java | 9 ++++++
14 files changed, 93 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/java/org/apache/cayenne/gen/Artifact.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/gen/Artifact.java b/cayenne-tools/src/main/java/org/apache/cayenne/gen/Artifact.java
index b73e3c8..fcd9118 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/gen/Artifact.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/gen/Artifact.java
@@ -41,6 +41,7 @@ public interface Artifact {
public static String SUB_PACKAGE_KEY = "subPackageName";
public static String BASE_CLASS_KEY = "baseClassName";
public static String BASE_PACKAGE_KEY = "basePackageName";
+ public static String CREATE_PROPERTY_NAMES = "createPropertyNames";
TemplateType[] getTemplateTypes(ArtifactGenerationMode mode);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 0d97aa9..ce0c1c9 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -18,22 +18,12 @@
****************************************************************/
package org.apache.cayenne.gen;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.loader.NamePatternMatcher;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.Embeddable;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.query.Query;
-import org.apache.cayenne.access.loader.NamePatternMatcher;
import org.apache.commons.logging.Log;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -41,6 +31,16 @@ import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.log.NullLogSystem;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
public class ClassGenerationAction {
static final String TEMPLATES_DIR_NAME = "templates/v1_2/";
@@ -81,6 +81,7 @@ public class ClassGenerationAction {
protected long timestamp;
protected String outputPattern;
protected String encoding;
+ protected boolean createPropertyNames;
// runtime ivars
protected VelocityContext context;
@@ -186,6 +187,8 @@ public class ClassGenerationAction {
context.put(Artifact.OBJECT_KEY, artifact.getObject());
context.put(Artifact.STRING_UTILS_KEY, stringUtils);
+
+ context.put(Artifact.CREATE_PROPERTY_NAMES, createPropertyNames);
}
/**
@@ -354,6 +357,13 @@ public class ClassGenerationAction {
}
/**
+ * Sets <code>createPropertyNames</code> property.
+ */
+ public void setCreatePropertyNames(boolean createPropertyNames) {
+ this.createPropertyNames = createPropertyNames;
+ }
+
+ /**
* Opens a Writer to write generated output. Returned Writer is mapped to a filesystem
* file (although subclasses may override that). File location is determined from the
* current state of VelocityContext and the TemplateType passed as a parameter. Writer
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
index 26ae00d..11a0370 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
@@ -18,8 +18,7 @@
****************************************************************/
package org.apache.cayenne.tools;
-import java.io.File;
-
+import foundrylogic.vpp.VPPConfig;
import org.apache.cayenne.access.loader.NamePatternMatcher;
import org.apache.cayenne.gen.ArtifactsGenerationMode;
import org.apache.cayenne.gen.ClassGenerationAction;
@@ -29,7 +28,7 @@ import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.Path;
import org.apache.velocity.VelocityContext;
-import foundrylogic.vpp.VPPConfig;
+import java.io.File;
/**
* An Ant task to perform class generation based on CayenneDataMap.
@@ -59,6 +58,7 @@ public class CayenneGeneratorTask extends CayenneTask {
protected String querytemplate;
protected String querysupertemplate;
protected boolean usepkgpath;
+ protected boolean createpropertynames;
public CayenneGeneratorTask() {
this.makepairs = true;
@@ -90,6 +90,7 @@ public class CayenneGeneratorTask extends CayenneTask {
action.setQueryTemplate(querytemplate);
action.setQuerySuperTemplate(querysupertemplate);
action.setUsePkgPath(usepkgpath);
+ action.setCreatePropertyNames(createpropertynames);
return action;
}
@@ -268,6 +269,13 @@ public class CayenneGeneratorTask extends CayenneTask {
this.mode = mode;
}
+ /**
+ * Sets <code>createpropertynames</code> property.
+ */
+ public void setCreatepropertynames(boolean createpropertynames) {
+ this.createpropertynames = createpropertynames;
+ }
+
public void setEmbeddabletemplate(String embeddabletemplate) {
this.embeddabletemplate = embeddabletemplate;
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/resources/templates/v1_2/client-superclass.vm
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/resources/templates/v1_2/client-superclass.vm b/cayenne-tools/src/main/resources/templates/v1_2/client-superclass.vm
index 2077924..da0b527 100644
--- a/cayenne-tools/src/main/resources/templates/v1_2/client-superclass.vm
+++ b/cayenne-tools/src/main/resources/templates/v1_2/client-superclass.vm
@@ -63,15 +63,15 @@ ${importUtils.generate()}
public abstract class ${superClassName} extends ${baseClassName} {
## Create ivars names
+#if( $createPropertyNames )
#foreach( $attr in ${object.DeclaredAttributes} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($attr.Name)}_PROPERTY = "${attr.Name}";
#end
#foreach( $rel in ${object.DeclaredRelationships} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($rel.Name)}_PROPERTY = "${rel.Name}";
#end
+#end
## Create Properties
#foreach( $attr in ${object.DeclaredAttributes} )
public static final Property<$importUtils.formatJavaType(${attr.Type}, false)> ${stringUtils.capitalizedAsConstant($attr.Name)} = new Property<$importUtils.formatJavaType(${attr.Type}, false)>("${attr.Name}");
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/resources/templates/v1_2/embeddable-singleclass.vm
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/resources/templates/v1_2/embeddable-singleclass.vm b/cayenne-tools/src/main/resources/templates/v1_2/embeddable-singleclass.vm
index 2442a4a..c5d6c89 100644
--- a/cayenne-tools/src/main/resources/templates/v1_2/embeddable-singleclass.vm
+++ b/cayenne-tools/src/main/resources/templates/v1_2/embeddable-singleclass.vm
@@ -47,11 +47,12 @@ ${importUtils.generate()}
public abstract class ${subClassName} extends ${baseClassName} {
## Create property names
+#if( $createPropertyNames )
#foreach( $attr in ${object.Attributes} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($attr.Name)}_PROPERTY = "${attr.Name}";
#end
+#end
## Create Properties
#foreach( $attr in ${object.Attributes} )
public static final Property<$importUtils.formatJavaType(${attr.Type}, false)> ${stringUtils.capitalizedAsConstant($attr.Name)} = new Property<$importUtils.formatJavaType(${attr.Type}, false)>("${attr.Name}");
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/resources/templates/v1_2/embeddable-superclass.vm
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/resources/templates/v1_2/embeddable-superclass.vm b/cayenne-tools/src/main/resources/templates/v1_2/embeddable-superclass.vm
index cea415f..be1b829 100644
--- a/cayenne-tools/src/main/resources/templates/v1_2/embeddable-superclass.vm
+++ b/cayenne-tools/src/main/resources/templates/v1_2/embeddable-superclass.vm
@@ -53,11 +53,12 @@ ${importUtils.generate()}
public abstract class ${superClassName} extends ${baseClassName} {
## Create property names
+#if( $createPropertyNames )
#foreach( $attr in ${object.Attributes} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($attr.Name)}_PROPERTY = "${attr.Name}";
#end
+#end
## Create Properties
#foreach( $attr in ${object.Attributes} )
public static final Property<$importUtils.formatJavaType(${attr.Type}, false)> ${stringUtils.capitalizedAsConstant($attr.Name)} = new Property<$importUtils.formatJavaType(${attr.Type}, false)>("${attr.Name}");
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/resources/templates/v1_2/singleclass.vm
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/resources/templates/v1_2/singleclass.vm b/cayenne-tools/src/main/resources/templates/v1_2/singleclass.vm
index 4dc46cf..01206d3 100644
--- a/cayenne-tools/src/main/resources/templates/v1_2/singleclass.vm
+++ b/cayenne-tools/src/main/resources/templates/v1_2/singleclass.vm
@@ -53,15 +53,15 @@ public#if("true" == "${object.getIsAbstract()}") abstract#end class ${subClassNa
private static final long serialVersionUID = 1L;
## Create property names
+#if( $createPropertyNames )
#foreach( $attr in ${object.DeclaredAttributes} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($attr.Name)}_PROPERTY = "${attr.Name}";
#end
#foreach( $rel in ${object.DeclaredRelationships} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($rel.Name)}_PROPERTY = "${rel.Name}";
#end
+#end
#if( $object.DbEntity )
#foreach( $idAttr in ${object.DbEntity.PrimaryKeys} )
public static final String ${stringUtils.capitalizedAsConstant($idAttr.Name)}_PK_COLUMN = "${idAttr.Name}";
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/cayenne-tools/src/main/resources/templates/v1_2/superclass.vm
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/resources/templates/v1_2/superclass.vm b/cayenne-tools/src/main/resources/templates/v1_2/superclass.vm
index 8253be6..013e8db 100644
--- a/cayenne-tools/src/main/resources/templates/v1_2/superclass.vm
+++ b/cayenne-tools/src/main/resources/templates/v1_2/superclass.vm
@@ -58,15 +58,15 @@ public abstract class ${superClassName} extends ${baseClassName} {
private static final long serialVersionUID = 1L;
## Create property names
+#if( $createPropertyNames )
#foreach( $attr in ${object.DeclaredAttributes} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($attr.Name)}_PROPERTY = "${attr.Name}";
#end
#foreach( $rel in ${object.DeclaredRelationships} )
- @Deprecated
public static final String ${stringUtils.capitalizedAsConstant($rel.Name)}_PROPERTY = "${rel.Name}";
#end
+#end
#if( $object.DbEntity )
#foreach( $idAttr in ${object.DbEntity.PrimaryKeys} )
public static final String ${stringUtils.capitalizedAsConstant($idAttr.Name)}_PK_COLUMN = "${idAttr.Name}";
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 6296a67..6fbefd9 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -12,6 +12,10 @@ Changes/New Features:
Release: 4.0.M3
Date:
----------------------------------
+Changes/New Features:
+
+CAY-1991 More control over generated String property names
+
Bug Fixes:
CAY-1990 Incorrect display of the raw SQL query in Modeler
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml b/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml
index 561a44f..7b1358d 100644
--- a/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml
+++ b/docs/docbook/cayenne-guide/src/docbkx/including-cayenne-in-project.xml
@@ -223,6 +223,12 @@
"false", classes will be generated in "destDir" ignoring their
package.</td>
</tr>
+ <tr>
+ <td><code>createPropertyNames</code></td>
+ <td>boolean</td>
+ <td>If set to "true", will generate String Property names.
+ Default is "false"</td>
+ </tr>
</tbody>
</table> Example - a typical class generation scenario, where pairs of classes are
generated with default Maven source destination and superclass
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
index 73a649f..3de74ae 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
@@ -156,6 +156,11 @@ public class CustomModeController extends GeneratorController {
"customPreferencesUpdater.outputPattern").
updateView();
+ builder.bindToStateChange(
+ view.getCreatePropertyNames(),
+ "customPreferencesUpdater.createPropertyNames").
+ updateView();
+
updateTemplates();
}
@@ -255,6 +260,7 @@ public class CustomModeController extends GeneratorController {
generator.setOverwrite(view.getOverwrite().isSelected());
generator.setUsePkgPath(view.getUsePackagePath().isSelected());
generator.setMakePairs(view.getPairs().isSelected());
+ generator.setCreatePropertyNames(view.getCreatePropertyNames().isSelected());
if (!Util.isEmptyString(view.getOutputPattern().getText())) {
generator.setOutputPattern(view.getOutputPattern().getText());
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
index f94458e..8998e09 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
@@ -41,6 +41,7 @@ public class CustomModePanel extends GeneratorControllerPanel {
protected JCheckBox overwrite;
protected JCheckBox usePackagePath;
protected JTextField outputPattern;
+ protected JCheckBox createPropertyNames;
private DefaultFormBuilder builder;
@@ -55,6 +56,7 @@ public class CustomModePanel extends GeneratorControllerPanel {
this.overwrite = new JCheckBox();
this.usePackagePath = new JCheckBox();
this.outputPattern = new JTextField();
+ this.createPropertyNames = new JCheckBox();
this.manageTemplatesLink = new ActionLink("Customize Templates...");
manageTemplatesLink.setFont(manageTemplatesLink.getFont().deriveFont(10f));
@@ -90,10 +92,13 @@ public class CustomModePanel extends GeneratorControllerPanel {
builder.append("Make Pairs:", pairs);
builder.nextLine();
+ builder.append("Use Package Path:", usePackagePath);
+ builder.nextLine();
+
builder.append("Overwrite Subclasses:", overwrite);
builder.nextLine();
- builder.append("Use Package Path:", usePackagePath);
+ builder.append("Create Property Names:", createPropertyNames);
builder.nextLine();
setLayout(new BorderLayout());
@@ -144,4 +149,7 @@ public class CustomModePanel extends GeneratorControllerPanel {
return outputPattern;
}
+ public JCheckBox getCreatePropertyNames() {
+ return createPropertyNames;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
index 043770c..6764a97 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
@@ -35,7 +35,8 @@ public class CustomPreferencesUpdater {
PAIRS,
USE_PACKAGE_PATH,
MODE,
- OUTPUT_PATTERN
+ OUTPUT_PATTERN,
+ CREATE_PROPERTY_NAMES
}
private static final String OVERWRITE = "overwrite";
@@ -43,6 +44,7 @@ public class CustomPreferencesUpdater {
private static final String USE_PACKAGE_PATH = "usePackagePath";
private static final String MODE = "mode";
private static final String OUTPUT_PATTERN = "outputPattern";
+ private static final String CREATE_PROPERTY_NAMES = "createPropertyNames";
private Map<DataMap, DataMapDefaults> mapPreferences;
@@ -107,6 +109,13 @@ public class CustomPreferencesUpdater {
updatePreferences(Property.OUTPUT_PATTERN, outputPattern);
}
+ public Boolean getCreatePropertyNames() {
+ return (Boolean) getProperty(Property.CREATE_PROPERTY_NAMES);
+ }
+
+ public void setCreatePropertyNames(Boolean createPropertyNames) {
+ updatePreferences(Property.CREATE_PROPERTY_NAMES, createPropertyNames);
+ }
private Object getProperty(Property property) {
Object obj = null;
@@ -136,6 +145,9 @@ public class CustomPreferencesUpdater {
case USE_PACKAGE_PATH:
obj = entry.getValue().getBooleanProperty(USE_PACKAGE_PATH);
break;
+ case CREATE_PROPERTY_NAMES:
+ obj = entry.getValue().getBooleanProperty(CREATE_PROPERTY_NAMES);
+ break;
default:
throw new IllegalArgumentException("Bad type property: " + property);
}
@@ -170,6 +182,9 @@ public class CustomPreferencesUpdater {
case USE_PACKAGE_PATH:
entry.getValue().setBooleanProperty(USE_PACKAGE_PATH, (Boolean) value);
break;
+ case CREATE_PROPERTY_NAMES:
+ entry.getValue().setBooleanProperty(CREATE_PROPERTY_NAMES, (Boolean) value);
+ break;
default:
throw new IllegalArgumentException("Bad type property: " + property);
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5bbbd921/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
index 658762e..8e683c1 100644
--- a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
+++ b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
@@ -191,6 +191,14 @@ public class CayenneGeneratorMojo extends AbstractMojo {
*/
private boolean usePkgPath;
+ /**
+ * If set to <code>true</code>, will generate String Property names.
+ * Default is <code>false</code>.
+ *
+ * @parameter createPropertyNames="createPropertyNames" default-value="false"
+ */
+ private boolean createPropertyNames;
+
public void execute() throws MojoExecutionException, MojoFailureException {
// Create the destination directory if necessary.
// TODO: (KJM 11/2/06) The destDir really should be added as a
@@ -278,6 +286,7 @@ public class CayenneGeneratorMojo extends AbstractMojo {
action.setEmbeddableSuperTemplate(embeddableSuperTemplate);
action.setEmbeddableTemplate(embeddableTemplate);
action.setUsePkgPath(usePkgPath);
+ action.setCreatePropertyNames(createPropertyNames);
return action;
}