[jboss-cvs] JBossAS SVN: r110863 - projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 9 04:00:04 EST 2011


Author: jeff.zhang
Date: 2011-03-09 04:00:03 -0500 (Wed, 09 Mar 2011)
New Revision: 110863

Modified:
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/CfCodeGen.java
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java
   projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McfCodeGen.java
Log:
[JBJCA-515] code generation improvement

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/CfCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/CfCodeGen.java	2011-03-09 06:52:57 UTC (rev 110862)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/CfCodeGen.java	2011-03-09 09:00:03 UTC (rev 110863)
@@ -71,7 +71,23 @@
       out.write("private Reference reference;");
       writeEol(out);
       writeEol(out);
+
+      writeIndent(out, indent);
+      out.write("/** ManagedConnectionFactory */");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write("private " + def.getMcfClass() + " mcf;");
+      writeEol(out);
+      writeEol(out);
       
+      writeIndent(out, indent);
+      out.write("/** ConnectionManager */");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write("private ConnectionManager connectionManager;");
+      writeEol(out);
+      writeEol(out);
+      
       writeDefaultConstructor(def, out, indent);
       
       //constructor
@@ -82,6 +98,9 @@
       out.write(" * Default constructor");
       writeEol(out);
       writeIndent(out, indent);
+      out.write(" * @param mcf ManagedConnectionFactory");
+      writeEol(out);
+      writeIndent(out, indent);
       out.write(" * @param cxManager ConnectionManager");
       writeEol(out);
       writeIndent(out, indent);
@@ -89,8 +108,13 @@
       writeEol(out);
       
       writeIndent(out, indent);
-      out.write("public " + getClassName(def) + "(ConnectionManager cxManager)");
+      out.write("public " + getClassName(def) + "(" + def.getMcfClass() + " mcf, ConnectionManager cxManager)");
       writeLeftCurlyBracket(out, indent);
+      writeIndent(out, indent + 1);
+      out.write("this.mcf = mcf;");
+      writeEol(out);
+      writeIndent(out, indent + 1);
+      out.write("this.connectionManager = cxManager;");
       writeRightCurlyBracket(out, indent);
       writeEol(out);
 
@@ -175,7 +199,7 @@
       out.write("log.finest(\"getConnection()\");");
       writeEol(out);
       writeIndent(out, indent + 1);
-      out.write("return new " + def.getConnImplClass() + "();");
+      out.write("return (" + def.getConnInterfaceClass() + ")connectionManager.allocateConnection(mcf, null);");
       writeRightCurlyBracket(out, indent);
       writeEol(out);
    }

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java	2011-03-09 06:52:57 UTC (rev 110862)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java	2011-03-09 09:00:03 UTC (rev 110863)
@@ -58,8 +58,36 @@
       writeEol(out);
       writeEol(out);
       
-      writeDefaultConstructor(def, out, indent);
+      writeIndent(out, indent);
+      out.write("/** ManagedConnectionFactory */");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write("private " + def.getMcfClass() + " mcf;");
+      writeEol(out);
+      writeEol(out);
       
+      //constructor
+      writeIndent(out, indent);
+      out.write("/**");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write(" * Default constructor");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write(" * @param mcf " + def.getMcfClass());
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write(" */");
+      writeEol(out);
+      
+      writeIndent(out, indent);
+      out.write("public " + getClassName(def) + "(" + def.getMcfClass() + " mcf)");
+      writeLeftCurlyBracket(out, indent);
+      writeIndent(out, indent + 1);
+      out.write("this.mcf = mcf;");
+      writeRightCurlyBracket(out, indent);
+      writeEol(out);
+      
       writeMethod(def, out, indent);
       writeRightCurlyBracket(out, 0);
    }

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java	2011-03-09 06:52:57 UTC (rev 110862)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java	2011-03-09 09:00:03 UTC (rev 110863)
@@ -65,8 +65,47 @@
       writeEol(out);
       writeEol(out);
       
-      writeDefaultConstructor(def, out, indent);
+      writeIndent(out, indent);
+      out.write("/** ManagedConnectionFactory */");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write("private " + def.getMcfClass() + " mcf;");
+      writeEol(out);
+      writeEol(out);
       
