From 413d67bd28ea414e586e596a50d68d9d2d0312a2 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Mon, 28 Jul 2014 21:35:17 +0200 Subject: [PATCH] WW-4360 Fixes potential NullPointerExceptions --- .../providers/XmlConfigurationProvider.java | 4 +++- .../conversion/impl/NumberConverter.java | 2 ++ .../util/NamedVariablePatternMatcher.java | 5 ++++- .../xwork2/util/finder/ResourceFinder.java | 7 ++---- .../xwork2/util/location/LocationUtils.java | 12 +++++----- .../util/NamedVariablePatternMatcherTest.java | 22 ++++++++++++++++--- 6 files changed, 36 insertions(+), 16 deletions(-) diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java index 6f9508b66..253048bc4 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java @@ -37,11 +37,13 @@ import com.opensymphony.xwork2.util.location.Location; import com.opensymphony.xwork2.util.location.LocationUtils; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; + import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import java.io.IOException; @@ -426,7 +428,7 @@ public class XmlConfigurationProvider implements ConfigurationProvider { } else { if (!verifyAction(className, name, location)) { if (LOG.isErrorEnabled()) - LOG.error("Unable to verify action [#0] with class [#1], from [#2]", name, className, location.toString()); + LOG.error("Unable to verify action [#0] with class [#1], from [#2]", name, className, location); return; } } diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java index dfa1e0e07..ab6efc0c3 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java @@ -95,6 +95,8 @@ public class NumberConverter extends DefaultTypeConverter { bigValue = new BigInteger(stringValue); lowerBound = BigInteger.valueOf(Long.MIN_VALUE); upperBound = BigInteger.valueOf(Long.MAX_VALUE); + } else { + throw new IllegalArgumentException("Unexpected numeric type: " + toType.getName()); } } catch (NumberFormatException e) { //shoult it fail here? BigInteger doesnt seem to be so nice parsing numbers as NumberFormat diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java index a0bc6521b..1203a49d8 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java @@ -80,7 +80,10 @@ public class NamedVariablePatternMatcher implements PatternMatcher