[jboss-cvs] JBossAS SVN: r104137 - in projects/jboss-jca/trunk/codegenerator/src: test/java/org/jboss/jca/codegenerator and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 22 04:44:46 EDT 2010
Author: jeff.zhang
Date: 2010-04-22 04:44:44 -0400 (Thu, 22 Apr 2010)
New Revision: 104137
Modified:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/SimpleTemplate.java
projects/jboss-jca/trunk/codegenerator/src/test/java/org/jboss/jca/codegenerator/SimpleTemplateTestCase.java
Log:
[JBJCA-310] Support for adding <config-property> elements
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java 2010-04-22 08:20:05 UTC (rev 104136)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java 2010-04-22 08:44:44 UTC (rev 104137)
@@ -24,6 +24,8 @@
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
/**
* Code generator main class
@@ -48,12 +50,32 @@
String packageName = in.readLine();
System.out.print("Please input ResourceAdapter class name: ");
String className = in.readLine();
+
Template template = new SimpleTemplate();
Definition def = new Definition();
def.setRaPackage(packageName);
def.setRaClass(className);
-
+
+ List<ConfigPropType> props = new ArrayList<ConfigPropType>();
+ while (true)
+ {
+ System.out.println("Please input config properties [enter to quit]: ");
+ System.out.print(" Name: ");
+ String name = in.readLine();
+ if (name == null || name.equals(""))
+ break;
+ System.out.print(" Type: ");
+ String type = in.readLine();
+ System.out.print(" Value: ");
+ String value = in.readLine();
+ System.out.println();
+
+ ConfigPropType config = new ConfigPropType(name, type, value);
+ props.add(config);
+ }
+ def.setRaConfigProps(props);
+
FileWriter fw = new FileWriter(className + ".java");
template.process(def, fw);
fw.close();
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/SimpleTemplate.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/SimpleTemplate.java 2010-04-22 08:20:05 UTC (rev 104136)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/SimpleTemplate.java 2010-04-22 08:44:44 UTC (rev 104137)
@@ -217,6 +217,53 @@
*/
private void writeConfigProps(Definition def, Writer out, int indent) throws IOException
{
+ if (def.getRaConfigProps() == null)
+ return;
+
+ for (int i = 0; i < def.getRaConfigProps().size(); i++)
+ {
+ writeIndent(out, indent);
+ out.write("private " +
+ def.getRaConfigProps().get(i).getType() +
+ " " +
+ def.getRaConfigProps().get(i).getName() +
+ ";");
+ writeEol(out);
+ }
+ writeEol(out);
+
+ for (int i = 0; i < def.getRaConfigProps().size(); i++)
+ {
+ String name = def.getRaConfigProps().get(i).getName();
+ String upcaseName = upcaseFisrt(name);
+ //set
+ writeIndent(out, indent);
+ out.write("public void set" +
+ upcaseName +
+ "(" +
+ def.getRaConfigProps().get(i).getType() +
+ " " +
+ name +
+ ")");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("this." + name + " = " + name + ";");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+
+ //get
+ writeIndent(out, indent);
+ out.write("public " +
+ def.getRaConfigProps().get(i).getType() +
+ " get" +
+ upcaseName +
+ "()");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("return " + name + ";");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+ }
}
/**
Modified: projects/jboss-jca/trunk/codegenerator/src/test/java/org/jboss/jca/codegenerator/SimpleTemplateTestCase.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/test/java/org/jboss/jca/codegenerator/SimpleTemplateTestCase.java 2010-04-22 08:20:05 UTC (rev 104136)
+++ projects/jboss-jca/trunk/codegenerator/src/test/java/org/jboss/jca/codegenerator/SimpleTemplateTestCase.java 2010-04-22 08:44:44 UTC (rev 104137)
@@ -62,6 +62,6 @@
StringWriter writer = new StringWriter();
template.process(def, writer);
assertTrue(writer.toString().indexOf("org.jboss.jca.test") > 0);
- //System.out.println(writer.toString());
+ System.out.println(writer.toString());
}
}
More information about the jboss-cvs-commits
mailing list