diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java index 332486d5..c885386e 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java @@ -18,7 +18,7 @@ package org.springframework.ws.server.endpoint.adapter; import java.lang.annotation.Annotation; import java.lang.reflect.Method; -import java.util.Properties; +import java.util.Map; import javax.xml.namespace.QName; import javax.xml.transform.Source; import javax.xml.transform.TransformerException; @@ -34,6 +34,7 @@ import org.springframework.ws.context.MessageContext; import org.springframework.ws.server.endpoint.MethodEndpoint; import org.springframework.ws.server.endpoint.annotation.XPathParam; import org.springframework.xml.namespace.SimpleNamespaceContext; + import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -62,10 +63,10 @@ public class XPathParamAnnotationMethodEndpointAdapter extends AbstractMethodEnd private XPathFactory xpathFactory; - private Properties namespaces; + private Map namespaces; /** Sets namespaces used in the XPath expression. Maps prefixes to namespaces. */ - public void setNamespaces(Properties namespaces) { + public void setNamespaces(Map namespaces) { this.namespaces = namespaces; } diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/mapping/XPathPayloadEndpointMapping.java b/core/src/main/java/org/springframework/ws/server/endpoint/mapping/XPathPayloadEndpointMapping.java index 348ae154..9ce63cc0 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/mapping/XPathPayloadEndpointMapping.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/mapping/XPathPayloadEndpointMapping.java @@ -16,7 +16,7 @@ package org.springframework.ws.server.endpoint.mapping; -import java.util.Properties; +import java.util.Map; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; @@ -29,6 +29,7 @@ import org.springframework.ws.WebServiceMessage; import org.springframework.ws.context.MessageContext; import org.springframework.xml.xpath.XPathExpression; import org.springframework.xml.xpath.XPathExpressionFactory; + import org.w3c.dom.Element; /** @@ -53,7 +54,7 @@ import org.w3c.dom.Element; * * @author Arjen Poutsma * @see #setExpression(String) - * @see #setNamespaces(java.util.Properties) + * @see #setNamespaces(java.util.Map) * @since 1.0.0 */ public class XPathPayloadEndpointMapping extends AbstractMapBasedEndpointMapping implements InitializingBean { @@ -62,7 +63,7 @@ public class XPathPayloadEndpointMapping extends AbstractMapBasedEndpointMapping private XPathExpression expression; - private Properties namespaces; + private Map namespaces; private TransformerFactory transformerFactory; @@ -72,7 +73,7 @@ public class XPathPayloadEndpointMapping extends AbstractMapBasedEndpointMapping } /** Sets the namespaces bindings used in the expression. Keys are prefixes, values are namespaces. */ - public void setNamespaces(Properties namespaces) { + public void setNamespaces(Map namespaces) { this.namespaces = namespaces; } diff --git a/core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java b/core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java index 79149475..cc4fbabc 100644 --- a/core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java +++ b/core/src/main/java/org/springframework/ws/soap/addressing/version/AbstractAddressingVersion.java @@ -1,5 +1,5 @@ /* - * Copyright 2007 the original author or authors. + * Copyright 2005-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,10 +19,11 @@ package org.springframework.ws.soap.addressing.version; import java.net.URI; import java.net.URISyntaxException; import java.util.Collections; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; -import java.util.Properties; +import java.util.Map; import javax.xml.namespace.QName; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -32,10 +33,6 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - import org.springframework.util.StringUtils; import org.springframework.ws.soap.SoapFault; import org.springframework.ws.soap.SoapHeader; @@ -52,6 +49,10 @@ import org.springframework.xml.transform.TransformerObjectSupport; import org.springframework.xml.xpath.XPathExpression; import org.springframework.xml.xpath.XPathExpressionFactory; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + /** * Abstract base class for {@link AddressingVersion} implementations. Uses {@link XPathExpression}s to retrieve * addressing information. @@ -82,8 +83,8 @@ public abstract class AbstractAddressingVersion extends TransformerObjectSupport private final XPathExpression referenceParametersExpression; protected AbstractAddressingVersion() { - Properties namespaces = new Properties(); - namespaces.setProperty(getNamespacePrefix(), getNamespaceUri()); + Map namespaces = new HashMap(); + namespaces.put(getNamespacePrefix(), getNamespaceUri()); toExpression = createNormalizedExpression(getToName(), namespaces); actionExpression = createNormalizedExpression(getActionName(), namespaces); messageIdExpression = createNormalizedExpression(getMessageIdName(), namespaces); @@ -105,17 +106,17 @@ public abstract class AbstractAddressingVersion extends TransformerObjectSupport } } - private XPathExpression createExpression(QName name, Properties namespaces) { + private XPathExpression createExpression(QName name, Map namespaces) { String expression = name.getPrefix() + ":" + name.getLocalPart(); return XPathExpressionFactory.createXPathExpression(expression, namespaces); } - private XPathExpression createNormalizedExpression(QName name, Properties namespaces) { + private XPathExpression createNormalizedExpression(QName name, Map namespaces) { String expression = "normalize-space(" + name.getPrefix() + ":" + name.getLocalPart() + ")"; return XPathExpressionFactory.createXPathExpression(expression, namespaces); } - private XPathExpression createChildrenExpression(QName name, Properties namespaces) { + private XPathExpression createChildrenExpression(QName name, Map namespaces) { String expression = name.getPrefix() + ":" + name.getLocalPart() + "/*"; return XPathExpressionFactory.createXPathExpression(expression, namespaces); } diff --git a/core/src/main/java/org/springframework/ws/transport/http/WsdlDefinitionHandlerAdapter.java b/core/src/main/java/org/springframework/ws/transport/http/WsdlDefinitionHandlerAdapter.java index 586a814e..2545f628 100644 --- a/core/src/main/java/org/springframework/ws/transport/http/WsdlDefinitionHandlerAdapter.java +++ b/core/src/main/java/org/springframework/ws/transport/http/WsdlDefinitionHandlerAdapter.java @@ -16,9 +16,10 @@ package org.springframework.ws.transport.http; +import java.util.HashMap; import java.util.Iterator; import java.util.List; -import java.util.Properties; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.transform.Source; @@ -81,7 +82,7 @@ public class WsdlDefinitionHandlerAdapter extends TransformerObjectSupport imple private static final Log logger = LogFactory.getLog(WsdlDefinitionHandlerAdapter.class); - private Properties expressionNamespaces = new Properties(); + private Map expressionNamespaces = new HashMap(); private String locationExpression = DEFAULT_LOCATION_EXPRESSION; diff --git a/core/src/test/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapterTest.java b/core/src/test/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapterTest.java index 423e172d..82839f9d 100644 --- a/core/src/test/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapterTest.java +++ b/core/src/test/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapterTest.java @@ -16,14 +16,13 @@ package org.springframework.ws.server.endpoint.adapter; -import java.util.Properties; +import java.util.HashMap; +import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Source; import javax.xml.transform.dom.DOMSource; -import junit.framework.TestCase; -import static org.easymock.EasyMock.*; import org.springframework.ws.WebServiceMessage; import org.springframework.ws.WebServiceMessageFactory; import org.springframework.ws.context.DefaultMessageContext; @@ -32,12 +31,16 @@ import org.springframework.ws.server.endpoint.MethodEndpoint; import org.springframework.ws.server.endpoint.annotation.XPathParam; import org.springframework.xml.transform.StringResult; import org.springframework.xml.transform.StringSource; + +import junit.framework.TestCase; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; +import static org.easymock.EasyMock.*; + public class XPathParamAnnotationMethodEndpointAdapterTest extends TestCase { private static final String CONTENTS = "text42.0"; @@ -148,9 +151,9 @@ public class XPathParamAnnotationMethodEndpointAdapterTest extends TestCase { replay(requestMock, factoryMock); - Properties namespaces = new Properties(); - namespaces.setProperty("root", rootNamespace); - namespaces.setProperty("child", childNamespace); + Map namespaces = new HashMap(); + namespaces.put("root", rootNamespace); + namespaces.put("child", childNamespace); adapter.setNamespaces(namespaces); MessageContext messageContext = new DefaultMessageContext(requestMock, factoryMock); diff --git a/security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jTestCase.java b/security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jTestCase.java index bde5c050..96f29e5b 100755 --- a/security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jTestCase.java +++ b/security/src/test/java/org/springframework/ws/soap/security/wss4j/Wss4jTestCase.java @@ -17,21 +17,16 @@ package org.springframework.ws.soap.security.wss4j; import java.io.InputStream; -import java.util.Properties; +import java.util.HashMap; +import java.util.Map; import javax.xml.soap.MessageFactory; import javax.xml.soap.MimeHeaders; -import javax.xml.soap.SOAPMessage; import javax.xml.soap.SOAPConstants; +import javax.xml.soap.SOAPMessage; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; import javax.xml.transform.dom.DOMSource; -import junit.framework.TestCase; -import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder; -import org.apache.axiom.soap.SOAP12Constants; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.ws.WebServiceMessage; @@ -48,6 +43,12 @@ import org.springframework.ws.soap.saaj.SaajSoapMessageFactory; import org.springframework.xml.transform.StringSource; import org.springframework.xml.xpath.Jaxp13XPathTemplate; +import junit.framework.TestCase; +import org.apache.axiom.soap.SOAP12Constants; +import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder; +import org.w3c.dom.Document; +import org.w3c.dom.Node; + public abstract class Wss4jTestCase extends TestCase { protected MessageFactory saajSoap11MessageFactory; @@ -66,17 +67,17 @@ public abstract class Wss4jTestCase extends TestCase { } saajSoap11MessageFactory = MessageFactory.newInstance(); saajSoap12MessageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL); - Properties namespaces = new Properties(); - namespaces.setProperty("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/"); - namespaces.setProperty("wsse", + Map namespaces = new HashMap(); + namespaces.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/"); + namespaces.put("wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"); - namespaces.setProperty("ds", "http://www.w3.org/2000/09/xmldsig#"); - namespaces.setProperty("xenc", "http://www.w3.org/2001/04/xmlenc#"); - namespaces.setProperty("wsse11", "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"); - namespaces.setProperty("echo", "http://www.springframework.org/spring-ws/samples/echo"); - namespaces.setProperty("wsu", + namespaces.put("ds", "http://www.w3.org/2000/09/xmldsig#"); + namespaces.put("xenc", "http://www.w3.org/2001/04/xmlenc#"); + namespaces.put("wsse11", "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"); + namespaces.put("echo", "http://www.springframework.org/spring-ws/samples/echo"); + namespaces.put("wsu", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"); - namespaces.setProperty("test", "http://test"); + namespaces.put("test", "http://test"); xpathTemplate.setNamespaces(namespaces); onSetup(); }