You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2011/04/10 15:51:47 UTC
svn commit: r1090800 -
/geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java
Author: xuhaihong
Date: Sun Apr 10 13:51:47 2011
New Revision: 1090800
URL: http://svn.apache.org/viewvc?rev=1090800&view=rev
Log:
No function change, refract codes a bit
Modified:
geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java (contents, props changed)
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java?rev=1090800&r1=1090799&r2=1090800&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java Sun Apr 10 13:51:47 2011
@@ -20,6 +20,7 @@ package org.apache.geronimo.naming.deplo
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -95,44 +96,37 @@ public class SwitchingServiceRefBuilder
processAnnotations(specDD, module);
}
- Bundle bundle = module.getEarContext().getDeploymentBundle();
- Class jaxrpcClass = null;
- Class jaxwsClass = null;
-
Collection<ServiceRef> serviceRefs = specDD.getServiceRef();
XmlObject[] gerServiceRefsUntyped = plan == null ? NO_REFS : plan
.selectChildren(GER_SERVICE_REF_QNAME_SET);
- Map serviceRefMap = mapServiceRefs(gerServiceRefsUntyped);
-
- for (ServiceRef serviceRef : serviceRefs) {
- if (jaxrpcClass == null) {
- jaxrpcClass = loadClass("javax.xml.rpc.Service", bundle);
- }
- if (jaxwsClass == null) {
- jaxwsClass = loadClass("javax.xml.ws.Service", bundle);
- }
+ Map<String, GerServiceRefType> serviceRefMap = mapServiceRefs(gerServiceRefsUntyped);
- String name = getStringValue(serviceRef.getServiceRefName());
- GerServiceRefType gerServiceRefType = (GerServiceRefType) serviceRefMap.get(name);
- serviceRefMap.remove(name);
-
- String serviceInterfaceName = serviceRef.getServiceInterface();
- Class serviceInterfaceClass = loadClass(serviceInterfaceName, bundle);
-
- if (jaxrpcClass.isAssignableFrom(serviceInterfaceClass)) {
- // class jaxrpc handler
- ServiceRefBuilder jaxrpcBuilder = getJAXRCPBuilder();
- jaxrpcBuilder.buildNaming(serviceRef, gerServiceRefType, module, sharedContext);
- } else if (jaxwsClass.isAssignableFrom(serviceInterfaceClass)) {
- // call jaxws handler
- ServiceRefBuilder jaxwsBuilder = getJAXWSBuilder();
- jaxwsBuilder.buildNaming(serviceRef, gerServiceRefType, module, sharedContext);
- } else {
- throw new DeploymentException(serviceInterfaceName
- + " does not extend "
- + jaxrpcClass.getName() + " or "
- + jaxwsClass.getName());
+ if (serviceRefs.size() > 0) {
+ Bundle bundle = module.getEarContext().getDeploymentBundle();
+ Class<?> jaxrpcClass = loadClass("javax.xml.rpc.Service", bundle);
+ Class<?> jaxwsClass = loadClass("javax.xml.ws.Service", bundle);
+
+ for (ServiceRef serviceRef : serviceRefs) {
+
+ String name = getStringValue(serviceRef.getServiceRefName());
+ GerServiceRefType gerServiceRefType = serviceRefMap.get(name);
+ serviceRefMap.remove(name);
+
+ String serviceInterfaceName = serviceRef.getServiceInterface();
+ Class<?> serviceInterfaceClass = loadClass(serviceInterfaceName, bundle);
+
+ if (jaxrpcClass.isAssignableFrom(serviceInterfaceClass)) {
+ // class jaxrpc handler
+ ServiceRefBuilder jaxrpcBuilder = getJAXRCPBuilder();
+ jaxrpcBuilder.buildNaming(serviceRef, gerServiceRefType, module, sharedContext);
+ } else if (jaxwsClass.isAssignableFrom(serviceInterfaceClass)) {
+ // call jaxws handler
+ ServiceRefBuilder jaxwsBuilder = getJAXWSBuilder();
+ jaxwsBuilder.buildNaming(serviceRef, gerServiceRefType, module, sharedContext);
+ } else {
+ throw new DeploymentException(serviceInterfaceName + " does not extend " + jaxrpcClass.getName() + " or " + jaxwsClass.getName());
+ }
}
}
@@ -182,17 +176,17 @@ public class SwitchingServiceRefBuilder
}
}
- private static Map mapServiceRefs(XmlObject[] refs) {
- Map refMap = new HashMap();
- if (refs != null) {
+ private Map<String, GerServiceRefType> mapServiceRefs(XmlObject[] refs) {
+ if (refs != null && refs.length > 0) {
+ Map<String, GerServiceRefType> refMap = new HashMap<String, GerServiceRefType>();
for (int i = 0; i < refs.length; i++) {
- GerServiceRefType ref = (GerServiceRefType) refs[i].copy()
- .changeType(GerServiceRefType.type);
+ GerServiceRefType ref = (GerServiceRefType) refs[i].copy().changeType(GerServiceRefType.type);
String serviceRefName = ref.getServiceRefName().trim();
refMap.put(serviceRefName, ref);
}
+ return refMap;
}
- return refMap;
+ return Collections.<String, GerServiceRefType> emptyMap();
}
private void processAnnotations(JndiConsumer specDD, Module module) throws DeploymentException {
@@ -293,7 +287,7 @@ public class SwitchingServiceRefBuilder
if (method != null || field != null) {
serviceRef.getInjectionTarget().add(configureInjectionTarget(method, field));
}
-
+
// mappedName
if (serviceRef.getMappedName() == null && annotation.mappedName().trim().length() > 0) {
serviceRef.setMappedName(annotation.mappedName().trim());
Propchange: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/SwitchingServiceRefBuilder.java
------------------------------------------------------------------------------
svn:mime-type = text/plain