+      writeIndent(out, indent);
+      out.write("/** Connection */");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write("private Object connection;");
+      writeEol(out);
+      writeEol(out);
+      
+      //constructor
+      writeIndent(out, indent);
+      out.write("/**");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write(" * Default constructor");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write(" * @param mcf mcf");
+      writeEol(out);
+      writeIndent(out, indent);
+      out.write(" */");
+      writeEol(out);
+      
+      writeIndent(out, indent);
+      out.write("public " + getClassName(def) + "(" + def.getMcfClass() + " mcf)");
+      writeLeftCurlyBracket(out, indent);
+      writeIndent(out, indent + 1);
+      out.write("this.mcf = mcf;");
+      writeEol(out);
+      writeIndent(out, indent + 1);
+      out.write("this.connection = null;");
+      writeRightCurlyBracket(out, indent);
+      writeEol(out);
+      
       writeConnection(def, out, indent);
       writeLifecycle(def, out, indent);
       writeConnectionEventListener(def, out, indent);
@@ -173,7 +212,10 @@
       out.write("log.finest(\"getConnection()\");");
       writeEol(out);
       writeIndent(out, indent + 1);
-      out.write("return null;");
+      out.write("connection = new " + def.getConnImplClass() + "(mcf);");
+      writeEol(out);
+      writeIndent(out, indent + 1);
+      out.write("return connection;");
       writeRightCurlyBracket(out, indent);
       writeEol(out);
 

Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McfCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McfCodeGen.java	2011-03-09 06:52:57 UTC (rev 110862)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McfCodeGen.java	2011-03-09 09:00:03 UTC (rev 110863)
@@ -256,10 +256,6 @@
       writeIndent(out, indent);
       out.write("public Object createConnectionFactory(ConnectionManager cxManager) throws ResourceException");
       writeLeftCurlyBracket(out, indent);
-      if (def.isImplRaAssociation())
-      {
-         writeIfRaNull(out, indent);
-      }
       writeIndent(out, indent + 1);
       out.write("log.finest(\"createConnectionFactory()\");");
       writeEol(out);
@@ -267,7 +263,7 @@
       if (def.isUseCciConnection())
          out.write("return new " + def.getCciConnFactoryClass() + "(cxManager);");
       else
-         out.write("return new " + def.getCfClass() + "(cxManager);");
+         out.write("return new " + def.getCfClass() + "(this, cxManager);");
       
       writeRightCurlyBracket(out, indent);
       writeEol(out);
@@ -295,33 +291,12 @@
       writeIndent(out, indent);
       out.write("public Object createConnectionFactory() throws ResourceException");
       writeLeftCurlyBracket(out, indent);
-      if (def.isImplRaAssociation())
-      {
-         writeIfRaNull(out, indent);
-      }
-
       writeIndent(out, indent + 1);
       out.write("throw new ResourceException(\"This resource adapter doesn't support non-managed environments\");");
 
       writeRightCurlyBracket(out, indent);
       writeEol(out);
    }
-
-   /**
-    * Output if (ra == null) 
-    * @param out Writer
-    * @param indent space number
-    * @throws IOException ioException
-    */
-   private void writeIfRaNull(Writer out, int indent) throws IOException
-   {
-      writeIndent(out, indent + 1);
-      out.write("if (ra == null)");
-      writeEol(out);
-      writeIndent(out, indent + 2);
-      out.write("throw new IllegalStateException(\"RA is null\");");
-      writeEol(out);
-   }
    
    /**
     * Output ConnectionFactory method
@@ -364,15 +339,11 @@
       writeIndent(out, indent + 2);
       out.write("ConnectionRequestInfo cxRequestInfo) throws ResourceException");
       writeLeftCurlyBracket(out, indent);
-      if (def.isImplRaAssociation())
-      {
-         writeIfRaNull(out, indent);
-      }
       writeIndent(out, indent + 1);
       out.write("log.finest(\"createManagedConnection()\");");
       writeEol(out);
       writeIndent(out, indent + 1);
-      out.write("return null;");
+      out.write("return new " + def.getMcClass() + "(this);");
       writeRightCurlyBracket(out, indent);
       writeEol(out);
       
@@ -411,10 +382,6 @@
       writeIndent(out, indent + 2);
       out.write("Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException");
       writeLeftCurlyBracket(out, indent);
-      if (def.isImplRaAssociation())
-      {
-         writeIfRaNull(out, indent);
-      }
       writeIndent(out, indent + 1);
       out.write("log.finest(\"matchManagedConnections()\");");
       writeEol(out);



More information about the jboss-cvs-commits mailing list