From b3ba97fa08cc28f9018d22b6dfee90b94154da1b Mon Sep 17 00:00:00 2001 From: markt Date: Thu, 5 Nov 2009 18:41:30 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48135 Also add generics where possible and other Eclipse warnings git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@833120 13f79535-47bb-0310-9956-ffa450edef68 --- .../naming/factory/webservices/ServiceProxy.java | 14 ++--- .../factory/webservices/ServiceRefFactory.java | 61 +++++++++++----------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/java/org/apache/naming/factory/webservices/ServiceProxy.java b/java/org/apache/naming/factory/webservices/ServiceProxy.java index c15e2bbbf..2bf07a6c8 100644 --- a/java/org/apache/naming/factory/webservices/ServiceProxy.java +++ b/java/org/apache/naming/factory/webservices/ServiceProxy.java @@ -57,7 +57,7 @@ public class ServiceProxy /** * PortComponentRef list */ - private Hashtable portComponentRef = null; + private Hashtable portComponentRef = null; /** * Constructs a new ServiceProxy wrapping given Service instance. @@ -103,10 +103,10 @@ public class ServiceProxy throws ServiceException { QName name = (QName) args[0]; String nameString = name.getLocalPart(); - Class serviceendpointClass = (Class) args[1]; + Class serviceendpointClass = (Class) args[1]; - for (Iterator ports = service.getPorts(); ports.hasNext();) { - QName portName = (QName) ports.next(); + for (Iterator ports = service.getPorts(); ports.hasNext();) { + QName portName = ports.next(); String portnameString = portName.getLocalPart(); if (portnameString.equals(nameString)) { return service.getPort(name, serviceendpointClass); @@ -120,7 +120,7 @@ public class ServiceProxy /** * @param portComponentRef List */ - public void setPortComponentRef(Hashtable portComponentRef) { + public void setPortComponentRef(Hashtable portComponentRef) { this.portComponentRef = portComponentRef; } @@ -131,12 +131,12 @@ public class ServiceProxy */ private Remote getProxyPortClass(Object[] args) throws ServiceException { - Class serviceendpointClass = (Class) args[0]; + Class serviceendpointClass = (Class) args[0]; if (this.portComponentRef == null) return service.getPort(serviceendpointClass); - QName portname = (QName) this.portComponentRef.get(serviceendpointClass.getName()); + QName portname = this.portComponentRef.get(serviceendpointClass.getName()); if (portname != null) { return service.getPort(portname, serviceendpointClass); } else { diff --git a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java index 0a1af79df..4c82aab69 100644 --- a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java +++ b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java @@ -31,7 +31,6 @@ import java.util.List; import java.util.Map; import javax.naming.Context; -import javax.naming.InitialContext; import javax.naming.Name; import javax.naming.NamingException; import javax.naming.spi.ObjectFactory; @@ -86,7 +85,7 @@ public class ServiceRefFactory * @param obj The reference object describing the webservice */ public Object getObjectInstance(Object obj, Name name, Context nameCtx, - Hashtable environment) + Hashtable environment) throws Exception { if (obj instanceof ServiceRef) { @@ -113,7 +112,8 @@ public class ServiceRefFactory wsdlRefAddr = (String) tmp.getContent(); // PortComponent - Hashtable portComponentRef = new Hashtable(); + Hashtable portComponentRef = + new Hashtable(); // Create QName object QName serviceQname = null; @@ -129,7 +129,7 @@ public class ServiceRefFactory serviceLocalPart); } } - Class serviceInterfaceClass = null; + Class serviceInterfaceClass = null; // Create service object if (serviceInterface == null) { @@ -197,12 +197,12 @@ public class ServiceRefFactory Definition def = reader.readWSDL((new URL(wsdlRefAddr)).toExternalForm()); javax.wsdl.Service wsdlservice = def.getService(serviceQname); - Map ports = wsdlservice.getPorts(); + Map ports = wsdlservice.getPorts(); Method m = serviceInterfaceClass.getMethod("setEndpointAddress", new Class[] { java.lang.String.class, java.lang.String.class }); - for (Iterator i = ports.keySet().iterator(); i.hasNext();) { - String portName = (String) i.next(); + for (Iterator i = ports.keySet().iterator(); i.hasNext();) { + String portName = i.next(); Port port = wsdlservice.getPort(portName); String endpoint = getSOAPLocation(port); m.invoke(service, new Object[] {port.getName(), endpoint }); @@ -234,16 +234,14 @@ public class ServiceRefFactory proxy.setPortComponentRef(portComponentRef); // Instantiate service with proxy class - Class[] interfaces = null; - Class[] serviceInterfaces = serviceInterfaceClass.getInterfaces(); - if (serviceInterfaceClass != null) { - interfaces = new Class[serviceInterfaces.length + 1]; - for (int i = 0; i < serviceInterfaces.length; i++) { - interfaces[i] = serviceInterfaces[i]; - } - } else { - interfaces = new Class[1]; + Class[] interfaces = null; + Class[] serviceInterfaces = serviceInterfaceClass.getInterfaces(); + + interfaces = new Class[serviceInterfaces.length + 1]; + for (int i = 0; i < serviceInterfaces.length; i++) { + interfaces[i] = serviceInterfaces[i]; } + interfaces[interfaces.length - 1] = javax.xml.rpc.Service.class; Object proxyInstance = null; try { @@ -256,7 +254,7 @@ public class ServiceRefFactory if (((ServiceRef) ref).getHandlersSize() > 0) { HandlerRegistry handlerRegistry = service.getHandlerRegistry(); - ArrayList soaproles = new ArrayList(); + ArrayList soaproles = new ArrayList(); while (((ServiceRef) ref).getHandlersSize() > 0) { HandlerRef handler = ((ServiceRef) ref).getHandler(); @@ -266,7 +264,7 @@ public class ServiceRefFactory tmp = handler.get(HandlerRef.HANDLER_CLASS); if ((tmp == null) || (tmp.getContent() == null)) break; - Class handlerClass = null; + Class handlerClass = null; try { handlerClass = tcl.loadClass((String) tmp.getContent()); } catch(ClassNotFoundException e) { @@ -275,9 +273,9 @@ public class ServiceRefFactory // Load all datas relative to the handler : SOAPHeaders, config init element, // portNames to be set on - ArrayList headers = new ArrayList(); - Hashtable config = new Hashtable(); - ArrayList portNames = new ArrayList(); + ArrayList headers = new ArrayList(); + Hashtable config = new Hashtable(); + ArrayList portNames = new ArrayList(); for (int i = 0; i < handler.size(); i++) if (HandlerRef.HANDLER_LOCALPART.equals(handler.get(i).getType())) { String localpart = ""; @@ -310,18 +308,18 @@ public class ServiceRefFactory // Set the handlers informations handlerref.setHandlerClass(handlerClass); - handlerref.setHeaders((QName []) headers.toArray(new QName[headers.size()])); + handlerref.setHeaders(headers.toArray(new QName[headers.size()])); handlerref.setHandlerConfig(config); if (!portNames.isEmpty()) { - Iterator iter = portNames.iterator(); + Iterator iter = portNames.iterator(); while (iter.hasNext()) - initHandlerChain(new QName((String) iter.next()), handlerRegistry, + initHandlerChain(new QName(iter.next()), handlerRegistry, handlerref, soaproles); } else { - Enumeration e = portComponentRef.elements(); + Enumeration e = portComponentRef.elements(); while(e.hasMoreElements()) - initHandlerChain((QName) e.nextElement(), handlerRegistry, + initHandlerChain(e.nextElement(), handlerRegistry, handlerref, soaproles); } } @@ -341,9 +339,10 @@ public class ServiceRefFactory */ private String getSOAPLocation(Port port) { String endpoint = null; - List extensions = port.getExtensibilityElements(); - for (Iterator i = extensions.iterator(); i.hasNext();) { - ExtensibilityElement ext = (ExtensibilityElement) i.next(); + List extensions = port.getExtensibilityElements(); + for (Iterator i = extensions.iterator(); + i.hasNext();) { + ExtensibilityElement ext = i.next(); if (ext instanceof SOAPAddress) { SOAPAddress addr = (SOAPAddress) ext; endpoint = addr.getLocationURI(); @@ -354,7 +353,7 @@ public class ServiceRefFactory private void initHandlerChain(QName portName, HandlerRegistry handlerRegistry, - HandlerInfo handlerref, ArrayList soaprolesToAdd) { + HandlerInfo handlerref, ArrayList soaprolesToAdd) { HandlerChain handlerList = (HandlerChain) handlerRegistry.getHandlerChain(portName); handlerList.add(handlerref); String[] soaprolesRegistered = handlerList.getRoles(); @@ -363,7 +362,7 @@ public class ServiceRefFactory for (i = 0;i < soaprolesRegistered.length; i++) soaproles[i] = soaprolesRegistered[i]; for (int j = 0; j < soaprolesToAdd.size(); j++) - soaproles[i+j] = (String) soaprolesToAdd.get(j); + soaproles[i+j] = soaprolesToAdd.get(j); handlerList.setRoles(soaproles); handlerRegistry.setHandlerChain(portName, handlerList); } -- 2.11.0