[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