diff --git a/test/src/main/java/org/springframework/ws/mock/client/PayloadMatcher.java b/test/src/main/java/org/springframework/ws/mock/client/PayloadDiffMatcher.java
similarity index 95%
rename from test/src/main/java/org/springframework/ws/mock/client/PayloadMatcher.java
rename to test/src/main/java/org/springframework/ws/mock/client/PayloadDiffMatcher.java
index ed9a0f28..fb716d0f 100644
--- a/test/src/main/java/org/springframework/ws/mock/client/PayloadMatcher.java
+++ b/test/src/main/java/org/springframework/ws/mock/client/PayloadDiffMatcher.java
@@ -35,11 +35,11 @@ import static junit.framework.Assert.fail;
* @author Lukas Krecan
* @since 2.0
*/
-class PayloadMatcher extends DiffMatcher {
+class PayloadDiffMatcher extends DiffMatcher {
private final Source expected;
- PayloadMatcher(Source expected) {
+ PayloadDiffMatcher(Source expected) {
Assert.notNull(expected, "'expected' must not be null");
this.expected = expected;
}
diff --git a/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java b/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java
index 74cfd66d..5ca1b2ec 100644
--- a/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java
+++ b/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java
@@ -71,7 +71,7 @@ public abstract class WebServiceMock {
*/
public static RequestMatcher payload(String payload) {
Assert.notNull(payload, "'payload' must not be null");
- return new PayloadMatcher(new StringSource(payload));
+ return new PayloadDiffMatcher(new StringSource(payload));
}
/**
@@ -82,7 +82,7 @@ public abstract class WebServiceMock {
*/
public static RequestMatcher payload(Source payload) {
Assert.notNull(payload, "'payload' must not be null");
- return new PayloadMatcher(payload);
+ return new PayloadDiffMatcher(payload);
}
/**
@@ -93,7 +93,7 @@ public abstract class WebServiceMock {
*/
public static RequestMatcher payload(Resource payload) {
Assert.notNull(payload, "'payload' must not be null");
- return new PayloadMatcher(createResourceSource(payload));
+ return new PayloadDiffMatcher(createResourceSource(payload));
}
/**
diff --git a/test/src/test/java/org/springframework/ws/mock/client/PayloadMatcherTest.java b/test/src/test/java/org/springframework/ws/mock/client/PayloadDiffMatcherTest.java
similarity index 88%
rename from test/src/test/java/org/springframework/ws/mock/client/PayloadMatcherTest.java
rename to test/src/test/java/org/springframework/ws/mock/client/PayloadDiffMatcherTest.java
index ada14ce2..e426e90f 100644
--- a/test/src/test/java/org/springframework/ws/mock/client/PayloadMatcherTest.java
+++ b/test/src/test/java/org/springframework/ws/mock/client/PayloadDiffMatcherTest.java
@@ -23,7 +23,7 @@ import org.junit.Test;
import static org.easymock.EasyMock.*;
-public class PayloadMatcherTest {
+public class PayloadDiffMatcherTest {
@Test
public void match() throws Exception {
@@ -32,7 +32,7 @@ public class PayloadMatcherTest {
expect(message.getPayloadSource()).andReturn(new StringSource(xml));
replay(message);
- PayloadMatcher matcher = new PayloadMatcher(new StringSource(xml));
+ PayloadDiffMatcher matcher = new PayloadDiffMatcher(new StringSource(xml));
matcher.match(null, message);
verify(message);
@@ -46,7 +46,7 @@ public class PayloadMatcherTest {
replay(message);
String expected = "";
- PayloadMatcher matcher = new PayloadMatcher(new StringSource(expected));
+ PayloadDiffMatcher matcher = new PayloadDiffMatcher(new StringSource(expected));
matcher.match(null, message);
}
diff --git a/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java b/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java
index d97d5631..897d782e 100644
--- a/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java
+++ b/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java
@@ -41,25 +41,11 @@ public abstract class XPathExpressionFactory {
private static final Log logger = LogFactory.getLog(XPathExpressionFactory.class);
- private static final String JAXEN_CLASS_NAME = "org.jaxen.XPath";
+ private static boolean jaxp13Available = JaxpVersion.isAtLeastJaxp13();
- private static boolean jaxp13Available;
+ private static boolean jaxenAvailable =
+ ClassUtils.isPresent("org.jaxen.XPath", XPathExpressionFactory.class.getClassLoader());
- private static boolean jaxenAvailable;
-
- static {
- // Check whether JAXP 1.3 is available
- jaxp13Available = JaxpVersion.isAtLeastJaxp13();
-
- // Check whether Jaxen is available
- try {
- ClassUtils.forName(JAXEN_CLASS_NAME);
- jaxenAvailable = true;
- }
- catch (ClassNotFoundException ex) {
- jaxenAvailable = false;
- }
- }
/**
* Create a compiled XPath expression using the given string.
@@ -87,6 +73,9 @@ public abstract class XPathExpressionFactory {
public static XPathExpression createXPathExpression(String expression, Map namespaces)
throws IllegalStateException, XPathParseException {
Assert.hasLength(expression, "expression is empty");
+ if (namespaces == null) {
+ namespaces = Collections.emptyMap();
+ }
if (jaxp13Available) {
try {
logger.trace("Creating [javax.xml.xpath.XPathExpression]");