[jboss-cvs] JBossAS SVN: r105744 - in projects/jboss-jca/trunk/codegenerator/src/main: java/org/jboss/jca/codegenerator/xml and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Jun 5 01:33:35 EDT 2010


Author: jeff.zhang
Date: 2010-06-05 01:33:35 -0400 (Sat, 05 Jun 2010)
New Revision: 105744

Added:
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java
Modified:
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Definition.java
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA15Profile.java
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA16Profile.java
   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/Profile.java
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/RaXmlGen.java
   projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties
Log:
[JBJCA-347] input option, support inbound/outbound/bidirectional

Added: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java	                        (rev 0)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -0,0 +1,186 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.codegenerator;
+
+import org.jboss.jca.codegenerator.code.AbstractCodeGen;
+import org.jboss.jca.codegenerator.xml.BuildXmlGen;
+
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * A BaseProfile.
+ * 
+ * @author Jeff Zhang
+ * @version $Revision: $
+ */
+public class BaseProfile implements Profile
+{
+
+   /**
+    * BaseProfile
+    */
+   public BaseProfile()
+   {
+   }
+   
+  
+   /**
+    * generate code
+    * @param def Definition 
+    */
+   @Override
+   public void generate(Definition def)
+   {
+      generateRaCode(def);
+      generateOutboundCode(def);
+      generateInboundCode(def);
+      
+      generateAntXml(def.getOutputDir());
+      
+      if (!def.isUseAnnotation())
+         generateRaXml(def, def.getOutputDir());
+   }
+
+   /**
+    * generate resource adapter code
+    * 
+    * @param def Definition 
+    */
+   void generateRaCode(Definition def)
+   {
+      if (def.isUseRa())
+      {
+         generateClassCode(def, "Ra");
+      }
+   }
+
+   /**
+    * generate outbound code
+    * 
+    * @param def Definition 
+    */
+   void generateOutboundCode(Definition def)
+   {
+      if (def.isSupportOutbound())
+      {
+         generateClassCode(def, "Mcf");
+         generateClassCode(def, "Mc");
+         generateClassCode(def, "McMeta");
+         generateClassCode(def, "Cm");
+   
+         if (!def.isUseCciConnection())
+         {
+            generateClassCode(def, "CfInterface");
+            generateClassCode(def, "Cf");
+            generateClassCode(def, "ConnInterface");
+            generateClassCode(def, "ConnImpl");
+         }
+         else
+         {
+            generateClassCode(def, "CciConn");
+            generateClassCode(def, "CciConnFactory");
+            generateClassCode(def, "ConnMeta");
+            generateClassCode(def, "RaMeta");
+            generateClassCode(def, "ConnSpec");
+         }
+      }
+   }
+
+   /**
+    * generate inbound code
+    * 
+    * @param def Definition 
+    */
+   void generateInboundCode(Definition def)
+   {
+      if (def.isSupportInbound())
+      {
+         generateClassCode(def, "Ml");
+         generateClassCode(def, "As");
+      }
+   }
+
+   /**
+    * generate class code
+    * @param def Definition 
+    * @param className class name 
+    */
+   void generateClassCode(Definition def, String className)
+   {
+      if (className == null || className.equals(""))
+         return;
+      
+      try
+      {
+         String clazzName = this.getClass().getPackage().getName() + ".code." + className + "CodeGen";
+         String javaFile = (String)Definition.class.getMethod(
+            "get" + className + "Class").invoke(def, (Object[])null) + ".java";
+         FileWriter fw = Utils.createSrcFile(javaFile, def.getRaPackage(), def.getOutputDir());
+
+         Class<?> clazz = Class.forName(clazzName, true, Thread.currentThread().getContextClassLoader());
+         AbstractCodeGen codeGen = (AbstractCodeGen)clazz.newInstance();
+         
+         codeGen.generate(def, fw);
+         
+         fw.flush();
+         fw.close();
+      }
+      catch (IOException ioe)
+      {
+         ioe.printStackTrace();
+      }
+      catch (Exception e)
+      {
+         e.printStackTrace();
+      }
+   }
+   
+   /**
+    * generate ant build.xml
+    * @param outputDir output directory
+    */
+   void generateAntXml(String outputDir)
+   {
+      try
+      {
+         //ant build.xml
+         FileWriter antfw = Utils.createFile("build.xml", outputDir);
+         BuildXmlGen bxGen = new BuildXmlGen();
+         bxGen.generate(null, antfw);
+         antfw.close();
+      }
+      catch (IOException ioe)
+      {
+         ioe.printStackTrace();
+      }
+   }
+
+   /**
+    * generate ra.xml
+    * @param def Definition
+    * @param outputDir output directory
+    */
+   void generateRaXml(Definition def, String outputDir)
+   {
+   }
+}

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Definition.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Definition.java	2010-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Definition.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -35,6 +35,13 @@
    private String outputDir;
    /** resource adapter package name */
    private String raPackage;
