[jboss-cvs] JBossAS SVN: r112305 - in projects/jboss-jca/branches/Branch_1_0: core/src/main/java/org/jboss/jca/core/rar and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 11 13:14:44 EDT 2011
Author: jesper.pedersen
Date: 2011-10-11 13:14:44 -0400 (Tue, 11 Oct 2011)
New Revision: 112305
Modified:
projects/jboss-jca/branches/Branch_1_0/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java
projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java
projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java
projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java
Log:
[JBJCA-680] Pure ResourceAdapter class deployment aren't working
Modified: projects/jboss-jca/branches/Branch_1_0/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java 2011-10-11 17:06:05 UTC (rev 112304)
+++ projects/jboss-jca/branches/Branch_1_0/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java 2011-10-11 17:14:44 UTC (rev 112305)
@@ -329,7 +329,7 @@
this.getResourceadapterClass() != null)
inboundOrOutbound = true;
- if (!inboundOrOutbound)
+ if (!inboundOrOutbound && (this.resourceadapterClass == null || this.resourceadapterClass.trim().equals("")))
throw new ValidateException(bundle.invalidMetadataForResourceAdapter());
}
Modified: projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java 2011-10-11 17:06:05 UTC (rev 112304)
+++ projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java 2011-10-11 17:14:44 UTC (rev 112305)
@@ -162,6 +162,28 @@
/**
* {@inheritDoc}
*/
+ public ResourceAdapter getResourceAdapter(String uniqueId) throws NotFoundException
+ {
+ if (uniqueId == null)
+ throw new IllegalArgumentException("UniqueId is null");
+
+ if (uniqueId.trim().equals(""))
+ throw new IllegalArgumentException("UniqueId is empty");
+
+ if (!rars.containsKey(uniqueId))
+ throw new NotFoundException(bundle.keyNotRegistered(uniqueId));
+
+ WeakReference<ResourceAdapter> ra = rars.get(uniqueId);
+
+ if (ra.get() == null)
+ throw new NotFoundException(bundle.keyNotRegistered(uniqueId));
+
+ return ra.get();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public synchronized Set<String> getResourceAdapters()
{
return Collections.unmodifiableSet(rars.keySet());
Modified: projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java 2011-10-11 17:06:05 UTC (rev 112304)
+++ projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java 2011-10-11 17:14:44 UTC (rev 112305)
@@ -49,6 +49,14 @@
public void unregisterResourceAdapter(String key) throws NotFoundException;
/**
+ * Get the resource adapter instance based on the unique id
+ * @param uniqueId An unique id that represents the deployment
+ * @return The resource adapter
+ * @exception NotFoundException Thrown if the unique id isn't registered
+ */
+ public ResourceAdapter getResourceAdapter(String uniqueId) throws NotFoundException;
+
+ /**
* Get the resource adapters unique ids registered
* @return The unique ids
*/
Modified: projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-10-11 17:06:05 UTC (rev 112304)
+++ projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-10-11 17:14:44 UTC (rev 112305)
@@ -890,7 +890,7 @@
}
else
{
- log.adminObjectNotBound(aoMeta.getAdminobjectClass().getValue());
+ log.adminObjectNotBound(aoMeta.getAdminobjectClass().getValue());
}
}
}
@@ -1433,7 +1433,7 @@
}
else
{
- log.connectionFactoryNotBound(mcf.getClass().getName());
+ log.connectionFactoryNotBound(mcf.getClass().getName());
}
}
}
@@ -1911,7 +1911,7 @@
}
else
{
- log.connectionFactoryNotBound(mcf.getClass().getName());
+ log.connectionFactoryNotBound(mcf.getClass().getName());
}
}
}
Modified: projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java 2011-10-11 17:06:05 UTC (rev 112304)
+++ projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java 2011-10-11 17:14:44 UTC (rev 112305)
@@ -152,9 +152,10 @@
if (enabled)
{
MetadataRepository mdr = ((RAConfiguration) getConfiguration()).getMetadataRepository();
+ ResourceAdapterRepository rar = ((RAConfiguration) getConfiguration()).getResourceAdapterRepository();
Set<String> rarDeployments = mdr.getResourceAdapters();
- Set<String> configuredRars = getConfiguredResourceAdapters(mdr);
+ Set<String> configuredRars = getConfiguredResourceAdapters(mdr, rar);
for (String deployment : rarDeployments)
{
@@ -228,9 +229,10 @@
/**
* Get the set of configured resource adapters
* @param mdr The metadata repository
+ * @param rar The resource adapter repository
* @return The resource adapters
*/
- private Set<String> getConfiguredResourceAdapters(MetadataRepository mdr)
+ private Set<String> getConfiguredResourceAdapters(MetadataRepository mdr, ResourceAdapterRepository rar)
{
Set<String> configured = new HashSet<String>();
@@ -244,8 +246,15 @@
{
if (deployment.endsWith(".rar"))
{
- if (mdr.hasJndiMappings(deployment))
- configured.add(deployment);
+ try
+ {
+ if (mdr.hasJndiMappings(deployment) || hasResourceAdapter(rar, mdr.getResourceAdapter(deployment)))
+ configured.add(deployment);
+ }
+ catch (Throwable t)
+ {
+ // Ignore
+ }
}
else if (deployment.endsWith("-ra.xml"))
{
@@ -422,6 +431,41 @@
}
/**
+ * Has a resource adapter instance deployed
+ * @param rar The resource adapter repository
+ * @param c The connector definition
+ */
+ private boolean hasResourceAdapter(ResourceAdapterRepository rar, Connector c)
+ {
+ if (rar != null && c != null &&
+ c.getResourceadapter() != null && c.getResourceadapter() instanceof ResourceAdapter1516)
+ {
+ ResourceAdapter1516 ra = (ResourceAdapter1516)c.getResourceadapter();
+
+ if (ra.getResourceadapterClass() != null)
+ {
+ String clz = ra.getResourceadapterClass();
+
+ for (String deployment : rar.getResourceAdapters())
+ {
+ try
+ {
+ javax.resource.spi.ResourceAdapter instance = rar.getResourceAdapter(deployment);
+ if (clz.equals(instance.getClass().getName()))
+ return true;
+ }
+ catch (Throwable t)
+ {
+ // Ignore deployment
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+
+ /**
* Deploy
* @param url The url
* @param parent The parent classloader
More information about the jboss-cvs-commits
mailing list