[jboss-cvs] JBossAS SVN: r92062 - in projects/jboss-jca/trunk: deployers/src/test/resources/ra16standard303.rar/META-INF and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 6 06:10:16 EDT 2009


Author: jeff.zhang
Date: 2009-08-06 06:10:16 -0400 (Thu, 06 Aug 2009)
New Revision: 92062

Modified:
   projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303/TestManagedConnectionFactory.java
   projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303.rar/META-INF/ra.xml
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java
Log:
[JBJCA-142] create and inject ManagedConnectionFactory bean and BV them

Modified: projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303/TestManagedConnectionFactory.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303/TestManagedConnectionFactory.java	2009-08-06 06:44:33 UTC (rev 92061)
+++ projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303/TestManagedConnectionFactory.java	2009-08-06 10:10:16 UTC (rev 92062)
@@ -23,6 +23,7 @@
 
 import org.jboss.jca.test.deployers.spec.rars.BaseManagedConnectionFactory;
 
+import javax.validation.constraints.NotNull;
 /**
  * TestManagedConnectionFactory
  * @author <a href="mailto:jeff.zhang at jboss.org">Jeff Zhang</a>
@@ -31,4 +32,23 @@
 public class TestManagedConnectionFactory extends BaseManagedConnectionFactory
 {
    private static final long serialVersionUID = 1L;
+   
+   @NotNull
+   private String myStringProperty;
+
+   /**
+    * @param myStringProperty the myStringProperty to set
+    */
+   public void setMyStringProperty(String myStringProperty)
+   {
+      this.myStringProperty = myStringProperty;
+   }
+
+   /**
+    * @return the myStringProperty
+    */
+   public String getMyStringProperty()
+   {
+      return myStringProperty;
+   }
 }

Modified: projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303.rar/META-INF/ra.xml
===================================================================
--- projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303.rar/META-INF/ra.xml	2009-08-06 06:44:33 UTC (rev 92061)
+++ projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303.rar/META-INF/ra.xml	2009-08-06 10:10:16 UTC (rev 92062)
@@ -24,7 +24,11 @@
       <outbound-resourceadapter>
          <connection-definition>
             <managedconnectionfactory-class>org.jboss.jca.test.deployers.spec.rars.ra16standard303.TestManagedConnectionFactory</managedconnectionfactory-class>
-
+	        <config-property>
+	           <config-property-name>myStringProperty</config-property-name>
+	           <config-property-type>java.lang.String</config-property-type>
+	           <config-property-value>MyJCA</config-property-value>
+	        </config-property>
             <connectionfactory-interface>javax.resource.spi.ManagedConnection</connectionfactory-interface>
             <connectionfactory-impl-class>org.jboss.jca.test.deployers.spec.rars.ra16standard303.TestManagedConnection</connectionfactory-impl-class>
             <connection-interface>org.jboss.jca.test.deployers.spec.rars.TestConnectionInterface</connection-interface>

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java	2009-08-06 06:44:33 UTC (rev 92061)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java	2009-08-06 10:10:16 UTC (rev 92062)
@@ -36,6 +36,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -43,6 +44,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.metadata.rar.jboss.JBossRAMetaData;
 import org.jboss.metadata.rar.spec.ConfigPropertyMetaData;
+import org.jboss.metadata.rar.spec.ConnectionDefinitionMetaData;
 import org.jboss.metadata.rar.spec.ConnectorMetaData;
 import org.jboss.metadata.rar.spec.JCA16DTDMetaData;
 import org.jboss.metadata.rar.spec.JCA16DefaultNSMetaData;
@@ -160,32 +162,94 @@
          
          // Merge metadata
          cmd = Metadata.merge(cmd, jrmd);
-         
+
          // Create objects
+         // And
+         // Inject values
          Object resourceAdapter = null;
-         if (cmd != null && cmd.getRa() != null && cmd.getRa().getRaClass() != null)
+         List<Object> mcfs = null;
+         if (cmd != null)
          {
-            Class raClass = Class.forName(cmd.getRa().getRaClass(), true, cl);
-            resourceAdapter = raClass.newInstance();
-         }
-
-         // Inject values
-         if (resourceAdapter != null && cmd != null && cmd.getRa() != null)
-         {
-            List<ConfigPropertyMetaData> l = cmd.getRa().getConfigProperty();
-            if (l != null)
+            // ResourceAdapter
+            if (cmd.getRa() != null && cmd.getRa().getRaClass() != null)
             {
-               for (ConfigPropertyMetaData cpmd : l)
+               try 
                {
-                  Injection.inject(cpmd.getType(), cpmd.getName(), cpmd.getValue(), resourceAdapter);
+                  Class raClass = Class.forName(cmd.getRa().getRaClass(), true, cl);
+                  resourceAdapter = raClass.newInstance();
                }
+               catch (ClassNotFoundException e)
+               {
+                  log.trace("can't constractor " + cmd.getRa().getRaClass() + " class");
+               }
+               if (resourceAdapter != null)
+               {
+                  List<ConfigPropertyMetaData> l = cmd.getRa().getConfigProperty();
+                  if (l != null)
+                  {
+                     for (ConfigPropertyMetaData cpmd : l)
+                     {
+                        Injection.inject(cpmd.getType(), cpmd.getName(), cpmd.getValue(), resourceAdapter);
+                     }
+                  }
+               }
             }
+            
+            // ManagedConnectionFactory
+            if (cmd.getRa() != null && cmd.getRa().getOutboundRa() != null && 
+               cmd.getRa().getOutboundRa().getConDefs() != null)
+            {
+               List<ConnectionDefinitionMetaData> cdMetas = cmd.getRa().getOutboundRa().getConDefs();
+               if (cdMetas.size() > 0)
+               {
+                  mcfs = new ArrayList<Object>();
+                  for (ConnectionDefinitionMetaData cdMeta : cdMetas)
+                  {
+                     if (cdMeta.getManagedConnectionFactoryClass() != null)
+                     {
+                        Object mcf = null;
+                        try 
+                        {
+                           Class mcfClass = Class.forName(cdMeta.getManagedConnectionFactoryClass(), true, cl);
+                           mcf = mcfClass.newInstance();
+                           mcfs.add(mcf);
+                        } 
+                        catch (ClassNotFoundException e)
+                        {
+                           log.trace("can't constractor " + cdMeta.getManagedConnectionFactoryClass() + " class");
+                        }
+                        if (mcf != null)
+                        {
+                           List<ConfigPropertyMetaData> cpMetas = cdMeta.getConfigProps();
+                           if (cpMetas != null)
+                           {
+                              for (ConfigPropertyMetaData cpmd : cpMetas)
+                              {
+                                 Injection.inject(cpmd.getType(), cpmd.getName(), cpmd.getValue(), mcf);
+                              }
+                           }
+                        }
+                     }
+                  }
+               }
+            }
+            
          }
 
          // Bean validation
-         if (beanValidation && resourceAdapter != null)
+         if (beanValidation)
          {
-            BeanValidation.validate(resourceAdapter);
+            if (resourceAdapter != null)
+            {
+               BeanValidation.validate(resourceAdapter);
+            }
+            if (mcfs != null && mcfs.size() > 0)
+            {
+               for (Object mcf : mcfs)
+               {
+                  BeanValidation.validate(mcf);
+               }
+            }
          }
          
          // Activate deployment




More information about the jboss-cvs-commits mailing list