+   
+   
+   /** use annotation or ra.xml  */
+   private boolean useAnnotation;
+   /** use resource adapter  */
+   private boolean useRa;
+
    /** resource adapter class name */
    private String raClass;
    /** resource adapter configuration properties */
@@ -76,10 +83,9 @@
    private String connSpecClass;
    /** resource adapater metadata class name */
    private String raMetaClass;
-   
-   /** use annotation or ra.xml  */
-   private boolean useAnnotation;
-   
+
+   /** support outbound  */
+   private boolean supportOutbound;
    /** support inbound  */
    private boolean supportInbound;
    /** connection metadata class name */
@@ -524,6 +530,26 @@
    }
 
    /**
+    * Set the supportOutbound.
+    * 
+    * @param supportOutbound The supportOutbound to set.
+    */
+   public void setSupportOutbound(boolean supportOutbound)
+   {
+      this.supportOutbound = supportOutbound;
+   }
+
+   /**
+    * Get the supportOutbound.
+    * 
+    * @return the supportOutbound.
+    */
+   public boolean isSupportOutbound()
+   {
+      return supportOutbound;
+   }
+   
+   /**
     * Set the supportInbound.
     * 
     * @param supportInbound The supportInbound to set.
@@ -602,4 +628,25 @@
    {
       return asConfigProps;
    }
+
+   /**
+    * Set the useRa.
+    * 
+    * @param useRa The useRa to set.
+    */
+   public void setUseRa(boolean useRa)
+   {
+      this.useRa = useRa;
+   }
+
+   /**
+    * Get the useRa.
+    * 
+    * @return the useRa.
+    */
+   public boolean isUseRa()
+   {
+      return useRa;
+   }
+
 }

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA15Profile.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA15Profile.java	2010-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA15Profile.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -21,8 +21,6 @@
  */
 package org.jboss.jca.codegenerator;
 
-import org.jboss.jca.codegenerator.code.AbstractCodeGen;
-import org.jboss.jca.codegenerator.xml.BuildXmlGen;
 import org.jboss.jca.codegenerator.xml.Ra15XmlGen;
 
 import java.io.File;
@@ -35,7 +33,7 @@
  * @author Jeff Zhang
  * @version $Revision: $
  */
