[jboss-cvs] JBossAS SVN: r108779 - in projects/metadata/common/trunk: src/main/java/org/jboss/metadata/serviceref and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Oct 22 02:58:37 EDT 2010
Author: richard.opalka at jboss.com
Date: 2010-10-22 02:58:36 -0400 (Fri, 22 Oct 2010)
New Revision: 108779
Modified:
projects/metadata/common/trunk/.classpath
projects/metadata/common/trunk/pom.xml
projects/metadata/common/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
Log:
[JBMETA-306] providing service-ref related switchboard/jboss-injection integration hooks
Modified: projects/metadata/common/trunk/.classpath
===================================================================
--- projects/metadata/common/trunk/.classpath 2010-10-22 02:57:50 UTC (rev 108778)
+++ projects/metadata/common/trunk/.classpath 2010-10-22 06:58:36 UTC (rev 108779)
@@ -29,7 +29,6 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx-client/2.0.3.SP1/jbosssx-client-2.0.3.SP1.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx-client/2.0.3.SP1/jbosssx-client-2.0.3.SP1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/ws/native/jbossws-native-jaxrpc/3.0.4.GA/jbossws-native-jaxrpc-3.0.4.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/ws/native/jbossws-native-saaj/3.0.4.GA/jbossws-native-saaj-3.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.6.GA/jbossws-spi-1.0.6.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/naming/jnp-client/5.0.1.GA/jnp-client-5.0.1.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
@@ -38,7 +37,7 @@
<classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
<classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.9.1/xml-apis-2.9.1.jar"/>
<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.3.0.Beta4/jbossws-spi-1.3.0.Beta4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.4.0.CR2/jbossws-spi-1.4.0.CR2.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/3.0.0.CR1/jboss-vfs-3.0.0.CR1.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
</classpath>
\ No newline at end of file
Modified: projects/metadata/common/trunk/pom.xml
===================================================================
--- projects/metadata/common/trunk/pom.xml 2010-10-22 02:57:50 UTC (rev 108778)
+++ projects/metadata/common/trunk/pom.xml 2010-10-22 06:58:36 UTC (rev 108779)
@@ -173,7 +173,7 @@
<dependency>
<groupId>org.jboss.ws</groupId>
<artifactId>jbossws-spi</artifactId>
- <version>1.4.0.Beta3</version>
+ <version>1.4.0.CR2</version>
</dependency>
<dependency>
Modified: projects/metadata/common/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
===================================================================
--- projects/metadata/common/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2010-10-22 02:57:50 UTC (rev 108778)
+++ projects/metadata/common/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2010-10-22 06:58:36 UTC (rev 108779)
@@ -28,6 +28,7 @@
import javax.naming.Context;
import javax.naming.NamingException;
+import javax.naming.Referenceable;
import javax.xml.namespace.QName;
import org.jboss.logging.Logger;
@@ -44,6 +45,7 @@
import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerMetaData;
import org.jboss.metadata.javaee.spec.ServiceReferenceHandlersMetaData;
import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.util.naming.Util;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
@@ -57,18 +59,17 @@
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedStubPropertyMetaData;
import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
/**
* Utility to bind service references to JNDI
*
* @author Thomas.Diesler at jboss.org
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
* @since 25-Oct-2007
*/
-public class ServiceReferenceHandler
+public final class ServiceReferenceHandler
{
- // provide logging
- private final Logger log = Logger.getLogger(ServiceReferenceHandler.class);
+ private static final Logger log = Logger.getLogger(ServiceReferenceHandler.class);
private ServiceRefHandler delegate;
@@ -79,24 +80,35 @@
SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
}
-
- if (delegate == null)
- log.warn("ServiceRefHandler not available");
}
public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceReferenceMetaData sref) throws NamingException
{
- if (delegate != null)
+ if (!sref.isProcessed())
{
- if (sref.isProcessed() == false)
- {
- ServiceRefMetaData spiRef = getUnifiedServiceRefMetaData(vfsRoot, sref);
- delegate.bindServiceRef(encCtx, encName, vfsRoot, loader, spiRef);
- sref.setProcessed(true);
- }
+ final UnifiedServiceRefMetaData spiRef = getUnifiedServiceRefMetaData(vfsRoot, sref);
+ final Referenceable jndiReferenceable = delegate.createReferenceable(spiRef, loader);
+ final String jndiFullName = encCtx.getNameInNamespace() + "/" + encName;
+ log.info("Binding service reference to [jndi=" + jndiFullName + "]");
+ Util.bind(encCtx, encName, jndiReferenceable);
+ sref.setProcessed(true);
}
}
+ public Referenceable createReferenceable(final UnifiedVirtualFile vfsRoot, final ClassLoader loader, final ServiceReferenceMetaData sref)
+ {
+ Referenceable referenceable = null;
+
+ if (!sref.isProcessed())
+ {
+ final UnifiedServiceRefMetaData spiRef = getUnifiedServiceRefMetaData(vfsRoot, sref);
+ referenceable = delegate.createReferenceable(spiRef, loader);
+ sref.setProcessed(true);
+ }
+
+ return referenceable;
+ }
+
private UnifiedServiceRefMetaData getUnifiedServiceRefMetaData(UnifiedVirtualFile vfsRoot, ServiceReferenceMetaData sref)
{
UnifiedServiceRefMetaData result = new UnifiedServiceRefMetaData(vfsRoot);
@@ -107,7 +119,6 @@
result.setMappingFile(sref.getJaxrpcMappingFile());
result.setServiceQName(sref.getServiceQname());
result.setAnnotatedElement(sref.getAnnotatedElement());
- result.setProcessed(sref.isProcessed());
List<? extends PortComponentRef> pcRefs = sref.getPortComponentRef();
if (pcRefs != null)
More information about the jboss-cvs-commits
mailing list