Author: richard.opalka(a)jboss.com
Date: 2010-11-04 07:26:26 -0400 (Thu, 04 Nov 2010)
New Revision: 13233
Added:
container/jboss50/branches/jbossws-jboss501-metadata/README
container/jboss50/branches/jbossws-jboss510-metadata/README
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/pom.xml
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java
container/jboss50/branches/jbossws-jboss510-metadata/pom.xml
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java
Log:
[JBWS-3152][JBMETA-308] old AS MD code base refactoring to use up2date JBossWS SPI
Added: container/jboss50/branches/jbossws-jboss501-metadata/README
===================================================================
--- container/jboss50/branches/jbossws-jboss501-metadata/README
(rev 0)
+++ container/jboss50/branches/jbossws-jboss501-metadata/README 2010-11-04 11:26:26 UTC
(rev 13233)
@@ -0,0 +1,9 @@
+This subproject have been forked from
+jboss-metadata 1.0.0.CR16 (AS 5.0.1.GA subcomponent).
+The main purpose of this project is
+to enable JBossWS SPI clean up without
+need for deprecated methods.
+
+To build this project, just type:
+
+mvn clean package -Dmaven.test.skip=true
Modified: container/jboss50/branches/jbossws-jboss501-metadata/pom.xml
===================================================================
--- container/jboss50/branches/jbossws-jboss501-metadata/pom.xml 2010-11-04 10:17:49 UTC
(rev 13232)
+++ container/jboss50/branches/jbossws-jboss501-metadata/pom.xml 2010-11-04 11:26:26 UTC
(rev 13233)
@@ -111,7 +111,7 @@
<dependency>
<groupId>org.jboss.ws</groupId>
<artifactId>jbossws-spi</artifactId>
- <version>1.0.6.GA</version>
+ <version>1.4.0.CR3</version>
</dependency>
<dependency>
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -30,7 +30,7 @@
import org.jboss.metamodel.descriptor.EnvEntry;
import org.jboss.metamodel.descriptor.MessageDestinationRef;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
@@ -107,7 +107,7 @@
parent.addMessageDestinationRef(ref);
}
- public void addChild(ApplicationClientDD parent, ServiceRefMetaData serviceref,
+ public void addChild(ApplicationClientDD parent, UnifiedServiceRefMetaData
serviceref,
UnmarshallingContext navigator, String namespaceURI, String
localName)
{
parent.addServiceRef(serviceref);
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -40,7 +40,7 @@
import org.jboss.metamodel.descriptor.SecurityRoleRef;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
@@ -670,7 +670,7 @@
parent.addResourceRef(envRef);
}
- public void addChild(MessageDrivenBean parent, ServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(MessageDrivenBean parent, UnifiedServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
parent.addServiceRef(envRef);
}
@@ -771,7 +771,7 @@
/**
* Called when parsing character is complete.
*/
- public void addChild(SessionEnterpriseBean parent, ServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(SessionEnterpriseBean parent, UnifiedServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
parent.addServiceRef(envRef);
}
@@ -1037,7 +1037,7 @@
/**
* Called when parsing character is complete.
*/
- public void addChild(Interceptor parent, ServiceRefMetaData ref, UnmarshallingContext
navigator, String namespaceURI, String localName)
+ public void addChild(Interceptor parent, UnifiedServiceRefMetaData ref,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
parent.addServiceRef(ref);
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -35,7 +35,7 @@
import org.jboss.metamodel.descriptor.MessageDestinationRef;
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
* Represents EJB elements of the ejb-jar.xml deployment descriptor for the 1.4
@@ -114,12 +114,12 @@
currentEjb.mergeMessageDestinationRef(ref);
}
- public void addServiceRef(ServiceRefMetaData ref)
+ public void addServiceRef(UnifiedServiceRefMetaData ref)
{
currentEjb.addServiceRef(ref);
}
- public ServiceRefMetaData getServiceRef(String name)
+ public UnifiedServiceRefMetaData getServiceRef(String name)
{
return currentEjb.getServiceRef(name);
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -32,7 +32,7 @@
import org.jboss.metamodel.descriptor.PersistenceUnitRef;
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
*
@@ -50,7 +50,7 @@
Collection<ResourceRef> getResourceRefs();
- Collection<ServiceRefMetaData> getServiceRefs();
+ Collection<UnifiedServiceRefMetaData> getServiceRefs();
Collection<MessageDestinationRef> getMessageDestinationRefs();
@@ -59,4 +59,4 @@
List<PersistenceContextRef> getPersistenceContextRefs();
Collection<JndiRef> getJndiRefs();
-}
\ No newline at end of file
+}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -31,7 +31,7 @@
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
@@ -95,13 +95,13 @@
dd.updateMessageDestinationRef(ref);
}
- public void addChild(ApplicationClientDD parent, ServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(ApplicationClientDD parent, UnifiedServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
String refName = sref.getServiceRefName();
if (refName == null)
throw new IllegalStateException("Invalid service-ref-name: " +
refName);
- ServiceRefMetaData targetRef = parent.getServiceRef(refName);
+ UnifiedServiceRefMetaData targetRef = parent.getServiceRef(refName);
if (targetRef == null)
{
log.debug("Cannot find <service-ref> with name: " + refName);
@@ -109,7 +109,7 @@
}
else
{
- targetRef.merge(sref);
+ //targetRef.merge(sref);
}
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -37,7 +37,7 @@
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
@@ -716,13 +716,13 @@
/**
* Called when parsing character is complete.
*/
- public void addChild(EnterpriseBeans parent, ServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(EnterpriseBeans parent, UnifiedServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
String refName = sref.getServiceRefName();
if (refName == null)
throw new IllegalStateException("Invalid service-ref-name: " +
refName);
- ServiceRefMetaData targetRef = parent.getServiceRef(refName);
+ UnifiedServiceRefMetaData targetRef = parent.getServiceRef(refName);
if (targetRef == null)
{
log.debug("Cannot find <service-ref> with name: " + refName);
@@ -730,7 +730,7 @@
}
else
{
- targetRef.merge(sref);
+ //targetRef.merge(sref);
}
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -23,9 +23,12 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Set;
+import javax.xml.ws.Service;
import javax.xml.ws.WebServiceRef;
import org.jboss.logging.Logger;
@@ -109,11 +112,32 @@
if(annotation.wsdlLocation().length() > 0)
ref.setWsdlFile(annotation.wsdlLocation());
if(annotation.type() != Object.class)
+ {
ref.setServiceRefType(annotation.type().getName());
+ }
else
ref.setServiceRefType(getType(element));
- if(annotation.value() != Object.class)
+
+ if(annotation.value() != Service.class)
+ {
ref.setServiceInterface(annotation.value().getName());
+ }
+ else if (element instanceof Field)
+ {
+ final Class<?> targetClass = ((Field) element).getType();
+ if (Service.class.isAssignableFrom(targetClass))
+ ref.setServiceInterface(targetClass.getName());
+ }
+ else if (element instanceof Method)
+ {
+ final Class<?> targetClass = ((Method) element).getParameterTypes()[0];
+ if (Service.class.isAssignableFrom(targetClass))
+ ref.setServiceInterface(targetClass.getName());
+ }
+ else
+ {
+ ref.setServiceInterface(Service.class.getName());
+ }
String injectionName = getInjectionName(element);
Set<ResourceInjectionTargetMetaData> injectionTargets =
ProcessorUtils.getInjectionTargets(injectionName, element);
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -29,6 +29,7 @@
/**
* @author <a href="mailto:emuckenh@redhat.com">Emanuel
Muckenhuber</a>
+ * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @version $Revision$
*/
public class WebServiceRefClassProcessor
@@ -56,7 +57,7 @@
@Override
protected String getType(Class<?> element)
{
- return element.getName();
+ throw new IllegalStateException("@WebServiceRef annotation on type
'"+ element.getName() +"' must define a type.");
}
@Override
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -35,11 +35,12 @@
/**
* @WebServiceRefs processor
- *
+ *
* @author <a href="mailto:emuckenh@redhat.com">Emanuel
Muckenhuber</a>
+ * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @version $Revision$
*/
-public class WebServiceRefsClassProcessor
+public class WebServiceRefsClassProcessor
extends WebServiceRefClassProcessor
implements Processor<ServiceReferencesMetaData, Class<?>>
{
@@ -48,14 +49,14 @@
{
super(finder);
}
-
+
@Override
public void process(ServiceReferencesMetaData refsMetaData, Class<?> type)
{
WebServiceRefs annotation = finder.getAnnotation(type, WebServiceRefs.class);
if(annotation == null)
return;
-
+
WebServiceRef[] references = annotation.value();
if(references != null)
{
@@ -65,27 +66,9 @@
}
@Override
- protected String getName(Class<?> element)
- {
- String name = element.getSimpleName();
- return name;
- }
-
- @Override
- protected String getType(Class<?> element)
- {
- return element.getName();
- }
-
- @Override
- protected String getDeclaringClass(Class<?> element)
- {
- return element.getName();
- }
-
- @Override
public Collection<Class<? extends Annotation>> getAnnotationTypes()
{
return ProcessorUtils.createAnnotationSet(WebServiceRefs.class);
}
+
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -21,13 +21,23 @@
*/
package org.jboss.metadata.javaee.spec;
+import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
import java.util.List;
+import javax.jws.HandlerChain;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebServiceRef;
+import javax.xml.ws.WebServiceRefs;
import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
import org.jboss.metadata.javaee.support.ResourceInjectionMetaDataWithDescriptionGroup;
@@ -76,6 +86,9 @@
// A flag that should be set when this service-ref has been bound.
private transient boolean processed;
+ // The optional <handler-chain> element. JAX-WS handler chain declared in the
JBoss JavaEE5 descriptor
+ private transient String handlerChain;
+
/**
* Create a new ServiceReferenceMetaData.
*/
@@ -141,8 +154,22 @@
setAnnotatedElement(override.getAnnotatedElement());
else if(original != null && original.getAnnotatedElement() != null)
setAnnotatedElement(original.getAnnotatedElement());
+ if(override != null && override.getHandlerChain() != null)
+ setHandlerChain(override.getHandlerChain());
+ else if (original != null && original.getHandlerChain() != null)
+ setHandlerChain(original.getHandlerChain());
}
+ public String getHandlerChain()
+ {
+ return handlerChain;
+ }
+
+ public void setHandlerChain(String handlerChain)
+ {
+ this.handlerChain = handlerChain;
+ }
+
/**
* Get the serviceRefName.
*
@@ -349,6 +376,8 @@
public void setAnnotatedElement(AnnotatedElement anElement)
{
this.anElement = anElement;
+ this.processHandlerChainAnnotation();
+ this.processServiceRefType();
}
@XmlTransient
@@ -361,4 +390,154 @@
{
this.processed = processed;
}
+
+ private void processServiceRefType()
+ {
+ if (this.anElement instanceof Field)
+ {
+ final Class<?> targetClass = ((Field) this.anElement).getType();
+ this.setServiceRefType(targetClass.getName());
+
+ if (Service.class.isAssignableFrom(targetClass))
+ this.setServiceInterface(targetClass.getName());
+ }
+ else if (this.anElement instanceof Method)
+ {
+ final Class<?> targetClass = ((Method)
this.anElement).getParameterTypes()[0];
+ this.setServiceRefType(targetClass.getName());
+
+ if (Service.class.isAssignableFrom(targetClass))
+ this.setServiceInterface(targetClass.getName());
+ }
+ else
+ {
+ final WebServiceRef serviceRefAnnotation = this.getWebServiceRefAnnotation();
+ Class<?> targetClass = null;
+ if (serviceRefAnnotation != null && (serviceRefAnnotation.type() !=
Object.class))
+ {
+ targetClass = serviceRefAnnotation.type();
+ this.setServiceRefType(targetClass.getName());
+
+ if (Service.class.isAssignableFrom(targetClass))
+ this.setServiceInterface(targetClass.getName());
+ }
+ }
+ }
+
+ private void processHandlerChainAnnotation()
+ {
+ final HandlerChain handlerChainAnnotation =
this.getAnnotation(HandlerChain.class);
+
+ if (handlerChainAnnotation != null)
+ {
+ // Set the handlerChain from @HandlerChain on the annotated element
+ String handlerChain = null;
+ if (handlerChainAnnotation.file().length() > 0)
+ handlerChain = handlerChainAnnotation.file();
+
+ // Resolve path to handler chain
+ if (handlerChain != null)
+ {
+ try
+ {
+ new URL(handlerChain);
+ }
+ catch (MalformedURLException ignored)
+ {
+ final Class<?> declaringClass = getDeclaringClass(this.anElement);
+
+ handlerChain = declaringClass.getPackage().getName().replace('.',
'/') + "/" + handlerChain;
+ }
+
+ this.setHandlerChain(handlerChain);
+ }
+ }
+ }
+
+ private Class<?> getDeclaringClass(final AnnotatedElement annotatedElement)
+ {
+ Class<?> declaringClass = null;
+ if (annotatedElement instanceof Field)
+ declaringClass = ((Field) annotatedElement).getDeclaringClass();
+ else if (annotatedElement instanceof Method)
+ declaringClass = ((Method) annotatedElement).getDeclaringClass();
+ else if (annotatedElement instanceof Class)
+ declaringClass = (Class<?>) annotatedElement;
+
+ return declaringClass;
+ }
+
+ private <T extends Annotation> T getAnnotation(Class<T> annotationClass)
+ {
+ return this.anElement != null ? (T) this.anElement.getAnnotation(annotationClass) :
null;
+ }
+
+ private WebServiceRef getWebServiceRefAnnotation()
+ {
+ final WebServiceRef webServiceRefAnnotation =
this.getAnnotation(WebServiceRef.class);
+ final WebServiceRefs webServiceRefsAnnotation =
this.getAnnotation(WebServiceRefs.class);
+
+ if (webServiceRefAnnotation == null && webServiceRefsAnnotation == null)
+ {
+ return null;
+ }
+
+ // Build the list of @WebServiceRef relevant annotations
+ final List<WebServiceRef> wsrefList = new ArrayList<WebServiceRef>();
+
+ if (webServiceRefAnnotation != null)
+ {
+ wsrefList.add(webServiceRefAnnotation);
+ }
+
+ if (webServiceRefsAnnotation != null)
+ {
+ for (final WebServiceRef webServiceRefAnn : webServiceRefsAnnotation.value())
+ {
+ wsrefList.add(webServiceRefAnn);
+ }
+ }
+
+ // Return effective @WebServiceRef annotation
+ WebServiceRef returnValue = null;
+ if (wsrefList.size() == 1)
+ {
+ returnValue = wsrefList.get(0);
+ }
+ else
+ {
+ for (WebServiceRef webServiceRefAnn : wsrefList)
+ {
+ if (this.getServiceRefName().endsWith(webServiceRefAnn.name()))
+ {
+ returnValue = webServiceRefAnn;
+ break;
+ }
+ }
+ }
+
+ return returnValue;
+ }
+
+ private Class<?> getTargetClass()
+ {
+ Class<?> targetClass = null;
+
+ if (this.anElement instanceof Field)
+ {
+ targetClass = ((Field) this.anElement).getType();
+ }
+ else if (this.anElement instanceof Method)
+ {
+ targetClass = ((Method) this.anElement).getParameterTypes()[0];
+ }
+ else
+ {
+ final WebServiceRef serviceRefAnnotation = this.getWebServiceRefAnnotation();
+ if (serviceRefAnnotation != null && (serviceRefAnnotation.type() !=
Object.class))
+ targetClass = serviceRefAnnotation.type();
+ }
+
+ return targetClass;
+ }
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -21,13 +21,12 @@
*/
package org.jboss.metadata.serviceref;
-// $Id: ServiceRefDelegate.java 65538 2007-09-21 17:29:33Z scott.stark(a)jboss.org $
-
import java.util.Iterator;
import java.util.List;
import javax.naming.Context;
import javax.naming.NamingException;
+import javax.naming.Referenceable;
import javax.xml.namespace.QName;
import org.jboss.logging.Logger;
@@ -42,6 +41,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;
@@ -55,18 +55,16 @@
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(a)jboss.org
- * @since 25-Oct-2007
+ * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
*/
-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;
@@ -77,21 +75,18 @@
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);
+ final String jndiFullName = encCtx.getNameInNamespace() + "/" +
encName;
+ log.info("Binding service reference to [jndi=" + jndiFullName +
"]");
+ Util.bind(encCtx, encName, jndiReferenceable);
+ sref.setProcessed(true);
}
}
@@ -99,13 +94,12 @@
{
UnifiedServiceRefMetaData result = new UnifiedServiceRefMetaData(vfsRoot);
result.setServiceRefName(sref.getServiceRefName());
- result.setServiceInterface(sref.getServiceInterface());
result.setServiceRefType(sref.getServiceRefType());
+ result.setServiceInterface(sref.getServiceInterface());
result.setWsdlFile(sref.getWsdlFile());
result.setMappingFile(sref.getJaxrpcMappingFile());
result.setServiceQName(sref.getServiceQname());
- result.setAnnotatedElement(sref.getAnnotatedElement());
- result.setProcessed(sref.isProcessed());
+ result.setHandlerChain(sref.getHandlerChain());
List<? extends PortComponentRef> pcRefs = sref.getPortComponentRef();
if (pcRefs != null)
@@ -159,12 +153,16 @@
if (sref instanceof JBossServiceReferenceMetaData)
{
JBossServiceReferenceMetaData jbRef = (JBossServiceReferenceMetaData)sref;
- result.setServiceImplClass(jbRef.getServiceClass());
+ if (jbRef.getServiceClass() != null)
+ {
+ result.setServiceImplClass(jbRef.getServiceClass());
+ }
result.setConfigName(jbRef.getConfigName());
result.setConfigFile(jbRef.getConfigFile());
result.setWsdlOverride(jbRef.getWsdlOverride());
result.setHandlerChain(jbRef.getHandlerChain());
}
+
return result;
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -28,7 +28,7 @@
import java.util.List;
import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
* @author <a href="mailto:bdecoste@jboss.com">William DeCoste</a>
@@ -46,7 +46,7 @@
protected HashMap<String, MessageDestinationRef> messageDestinationRefs = new
HashMap<String, MessageDestinationRef>();
/** An index of MessageDestinationRef keyed by message-destination-link values */
protected HashMap<String, MessageDestinationRef> messageDestinationRefsByLink =
new HashMap<String, MessageDestinationRef>();
- protected HashMap<String, ServiceRefMetaData> serviceRefs = new
LinkedHashMap<String, ServiceRefMetaData>();
+ protected HashMap<String, UnifiedServiceRefMetaData> serviceRefs = new
LinkedHashMap<String, UnifiedServiceRefMetaData>();
protected HashMap<String, JndiRef> jndiRefs = new HashMap<String,
JndiRef>();
protected List<PersistenceContextRef> persistenceContextRefs = new
ArrayList<PersistenceContextRef>();
protected List<PersistenceUnitRef> persistenceUnitRefs = new
ArrayList<PersistenceUnitRef>();
@@ -127,17 +127,17 @@
jndiRefs.put(ref.getJndiRefName(), ref);
}
- public Collection<ServiceRefMetaData> getServiceRefs()
+ public Collection<UnifiedServiceRefMetaData> getServiceRefs()
{
return serviceRefs.values();
}
- public void addServiceRef(ServiceRefMetaData ref)
+ public void addServiceRef(UnifiedServiceRefMetaData ref)
{
serviceRefs.put(ref.getServiceRefName(), ref);
}
- public ServiceRefMetaData getServiceRef(String name)
+ public UnifiedServiceRefMetaData getServiceRef(String name)
{
return serviceRefs.get(name);
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -28,6 +28,7 @@
import javax.naming.Context;
import javax.naming.NamingException;
+import javax.naming.Referenceable;
import org.jboss.logging.Logger;
import org.jboss.wsf.spi.SPIProvider;
@@ -36,7 +37,7 @@
import org.jboss.wsf.spi.serviceref.ServiceRefElement;
import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.UnmarshallingContext;
import org.w3c.dom.Element;
import org.xml.sax.Attributes;
@@ -50,110 +51,16 @@
@Deprecated
public class ServiceRefDelegate implements ServiceRefHandler
{
- // provide logging
- private static final Logger log = Logger.getLogger(ServiceRefDelegate.class);
-
- private static ServiceRefHandler delegate;
-
public ServiceRefDelegate()
{
- if (delegate == null)
- {
- SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- delegate =
spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
- }
-
- if (delegate == null)
- log.warn("ServiceRefHandler not available");
}
- public ServiceRefMetaData newServiceRefMetaData()
+ public Referenceable createReferenceable(UnifiedServiceRefMetaData serviceRefUMDM)
{
- ServiceRefMetaData sref;
- if (delegate != null)
- sref = delegate.newServiceRefMetaData();
- else
- sref = new DummyServiceRef();
- return sref;
+ throw new UnsupportedOperationException("Not supported in AS 5 MD");
}
-
- public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, Attributes attrs)
+ public UnifiedServiceRefMetaData newServiceRefMetaData()
{
- Object child = null;
- if (delegate != null)
- child = delegate.newChild(ref, navigator, namespaceURI, localName, attrs);
- return child;
+ throw new UnsupportedOperationException("This have been deprecated");
}
-
- public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, String value)
- {
- if (delegate != null)
- delegate.setValue(ref, navigator, namespaceURI, localName, value);
- }
-
- public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot,
ClassLoader loader, ServiceRefMetaData sref) throws NamingException
- {
- if (delegate != null)
- delegate.bindServiceRef(encCtx, encName, vfsRoot, loader, sref);
- }
-
- public static class DummyServiceRef extends ServiceRefMetaData
- {
- private String refName;
-
-
- public List<String[]> getInjectionTargets()
- {
- return new ArrayList<String[]>();
- }
-
- @Override
- public void setServiceRefName(String name)
- {
- this.refName = name;
- }
-
- @Override
- public String getServiceRefName()
- {
- return refName;
- }
-
- @Override
- public Object getAnnotatedElement()
- {
- return null;
- }
-
- @Override
- public void setAnnotatedElement(Object anElement)
- {
- }
-
- @Override
- public void importJBossXml(Element element)
- {
- }
-
- @Override
- public void importStandardXml(Element element)
- {
- }
-
- @Override
- public boolean isProcessed()
- {
- return false;
- }
-
- @Override
- public void setProcessed(boolean flag)
- {
- }
-
- @Override
- public void merge(ServiceRefMetaData serviceRef)
- {
- }
- }
}
Modified:
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss501-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -45,12 +45,11 @@
public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, Attributes attrs)
{
- return new ServiceRefDelegate().newChild(ref, navigator, namespaceURI, localName,
attrs);
+ return null;
}
public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, String value)
{
- new ServiceRefDelegate().setValue(ref, navigator, namespaceURI, localName, value);
}
public static boolean isJ2EE14Descriptor(Element element)
Added: container/jboss50/branches/jbossws-jboss510-metadata/README
===================================================================
--- container/jboss50/branches/jbossws-jboss510-metadata/README
(rev 0)
+++ container/jboss50/branches/jbossws-jboss510-metadata/README 2010-11-04 11:26:26 UTC
(rev 13233)
@@ -0,0 +1,9 @@
+This subproject have been forked from
+jboss-metadata 1.0.1.GA (AS 5.1.0.GA subcomponent).
+The main purpose of this project is
+to enable JBossWS SPI clean up without
+need for deprecated methods.
+
+To build this project, just type:
+
+mvn clean package -Dmaven.test.skip=true
Modified: container/jboss50/branches/jbossws-jboss510-metadata/pom.xml
===================================================================
--- container/jboss50/branches/jbossws-jboss510-metadata/pom.xml 2010-11-04 10:17:49 UTC
(rev 13232)
+++ container/jboss50/branches/jbossws-jboss510-metadata/pom.xml 2010-11-04 11:26:26 UTC
(rev 13233)
@@ -139,7 +139,7 @@
<dependency>
<groupId>org.jboss.ws</groupId>
<artifactId>jbossws-spi</artifactId>
- <version>1.0.6.GA</version>
+ <version>1.4.0.CR3</version>
</dependency>
<dependency>
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/ApplicationClientDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -30,7 +30,7 @@
import org.jboss.metamodel.descriptor.EnvEntry;
import org.jboss.metamodel.descriptor.MessageDestinationRef;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
@@ -107,7 +107,7 @@
parent.addMessageDestinationRef(ref);
}
- public void addChild(ApplicationClientDD parent, ServiceRefMetaData serviceref,
+ public void addChild(ApplicationClientDD parent, UnifiedServiceRefMetaData
serviceref,
UnmarshallingContext navigator, String namespaceURI, String
localName)
{
parent.addServiceRef(serviceref);
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -40,7 +40,7 @@
import org.jboss.metamodel.descriptor.SecurityRoleRef;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
@@ -670,7 +670,7 @@
parent.addResourceRef(envRef);
}
- public void addChild(MessageDrivenBean parent, ServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(MessageDrivenBean parent, UnifiedServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
parent.addServiceRef(envRef);
}
@@ -771,7 +771,7 @@
/**
* Called when parsing character is complete.
*/
- public void addChild(SessionEnterpriseBean parent, ServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(SessionEnterpriseBean parent, UnifiedServiceRefMetaData envRef,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
parent.addServiceRef(envRef);
}
@@ -1037,7 +1037,7 @@
/**
* Called when parsing character is complete.
*/
- public void addChild(Interceptor parent, ServiceRefMetaData ref, UnmarshallingContext
navigator, String namespaceURI, String localName)
+ public void addChild(Interceptor parent, UnifiedServiceRefMetaData ref,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
parent.addServiceRef(ref);
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/EnterpriseBeans.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -35,7 +35,7 @@
import org.jboss.metamodel.descriptor.MessageDestinationRef;
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
* Represents EJB elements of the ejb-jar.xml deployment descriptor for the 1.4
@@ -114,12 +114,12 @@
currentEjb.mergeMessageDestinationRef(ref);
}
- public void addServiceRef(ServiceRefMetaData ref)
+ public void addServiceRef(UnifiedServiceRefMetaData ref)
{
currentEjb.addServiceRef(ref);
}
- public ServiceRefMetaData getServiceRef(String name)
+ public UnifiedServiceRefMetaData getServiceRef(String name)
{
return currentEjb.getServiceRef(name);
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/Injectable.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -32,7 +32,7 @@
import org.jboss.metamodel.descriptor.PersistenceUnitRef;
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
*
@@ -50,7 +50,7 @@
Collection<ResourceRef> getResourceRefs();
- Collection<ServiceRefMetaData> getServiceRefs();
+ Collection<UnifiedServiceRefMetaData> getServiceRefs();
Collection<MessageDestinationRef> getMessageDestinationRefs();
@@ -59,4 +59,4 @@
List<PersistenceContextRef> getPersistenceContextRefs();
Collection<JndiRef> getJndiRefs();
-}
\ No newline at end of file
+}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -31,7 +31,7 @@
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
@@ -95,13 +95,13 @@
dd.updateMessageDestinationRef(ref);
}
- public void addChild(ApplicationClientDD parent, ServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(ApplicationClientDD parent, UnifiedServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
String refName = sref.getServiceRefName();
if (refName == null)
throw new IllegalStateException("Invalid service-ref-name: " +
refName);
- ServiceRefMetaData targetRef = parent.getServiceRef(refName);
+ UnifiedServiceRefMetaData targetRef = parent.getServiceRef(refName);
if (targetRef == null)
{
log.debug("Cannot find <service-ref> with name: " + refName);
@@ -109,7 +109,7 @@
}
else
{
- targetRef.merge(sref);
+ //targetRef.merge(sref);
}
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -37,7 +37,7 @@
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
@@ -716,13 +716,13 @@
/**
* Called when parsing character is complete.
*/
- public void addChild(EnterpriseBeans parent, ServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
+ public void addChild(EnterpriseBeans parent, UnifiedServiceRefMetaData sref,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
String refName = sref.getServiceRefName();
if (refName == null)
throw new IllegalStateException("Invalid service-ref-name: " +
refName);
- ServiceRefMetaData targetRef = parent.getServiceRef(refName);
+ UnifiedServiceRefMetaData targetRef = parent.getServiceRef(refName);
if (targetRef == null)
{
log.debug("Cannot find <service-ref> with name: " + refName);
@@ -730,7 +730,7 @@
}
else
{
- targetRef.merge(sref);
+ //targetRef.merge(sref);
}
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/AbstractWebServiceRefProcessor.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -23,9 +23,12 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Set;
+import javax.xml.ws.Service;
import javax.xml.ws.WebServiceRef;
import org.jboss.logging.Logger;
@@ -109,11 +112,32 @@
if(annotation.wsdlLocation().length() > 0)
ref.setWsdlFile(annotation.wsdlLocation());
if(annotation.type() != Object.class)
+ {
ref.setServiceRefType(annotation.type().getName());
+ }
else
ref.setServiceRefType(getType(element));
- if(annotation.value() != Object.class)
+
+ if(annotation.value() != Service.class)
+ {
ref.setServiceInterface(annotation.value().getName());
+ }
+ else if (element instanceof Field)
+ {
+ final Class<?> targetClass = ((Field) element).getType();
+ if (Service.class.isAssignableFrom(targetClass))
+ ref.setServiceInterface(targetClass.getName());
+ }
+ else if (element instanceof Method)
+ {
+ final Class<?> targetClass = ((Method) element).getParameterTypes()[0];
+ if (Service.class.isAssignableFrom(targetClass))
+ ref.setServiceInterface(targetClass.getName());
+ }
+ else
+ {
+ ref.setServiceInterface(Service.class.getName());
+ }
String injectionName = getInjectionName(element);
Set<ResourceInjectionTargetMetaData> injectionTargets =
ProcessorUtils.getInjectionTargets(injectionName, element);
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefClassProcessor.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -29,6 +29,7 @@
/**
* @author <a href="mailto:emuckenh@redhat.com">Emanuel
Muckenhuber</a>
+ * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @version $Revision$
*/
public class WebServiceRefClassProcessor
@@ -56,7 +57,7 @@
@Override
protected String getType(Class<?> element)
{
- return element.getName();
+ throw new IllegalStateException("@WebServiceRef annotation on type
'"+ element.getName() +"' must define a type.");
}
@Override
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/annotation/creator/ws/WebServiceRefsClassProcessor.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -35,11 +35,12 @@
/**
* @WebServiceRefs processor
- *
+ *
* @author <a href="mailto:emuckenh@redhat.com">Emanuel
Muckenhuber</a>
+ * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @version $Revision$
*/
-public class WebServiceRefsClassProcessor
+public class WebServiceRefsClassProcessor
extends WebServiceRefClassProcessor
implements Processor<ServiceReferencesMetaData, Class<?>>
{
@@ -48,14 +49,14 @@
{
super(finder);
}
-
+
@Override
public void process(ServiceReferencesMetaData refsMetaData, Class<?> type)
{
WebServiceRefs annotation = finder.getAnnotation(type, WebServiceRefs.class);
if(annotation == null)
return;
-
+
WebServiceRef[] references = annotation.value();
if(references != null)
{
@@ -65,27 +66,9 @@
}
@Override
- protected String getName(Class<?> element)
- {
- String name = element.getSimpleName();
- return name;
- }
-
- @Override
- protected String getType(Class<?> element)
- {
- return element.getName();
- }
-
- @Override
- protected String getDeclaringClass(Class<?> element)
- {
- return element.getName();
- }
-
- @Override
public Collection<Class<? extends Annotation>> getAnnotationTypes()
{
return ProcessorUtils.createAnnotationSet(WebServiceRefs.class);
}
+
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -21,13 +21,23 @@
*/
package org.jboss.metadata.javaee.spec;
+import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
import java.util.List;
+import javax.jws.HandlerChain;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebServiceRef;
+import javax.xml.ws.WebServiceRefs;
import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
import org.jboss.metadata.javaee.support.ResourceInjectionMetaDataWithDescriptionGroup;
@@ -76,6 +86,9 @@
// A flag that should be set when this service-ref has been bound.
private transient boolean processed;
+ // The optional <handler-chain> element. JAX-WS handler chain declared in the
JBoss JavaEE5 descriptor
+ private transient String handlerChain;
+
/**
* Create a new ServiceReferenceMetaData.
*/
@@ -141,8 +154,22 @@
setAnnotatedElement(override.getAnnotatedElement());
else if(original != null && original.getAnnotatedElement() != null)
setAnnotatedElement(original.getAnnotatedElement());
+ if(override != null && override.getHandlerChain() != null)
+ setHandlerChain(override.getHandlerChain());
+ else if (original != null && original.getHandlerChain() != null)
+ setHandlerChain(original.getHandlerChain());
}
+ public String getHandlerChain()
+ {
+ return handlerChain;
+ }
+
+ public void setHandlerChain(String handlerChain)
+ {
+ this.handlerChain = handlerChain;
+ }
+
/**
* Get the serviceRefName.
*
@@ -349,6 +376,8 @@
public void setAnnotatedElement(AnnotatedElement anElement)
{
this.anElement = anElement;
+ this.processHandlerChainAnnotation();
+ this.processServiceRefType();
}
@XmlTransient
@@ -361,4 +390,154 @@
{
this.processed = processed;
}
+
+ private void processServiceRefType()
+ {
+ if (this.anElement instanceof Field)
+ {
+ final Class<?> targetClass = ((Field) this.anElement).getType();
+ this.setServiceRefType(targetClass.getName());
+
+ if (Service.class.isAssignableFrom(targetClass))
+ this.setServiceInterface(targetClass.getName());
+ }
+ else if (this.anElement instanceof Method)
+ {
+ final Class<?> targetClass = ((Method)
this.anElement).getParameterTypes()[0];
+ this.setServiceRefType(targetClass.getName());
+
+ if (Service.class.isAssignableFrom(targetClass))
+ this.setServiceInterface(targetClass.getName());
+ }
+ else
+ {
+ final WebServiceRef serviceRefAnnotation = this.getWebServiceRefAnnotation();
+ Class<?> targetClass = null;
+ if (serviceRefAnnotation != null && (serviceRefAnnotation.type() !=
Object.class))
+ {
+ targetClass = serviceRefAnnotation.type();
+ this.setServiceRefType(targetClass.getName());
+
+ if (Service.class.isAssignableFrom(targetClass))
+ this.setServiceInterface(targetClass.getName());
+ }
+ }
+ }
+
+ private void processHandlerChainAnnotation()
+ {
+ final HandlerChain handlerChainAnnotation =
this.getAnnotation(HandlerChain.class);
+
+ if (handlerChainAnnotation != null)
+ {
+ // Set the handlerChain from @HandlerChain on the annotated element
+ String handlerChain = null;
+ if (handlerChainAnnotation.file().length() > 0)
+ handlerChain = handlerChainAnnotation.file();
+
+ // Resolve path to handler chain
+ if (handlerChain != null)
+ {
+ try
+ {
+ new URL(handlerChain);
+ }
+ catch (MalformedURLException ignored)
+ {
+ final Class<?> declaringClass = getDeclaringClass(this.anElement);
+
+ handlerChain = declaringClass.getPackage().getName().replace('.',
'/') + "/" + handlerChain;
+ }
+
+ this.setHandlerChain(handlerChain);
+ }
+ }
+ }
+
+ private Class<?> getDeclaringClass(final AnnotatedElement annotatedElement)
+ {
+ Class<?> declaringClass = null;
+ if (annotatedElement instanceof Field)
+ declaringClass = ((Field) annotatedElement).getDeclaringClass();
+ else if (annotatedElement instanceof Method)
+ declaringClass = ((Method) annotatedElement).getDeclaringClass();
+ else if (annotatedElement instanceof Class)
+ declaringClass = (Class<?>) annotatedElement;
+
+ return declaringClass;
+ }
+
+ private <T extends Annotation> T getAnnotation(Class<T> annotationClass)
+ {
+ return this.anElement != null ? (T) this.anElement.getAnnotation(annotationClass) :
null;
+ }
+
+ private WebServiceRef getWebServiceRefAnnotation()
+ {
+ final WebServiceRef webServiceRefAnnotation =
this.getAnnotation(WebServiceRef.class);
+ final WebServiceRefs webServiceRefsAnnotation =
this.getAnnotation(WebServiceRefs.class);
+
+ if (webServiceRefAnnotation == null && webServiceRefsAnnotation == null)
+ {
+ return null;
+ }
+
+ // Build the list of @WebServiceRef relevant annotations
+ final List<WebServiceRef> wsrefList = new ArrayList<WebServiceRef>();
+
+ if (webServiceRefAnnotation != null)
+ {
+ wsrefList.add(webServiceRefAnnotation);
+ }
+
+ if (webServiceRefsAnnotation != null)
+ {
+ for (final WebServiceRef webServiceRefAnn : webServiceRefsAnnotation.value())
+ {
+ wsrefList.add(webServiceRefAnn);
+ }
+ }
+
+ // Return effective @WebServiceRef annotation
+ WebServiceRef returnValue = null;
+ if (wsrefList.size() == 1)
+ {
+ returnValue = wsrefList.get(0);
+ }
+ else
+ {
+ for (WebServiceRef webServiceRefAnn : wsrefList)
+ {
+ if (this.getServiceRefName().endsWith(webServiceRefAnn.name()))
+ {
+ returnValue = webServiceRefAnn;
+ break;
+ }
+ }
+ }
+
+ return returnValue;
+ }
+
+ private Class<?> getTargetClass()
+ {
+ Class<?> targetClass = null;
+
+ if (this.anElement instanceof Field)
+ {
+ targetClass = ((Field) this.anElement).getType();
+ }
+ else if (this.anElement instanceof Method)
+ {
+ targetClass = ((Method) this.anElement).getParameterTypes()[0];
+ }
+ else
+ {
+ final WebServiceRef serviceRefAnnotation = this.getWebServiceRefAnnotation();
+ if (serviceRefAnnotation != null && (serviceRefAnnotation.type() !=
Object.class))
+ targetClass = serviceRefAnnotation.type();
+ }
+
+ return targetClass;
+ }
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -21,13 +21,12 @@
*/
package org.jboss.metadata.serviceref;
-// $Id: ServiceRefDelegate.java 65538 2007-09-21 17:29:33Z scott.stark(a)jboss.org $
-
import java.util.Iterator;
import java.util.List;
import javax.naming.Context;
import javax.naming.NamingException;
+import javax.naming.Referenceable;
import javax.xml.namespace.QName;
import org.jboss.logging.Logger;
@@ -42,6 +41,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;
@@ -55,18 +55,16 @@
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(a)jboss.org
- * @since 25-Oct-2007
+ * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
*/
-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;
@@ -77,21 +75,18 @@
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);
+ final String jndiFullName = encCtx.getNameInNamespace() + "/" +
encName;
+ log.info("Binding service reference to [jndi=" + jndiFullName +
"]");
+ Util.bind(encCtx, encName, jndiReferenceable);
+ sref.setProcessed(true);
}
}
@@ -99,13 +94,12 @@
{
UnifiedServiceRefMetaData result = new UnifiedServiceRefMetaData(vfsRoot);
result.setServiceRefName(sref.getServiceRefName());
- result.setServiceInterface(sref.getServiceInterface());
result.setServiceRefType(sref.getServiceRefType());
+ result.setServiceInterface(sref.getServiceInterface());
result.setWsdlFile(sref.getWsdlFile());
result.setMappingFile(sref.getJaxrpcMappingFile());
result.setServiceQName(sref.getServiceQname());
- result.setAnnotatedElement(sref.getAnnotatedElement());
- result.setProcessed(sref.isProcessed());
+ result.setHandlerChain(sref.getHandlerChain());
List<? extends PortComponentRef> pcRefs = sref.getPortComponentRef();
if (pcRefs != null)
@@ -159,12 +153,16 @@
if (sref instanceof JBossServiceReferenceMetaData)
{
JBossServiceReferenceMetaData jbRef = (JBossServiceReferenceMetaData)sref;
- result.setServiceImplClass(jbRef.getServiceClass());
+ if (jbRef.getServiceClass() != null)
+ {
+ result.setServiceImplClass(jbRef.getServiceClass());
+ }
result.setConfigName(jbRef.getConfigName());
result.setConfigFile(jbRef.getConfigFile());
result.setWsdlOverride(jbRef.getWsdlOverride());
result.setHandlerChain(jbRef.getHandlerChain());
}
+
return result;
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -28,7 +28,7 @@
import java.util.List;
import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
* @author <a href="mailto:bdecoste@jboss.com">William DeCoste</a>
@@ -46,7 +46,7 @@
protected HashMap<String, MessageDestinationRef> messageDestinationRefs = new
HashMap<String, MessageDestinationRef>();
/** An index of MessageDestinationRef keyed by message-destination-link values */
protected HashMap<String, MessageDestinationRef> messageDestinationRefsByLink =
new HashMap<String, MessageDestinationRef>();
- protected HashMap<String, ServiceRefMetaData> serviceRefs = new
LinkedHashMap<String, ServiceRefMetaData>();
+ protected HashMap<String, UnifiedServiceRefMetaData> serviceRefs = new
LinkedHashMap<String, UnifiedServiceRefMetaData>();
protected HashMap<String, JndiRef> jndiRefs = new HashMap<String,
JndiRef>();
protected List<PersistenceContextRef> persistenceContextRefs = new
ArrayList<PersistenceContextRef>();
protected List<PersistenceUnitRef> persistenceUnitRefs = new
ArrayList<PersistenceUnitRef>();
@@ -127,17 +127,17 @@
jndiRefs.put(ref.getJndiRefName(), ref);
}
- public Collection<ServiceRefMetaData> getServiceRefs()
+ public Collection<UnifiedServiceRefMetaData> getServiceRefs()
{
return serviceRefs.values();
}
- public void addServiceRef(ServiceRefMetaData ref)
+ public void addServiceRef(UnifiedServiceRefMetaData ref)
{
serviceRefs.put(ref.getServiceRefName(), ref);
}
- public ServiceRefMetaData getServiceRef(String name)
+ public UnifiedServiceRefMetaData getServiceRef(String name)
{
return serviceRefs.get(name);
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -28,6 +28,7 @@
import javax.naming.Context;
import javax.naming.NamingException;
+import javax.naming.Referenceable;
import org.jboss.logging.Logger;
import org.jboss.wsf.spi.SPIProvider;
@@ -36,7 +37,7 @@
import org.jboss.wsf.spi.serviceref.ServiceRefElement;
import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.xb.binding.UnmarshallingContext;
import org.w3c.dom.Element;
import org.xml.sax.Attributes;
@@ -50,110 +51,16 @@
@Deprecated
public class ServiceRefDelegate implements ServiceRefHandler
{
- // provide logging
- private static final Logger log = Logger.getLogger(ServiceRefDelegate.class);
-
- private static ServiceRefHandler delegate;
-
public ServiceRefDelegate()
{
- if (delegate == null)
- {
- SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- delegate =
spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
- }
-
- if (delegate == null)
- log.warn("ServiceRefHandler not available");
}
- public ServiceRefMetaData newServiceRefMetaData()
+ public Referenceable createReferenceable(UnifiedServiceRefMetaData serviceRefUMDM)
{
- ServiceRefMetaData sref;
- if (delegate != null)
- sref = delegate.newServiceRefMetaData();
- else
- sref = new DummyServiceRef();
- return sref;
+ throw new UnsupportedOperationException("Not supported in AS 5 MD");
}
-
- public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, Attributes attrs)
+ public UnifiedServiceRefMetaData newServiceRefMetaData()
{
- Object child = null;
- if (delegate != null)
- child = delegate.newChild(ref, navigator, namespaceURI, localName, attrs);
- return child;
+ throw new UnsupportedOperationException("This have been deprecated");
}
-
- public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, String value)
- {
- if (delegate != null)
- delegate.setValue(ref, navigator, namespaceURI, localName, value);
- }
-
- public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot,
ClassLoader loader, ServiceRefMetaData sref) throws NamingException
- {
- if (delegate != null)
- delegate.bindServiceRef(encCtx, encName, vfsRoot, loader, sref);
- }
-
- public static class DummyServiceRef extends ServiceRefMetaData
- {
- private String refName;
-
-
- public List<String[]> getInjectionTargets()
- {
- return new ArrayList<String[]>();
- }
-
- @Override
- public void setServiceRefName(String name)
- {
- this.refName = name;
- }
-
- @Override
- public String getServiceRefName()
- {
- return refName;
- }
-
- @Override
- public Object getAnnotatedElement()
- {
- return null;
- }
-
- @Override
- public void setAnnotatedElement(Object anElement)
- {
- }
-
- @Override
- public void importJBossXml(Element element)
- {
- }
-
- @Override
- public void importStandardXml(Element element)
- {
- }
-
- @Override
- public boolean isProcessed()
- {
- return false;
- }
-
- @Override
- public void setProcessed(boolean flag)
- {
- }
-
- @Override
- public void merge(ServiceRefMetaData serviceRef)
- {
- }
- }
}
Modified:
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java 2010-11-04
10:17:49 UTC (rev 13232)
+++
container/jboss50/branches/jbossws-jboss510-metadata/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java 2010-11-04
11:26:26 UTC (rev 13233)
@@ -45,12 +45,11 @@
public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, Attributes attrs)
{
- return new ServiceRefDelegate().newChild(ref, navigator, namespaceURI, localName,
attrs);
+ return null;
}
public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, String value)
{
- new ServiceRefDelegate().setValue(ref, navigator, namespaceURI, localName, value);
}
public static boolean isJ2EE14Descriptor(Element element)