This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 7.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/7.0.x by this push: new 2b6d105 Code clean-up. 2b6d105 is described below commit 2b6d105f6061a0d4f3a803357486acf7b9d69191 Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Jul 10 09:01:44 2019 +0100 Code clean-up. Generally, align with 8.5.x. Add i18n, enhanced for loops, reduced casting, use interfaces rather than concrete types. --- .../factory/webservices/LocalStrings.properties | 16 ++++++ .../factory/webservices/LocalStrings_fr.properties | 16 ++++++ .../factory/webservices/LocalStrings_ja.properties | 16 ++++++ .../naming/factory/webservices/ServiceProxy.java | 15 +++-- .../factory/webservices/ServiceRefFactory.java | 66 +++++++--------------- 5 files changed, 75 insertions(+), 54 deletions(-) diff --git a/java/org/apache/naming/factory/webservices/LocalStrings.properties b/java/org/apache/naming/factory/webservices/LocalStrings.properties new file mode 100644 index 0000000..0c5d17e --- /dev/null +++ b/java/org/apache/naming/factory/webservices/LocalStrings.properties @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +serviceProxy.portNotFound=Port-component-ref [{0}] not found diff --git a/java/org/apache/naming/factory/webservices/LocalStrings_fr.properties b/java/org/apache/naming/factory/webservices/LocalStrings_fr.properties new file mode 100644 index 0000000..94053ed --- /dev/null +++ b/java/org/apache/naming/factory/webservices/LocalStrings_fr.properties @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +serviceProxy.portNotFound=Le port-component-ref [{0}] n''a pas été trouvé diff --git a/java/org/apache/naming/factory/webservices/LocalStrings_ja.properties b/java/org/apache/naming/factory/webservices/LocalStrings_ja.properties new file mode 100644 index 0000000..a210092 --- /dev/null +++ b/java/org/apache/naming/factory/webservices/LocalStrings_ja.properties @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +serviceProxy.portNotFound=port-component-ref [{0}] [{0}]が見つかりません diff --git a/java/org/apache/naming/factory/webservices/ServiceProxy.java b/java/org/apache/naming/factory/webservices/ServiceProxy.java index 4f6fee3..4539c83 100644 --- a/java/org/apache/naming/factory/webservices/ServiceProxy.java +++ b/java/org/apache/naming/factory/webservices/ServiceProxy.java @@ -14,8 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - package org.apache.naming.factory.webservices; import java.lang.reflect.InvocationHandler; @@ -29,20 +27,22 @@ import javax.xml.namespace.QName; import javax.xml.rpc.Service; import javax.xml.rpc.ServiceException; +import org.apache.naming.StringManager; + /** * Object proxy for Web Services. * * @author Fabien Carrion */ +public class ServiceProxy implements InvocationHandler { -public class ServiceProxy - implements InvocationHandler { + private static final StringManager sm = StringManager.getManager(ServiceProxy.class); /** * Service object. * used for delegation */ - private Service service = null; + private final Service service; /** * changing behavior to method : Service.getPort(QName, Class) @@ -101,14 +101,13 @@ public class ServiceProxy * @return Returns the correct Port * @throws ServiceException if port's QName is an unknown Port (not defined in WSDL). */ - @SuppressWarnings("unchecked") private Object getProxyPortQNameClass(Object[] args) throws ServiceException { QName name = (QName) args[0]; String nameString = name.getLocalPart(); Class<?> serviceendpointClass = (Class<?>) args[1]; - for (Iterator<QName> ports = service.getPorts(); ports.hasNext();) { + for (@SuppressWarnings("unchecked") Iterator<QName> ports = service.getPorts(); ports.hasNext();) { QName portName = ports.next(); String portnameString = portName.getLocalPart(); if (portnameString.equals(nameString)) { @@ -117,7 +116,7 @@ public class ServiceProxy } // no ports have been found - throw new ServiceException("Port-component-ref : " + name + " not found"); + throw new ServiceException(sm.getString("serviceProxy.portNotFound", name)); } /** diff --git a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java index b36a6af..6d9a496 100644 --- a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java +++ b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java @@ -21,6 +21,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.net.URL; import java.util.ArrayList; +import java.util.Arrays; import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; @@ -32,7 +33,6 @@ import javax.naming.Context; import javax.naming.Name; import javax.naming.NamingException; import javax.naming.RefAddr; -import javax.naming.Reference; import javax.naming.spi.ObjectFactory; import javax.wsdl.Definition; import javax.wsdl.Port; @@ -56,28 +56,10 @@ import org.apache.naming.ServiceRef; * * @author Fabien Carrion */ - -public class ServiceRefFactory - implements ObjectFactory { - - - // ----------------------------------------------------------- Constructors - - - // -------------------------------------------------------------- Constants - - - // ----------------------------------------------------- Instance Variables - - - // --------------------------------------------------------- Public Methods - - - // -------------------------------------------------- ObjectFactory Methods - +public class ServiceRefFactory implements ObjectFactory { /** - * Crete a new serviceref instance. + * Create a new serviceref instance. * * @param obj The reference object describing the webservice */ @@ -87,7 +69,7 @@ public class ServiceRefFactory throws Exception { if (obj instanceof ServiceRef) { - Reference ref = (Reference) obj; + ServiceRef ref = (ServiceRef) obj; // ClassLoader ClassLoader tcl = @@ -110,8 +92,7 @@ public class ServiceRefFactory wsdlRefAddr = (String) tmp.getContent(); // PortComponent - Hashtable<String,QName> portComponentRef = - new Hashtable<String,QName>(); + Hashtable<String,QName> portComponentRef = new Hashtable<String,QName>(); // Create QName object QName serviceQname = null; @@ -200,11 +181,10 @@ public class ServiceRefFactory Method m = serviceInterfaceClass.getMethod("setEndpointAddress", new Class[] { java.lang.String.class, java.lang.String.class }); - for (Iterator<String> i = ports.keySet().iterator(); i.hasNext();) { - String portName = i.next(); + for (String portName : ports.keySet()) { Port port = wsdlservice.getPort(portName); String endpoint = getSOAPLocation(port); - m.invoke(service, new Object[] {port.getName(), endpoint }); + m.invoke(service, new Object[]{port.getName(), endpoint}); portComponentRef.put(endpoint, new QName(port.getName())); } } catch (Exception e) { @@ -242,15 +222,11 @@ public class ServiceRefFactory proxy.setPortComponentRef(portComponentRef); // Instantiate service with proxy class - 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]; - } - + Class<?>[] interfaces = Arrays.copyOf(serviceInterfaces, serviceInterfaces.length + 1); interfaces[interfaces.length - 1] = javax.xml.rpc.Service.class; + Object proxyInstance = null; try { proxyInstance = Proxy.newProxyInstance(tcl, interfaces, proxy); @@ -259,13 +235,13 @@ public class ServiceRefFactory } // Use handler - if (((ServiceRef) ref).getHandlersSize() > 0) { + if (ref.getHandlersSize() > 0) { HandlerRegistry handlerRegistry = service.getHandlerRegistry(); - ArrayList<String> soaproles = new ArrayList<String>(); + List<String> soaproles = new ArrayList<String>(); - while (((ServiceRef) ref).getHandlersSize() > 0) { - HandlerRef handlerRef = ((ServiceRef) ref).getHandler(); + while (ref.getHandlersSize() > 0) { + HandlerRef handlerRef = ref.getHandler(); HandlerInfo handlerInfo = new HandlerInfo(); // Loading handler Class @@ -281,9 +257,9 @@ public class ServiceRefFactory // Load all datas relative to the handler : SOAPHeaders, config init element, // portNames to be set on - ArrayList<QName> headers = new ArrayList<QName>(); + List<QName> headers = new ArrayList<QName>(); Hashtable<String,String> config = new Hashtable<String,String>(); - ArrayList<String> portNames = new ArrayList<String>(); + List<String> portNames = new ArrayList<String>(); for (int i = 0; i < handlerRef.size(); i++) if (HandlerRef.HANDLER_LOCALPART.equals(handlerRef.get(i).getType())) { String localpart = ""; @@ -320,10 +296,10 @@ public class ServiceRefFactory handlerInfo.setHandlerConfig(config); if (!portNames.isEmpty()) { - Iterator<String> iter = portNames.iterator(); - while (iter.hasNext()) - initHandlerChain(new QName(iter.next()), handlerRegistry, + for (String portName : portNames) { + initHandlerChain(new QName(portName), handlerRegistry, handlerInfo, soaproles); + } } else { Enumeration<QName> e = portComponentRef.elements(); while(e.hasMoreElements()) @@ -349,9 +325,7 @@ public class ServiceRefFactory String endpoint = null; @SuppressWarnings("unchecked") // Can't change the API List<ExtensibilityElement> extensions = port.getExtensibilityElements(); - for (Iterator<ExtensibilityElement> i = extensions.iterator(); - i.hasNext();) { - ExtensibilityElement ext = i.next(); + for (ExtensibilityElement ext : extensions) { if (ext instanceof SOAPAddress) { SOAPAddress addr = (SOAPAddress) ext; endpoint = addr.getLocationURI(); @@ -362,7 +336,7 @@ public class ServiceRefFactory private void initHandlerChain(QName portName, HandlerRegistry handlerRegistry, - HandlerInfo handlerInfo, ArrayList<String> soaprolesToAdd) { + HandlerInfo handlerInfo, List<String> soaprolesToAdd) { HandlerChain handlerChain = (HandlerChain) handlerRegistry.getHandlerChain(portName); @SuppressWarnings("unchecked") // Can't change the API Iterator<Handler> iter = handlerChain.iterator(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org