[jboss-cvs] JBossAS SVN: r75953 - in trunk: testsuite/src/main/org/jboss/test/refs/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jul 17 07:40:29 EDT 2008
Author: wolfc
Date: 2008-07-17 07:40:29 -0400 (Thu, 17 Jul 2008)
New Revision: 75953
Modified:
trunk/server/src/main/org/jboss/deployment/plugin/MappedDeploymentEndpointResolver.java
trunk/testsuite/src/main/org/jboss/test/refs/test/MappedResolverUnitTestCase.java
Log:
Search for ejbs at application level
Modified: trunk/server/src/main/org/jboss/deployment/plugin/MappedDeploymentEndpointResolver.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/plugin/MappedDeploymentEndpointResolver.java 2008-07-17 10:08:19 UTC (rev 75952)
+++ trunk/server/src/main/org/jboss/deployment/plugin/MappedDeploymentEndpointResolver.java 2008-07-17 11:40:29 UTC (rev 75953)
@@ -23,11 +23,9 @@
import java.util.Map;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployment.dependency.ContainerDependencyMetaData;
import org.jboss.deployment.spi.DeploymentEndpointResolver;
import org.jboss.deployment.spi.EndpointInfo;
-import org.jboss.deployment.spi.EndpointType;
import org.jboss.logging.Logger;
/**
@@ -124,7 +122,25 @@
if(cdmd != null)
{
info = new EndpointInfo(unitPath, endpointName, type);
+ return info;
}
+
+ // It could not be found in the unit itself, let's search globally
+ if(ref.indexOf('#') == -1)
+ {
+ // See MappedReferenceMetaDataResolverDeployer.mapEjbs
+ key = "ejb/" + ref;
+
+ String ejbCompID = endpointAlternateMap.get(key);
+ if(ejbCompID != null)
+ {
+ cdmd = endpointMap.get(ejbCompID);
+ if(cdmd == null)
+ throw new IllegalStateException("endpoint mapping is corrupt, can't find '" + ejbCompID + "' in " + endpointMap);
+ info = new EndpointInfo(cdmd.getDeploymentPath(), cdmd.getComponentName(), type);
+ return info;
+ }
+ }
else
{
log.debug("Failed to find mapping for ref: "+ref+" path: "+vfsContext);
Modified: trunk/testsuite/src/main/org/jboss/test/refs/test/MappedResolverUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/refs/test/MappedResolverUnitTestCase.java 2008-07-17 10:08:19 UTC (rev 75952)
+++ trunk/testsuite/src/main/org/jboss/test/refs/test/MappedResolverUnitTestCase.java 2008-07-17 11:40:29 UTC (rev 75953)
@@ -24,14 +24,14 @@
import java.util.HashMap;
import java.util.Map;
+import junit.framework.TestCase;
+
import org.jboss.deployment.dependency.ContainerDependencyMetaData;
import org.jboss.deployment.plugin.MappedDeploymentEndpointResolver;
import org.jboss.deployment.spi.EndpointInfo;
import org.jboss.deployment.spi.EndpointType;
import org.jboss.test.refs.common.EjbLinkIF;
-import junit.framework.TestCase;
-
/**
* Tests of the MappedDeploymentEndpointResolver
*
@@ -59,6 +59,9 @@
// Add ejb mappings to ejb1.jar
endpointMap.put("ejb/ejb1.jar#Ejb1InJar1", new ContainerDependencyMetaData("Ejb1InJar1", "Ejb1InJar1", "ejb1.jar"));
endpointMap.put("ejb/ejb1.jar#Ejb2InJar1", new ContainerDependencyMetaData("Ejb2InJar1", "Ejb2InJar1", "ejb1.jar"));
+ // the alternate mapping (See MappedReferenceMetaDataResolverDeployer.mapEjbs)
+ endpointAlternateMap.put("ejb/Ejb1InJar1", "ejb/ejb1.jar#Ejb1InJar1");
+ endpointAlternateMap.put("ejb/Ejb2InJar1", "ejb/ejb1.jar#Ejb2InJar1");
// A business-local mapping for Ejb1InJar1
endpointAlternateMap.put("ejb/ejb1.jar@"+EjbLinkIF.class.getName(), "ejb/ejb1.jar#Ejb1InJar1");
EndpointInfo info = resolver.getEndpointInfo("Ejb1InJar1", EndpointType.EJB, "ejb1.jar");
@@ -75,5 +78,12 @@
info = resolver.getEndpointInfo(EjbLinkIF.class, EndpointType.EJB, "ejb1.jar");
assertNotNull(info);
assertEquals("Ejb1InJar1", info.getName());
- assertEquals("ejb1.jar", info.getPathName()); }
+ assertEquals("ejb1.jar", info.getPathName());
+
+ // Test finding a bean with only a bean name
+ info = resolver.getEndpointInfo("Ejb2InJar1", EndpointType.EJB, "ejb2.jar");
+ assertNotNull(info);
+ assertEquals("Ejb2InJar1", info.getName());
+ assertEquals("ejb1.jar", info.getPathName());
+ }
}
More information about the jboss-cvs-commits
mailing list