-public class JCA15Profile implements Profile
+public class JCA15Profile extends BaseProfile
 {
 
    /**
@@ -49,106 +47,25 @@
    /**
     * generate code
     * @param def Definition 
-    * @param packageName the writer to output the text to.
     */
    @Override
-   public void generate(Definition def, String packageName)
+   public void generate(Definition def)
    {
-      generateClassCode(def, "Ra");
-      generateClassCode(def, "Mcf");
-      generateClassCode(def, "Mc");
-      generateClassCode(def, "McMeta");
-      generateClassCode(def, "Cm");
+      generateRaCode(def);
+      generateOutboundCode(def);
+      generateInboundCode(def);
 
-      if (!def.isUseCciConnection())
-      {
-         generateClassCode(def, "CfInterface");
-         generateClassCode(def, "Cf");
-         generateClassCode(def, "ConnInterface");
-         generateClassCode(def, "ConnImpl");
-      }
-      else
-      {
-         generateClassCode(def, "CciConn");
-         generateClassCode(def, "CciConnFactory");
-         generateClassCode(def, "ConnMeta");
-         generateClassCode(def, "RaMeta");
-         generateClassCode(def, "ConnSpec");
-      }
-      
-      if (def.isSupportInbound())
-      {
-         generateClassCode(def, "Ml");
-         generateClassCode(def, "As");
-      }
-      
       generateAntXml(def.getOutputDir());
-
       generateRaXml(def, def.getOutputDir());
    }
 
    /**
-    * generate ResourceAdapater code
-    * @param def Definition 
-    * @param packageName the writer to output the text to.
-    */
-   private void generateClassCode(Definition def, String className)
-   {
-      if (className == null || className.equals(""))
-         return;
-      
-      try
-      {
-
-         String clazzName = this.getClass().getPackage().getName() + ".code." + className + "CodeGen";
-         String javaFile = (String)Definition.class.getMethod(
-            "get" + className + "Class").invoke(def, (Object[])null) + ".java";
-         FileWriter fw = Utils.createSrcFile(javaFile, def.getRaPackage(), def.getOutputDir());
-
-         Class<?> clazz = Class.forName(clazzName, true, Thread.currentThread().getContextClassLoader());
-         AbstractCodeGen codeGen = (AbstractCodeGen)clazz.newInstance();
-         
-         codeGen.generate(def, fw);
-         
-         fw.flush();
-         fw.close();
-      }
-      catch (IOException ioe)
-      {
-         ioe.printStackTrace();
-      }
-      catch (Exception e)
-      {
-         e.printStackTrace();
-      }
-   }
-   
-   /**
-    * generate ant build.xml
-    * @param outputDir output directory
-    */
-   private void generateAntXml(String outputDir)
-   {
-      try
-      {
-         //ant build.xml
-         FileWriter antfw = Utils.createFile("build.xml", outputDir);
-         BuildXmlGen bxGen = new BuildXmlGen();
-         bxGen.generate(null, antfw);
-         antfw.close();
-      }
-      catch (IOException ioe)
-      {
-         ioe.printStackTrace();
-      }
-   }
-
-   /**
     * generate ra.xml
     * @param def Definition
     * @param outputDir output directory
     */
-   private void generateRaXml(Definition def, String outputDir)
+   @Override
+   void generateRaXml(Definition def, String outputDir)
    {
       try
       {

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA16Profile.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA16Profile.java	2010-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/JCA16Profile.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -21,8 +21,6 @@
  */
 package org.jboss.jca.codegenerator;
 
-import org.jboss.jca.codegenerator.code.AbstractCodeGen;
-import org.jboss.jca.codegenerator.xml.BuildXmlGen;
 import org.jboss.jca.codegenerator.xml.Ra16XmlGen;
 
 import java.io.File;
@@ -35,7 +33,7 @@
  * @author Jeff Zhang
  * @version $Revision: $
  */
-public class JCA16Profile implements Profile
+public class JCA16Profile extends BaseProfile
 {
 
    /**
@@ -49,39 +47,14 @@
    /**
     * generate code
     * @param def Definition 
-    * @param packageName the writer to output the text to.
     */
    @Override
-   public void generate(Definition def, String packageName)
+   public void generate(Definition def)
    {
-      generateClassCode(def, "Ra");
-      generateClassCode(def, "Mcf");
-      generateClassCode(def, "Mc");
-      generateClassCode(def, "McMeta");
-      generateClassCode(def, "Cm");
-
-      if (!def.isUseCciConnection())
-      {
-         generateClassCode(def, "CfInterface");
-         generateClassCode(def, "Cf");
-         generateClassCode(def, "ConnInterface");
-         generateClassCode(def, "ConnImpl");
-      }
-      else
-      {
-         generateClassCode(def, "CciConn");
-         generateClassCode(def, "CciConnFactory");
-         generateClassCode(def, "ConnMeta");
-         generateClassCode(def, "RaMeta");
-         generateClassCode(def, "ConnSpec");
-      }
+      generateRaCode(def);
+      generateOutboundCode(def);
+      generateInboundCode(def);
       
-      if (def.isSupportInbound())
-      {
-         generateClassCode(def, "Ml");
-         generateClassCode(def, "As");
-      }
-      
       generateAntXml(def.getOutputDir());
       
       if (!def.isUseAnnotation())
@@ -89,67 +62,12 @@
    }
 
    /**
-    * generate ResourceAdapater code
-    * @param def Definition 
-    * @param packageName the writer to output the text to.
-    */
-   private void generateClassCode(Definition def, String className)
-   {
-      if (className == null || className.equals(""))
-         return;
-      
-      try
-      {
-
-         String clazzName = this.getClass().getPackage().getName() + ".code." + className + "CodeGen";
-         String javaFile = (String)Definition.class.getMethod(
-            "get" + className + "Class").invoke(def, (Object[])null) + ".java";
-         FileWriter fw = Utils.createSrcFile(javaFile, def.getRaPackage(), def.getOutputDir());
-
-         Class<?> clazz = Class.forName(clazzName, true, Thread.currentThread().getContextClassLoader());
-         AbstractCodeGen codeGen = (AbstractCodeGen)clazz.newInstance();
-         
-         codeGen.generate(def, fw);
-         
-         fw.flush();
-         fw.close();
-      }
-      catch (IOException ioe)
-      {
-         ioe.printStackTrace();
-      }
-      catch (Exception e)
-      {
-         e.printStackTrace();
-      }
-   }
-   
-   /**
-    * generate ant build.xml
-    * @param outputDir output directory
-    */
-   private void generateAntXml(String outputDir)
-   {
-      try
-      {
-         //ant build.xml
-         FileWriter antfw = Utils.createFile("build.xml", outputDir);
-         BuildXmlGen bxGen = new BuildXmlGen();
-         bxGen.generate(null, antfw);
-         antfw.close();
-      }
-      catch (IOException ioe)
-      {
-         ioe.printStackTrace();
-      }
-   }
-
-   /**
     * generate ra.xml
     * @param def Definition
     * @param outputDir output directory
     */
-   private void generateRaXml(Definition def, String outputDir)
+   @Override
+   void generateRaXml(Definition def, String outputDir)
    {
       try
       {

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-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -93,6 +93,7 @@
          BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
          Definition def = new Definition();
          
+         //profile version
          String version = null;
          do
          {
@@ -103,98 +104,147 @@
          }
          while (!(version.equals("1.6") || version.equals("1.5")));
          
+         //bound
+         System.out.print(dbconf.getString("support.bound"));
+         String bound = in.readLine();
+         if (bound == null || bound.equals("") || bound.equals("O") || bound.equals("o") || bound.equals("Outbound"))
+         {
+            def.setSupportOutbound(true);
+            def.setSupportInbound(false);
+         }
+         else if (bound.equals("I") || bound.equals("i") || bound.equals("Inbound"))
+         {
+            def.setSupportOutbound(false);
+            def.setSupportInbound(true);
+         }
+         else if (bound.equals("B") || bound.equals("b") || bound.equals("Bidirectional"))
+         {
+            def.setSupportOutbound(true);
+            def.setSupportInbound(true);
+         }
+         else
+         {
+            def.setSupportOutbound(true);
+            def.setSupportInbound(false);
+         }
+         
+         //package name
+         System.out.print(dbconf.getString("package.name"));
+         String packageName = in.readLine();
+         def.setRaPackage(packageName);
+         
+         //support annotation
          if (version.equals("1.6"))
          {
             System.out.print(dbconf.getString("use.annotation"));
             String useAnnotation = in.readLine();
             if (useAnnotation == null)
-               def.setUseAnnotation(false);
+               def.setUseAnnotation(true);
             else
             {
-               if (useAnnotation.equals("Y") || useAnnotation.equals("y") || useAnnotation.equals("Yes"))
+               if (useAnnotation.equals("N") || useAnnotation.equals("n") || useAnnotation.equals("No"))
+                  def.setUseAnnotation(false);
+               else
                   def.setUseAnnotation(true);
-               else
-                  def.setUseAnnotation(false);
             }
          }
          else
+         {
             def.setUseAnnotation(false);
-         
-         System.out.print(dbconf.getString("package.name"));
-         String packageName = in.readLine();
-         System.out.print(dbconf.getString("ra.class.name"));
-         String raClassName = in.readLine();
-         
-         def.setRaPackage(packageName);
-         def.setRaClass(raClassName);
-         
-         List<ConfigPropType> raProps = inputProperties("ra", dbconf, in, false);
-         def.setRaConfigProps(raProps);
-         
-         System.out.print(dbconf.getString("mcf.class.name"));
-         String mcfClassName = in.readLine();
-         def.setMcfClass(mcfClassName);
+         }
 
-         List<ConfigPropType> mcfProps = inputProperties("mcf", dbconf, in, false);
-         def.setMcfConfigProps(mcfProps);
-
-         System.out.print(dbconf.getString("mcf.impl.raa"));
-         String raAssociation = in.readLine();
-         if (raAssociation == null)
-            def.setImplRaAssociation(false);
-         else
+         //use resource adapter
+         if (def.isSupportOutbound() && !def.isSupportInbound() && (version.equals("1.6") || version.equals("1.5")))
          {
-            if (raAssociation.equals("Y") || raAssociation.equals("y") || raAssociation.equals("Yes"))
-               def.setImplRaAssociation(true);
+            System.out.print(dbconf.getString("use.ra"));
+            String useRa = in.readLine();
+            if (useRa == null)
+               def.setUseRa(true);
             else
-               def.setImplRaAssociation(false);
+            {
+               if (useRa.equals("N") || useRa.equals("n") || useRa.equals("No"))
+                  def.setUseRa(false);
+               else
+                  def.setUseRa(true);
+            }
          }
-         
-         System.out.print(dbconf.getString("mcf.use.cci"));
-         String useCciConnection = in.readLine();
-         if (useCciConnection == null)
-            def.setUseCciConnection(false);
          else
          {
-            if (useCciConnection.equals("Y") || useCciConnection.equals("y") || useCciConnection.equals("Yes"))
-               def.setUseCciConnection(true);
-            else
-               def.setUseCciConnection(false);
+            def.setUseRa(true);
          }
          
-         System.out.print(dbconf.getString("mc.class.name"));
-         String mcClassName = in.readLine();
-         def.setMcClass(mcClassName);
-         
-         if (!def.isUseCciConnection())
+         //input ra class name
+         if (def.isUseRa() || def.isSupportInbound())
          {
-            System.out.print(dbconf.getString("cf.interface.name"));
-            String cfInterfaceName = in.readLine();
-            def.setCfInterfaceClass(cfInterfaceName);
-            System.out.print(dbconf.getString("cf.class.name"));
-            String cfClassName = in.readLine();
-            def.setCfClass(cfClassName);
-
-            System.out.print(dbconf.getString("conn.interface.name"));
-            String connInterfaceName = in.readLine();
-            def.setConnInterfaceClass(connInterfaceName);
-            System.out.print(dbconf.getString("conn.class.name"));
-            String connImplName = in.readLine();
-            def.setConnImplClass(connImplName);
+            System.out.print(dbconf.getString("ra.class.name"));
+            String raClassName = in.readLine();
+            def.setRaClass(raClassName);
+            
+            List<ConfigPropType> raProps = inputProperties("ra", dbconf, in, false);
+            def.setRaConfigProps(raProps);
          }
          
-         System.out.print(dbconf.getString("support.inbound"));
-         String inbound = in.readLine();
-         if (inbound == null)
-            def.setSupportInbound(false);
-         else
+         //outbound
+         if (def.isSupportOutbound())
          {
-            if (inbound.equals("Y") || inbound.equals("y") || inbound.equals("Yes"))
-               def.setSupportInbound(true);
+            System.out.print(dbconf.getString("mcf.class.name"));
+            String mcfClassName = in.readLine();
+            def.setMcfClass(mcfClassName);
+   
+            List<ConfigPropType> mcfProps = inputProperties("mcf", dbconf, in, false);
+            def.setMcfConfigProps(mcfProps);
+
+            if (def.isUseRa())
+            {
+               System.out.print(dbconf.getString("mcf.impl.raa"));
+               String raAssociation = in.readLine();
+               if (raAssociation == null)
+                  def.setImplRaAssociation(false);
+               else
+               {
+                  if (raAssociation.equals("Y") || raAssociation.equals("y") || raAssociation.equals("Yes"))
+                     def.setImplRaAssociation(true);
+                  else
+                     def.setImplRaAssociation(false);
+               }
+            }
+            
+            System.out.print(dbconf.getString("mc.class.name"));
+            String mcClassName = in.readLine();
+            def.setMcClass(mcClassName);
+            
+            System.out.print(dbconf.getString("mcf.use.cci"));
+            String useCciConnection = in.readLine();
+            if (useCciConnection == null)
+               def.setUseCciConnection(false);
             else
-               def.setSupportInbound(false);
+            {
+               if (useCciConnection.equals("Y") || useCciConnection.equals("y") || useCciConnection.equals("Yes"))
+                  def.setUseCciConnection(true);
+               else
+                  def.setUseCciConnection(false);
+            }
+            
+            if (!def.isUseCciConnection())
+            {
+               System.out.print(dbconf.getString("cf.interface.name"));
+               String cfInterfaceName = in.readLine();
+               def.setCfInterfaceClass(cfInterfaceName);
+               System.out.print(dbconf.getString("cf.class.name"));
+               String cfClassName = in.readLine();
+               def.setCfClass(cfClassName);
+   
+               System.out.print(dbconf.getString("conn.interface.name"));
+               String connInterfaceName = in.readLine();
+               def.setConnInterfaceClass(connInterfaceName);
+               System.out.print(dbconf.getString("conn.class.name"));
+               String connImplName = in.readLine();
+               def.setConnImplClass(connImplName);
+            }
          }
          
+
+         //inbound
          if (def.isSupportInbound())
          {
             System.out.print(dbconf.getString("ml.interface.name"));
@@ -210,7 +260,6 @@
          def.setOutputDir(outputDir);
 
          Profile profile;
-
          if (version.equals("1.6"))
          {
             profile = new JCA16Profile();
@@ -219,8 +268,7 @@
          {
             profile = new JCA15Profile();
          }
-
-         profile.generate(def, packageName);
+         profile.generate(def);
          
          System.out.println(dbconf.getString("code.wrote"));
       }

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Profile.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Profile.java	2010-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Profile.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -21,7 +21,6 @@
  */
 package org.jboss.jca.codegenerator;
 
-
 /**
  * Profile interface.
  * 
@@ -33,7 +32,6 @@
    /**
     * generate code
     * @param def Definition
-    * @param packageName the writer to output the text to.
     */
-   public void generate(Definition def, String packageName);
+   public void generate(Definition def);
 }

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/RaXmlGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/RaXmlGen.java	2010-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/RaXmlGen.java	2010-06-05 05:33:35 UTC (rev 105744)
@@ -54,14 +54,24 @@
       writeIndent(out, indent);
       out.write("<resourceadapter>");
       writeEol(out);
-      writeIndent(out, indent + 1);
-      out.write("<resourceadapter-class>" + def.getRaPackage() + "." + def.getRaClass() + "</resourceadapter-class>");
-      writeEol(out);
       
-      writeConfigPropsXml(def.getRaConfigProps(), out, indent + 1, false);
-      writeOutbound(def, out, indent + 1);
+      if (def.isUseRa())
+      {
+         writeIndent(out, indent + 1);
+         out.write("<resourceadapter-class>" + def.getRaPackage() + "." + 
+            def.getRaClass() + "</resourceadapter-class>");
+         writeEol(out);
+         writeConfigPropsXml(def.getRaConfigProps(), out, indent + 1, false);
+      }
+
+      if (def.isSupportOutbound())
+      {
+         writeOutbound(def, out, indent + 1);
+      }
       if (def.isSupportInbound())
+      {
          writeInbound(def, out, indent + 1);
+      }
       
       writeIndent(out, indent);
       out.write("</resourceadapter>");

Modified: projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties	2010-06-05 04:10:33 UTC (rev 105743)
+++ projects/jboss-jca/trunk/codegenerator/src/main/resources/codegenerator.properties	2010-06-05 05:33:35 UTC (rev 105744)
@@ -1,5 +1,7 @@
 profile.version=Profile version: [1.6/1.5] 
-use.annotation=Use Annotation: [Y/N/Yes/No] 
+support.bound=Support directional: [O/I/B/Outbound/Inbound/Bidirectional]: 
+use.annotation=Use annotation: [Y/N/Yes/No] 
+use.ra=Include a ResourceAdapter [Y/Yes/N/No]: 
 package.name=Package name: 
 ra.class.name=Resource adapter class name: 
 mcf.class.name=Managed connection factory class name: 
@@ -9,17 +11,16 @@
 cf.interface.name=Connection factory interface name: 
 cf.class.name=Connection factory class name: 
 ra.config.properties=Resource adapter config properties [enter to quit]: 
+mcf.config.properties=Managed connection factory config properties [enter to quit]: 
 config.properties.name=Name: 
 config.properties.type=Type: 
 config.properties.type.tip=Input right type: 
 config.properties.value=Value: 
 config.properties.required=Required [Y/N/Yes/No]: 
-mcf.config.properties=Managed connection factory config properties [enter to quit]: 
 mcf.impl.raa=Use ResourceAdapterAssociation: [Y/N/Yes/No] 
 mcf.use.cci=Use CCI: [Y/N/Yes/No] 
-output.dir=Output directory: 
-code.wrote=Code generated
-support.inbound=Support inbound: [Y/N/Yes/No] 
 ml.interface.name=MessageListener interface name: 
 as.class.name=ActivationSpec class name: 
-as.config.properties=ActivationSpec config properties [enter to quit]: 
\ No newline at end of file
+as.config.properties=ActivationSpec config properties [enter to quit]:
+output.dir=Output directory: 
+code.wrote=Code generated 
\ No newline at end of file



More information about the jboss-cvs-commits mailing list