org.easymock
diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultActionNameBuilder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultActionNameBuilder.java
index 74f475fd1..46b21693d 100644
--- a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultActionNameBuilder.java
+++ b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultActionNameBuilder.java
@@ -21,7 +21,7 @@
package org.apache.struts2.convention;
import com.opensymphony.xwork2.inject.Inject;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
*
diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
index 7e58b12d5..5901c0f84 100644
--- a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
+++ b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
@@ -30,8 +30,8 @@ import java.util.Set;
import javax.servlet.ServletContext;
-import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
index ac1a9bce2..f4df68255 100644
--- a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
+++ b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
@@ -42,8 +42,8 @@ import com.opensymphony.xwork2.util.finder.Test;
import com.opensymphony.xwork2.util.finder.UrlSet;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
-import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsException;
import org.apache.struts2.convention.annotation.Action;
diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
index 09d155507..d9c90aff5 100644
--- a/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
+++ b/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
@@ -23,7 +23,7 @@ package org.apache.struts2.convention;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
*
diff --git a/plugins/embeddedjsp/pom.xml b/plugins/embeddedjsp/pom.xml
index 14061cdb3..f4b2604e5 100644
--- a/plugins/embeddedjsp/pom.xml
+++ b/plugins/embeddedjsp/pom.xml
@@ -42,8 +42,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
org.springframework
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/EmbeddedJSPResult.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/EmbeddedJSPResult.java
index 3783cfda8..c402cb541 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/EmbeddedJSPResult.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/EmbeddedJSPResult.java
@@ -21,7 +21,7 @@
package org.apache.struts2;
import com.opensymphony.xwork2.ActionInvocation;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.dispatcher.StrutsResultSupport;
/**
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
index 69ecb983e..e802e5e6f 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
@@ -27,8 +27,8 @@ import com.opensymphony.xwork2.util.finder.UrlSet;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.compiler.MemoryClassLoader;
import org.apache.struts2.compiler.MemoryJavaFileObject;
import org.apache.struts2.jasper.JasperException;
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/JspCompilationContext.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/JspCompilationContext.java
index b830cefaf..3d88718b7 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/JspCompilationContext.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/JspCompilationContext.java
@@ -18,7 +18,7 @@
package org.apache.struts2.jasper;
import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.jasper.compiler.Compiler;
import org.apache.struts2.jasper.compiler.JspRuntimeContext;
import org.apache.struts2.jasper.compiler.JspUtil;
diff --git a/plugins/embeddedjsp/src/test/java/org/apache/struts2/EmbeddedJSPResultTest.java b/plugins/embeddedjsp/src/test/java/org/apache/struts2/EmbeddedJSPResultTest.java
index 860991c0c..c5b48c7b3 100644
--- a/plugins/embeddedjsp/src/test/java/org/apache/struts2/EmbeddedJSPResultTest.java
+++ b/plugins/embeddedjsp/src/test/java/org/apache/struts2/EmbeddedJSPResultTest.java
@@ -27,7 +27,7 @@ import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
import com.opensymphony.xwork2.util.finder.ClassLoaderInterfaceDelegate;
import junit.framework.TestCase;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.easymock.EasyMock;
import org.easymock.IAnswer;
import org.springframework.mock.web.MockHttpServletResponse;
diff --git a/plugins/embeddedjsp/src/test/resources/org/apache/struts2/scriptlet.jsp b/plugins/embeddedjsp/src/test/resources/org/apache/struts2/scriptlet.jsp
index 13cb00c5e..92807521a 100644
--- a/plugins/embeddedjsp/src/test/resources/org/apache/struts2/scriptlet.jsp
+++ b/plugins/embeddedjsp/src/test/resources/org/apache/struts2/scriptlet.jsp
@@ -1,4 +1,4 @@
-<%@ page import="org.apache.commons.lang.StringUtils" %>
+<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%
out.write(StringUtils.removeEnd("Say no to scriptlets/", "/"));
%>
\ No newline at end of file
diff --git a/plugins/jasperreports/pom.xml b/plugins/jasperreports/pom.xml
index 655e553d5..80fbfbaa0 100644
--- a/plugins/jasperreports/pom.xml
+++ b/plugins/jasperreports/pom.xml
@@ -41,8 +41,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
jasperreports
diff --git a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
index 215f13bd1..aa1fe1f7a 100644
--- a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
+++ b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
@@ -41,7 +41,7 @@ import net.sf.jasperreports.engine.export.JRRtfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXmlExporter;
import net.sf.jasperreports.engine.util.JRLoader;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.dispatcher.StrutsResultSupport;
diff --git a/plugins/javatemplates/pom.xml b/plugins/javatemplates/pom.xml
index f94d776c4..4efcef052 100644
--- a/plugins/javatemplates/pom.xml
+++ b/plugins/javatemplates/pom.xml
@@ -40,8 +40,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
org.easymock
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/Attributes.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/Attributes.java
index fa8f720c9..7f3dde29b 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/Attributes.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/Attributes.java
@@ -20,8 +20,8 @@
*/
package org.apache.struts2.views.java;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
import java.util.LinkedHashMap;
@@ -37,7 +37,7 @@ public class Attributes extends LinkedHashMap {
}
public Attributes add(String key, String value, boolean encode) {
- put(key, (encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml(value)) : value));
+ put(key, (encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml4(value)) : value));
return this;
}
@@ -63,7 +63,7 @@ public class Attributes extends LinkedHashMap {
if (paramValue != null) {
String val = paramValue.toString();
if (StringUtils.isNotBlank(val))
- put(attrName, (encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml(val)) : val));
+ put(attrName, (encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml4(val)) : val));
}
return this;
}
@@ -106,7 +106,7 @@ public class Attributes extends LinkedHashMap {
public Attributes addDefaultToEmpty(String attrName, Object paramValue, boolean encode) {
if (paramValue != null) {
String val = paramValue.toString();
- put(attrName, (encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml(val)) : val));
+ put(attrName, (encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml4(val)) : val));
} else {
put(attrName, "");
}
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java
index 9988fce3e..e308e1298 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java
@@ -21,8 +21,8 @@
package org.apache.struts2.views.java;
import org.apache.struts2.components.template.TemplateRenderingContext;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import java.io.IOException;
import java.io.Writer;
@@ -39,7 +39,7 @@ public class XHTMLTagSerializer implements TagSerializer {
}
public void characters(String text, boolean encode) throws IOException {
- writer.write(encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml(text)) : text);
+ writer.write(encode ? StringUtils.defaultString(StringEscapeUtils.escapeHtml4(text)) : text);
}
public void end(String name) throws IOException {
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
index 416824631..f42d5ca17 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java
@@ -20,7 +20,7 @@
*/
package org.apache.struts2.views.java.simple;
-import org.apache.commons.lang.BooleanUtils;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java
index e004ff037..778bf617b 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java
@@ -22,7 +22,7 @@ package org.apache.struts2.views.java.simple;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Map;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxHandler.java
index 695293a18..3166d2c44 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxHandler.java
@@ -23,8 +23,8 @@ package org.apache.struts2.views.java.simple;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import java.io.IOException;
import java.util.Map;
@@ -56,9 +56,9 @@ public class CheckboxHandler extends AbstractTagHandler implements TagGenerator
//hidden input
attrs = new Attributes();
attrs.add("type", "hidden")
- .add("id", "__checkbox_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml(id)))
- .add("name", "__checkbox_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml(name)))
- .add("value", "__checkbox_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml(fieldValue)))
+ .add("id", "__checkbox_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(id)))
+ .add("name", "__checkbox_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(name)))
+ .add("value", "__checkbox_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(fieldValue)))
.addIfTrue("disabled", disabled);
start("input", attrs);
end("input");
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java
index 0e7c075f1..d9c3f14a0 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java
@@ -22,8 +22,8 @@
package org.apache.struts2.views.java.simple;
import com.opensymphony.xwork2.util.ValueStack;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
@@ -89,8 +89,8 @@ public class CheckboxListHandler extends AbstractTagHandler implements TagGenera
//Hidden input section
a = new Attributes();
a.add("type", "hidden")
- .add("id", "__multiselect_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml(id)))
- .add("name", "__multiselect_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml(name)))
+ .add("id", "__multiselect_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(id)))
+ .add("name", "__multiselect_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(name)))
.add("value", "")
.addIfTrue("disabled", disabled);
start("input", a);
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
index 084d0edd1..b23d3a325 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
@@ -22,7 +22,7 @@ package org.apache.struts2.views.java.simple;
import org.apache.struts2.views.java.TagGenerator;
import org.apache.struts2.views.java.Attributes;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Map;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/RadioHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/RadioHandler.java
index 0d6dac480..8552f8bbb 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/RadioHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/RadioHandler.java
@@ -26,7 +26,7 @@ import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Iterator;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/ResetHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/ResetHandler.java
index 3d4909f22..6d940adf9 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/ResetHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/ResetHandler.java
@@ -22,7 +22,7 @@ package org.apache.struts2.views.java.simple;
import org.apache.struts2.views.java.TagGenerator;
import org.apache.struts2.views.java.Attributes;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Map;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SelectHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SelectHandler.java
index 66caca9de..5625cdb54 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SelectHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SelectHandler.java
@@ -27,7 +27,7 @@ import org.apache.struts2.util.ContainUtil;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Iterator;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SubmitHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SubmitHandler.java
index 66bb184aa..570619cda 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SubmitHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SubmitHandler.java
@@ -22,7 +22,7 @@ package org.apache.struts2.views.java.simple;
import org.apache.struts2.views.java.TagGenerator;
import org.apache.struts2.views.java.Attributes;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Map;
diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/TextAreaHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/TextAreaHandler.java
index 68b3b5353..d6380b939 100644
--- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/TextAreaHandler.java
+++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/TextAreaHandler.java
@@ -22,7 +22,7 @@ package org.apache.struts2.views.java.simple;
import org.apache.struts2.views.java.TagGenerator;
import org.apache.struts2.views.java.Attributes;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Map;
diff --git a/plugins/json/pom.xml b/plugins/json/pom.xml
index be9c742ec..cb8241374 100644
--- a/plugins/json/pom.xml
+++ b/plugins/json/pom.xml
@@ -64,8 +64,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
index 4d25cfb56..2c859de52 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
@@ -24,7 +24,7 @@ import com.opensymphony.xwork2.util.TextParseUtil;
import com.opensymphony.xwork2.util.WildcardUtil;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.json.annotations.SMDMethod;
import javax.servlet.http.HttpServletRequest;
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
index baff7cde8..98f3ba04f 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
@@ -28,7 +28,7 @@ import com.opensymphony.xwork2.ValidationAware;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.struts2.ServletActionContext;
import javax.servlet.http.HttpServletRequest;
@@ -210,7 +210,7 @@ public class JSONValidationInterceptor extends MethodFilterInterceptor {
sb.append("[");
for (String value : values) {
sb.append("\"");
- sb.append(StringEscapeUtils.escapeJavaScript(value));
+ sb.append(StringEscapeUtils.escapeEcmaScript(value));
sb.append("\",");
}
if (values.size() > 0)
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/SerializationParams.java b/plugins/json/src/main/java/org/apache/struts2/json/SerializationParams.java
index c1447a746..5a6cd6947 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/SerializationParams.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/SerializationParams.java
@@ -22,7 +22,7 @@ package org.apache.struts2.json;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class SerializationParams {
private static final String DEFAULT_CONTENT_TYPE = "application/json";
diff --git a/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java b/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
index e693f6638..6e8cfd243 100644
--- a/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
+++ b/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
@@ -27,7 +27,7 @@ import com.opensymphony.xwork2.interceptor.annotations.After;
import com.opensymphony.xwork2.interceptor.annotations.Before;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.util.logging.jdk.JdkLoggerFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.dispatcher.Dispatcher;
import org.apache.struts2.dispatcher.mapper.ActionMapper;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
diff --git a/plugins/osgi/pom.xml b/plugins/osgi/pom.xml
index 6d9bdfef0..d33486eb3 100644
--- a/plugins/osgi/pom.xml
+++ b/plugins/osgi/pom.xml
@@ -49,8 +49,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java b/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
index 0f706d44c..3282ba5ea 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
@@ -35,6 +35,7 @@ import org.apache.struts2.views.freemarker.StrutsClassTemplateLoader;
import javax.servlet.ServletContext;
import java.io.File;
import java.io.IOException;
+import java.net.URI;
/**
* This class extends FreemarkerManager in core to add a template loader
@@ -52,7 +53,7 @@ public class BundleFreemarkerManager extends FreemarkerManager {
// substring(7) is intentional as we "reuse" the last slash
templatePathLoader = new ClassTemplateLoader(getClass(), templatePath.substring(7));
} else if (templatePath.startsWith("file://")) {
- templatePathLoader = new FileTemplateLoader(new File(templatePath));
+ templatePathLoader = new FileTemplateLoader(new File(URI.create(templatePath)));
}
} catch (IOException e) {
LOG.error("Invalid template path specified: " + e.getMessage(), e);
diff --git a/plugins/osgi/src/main/java/org/apache/struts2/osgi/FelixOsgiHost.java b/plugins/osgi/src/main/java/org/apache/struts2/osgi/FelixOsgiHost.java
index 10f861d1e..4639f1661 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/FelixOsgiHost.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/FelixOsgiHost.java
@@ -28,7 +28,7 @@ import com.opensymphony.xwork2.util.finder.ResourceFinder;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.ActionContext;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.felix.framework.Felix;
import org.apache.felix.framework.util.FelixConstants;
import org.apache.felix.main.AutoActivator;
diff --git a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
index f7162e5b8..e3ad8b9ab 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
@@ -31,7 +31,7 @@ import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.osgi.loaders.VelocityBundleResourceLoader;
import org.apache.struts2.views.velocity.VelocityManager;
import org.apache.velocity.app.Velocity;
diff --git a/plugins/oval/pom.xml b/plugins/oval/pom.xml
index aa253db62..25aa5dc25 100644
--- a/plugins/oval/pom.xml
+++ b/plugins/oval/pom.xml
@@ -52,8 +52,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
index 4b710d5ec..904e9f074 100644
--- a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
+++ b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
@@ -38,7 +38,7 @@ import net.sf.oval.configuration.Configurer;
import net.sf.oval.context.FieldContext;
import net.sf.oval.context.MethodReturnValueContext;
import net.sf.oval.context.OValContext;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.oval.annotation.Profiles;
import java.lang.reflect.Field;
diff --git a/plugins/portlet/pom.xml b/plugins/portlet/pom.xml
index 68f2f25a1..77cfb7f32 100644
--- a/plugins/portlet/pom.xml
+++ b/plugins/portlet/pom.xml
@@ -30,8 +30,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java b/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
index cf0fdb915..396438dc0 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
@@ -20,21 +20,20 @@
*/
package org.apache.struts2.components;
-import java.io.IOException;
-import java.io.Writer;
-
-import org.apache.commons.lang.StringUtils;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.inject.Inject;
+import com.opensymphony.xwork2.util.logging.Logger;
+import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.StrutsException;
import org.apache.struts2.dispatcher.mapper.ActionMapper;
import org.apache.struts2.portlet.context.PortletActionContext;
import org.apache.struts2.portlet.util.PortletUrlHelper;
import org.apache.struts2.portlet.util.PortletUrlHelperJSR286;
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import java.io.IOException;
+import java.io.Writer;
/**
* Implementation of the {@link UrlRenderer} interface that renders URLs for portlet environments.
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java
index 6d21e593a..a9d0a1801 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java
@@ -27,7 +27,7 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.dispatcher.StrutsRequestWrapper;
import org.apache.struts2.portlet.PortletActionConstants;
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
index ebf74bee4..191f1dc79 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
@@ -21,42 +21,16 @@
package org.apache.struts2.portlet.dispatcher;
-import static org.apache.struts2.portlet.PortletConstants.ACTION_PARAM;
-import static org.apache.struts2.portlet.PortletConstants.ACTION_PHASE;
-import static org.apache.struts2.portlet.PortletConstants.ACTION_RESET;
-import static org.apache.struts2.portlet.PortletConstants.DEFAULT_ACTION_FOR_MODE;
-import static org.apache.struts2.portlet.PortletConstants.DEFAULT_ACTION_NAME;
-import static org.apache.struts2.portlet.PortletConstants.MODE_NAMESPACE_MAP;
-import static org.apache.struts2.portlet.PortletConstants.MODE_PARAM;
-import static org.apache.struts2.portlet.PortletConstants.PHASE;
-import static org.apache.struts2.portlet.PortletConstants.PORTLET_CONFIG;
-import static org.apache.struts2.portlet.PortletConstants.PORTLET_NAMESPACE;
-import static org.apache.struts2.portlet.PortletConstants.RENDER_PHASE;
-import static org.apache.struts2.portlet.PortletConstants.REQUEST;
-import static org.apache.struts2.portlet.PortletConstants.RESPONSE;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
-import javax.portlet.GenericPortlet;
-import javax.portlet.PortletConfig;
-import javax.portlet.PortletException;
-import javax.portlet.PortletMode;
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-import javax.portlet.WindowState;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang.StringUtils;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionProxy;
+import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.config.ConfigurationException;
+import com.opensymphony.xwork2.inject.Container;
+import com.opensymphony.xwork2.util.FileManager;
+import com.opensymphony.xwork2.util.LocalizedTextUtil;
+import com.opensymphony.xwork2.util.logging.Logger;
+import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsException;
import org.apache.struts2.StrutsStatics;
@@ -77,15 +51,39 @@ import org.apache.struts2.portlet.servlet.PortletServletRequest;
import org.apache.struts2.portlet.servlet.PortletServletResponse;
import org.apache.struts2.util.AttributeMap;
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.ActionProxyFactory;
-import com.opensymphony.xwork2.config.ConfigurationException;
-import com.opensymphony.xwork2.inject.Container;
-import com.opensymphony.xwork2.util.FileManager;
-import com.opensymphony.xwork2.util.LocalizedTextUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletMode;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import static org.apache.struts2.portlet.PortletConstants.ACTION_PARAM;
+import static org.apache.struts2.portlet.PortletConstants.ACTION_PHASE;
+import static org.apache.struts2.portlet.PortletConstants.ACTION_RESET;
+import static org.apache.struts2.portlet.PortletConstants.DEFAULT_ACTION_FOR_MODE;
+import static org.apache.struts2.portlet.PortletConstants.DEFAULT_ACTION_NAME;
+import static org.apache.struts2.portlet.PortletConstants.MODE_NAMESPACE_MAP;
+import static org.apache.struts2.portlet.PortletConstants.MODE_PARAM;
+import static org.apache.struts2.portlet.PortletConstants.PHASE;
+import static org.apache.struts2.portlet.PortletConstants.PORTLET_CONFIG;
+import static org.apache.struts2.portlet.PortletConstants.PORTLET_NAMESPACE;
+import static org.apache.struts2.portlet.PortletConstants.RENDER_PHASE;
+import static org.apache.struts2.portlet.PortletConstants.REQUEST;
+import static org.apache.struts2.portlet.PortletConstants.RESPONSE;
/**
*
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
index e7a84fa4c..8bd0cd665 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
@@ -33,7 +33,7 @@ import java.util.Map;
import javax.portlet.ActionResponse;
import javax.portlet.RenderRequest;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.portlet.dispatcher.DirectRenderFromEventAction;
import com.opensymphony.xwork2.ActionInvocation;
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
index d4d02740d..9d672227a 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
@@ -36,7 +36,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.dispatcher.StrutsResultSupport;
import org.apache.struts2.portlet.PortletActionConstants;
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
index 5d10c76d5..185b9de84 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
@@ -20,15 +20,11 @@
*/
package org.apache.struts2.portlet.util;
-import static org.apache.struts2.portlet.PortletConstants.ACTION_PARAM;
-import static org.apache.struts2.portlet.PortletConstants.MODE_PARAM;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
+import com.opensymphony.xwork2.util.logging.Logger;
+import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.struts2.StrutsException;
+import org.apache.struts2.portlet.context.PortletActionContext;
import javax.portlet.PortletMode;
import javax.portlet.PortletRequest;
@@ -36,13 +32,15 @@ import javax.portlet.PortletSecurityException;
import javax.portlet.PortletURL;
import javax.portlet.RenderResponse;
import javax.portlet.WindowState;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.StringTokenizer;
-import org.apache.commons.lang.StringUtils;
-import org.apache.struts2.StrutsException;
-import org.apache.struts2.portlet.context.PortletActionContext;
-
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import static org.apache.struts2.portlet.PortletConstants.ACTION_PARAM;
+import static org.apache.struts2.portlet.PortletConstants.MODE_PARAM;
/**
* Helper class for creating Portlet URLs. Portlet URLs are fundamentally different from regular
diff --git a/plugins/sitegraph/pom.xml b/plugins/sitegraph/pom.xml
index 23eb57a60..20d7eacf8 100644
--- a/plugins/sitegraph/pom.xml
+++ b/plugins/sitegraph/pom.xml
@@ -126,8 +126,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
true
diff --git a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
index e4d49255e..458cbf7d4 100644
--- a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
+++ b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
@@ -2,7 +2,7 @@ package org.apache.struts2.sitemesh;
import com.opensymphony.module.sitemesh.Config;
import com.opensymphony.module.sitemesh.factory.DefaultFactory;
-import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang3.ObjectUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsStatics;
diff --git a/plugins/spring/pom.xml b/plugins/spring/pom.xml
index 786c7d327..d6696b0d0 100644
--- a/plugins/spring/pom.xml
+++ b/plugins/spring/pom.xml
@@ -72,8 +72,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java b/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
index a22aac771..60f782d81 100644
--- a/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
+++ b/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
@@ -28,7 +28,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
import org.apache.commons.jci.monitor.FilesystemAlterationListener;
import org.apache.commons.jci.monitor.FilesystemAlterationMonitor;
import org.apache.commons.jci.monitor.FilesystemAlterationObserver;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.dispatcher.Dispatcher;
import org.springframework.web.context.support.XmlWebApplicationContext;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
diff --git a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
index 651233b93..a5ad82dc3 100644
--- a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
+++ b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
@@ -27,7 +27,7 @@ import com.opensymphony.xwork2.spring.SpringObjectFactory;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import org.apache.struts2.StrutsConstants;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
diff --git a/pom.xml b/pom.xml
index b9b439ccb..063e544ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -523,9 +523,9 @@
2.0.1
- commons-lang
- commons-lang
- 2.5
+ org.apache.commons
+ commons-lang3
+ 3.1
commons-digester
diff --git a/xwork-core/pom.xml b/xwork-core/pom.xml
index d62912fc6..f5b722720 100644
--- a/xwork-core/pom.xml
+++ b/xwork-core/pom.xml
@@ -178,8 +178,8 @@
true
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
commons-io
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
index 9054dcb9b..0723c964d 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
@@ -28,8 +28,8 @@ import com.opensymphony.xwork2.util.LocalizedTextUtil;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.util.profiling.UtilTimerStack;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.Locale;
@@ -80,10 +80,10 @@ public class DefaultActionProxy implements ActionProxy, Serializable {
LOG.debug("Creating an DefaultActionProxy for namespace " + namespace + " and action name " + actionName);
}
- this.actionName = StringEscapeUtils.escapeHtml(actionName);
+ this.actionName = StringEscapeUtils.escapeHtml4(actionName);
this.namespace = namespace;
this.executeResult = executeResult;
- this.method = StringEscapeUtils.escapeJavaScript(StringEscapeUtils.escapeHtml(methodName));
+ this.method = StringEscapeUtils.escapeEcmaScript(StringEscapeUtils.escapeHtml4(methodName));
}
@Inject
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/ActionConfig.java b/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/ActionConfig.java
index 165103be1..7494d437a 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/ActionConfig.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/ActionConfig.java
@@ -17,7 +17,7 @@ package com.opensymphony.xwork2.config.entities;
import com.opensymphony.xwork2.util.location.Located;
import com.opensymphony.xwork2.util.location.Location;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
index 4ad23321f..391e25479 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
@@ -20,11 +20,14 @@ package com.opensymphony.xwork2.config.impl;
import com.opensymphony.xwork2.util.PatternMatcher;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.commons.lang3.math.NumberUtils;
import java.io.Serializable;
-import java.util.*;
-
-import org.apache.commons.lang.math.NumberUtils;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
/**
* Matches patterns against pre-compiled wildcard expressions pulled from
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 b111806eb..54ec6f1a4 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
@@ -40,7 +40,7 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.io.InputStream;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
index 7dd24e6f4..e8b2d1f42 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
@@ -19,7 +19,7 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Document;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java
index 37670c78b..ea5c2f3ff 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java
@@ -22,7 +22,7 @@ import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.XWorkList;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
index 6d8a0d24a..802279004 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
@@ -20,7 +20,7 @@ import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ValidationAware;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.util.ValueStack;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import java.util.HashMap;
import java.util.Map;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
index 332ed62d3..3cec3ea48 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
@@ -28,7 +28,7 @@ import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.util.reflection.ReflectionProviderFactory;
-import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang3.ObjectUtils;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
index e00933498..0d7427558 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -22,7 +22,7 @@ import com.opensymphony.xwork2.inject.Container;
import java.util.HashSet;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
index 0fec8efe1..a913ace6a 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
@@ -32,7 +32,7 @@ import java.util.Collections;
import java.util.Collection;
import java.util.HashSet;
-import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang3.ObjectUtils;
/**
* The ReloadingClassLoader uses a delegation mechanism to allow
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
index 99f64e6d5..f173d5227 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
@@ -24,7 +24,7 @@ import org.objectweb.asm.ClassReader;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.commons.EmptyVisitor;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.IOException;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
index 28a146e98..d8e7d6d27 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
@@ -15,7 +15,7 @@
*/
package com.opensymphony.xwork2.util.finder;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.BufferedInputStream;
import java.io.File;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
index d8b7cdeaa..b8d8d6030 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
@@ -18,8 +18,8 @@ package com.opensymphony.xwork2.util.finder;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.util.URLUtil;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.ObjectUtils;
import java.io.File;
import java.io.IOException;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
index fbc7404a6..c83f85a5d 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
@@ -26,7 +26,7 @@ import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.validator.validators.VisitorFieldValidator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.io.InputStream;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
index 11c4864ea..d9a9dab62 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
@@ -22,7 +22,7 @@ import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.validator.ValidationException;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java
index 40525152a..e9760ceb2 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java
@@ -24,7 +24,7 @@ import com.opensymphony.xwork2.validator.ShortCircuitableValidator;
import com.opensymphony.xwork2.validator.ValidationException;
import com.opensymphony.xwork2.validator.Validator;
import com.opensymphony.xwork2.validator.ValidatorContext;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;