You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2006/02/22 20:40:16 UTC
svn commit: r379856 - in /incubator/tuscany/java/sdo:
plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java
tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java
Author: jsdelfino
Date: Wed Feb 22 11:40:09 2006
New Revision: 379856
URL: http://svn.apache.org/viewcvs?rev=379856&view=rev
Log:
added codegen options to the JavaGenerator and the GeneratorMojo plugin
Modified:
incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java
incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java
Modified: incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java?rev=379856&r1=379855&r2=379856&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java (original)
+++ incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java Wed Feb 22 11:40:09 2006
@@ -61,6 +61,48 @@
private String targetDirectory;
/**
+ * Specifies the prefix string to use for naming the generated factory.
+ * @parameter
+ */
+ private String prefix;
+
+ /**
+ * This option can be used to eliminate the generated interface and to generate only an implementation class.
+ * @parameter
+ */
+ private boolean noInterface;
+
+ /**
+ * Turns off container management for containment properties.
+ * @parameter
+ */
+ private boolean noContainment;
+
+ /**
+ * This option eliminates all change notification overhead in the generated classes.
+ * @parameter
+ */
+ private boolean noNotification;
+
+ /**
+ * With this option, all generated properties will not record their unset state.
+ * @parameter
+ */
+ private boolean noUnsettable;
+
+ /**
+ * Generate a fast XML parser/loader for instances of the model.
+ * @parameter
+ */
+ private boolean generateLoader;
+
+ /**
+ * Generate a Switch class for the model.
+ * @parameter
+ */
+ private boolean generateSwitch;
+
+ /**
* @parameter expression="${project.compileSourceRoots}"
* @readonly
*/
@@ -73,13 +115,33 @@
} else {
files = new File[]{schemaFile};
}
+
+ int genOptions = 0;
+ if (noInterface) {
+ genOptions |= JavaGenerator.OPTION_NO_INTERFACES;
+ }
+ if (noContainment) {
+ genOptions |= JavaGenerator.OPTION_NO_CONTAINMENT;
+ }
+ if (noNotification) {
+ genOptions |= JavaGenerator.OPTION_NO_NOTIFICATION;
+ }
+ if (generateLoader) {
+ genOptions |= JavaGenerator.OPTION_GENERATE_LOADER;
+ }
+ if (noUnsettable) {
+ genOptions |= JavaGenerator.OPTION_NO_UNSETTABLE;
+ }
+ if (generateSwitch) {
+ genOptions |= JavaGenerator.OPTION_GENERATE_SWITCH;
+ }
for (int i = 0; i < files.length; i++) {
File file = files[i];
File marker = new File(targetDirectory, ".gen#" + file.getName());
if (file.lastModified() > marker.lastModified()) {
getLog().info("Generating SDO interfaces from " + file);
- JavaGenerator.generateFromXMLSchema(file.toString(), targetDirectory, javaPackage, null, 0);
+ JavaGenerator.generateFromXMLSchema(file.toString(), targetDirectory, javaPackage, prefix, genOptions);
}
try {
marker.createNewFile();
Modified: incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java?rev=379856&r1=379855&r2=379856&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java (original)
+++ incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java Wed Feb 22 11:40:09 2006
@@ -59,6 +59,8 @@
public static int OPTION_ARRAY_ACCESSORS=0x20;
public static int OPTION_GENERATE_LOADER=0x40;
public static int OPTION_NO_UNSETTABLE=0x80;
+ //FIXME Temporary, I need this option for now to get Switch classes generated for the SCDL models
+ public static int OPTION_GENERATE_SWITCH=0x100;
/**
* Generate static SDOs from XML Schema
@@ -367,8 +369,12 @@
{
genPackage.setPrefix(prefix);
}
-
- genPackage.setAdapterFactory(false);
+
+ //FIXME Temporary, I need this option for now to get Switch classes generated for the SCDL models
+ if ((genOptions & OPTION_GENERATE_SWITCH) == 0)
+ {
+ genPackage.setAdapterFactory(false);
+ }
if ((genOptions & OPTION_GENERATE_LOADER) != 0)
{