[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