CAY-2478 cgen: Generate properties for PK support in ant, maven and gradle
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0420a2a5 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0420a2a5 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0420a2a5 Branch: refs/heads/master Commit: 0420a2a592b4b29069a13884e251115c1e3a86a1 Parents: 8e75733 Author: Nikita Timofeev <stari...@gmail.com> Authored: Fri Oct 19 15:10:29 2018 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Fri Oct 19 15:10:29 2018 +0300 ---------------------------------------------------------------------- .../apache/cayenne/tools/CayenneGeneratorTask.java | 15 +++++++++++++++ .../java/org/apache/cayenne/tools/CgenTask.java | 16 ++++++++++++++++ .../apache/cayenne/tools/CayenneGeneratorMojo.java | 11 ++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/0420a2a5/cayenne-ant/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java ---------------------------------------------------------------------- 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 d468cc9..3d600b1 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 @@ -64,6 +64,13 @@ public class CayenneGeneratorTask extends CayenneTask { protected boolean usepkgpath; protected boolean createpropertynames; + /** + * Create PK attributes as Properties + * + * @since 4.1 + */ + protected boolean createpkproperties; + public CayenneGeneratorTask() { this.makepairs = true; this.mode = ArtifactsGenerationMode.ENTITY.getLabel(); @@ -95,6 +102,7 @@ public class CayenneGeneratorTask extends CayenneTask { action.setQuerySuperTemplate(querysupertemplate); action.setUsePkgPath(usepkgpath); action.setCreatePropertyNames(createpropertynames); + action.setCreatePKProperties(createpkproperties); return action; } @@ -291,6 +299,13 @@ public class CayenneGeneratorTask extends CayenneTask { } /** + * @since 4.1 + */ + public void setCreatepkproperties(boolean createpkproperties) { + this.createpkproperties = createpkproperties; + } + + /** * Provides a <code>VPPConfig</code> object to configure. (Written with createConfig() * instead of addConfig() to avoid run-time dependency on VPP). */ http://git-wip-us.apache.org/repos/asf/cayenne/blob/0420a2a5/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java ---------------------------------------------------------------------- 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 fe3892b..eae85b8 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 @@ -114,6 +114,13 @@ public class CgenTask extends BaseCayenneTask { @Input private boolean force; + /** + * If set to <code>true</code>, will generate PK attributes as Properties. + * Default is <code>false</code>. + * @since 4.1 + */ + private boolean createPKProperties; + private String destDirName; @TaskAction @@ -185,6 +192,7 @@ public class CgenTask extends BaseCayenneTask { action.setEmbeddableTemplate(embeddableTemplate); action.setUsePkgPath(usePkgPath); action.setCreatePropertyNames(createPropertyNames); + action.setCreatePKProperties(createPKProperties); return action; } @@ -465,4 +473,12 @@ public class CgenTask extends BaseCayenneTask { setForce(force); } + public void setCreatePKProperties(boolean createPKProperties) { + this.createPKProperties = createPKProperties; + } + + public void createPKProperties(boolean createPKProperties) { + setCreatePKProperties(createPKProperties); + } + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cayenne/blob/0420a2a5/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java ---------------------------------------------------------------------- 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 72c39b4..10cd860 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 @@ -193,7 +193,15 @@ public class CayenneGeneratorMojo extends AbstractMojo { @Parameter(defaultValue = "false", property = "force") private boolean force; - private transient Injector injector; + /** + * If set to <code>true</code>, will generate PK attributes as Properties. + * Default is <code>false</code>. + * @since 4.1 + */ + @Parameter(defaultValue = "false") + private boolean createPKProperties; + + private transient Injector injector; public void execute() throws MojoExecutionException, MojoFailureException { // Create the destination directory if necessary. @@ -281,6 +289,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { action.setEmbeddableTemplate(embeddableTemplate); action.setUsePkgPath(usePkgPath); action.setCreatePropertyNames(createPropertyNames); + action.setCreatePKProperties(createPKProperties); return action; }