You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2019/08/16 17:14:05 UTC

[jspwiki] 01/02: JSPWIKI-1115: migration from commons-lang 2.6 to 3.9 + commons-text 1.7 (1/2)

This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 9fe994a985e76ad4f89ad4a6cd106508ee2282cb
Author: juanpablo <ju...@apache.org>
AuthorDate: Fri Aug 16 19:13:14 2019 +0200

    JSPWIKI-1115: migration from commons-lang 2.6 to 3.9 + commons-text 1.7 (1/2)
---
 .../java/org/apache/wiki/ReferenceManager.java     | 26 +++++++-------
 .../src/main/java/org/apache/wiki/Release.java     |  2 +-
 .../src/main/java/org/apache/wiki/WikiEngine.java  |  4 +--
 .../src/main/java/org/apache/wiki/WikiSession.java | 33 +++++++++--------
 .../main/java/org/apache/wiki/ajax/AjaxUtil.java   |  7 ++--
 .../wiki/ajax/WikiAjaxDispatcherServlet.java       | 27 +++++++-------
 .../apache/wiki/attachment/AttachmentManager.java  | 31 ++++++++--------
 .../org/apache/wiki/auth/SecurityVerifier.java     |  2 +-
 .../java/org/apache/wiki/auth/UserManager.java     | 29 ++++++++-------
 .../apache/wiki/auth/authorize/GroupManager.java   | 21 ++++++-----
 .../wiki/auth/authorize/XMLGroupDatabase.java      | 37 ++++++++++---------
 .../wiki/auth/permissions/PagePermission.java      |  6 ++--
 .../apache/wiki/auth/user/DefaultUserProfile.java  |  9 +++--
 .../apache/wiki/auth/user/JDBCUserDatabase.java    | 25 +++++++------
 .../org/apache/wiki/auth/user/XMLUserDatabase.java | 35 +++++++++---------
 .../org/apache/wiki/event/WikiSecurityEvent.java   |  6 ++--
 .../java/org/apache/wiki/filters/SpamFilter.java   |  2 +-
 .../htmltowiki/XHtmlElementToWikiTranslator.java   |  4 +--
 .../org/apache/wiki/management/SimpleMBean.java    | 11 +++---
 .../org/apache/wiki/pages/DefaultPageManager.java  | 26 +++++++-------
 .../apache/wiki/parser/JSPWikiMarkupParser.java    |  6 ++--
 .../org/apache/wiki/parser/VariableContent.java    |  4 +--
 .../apache/wiki/plugin/AbstractReferralPlugin.java | 28 +++++++--------
 .../apache/wiki/plugin/DefaultPluginManager.java   | 41 +++++++++++----------
 .../main/java/org/apache/wiki/plugin/IfPlugin.java | 15 +++++---
 .../org/apache/wiki/plugin/PageViewPlugin.java     |  4 +--
 .../apache/wiki/plugin/RecentChangesPlugin.java    | 20 +++++------
 .../org/apache/wiki/preferences/Preferences.java   | 28 +++++++--------
 .../wiki/providers/AbstractFileProvider.java       | 30 ++++++++--------
 .../main/java/org/apache/wiki/rss/AtomFeed.java    | 21 ++++++-----
 .../src/main/java/org/apache/wiki/rss/Feed.java    | 13 ++++---
 .../apache/wiki/search/LuceneSearchProvider.java   |  2 +-
 .../java/org/apache/wiki/search/SearchManager.java | 31 ++++++++--------
 .../apache/wiki/tags/CheckRequestContextTag.java   |  6 ++--
 .../java/org/apache/wiki/tags/PermissionTag.java   |  9 +++--
 .../java/org/apache/wiki/ui/TemplateManager.java   |  2 +-
 .../java/org/apache/wiki/ui/WikiJSPFilter.java     | 29 ++++++++-------
 .../org/apache/wiki/ui/admin/SimpleAdminBean.java  | 10 +++---
 .../org/apache/wiki/ui/admin/beans/ModuleBean.java |  9 +++--
 .../org/apache/wiki/url/DefaultURLConstructor.java | 11 +++---
 .../src/test/java/org/apache/wiki/TestEngine.java  |  2 +-
 .../test/java/org/apache/wiki/WikiSessionTest.java | 42 +++++++++++-----------
 .../apache/wiki/auth/AuthorizationManagerTest.java | 12 +++----
 .../java/org/apache/wiki/auth/UserManagerTest.java | 12 +++----
 .../wiki/auth/acl/DefaultAclManagerTest.java       | 10 +++---
 .../wiki/auth/authorize/GroupManagerTest.java      | 10 +++---
 .../auth/authorize/WebContainerAuthorizerTest.java |  8 ++---
 .../apache/wiki/auth/user/XMLUserDatabaseTest.java | 12 +++----
 .../apache/wiki/render/RenderingManagerTest.java   |  7 ++--
 .../java/org/apache/wiki/stress/Benchmark.java     |  2 +-
 .../JSPWikiLinkAttributeProvider.java              |  2 +-
 .../JSPWikiLinkNodePostProcessor.java              |  2 +-
 .../VariableLinkNodePostProcessorState.java        |  4 +--
 .../apache/wiki/markdown/nodes/JSPWikiLink.java    |  2 +-
 .../main/java/org/apache/wiki/util/ClassUtil.java  |  2 +-
 .../main/java/org/apache/wiki/util/HttpUtil.java   | 11 +++---
 .../java/org/apache/wiki/util/PropertyReader.java  |  4 +--
 .../main/java/org/apache/wiki/util/TextUtil.java   |  4 +--
 .../main/java/org/apache/wiki/util/XmlUtil.java    |  2 +-
 .../wiki/util/comparators/CollatorComparator.java  |  4 +--
 .../wiki/util/comparators/HumanComparator.java     |  4 +--
 .../util/comparators/JavaNaturalComparator.java    |  4 +--
 .../java/org/apache/wiki/util/XmlUtilTest.java     | 42 +++++++++++-----------
 jspwiki-war/src/main/webapp/Captcha.jsp            |  2 +-
 jspwiki-war/src/main/webapp/PageModified.jsp       |  6 ++--
 jspwiki-war/src/main/webapp/Wiki.jsp               |  2 +-
 jspwiki-war/src/main/webapp/admin/Admin.jsp        |  2 +-
 .../src/main/webapp/templates/210/FindContent.jsp  |  2 +-
 .../main/webapp/templates/210/editors/CKeditor.jsp |  4 +--
 .../src/main/webapp/templates/210/editors/FCK.jsp  |  4 +--
 .../main/webapp/templates/210/editors/TinyMCE.jsp  |  2 +-
 .../main/webapp/templates/default/AJAXSearch.jsp   |  2 +-
 .../main/webapp/templates/default/FindContent.jsp  |  2 +-
 .../webapp/templates/default/editors/CKeditor.jsp  |  2 +-
 .../webapp/templates/default/editors/TinyMCE.jsp   |  2 +-
 .../webapp/templates/default/editors/wysiwyg.jsp   |  2 +-
 76 files changed, 438 insertions(+), 462 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java b/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
index 097335b..c9f0105 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
@@ -18,6 +18,19 @@
  */
 package org.apache.wiki;
 
+import org.apache.commons.lang3.time.StopWatch;
+import org.apache.log4j.Logger;
+import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.filters.BasicPageFilter;
+import org.apache.wiki.attachment.Attachment;
+import org.apache.wiki.event.WikiEvent;
+import org.apache.wiki.event.WikiEventListener;
+import org.apache.wiki.event.WikiEventUtils;
+import org.apache.wiki.event.WikiPageEvent;
+import org.apache.wiki.modules.InternalModule;
+import org.apache.wiki.providers.WikiPageProvider;
+import org.apache.wiki.util.TextUtil;
+
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.File;
@@ -42,19 +55,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import org.apache.commons.lang.time.StopWatch;
-import org.apache.log4j.Logger;
-import org.apache.wiki.api.exceptions.ProviderException;
-import org.apache.wiki.api.filters.BasicPageFilter;
-import org.apache.wiki.attachment.Attachment;
-import org.apache.wiki.event.WikiEvent;
-import org.apache.wiki.event.WikiEventListener;
-import org.apache.wiki.event.WikiEventUtils;
-import org.apache.wiki.event.WikiPageEvent;
-import org.apache.wiki.modules.InternalModule;
-import org.apache.wiki.providers.WikiPageProvider;
-import org.apache.wiki.util.TextUtil;
-
 /*
   BUGS
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/Release.java b/jspwiki-main/src/main/java/org/apache/wiki/Release.java
index 36c1d47..39dbcd1 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/Release.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/Release.java
@@ -19,7 +19,7 @@
 
 package org.apache.wiki;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 
 /**
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
index cb6c60a..286bb7d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.time.StopWatch;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.StopWatch;
 import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
 import org.apache.wiki.api.engine.AdminBeanManager;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiSession.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiSession.java
index d7a11d7..98c977e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/WikiSession.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiSession.java
@@ -18,23 +18,7 @@
  */
 package org.apache.wiki;
 
-import java.security.AccessControlException;
-import java.security.Principal;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import javax.security.auth.Subject;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.auth.AuthenticationManager;
 import org.apache.wiki.auth.GroupPrincipal;
@@ -51,6 +35,21 @@ import org.apache.wiki.event.WikiEvent;
 import org.apache.wiki.event.WikiEventListener;
 import org.apache.wiki.event.WikiSecurityEvent;
 
+import javax.security.auth.Subject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.security.AccessControlException;
+import java.security.Principal;
+import java.security.PrivilegedAction;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
 /**
  * <p>Represents a long-running wiki session, with an associated user Principal,
  * user Subject, and authentication status. This class is initialized with
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ajax/AjaxUtil.java b/jspwiki-main/src/main/java/org/apache/wiki/ajax/AjaxUtil.java
index 617cbe3..3cd1801 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ajax/AjaxUtil.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ajax/AjaxUtil.java
@@ -18,13 +18,12 @@
  */
 package org.apache.wiki.ajax;
 
+import com.google.gson.Gson;
+import org.apache.commons.lang3.StringUtils;
+
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 
-import org.apache.commons.lang.StringUtils;
-
-import com.google.gson.Gson;
-
 /**
  * Helpful utilities for the Ajax functions.
  * 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java
index bcf6a75..31bf209 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ajax/WikiAjaxDispatcherServlet.java
@@ -19,6 +19,19 @@
  */
 package org.apache.wiki.ajax;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.wiki.WikiEngine;
+import org.apache.wiki.WikiSession;
+import org.apache.wiki.auth.AuthorizationManager;
+import org.apache.wiki.auth.permissions.PagePermission;
+import org.apache.wiki.util.TextUtil;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.security.Permission;
 import java.util.ArrayList;
@@ -27,20 +40,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.WikiSession;
-import org.apache.wiki.auth.AuthorizationManager;
-import org.apache.wiki.auth.permissions.PagePermission;
-import org.apache.wiki.util.TextUtil;
-
 /**
  * This provides a simple ajax servlet for handling /ajax/<ClassName> requests.
  * HttpServlet classes need to be registered using {@link WikiAjaxDispatcherServlet#registerServlet(WikiAjaxServlet)}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
index e1e8196..32036c9 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
@@ -18,19 +18,10 @@
  */
 package org.apache.wiki.attachment;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.commons.lang.StringUtils;
+import net.sf.ehcache.Cache;
+import net.sf.ehcache.CacheManager;
+import net.sf.ehcache.Element;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -45,9 +36,17 @@ import org.apache.wiki.providers.WikiAttachmentProvider;
 import org.apache.wiki.util.ClassUtil;
 import org.apache.wiki.util.TextUtil;
 
-import net.sf.ehcache.Cache;
-import net.sf.ehcache.CacheManager;
-import net.sf.ehcache.Element;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
 
 
 /**
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/SecurityVerifier.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/SecurityVerifier.java
index c50781a..748f5eb 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/SecurityVerifier.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/SecurityVerifier.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.auth;
 
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.WikiSession;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java
index 4ea72e1..230094d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java
@@ -18,21 +18,7 @@
  */
 package org.apache.wiki.auth;
 
-import java.io.IOException;
-import java.security.Permission;
-import java.security.Principal;
-import java.text.MessageFormat;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.ResourceBundle;
-import java.util.WeakHashMap;
-
-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.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -66,6 +52,19 @@ import org.apache.wiki.workflow.Workflow;
 import org.apache.wiki.workflow.WorkflowBuilder;
 import org.apache.wiki.workflow.WorkflowManager;
 
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.security.Permission;
+import java.security.Principal;
+import java.text.MessageFormat;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.ResourceBundle;
+import java.util.WeakHashMap;
+
 
 /**
  * Provides a facade for obtaining user information.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java
index ebfbd03..1f3bc60 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java
@@ -18,17 +18,7 @@
  */
 package org.apache.wiki.auth.authorize;
 
-import java.security.Principal;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -49,6 +39,15 @@ import org.apache.wiki.event.WikiSecurityEvent;
 import org.apache.wiki.ui.InputValidator;
 import org.apache.wiki.util.ClassUtil;
 
+import javax.servlet.http.HttpServletRequest;
+import java.security.Principal;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.StringTokenizer;
+
 
 /**
  * <p>
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
index a6d2446..de3594e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
@@ -18,6 +18,21 @@
  */
 package org.apache.wiki.auth.authorize;
 
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.log4j.Logger;
+import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
+import org.apache.wiki.auth.NoSuchPrincipalException;
+import org.apache.wiki.auth.WikiPrincipal;
+import org.apache.wiki.auth.WikiSecurityException;
+import org.apache.wiki.util.TextUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -34,22 +49,6 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.log4j.Logger;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
-import org.apache.wiki.auth.NoSuchPrincipalException;
-import org.apache.wiki.auth.WikiPrincipal;
-import org.apache.wiki.auth.WikiSecurityException;
-import org.apache.wiki.util.TextUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
 /**
  * <p>
  * GroupDatabase implementation for loading, persisting and storing wiki groups,
@@ -423,9 +422,9 @@ public class XMLGroupDatabase implements GroupDatabase
             {
                 io.write( "  <" + GROUP_TAG + " " );
                 io.write( GROUP_NAME );
-                io.write( "=\"" + StringEscapeUtils.escapeXml( group.getName() )+ "\" " );
+                io.write( "=\"" + StringEscapeUtils.escapeXml11( group.getName() )+ "\" " );
                 io.write( CREATOR );
-                io.write( "=\"" + StringEscapeUtils.escapeXml( group.getCreator() ) + "\" " );
+                io.write( "=\"" + StringEscapeUtils.escapeXml11( group.getCreator() ) + "\" " );
                 io.write( CREATED );
                 io.write( "=\"" + m_format.format( group.getCreated() ) + "\" " );
                 io.write( MODIFIER );
@@ -439,7 +438,7 @@ public class XMLGroupDatabase implements GroupDatabase
                 {
                     io.write( "    <" + MEMBER_TAG + " " );
                     io.write( PRINCIPAL );
-                    io.write( "=\"" + StringEscapeUtils.escapeXml(member.getName()) + "\" " );
+                    io.write( "=\"" + StringEscapeUtils.escapeXml11(member.getName()) + "\" " );
                     io.write( "/>\n" );
                 }
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/permissions/PagePermission.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/permissions/PagePermission.java
index 9da9cb7..6a18dd6 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/permissions/PagePermission.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/permissions/PagePermission.java
@@ -18,14 +18,14 @@
  */
 package org.apache.wiki.auth.permissions;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.wiki.WikiPage;
+
 import java.io.Serializable;
 import java.security.Permission;
 import java.security.PermissionCollection;
 import java.util.Arrays;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.wiki.WikiPage;
-
 /**
  * <p>
  * Permission to perform an operation on a single page or collection of pages in
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/DefaultUserProfile.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/DefaultUserProfile.java
index e3ea12e..8e37790 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/DefaultUserProfile.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/DefaultUserProfile.java
@@ -18,16 +18,15 @@
  */
 package org.apache.wiki.auth.user;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.wiki.WikiSession;
+
+import javax.servlet.http.HttpServletRequest;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.wiki.WikiSession;
-
 /**
  * Default implementation for representing wiki user information, such as the
  * login name, full name, wiki name, and e-mail address.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/JDBCUserDatabase.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/JDBCUserDatabase.java
index 09130e0..53da585 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/JDBCUserDatabase.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/JDBCUserDatabase.java
@@ -18,6 +18,18 @@
  */
 package org.apache.wiki.auth.user;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
+import org.apache.wiki.auth.NoSuchPrincipalException;
+import org.apache.wiki.auth.WikiPrincipal;
+import org.apache.wiki.auth.WikiSecurityException;
+import org.apache.wiki.util.Serializer;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.sql.DataSource;
 import java.io.IOException;
 import java.io.Serializable;
 import java.security.Principal;
@@ -33,19 +45,6 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
-import org.apache.wiki.auth.NoSuchPrincipalException;
-import org.apache.wiki.auth.WikiPrincipal;
-import org.apache.wiki.auth.WikiSecurityException;
-import org.apache.wiki.util.Serializer;
-
 /**
  * <p>
  * Implementation of UserDatabase that persists {@link DefaultUserProfile}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
index 77bf668..9afc1be 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
@@ -18,6 +18,23 @@
  */
 package org.apache.wiki.auth.user;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
+import org.apache.wiki.auth.NoSuchPrincipalException;
+import org.apache.wiki.auth.WikiPrincipal;
+import org.apache.wiki.auth.WikiSecurityException;
+import org.apache.wiki.util.Serializer;
+import org.apache.wiki.util.TextUtil;
+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 org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -35,24 +52,6 @@ import java.util.Properties;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
-import org.apache.wiki.auth.NoSuchPrincipalException;
-import org.apache.wiki.auth.WikiPrincipal;
-import org.apache.wiki.auth.WikiSecurityException;
-import org.apache.wiki.util.Serializer;
-import org.apache.wiki.util.TextUtil;
-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 org.xml.sax.SAXException;
-
 /**
  * <p>Manages {@link DefaultUserProfile} objects using XML files for persistence.
  * Passwords are hashed using SHA1. User entries are simple <code>&lt;user&gt;</code>
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/event/WikiSecurityEvent.java b/jspwiki-main/src/main/java/org/apache/wiki/event/WikiSecurityEvent.java
index e498327..e7d1cc8 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/event/WikiSecurityEvent.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/event/WikiSecurityEvent.java
@@ -18,12 +18,12 @@
  */
 package org.apache.wiki.event;
 
-import java.security.Principal;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 
+import java.security.Principal;
+
 /**
  * <p>Event class for security events: login/logout, wiki group adds/changes, and
  * authorization decisions. When a WikiSecurityEvent is constructed, the
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java b/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java
index 1352350..12a0752 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java
@@ -37,7 +37,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.PageContext;
 
-import org.apache.commons.lang.time.StopWatch;
+import org.apache.commons.lang3.time.StopWatch;
 import org.apache.log4j.Logger;
 import org.apache.oro.text.regex.MalformedPatternException;
 import org.apache.oro.text.regex.MatchResult;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java
index a32f600..ab0aea8 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.htmltowiki;
 
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.jdom2.Attribute;
 import org.jdom2.Content;
 import org.jdom2.Element;
@@ -96,7 +96,7 @@ public class XHtmlElementToWikiTranslator
 
     private void print( String s )
     {
-        s = StringEscapeUtils.unescapeHtml( s );
+        s = StringEscapeUtils.unescapeHtml4( s );
         m_out.print( s );
     }
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/management/SimpleMBean.java b/jspwiki-main/src/main/java/org/apache/wiki/management/SimpleMBean.java
index a9926f5..1e15bb5 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/management/SimpleMBean.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/management/SimpleMBean.java
@@ -18,9 +18,8 @@
  */
 package org.apache.wiki.management;
 
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Iterator;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
 
 import javax.management.Attribute;
 import javax.management.AttributeList;
@@ -36,9 +35,9 @@ import javax.management.MBeanNotificationInfo;
 import javax.management.MBeanOperationInfo;
 import javax.management.NotCompliantMBeanException;
 import javax.management.ReflectionException;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Iterator;
 
 /**
  *  A simple MBean which does not require an interface class unlike
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
index da1abe8..94d2e39 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
@@ -18,19 +18,7 @@
  */
 package org.apache.wiki.pages;
 
-import java.io.IOException;
-import java.security.Permission;
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiBackgroundThread;
 import org.apache.wiki.WikiEngine;
@@ -56,6 +44,18 @@ import org.apache.wiki.providers.WikiPageProvider;
 import org.apache.wiki.util.ClassUtil;
 import org.apache.wiki.util.TextUtil;
 
+import java.io.IOException;
+import java.security.Permission;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
+
 
 /**
  * Manages the WikiPages.  This class functions as an unified interface towards
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
index 05bb2a8..f0b9ab5 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki.parser;
 
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.apache.log4j.Logger;
 import org.apache.oro.text.regex.MalformedPatternException;
 import org.apache.oro.text.regex.MatchResult;
@@ -2121,7 +2121,7 @@ public class JSPWikiMarkupParser extends MarkupParser {
 
             try
             {
-                style = StringEscapeUtils.unescapeHtml(style);
+                style = StringEscapeUtils.unescapeHtml4(style);
                 if( style != null && style.indexOf("javascript:") != -1 )
                 {
                     log.debug("Attempt to output javascript within CSS:"+style);
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java
index 21fa028..ea12aa0 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java
@@ -18,7 +18,7 @@
 */
 package org.apache.wiki.parser;
 
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.jdom2.Text;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.api.exceptions.NoSuchVariableException;
@@ -88,7 +88,7 @@ public class VariableContent extends Text
             }
         }
 
-        return StringEscapeUtils.escapeXml( result );
+        return StringEscapeUtils.escapeXml11( result );
     }
     
     /**
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/AbstractReferralPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/AbstractReferralPlugin.java
index 6e6c8dd..6838cf8 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/AbstractReferralPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/AbstractReferralPlugin.java
@@ -18,20 +18,7 @@
  */
 package org.apache.wiki.plugin;
 
-import java.io.IOException;
-import java.text.Collator;
-import java.text.ParseException;
-import java.text.RuleBasedCollator;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.oro.text.GlobCompiler;
 import org.apache.oro.text.regex.MalformedPatternException;
@@ -57,6 +44,19 @@ import org.apache.wiki.util.comparators.HumanComparator;
 import org.apache.wiki.util.comparators.JavaNaturalComparator;
 import org.apache.wiki.util.comparators.LocaleComparator;
 
+import java.io.IOException;
+import java.text.Collator;
+import java.text.ParseException;
+import java.text.RuleBasedCollator;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  *  This is a base class for all plugins using referral things.
  *
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java
index cd7e8d1..90c8131 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java
@@ -19,27 +19,8 @@
 
 package org.apache.wiki.plugin;
 
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StreamTokenizer;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Properties;
-import java.util.ResourceBundle;
-import java.util.StringTokenizer;
-
-import javax.servlet.http.HttpServlet;
-
-import org.apache.commons.lang.ClassUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ClassUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.oro.text.regex.MalformedPatternException;
 import org.apache.oro.text.regex.MatchResult;
@@ -68,6 +49,24 @@ import org.apache.wiki.util.XhtmlUtil;
 import org.apache.wiki.util.XmlUtil;
 import org.jdom2.Element;
 
+import javax.servlet.http.HttpServlet;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StreamTokenizer;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Properties;
+import java.util.ResourceBundle;
+import java.util.StringTokenizer;
+
 /**
  *  Manages plugin classes.  There exists a single instance of PluginManager
  *  per each instance of WikiEngine, that is, each JSPWiki instance.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java
index a3f834d..71490fb 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java
@@ -19,11 +19,13 @@
 
 package org.apache.wiki.plugin;
 
-import java.security.Principal;
-import java.util.Map;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.oro.text.regex.*;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.oro.text.regex.MalformedPatternException;
+import org.apache.oro.text.regex.Pattern;
+import org.apache.oro.text.regex.PatternCompiler;
+import org.apache.oro.text.regex.PatternMatcher;
+import org.apache.oro.text.regex.Perl5Compiler;
+import org.apache.oro.text.regex.Perl5Matcher;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.exceptions.PluginException;
@@ -31,6 +33,9 @@ import org.apache.wiki.api.plugin.WikiPlugin;
 import org.apache.wiki.util.HttpUtil;
 import org.apache.wiki.util.TextUtil;
 
+import java.security.Principal;
+import java.util.Map;
+
 /**
  *  The IfPlugin allows parts of a WikiPage to be executed conditionally, and is intended as a flexible way
  *  of customizing a page depending on certain conditions. Do not use it as a security mechanism to conditionally
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
index e42988e..6f27c41 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki.plugin;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.math.NumberUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.math.NumberUtils;
 import org.apache.log4j.Logger;
 import org.apache.oro.text.GlobCompiler;
 import org.apache.oro.text.regex.MalformedPatternException;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/RecentChangesPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/RecentChangesPlugin.java
index 5bd6451..2d3637f 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/RecentChangesPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/RecentChangesPlugin.java
@@ -18,16 +18,7 @@
  */
 package org.apache.wiki.plugin;
 
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -43,6 +34,15 @@ import org.apache.wiki.util.XHTML;
 import org.apache.wiki.util.XhtmlUtil;
 import org.jdom2.Element;
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Iterator;
+import java.util.Map;
+
 
 /**
  *  Returns the Recent Changes in the wiki being a date-sorted list of page names.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java b/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java
index 39b7491..2753b2e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java
@@ -18,6 +18,19 @@
  */
 package org.apache.wiki.preferences;
 
+import com.google.gson.Gson;
+import org.apache.commons.lang3.LocaleUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.wiki.InternalWikiException;
+import org.apache.wiki.WikiContext;
+import org.apache.wiki.i18n.InternationalizationManager;
+import org.apache.wiki.util.HttpUtil;
+import org.apache.wiki.util.PropertyReader;
+import org.apache.wiki.util.TextUtil;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.jsp.PageContext;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -29,21 +42,6 @@ import java.util.Properties;
 import java.util.ResourceBundle;
 import java.util.TimeZone;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.jsp.PageContext;
-
-import org.apache.commons.lang.LocaleUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.apache.wiki.InternalWikiException;
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.i18n.InternationalizationManager;
-import org.apache.wiki.util.HttpUtil;
-import org.apache.wiki.util.PropertyReader;
-import org.apache.wiki.util.TextUtil;
-
-import com.google.gson.Gson;
-
 /**
  *  Represents an object which is used to store user preferences.
  *
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
index 353f026..980fade 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
@@ -18,6 +18,21 @@
  */
 package org.apache.wiki.providers;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.wiki.InternalWikiException;
+import org.apache.wiki.WikiEngine;
+import org.apache.wiki.WikiPage;
+import org.apache.wiki.WikiProvider;
+import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
+import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.search.QueryItem;
+import org.apache.wiki.search.SearchMatcher;
+import org.apache.wiki.search.SearchResult;
+import org.apache.wiki.search.SearchResultComparator;
+import org.apache.wiki.util.FileUtil;
+import org.apache.wiki.util.TextUtil;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -37,21 +52,6 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.TreeSet;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.apache.wiki.InternalWikiException;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
-import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
-import org.apache.wiki.api.exceptions.ProviderException;
-import org.apache.wiki.search.QueryItem;
-import org.apache.wiki.search.SearchMatcher;
-import org.apache.wiki.search.SearchResult;
-import org.apache.wiki.search.SearchResultComparator;
-import org.apache.wiki.util.FileUtil;
-import org.apache.wiki.util.TextUtil;
-
 
 /**
  *  Provides a simple directory based repository for Wiki pages.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java
index 919582e..cd0f213 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java
@@ -18,17 +18,7 @@
  */
 package org.apache.wiki.rss;
 
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.servlet.ServletContext;
-
-import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
 import org.apache.wiki.Release;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -40,6 +30,15 @@ import org.jdom2.Namespace;
 import org.jdom2.output.Format;
 import org.jdom2.output.XMLOutputter;
 
+import javax.servlet.ServletContext;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
 /**
  *  Provides an Atom 1.0 standard feed, with enclosures.
  *
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/Feed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/Feed.java
index 89e9da4..08bbcdf 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/rss/Feed.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/Feed.java
@@ -18,16 +18,15 @@
  */
 package org.apache.wiki.rss;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletContext;
-
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.api.exceptions.NoSuchVariableException;
 
+import javax.servlet.ServletContext;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Represents an abstract feed.
  */
@@ -192,6 +191,6 @@ public abstract class Feed {
      * @return A formatted string.
      */
     public static String format( String s ) {
-        return StringEscapeUtils.escapeXml( s );
+        return StringEscapeUtils.escapeXml11( s );
     }
 }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
index 8cca6d5..5e3f732 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.search;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
index 05e6691..46ad9eb 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
@@ -18,22 +18,8 @@
  */
 package org.apache.wiki.search;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.time.StopWatch;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.StopWatch;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -54,6 +40,19 @@ import org.apache.wiki.parser.MarkupParser;
 import org.apache.wiki.util.ClassUtil;
 import org.apache.wiki.util.TextUtil;
 
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 /**
  *  Manages searching the Wiki.
  *
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckRequestContextTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckRequestContextTag.java
index 12cb2eb..e59d823 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckRequestContextTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckRequestContextTag.java
@@ -18,11 +18,11 @@
  */
 package org.apache.wiki.tags;
 
-import java.io.IOException;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.api.exceptions.ProviderException;
 
+import java.io.IOException;
+
 /**
  *  Includes body, if the request context matches.  To understand more about
  *  RequestContexts, please look at the WikiContext class.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java
index 4629d0c..0c41a28 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java
@@ -18,11 +18,7 @@
  */
 package org.apache.wiki.tags;
 
-import java.io.IOException;
-import java.security.Permission;
-
-import org.apache.commons.lang.StringUtils;
-
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.WikiProvider;
 import org.apache.wiki.WikiSession;
@@ -35,6 +31,9 @@ import org.apache.wiki.auth.permissions.WikiPermission;
 import org.apache.wiki.ui.Command;
 import org.apache.wiki.ui.GroupCommand;
 
+import java.io.IOException;
+import java.security.Permission;
+
 /**
  *  Tells whether the user in the current wiki context possesses a particular
  *  permission. The permission is typically a PagePermission (e.g., "edit", "view",
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/TemplateManager.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/TemplateManager.java
index 63c5fd0..ce5192f 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ui/TemplateManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/TemplateManager.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.ui;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.WikiContext;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java
index 41570d0..21dbf87 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java
@@ -18,11 +18,15 @@
  */
 package org.apache.wiki.ui;
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.NDC;
+import org.apache.wiki.WatchDog;
+import org.apache.wiki.WikiContext;
+import org.apache.wiki.WikiEngine;
+import org.apache.wiki.event.WikiEventManager;
+import org.apache.wiki.event.WikiPageEvent;
+import org.apache.wiki.url.DefaultURLConstructor;
+import org.apache.wiki.util.TextUtil;
 
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
@@ -34,16 +38,11 @@ import javax.servlet.WriteListener;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.NDC;
-import org.apache.wiki.WatchDog;
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.event.WikiEventManager;
-import org.apache.wiki.event.WikiPageEvent;
-import org.apache.wiki.url.DefaultURLConstructor;
-import org.apache.wiki.util.TextUtil;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 
 
 /**
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/SimpleAdminBean.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/SimpleAdminBean.java
index 478f511..a5a9c34 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/SimpleAdminBean.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/SimpleAdminBean.java
@@ -18,15 +18,15 @@
  */
 package org.apache.wiki.ui.admin;
 
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-import javax.management.NotCompliantMBeanException;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.management.SimpleMBean;
 
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.NotCompliantMBeanException;
+
 /**
  *  Provides an easy-to-use interface for JSPWiki AdminBeans, which also
  *  are JMX MBeans.  This class provides a default interface for the doGet()
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/beans/ModuleBean.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/beans/ModuleBean.java
index af6c14c..78d2711 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/beans/ModuleBean.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/admin/beans/ModuleBean.java
@@ -18,11 +18,7 @@
 */
 package org.apache.wiki.ui.admin.beans;
 
-import java.util.Collection;
-
-import javax.management.NotCompliantMBeanException;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.Release;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
@@ -32,6 +28,9 @@ import org.apache.wiki.util.XHTML;
 import org.apache.wiki.util.XhtmlUtil;
 import org.jdom2.Element;
 
+import javax.management.NotCompliantMBeanException;
+import java.util.Collection;
+
 public abstract class ModuleBean extends SimpleAdminBean {
 
     protected WikiEngine m_engine;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/url/DefaultURLConstructor.java b/jspwiki-main/src/main/java/org/apache/wiki/url/DefaultURLConstructor.java
index 4404f42..383043c 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/url/DefaultURLConstructor.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/url/DefaultURLConstructor.java
@@ -18,18 +18,17 @@
  */
 package org.apache.wiki.url;
 
-import java.io.UnsupportedEncodingException;
-import java.util.Properties;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.ui.Command;
 import org.apache.wiki.ui.CommandResolver;
 import org.apache.wiki.util.TextUtil;
 
+import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.util.Properties;
+
 /**
  *  Implements the default URL constructor using links directly to the
  *  JSP pages.  This is what JSPWiki by default is using.  For example,
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java b/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java
index e9e2b6c..ac3f099 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/TestEngine.java
@@ -22,7 +22,7 @@ package org.apache.wiki;
 import net.sourceforge.stripes.mock.MockHttpServletRequest;
 import net.sourceforge.stripes.mock.MockHttpSession;
 import net.sourceforge.stripes.mock.MockServletContext;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.WikiException;
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java b/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java
index d359733..24ce6a7 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java
@@ -17,23 +17,12 @@
     under the License.
  */
 package org.apache.wiki;
-import java.io.IOException;
-import java.security.Principal;
-import java.util.HashSet;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.servlet.Filter;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.lang.ArrayUtils;
+import net.sourceforge.stripes.mock.MockFilterChain;
+import net.sourceforge.stripes.mock.MockFilterConfig;
+import net.sourceforge.stripes.mock.MockHttpServletRequest;
+import net.sourceforge.stripes.mock.MockHttpServletResponse;
+import net.sourceforge.stripes.mock.MockServletContext;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.api.exceptions.WikiException;
 import org.apache.wiki.auth.AuthenticationManager;
 import org.apache.wiki.auth.Users;
@@ -46,11 +35,20 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import net.sourceforge.stripes.mock.MockFilterChain;
-import net.sourceforge.stripes.mock.MockFilterConfig;
-import net.sourceforge.stripes.mock.MockHttpServletRequest;
-import net.sourceforge.stripes.mock.MockHttpServletResponse;
-import net.sourceforge.stripes.mock.MockServletContext;
+import javax.servlet.Filter;
+import javax.servlet.Servlet;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.security.Principal;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
 
 public class WikiSessionTest
 {
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/auth/AuthorizationManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/auth/AuthorizationManagerTest.java
index 3cd0f67..87a721e 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/auth/AuthorizationManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/auth/AuthorizationManagerTest.java
@@ -17,12 +17,7 @@
     under the License.
  */
 package org.apache.wiki.auth;
-import java.io.File;
-import java.security.Permission;
-import java.security.Principal;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.WikiSession;
@@ -43,6 +38,11 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.io.File;
+import java.security.Permission;
+import java.security.Principal;
+import java.util.Properties;
+
 /**
  * Tests the AuthorizationManager class.
  */
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/auth/UserManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/auth/UserManagerTest.java
index 8577d59..8212bfe 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/auth/UserManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/auth/UserManagerTest.java
@@ -18,12 +18,7 @@
  */
 package org.apache.wiki.auth;
 
-import java.security.Principal;
-import java.util.Collection;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.WikiSession;
@@ -47,6 +42,11 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.security.Principal;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+
 /**
  */
 public class UserManagerTest {
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/auth/acl/DefaultAclManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/auth/acl/DefaultAclManagerTest.java
index 0cb82e1..e56a91e 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/auth/acl/DefaultAclManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/auth/acl/DefaultAclManagerTest.java
@@ -17,11 +17,7 @@
     under the License.
  */
 package org.apache.wiki.auth.acl;
-import java.security.Principal;
-import java.util.Properties;
-import java.util.regex.Matcher;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.api.exceptions.ProviderException;
@@ -32,6 +28,10 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.security.Principal;
+import java.util.Properties;
+import java.util.regex.Matcher;
+
 public class DefaultAclManagerTest
 {
     TestEngine m_engine;
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/GroupManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/GroupManagerTest.java
index deaf5a2..252d01a 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/GroupManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/GroupManagerTest.java
@@ -17,10 +17,7 @@
     under the License.
  */
 package org.apache.wiki.auth.authorize;
-import java.security.Principal;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiSession;
 import org.apache.wiki.WikiSessionTest;
@@ -31,14 +28,15 @@ import org.apache.wiki.auth.SecurityEventTrap;
 import org.apache.wiki.auth.Users;
 import org.apache.wiki.auth.WikiPrincipal;
 import org.apache.wiki.auth.WikiSecurityException;
-import org.apache.wiki.auth.authorize.Group;
-import org.apache.wiki.auth.authorize.GroupManager;
 import org.apache.wiki.event.WikiSecurityEvent;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.security.Principal;
+import java.util.Properties;
+
 public class GroupManagerTest
 {
     private TestEngine        m_engine;
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/WebContainerAuthorizerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/WebContainerAuthorizerTest.java
index d29df18..bb5345d 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/WebContainerAuthorizerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/auth/authorize/WebContainerAuthorizerTest.java
@@ -17,10 +17,7 @@
     under the License.
  */
 package org.apache.wiki.auth.authorize;
-import java.security.Principal;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiEngine;
 import org.jdom2.Document;
@@ -28,6 +25,9 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.security.Principal;
+import java.util.Properties;
+
 public class WebContainerAuthorizerTest
 {
     WikiEngine m_engine;
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/auth/user/XMLUserDatabaseTest.java b/jspwiki-main/src/test/java/org/apache/wiki/auth/user/XMLUserDatabaseTest.java
index 5f14a99..c54934b 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/auth/user/XMLUserDatabaseTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/auth/user/XMLUserDatabaseTest.java
@@ -18,12 +18,7 @@
  */
 package org.apache.wiki.auth.user;
 
-import java.io.Serializable;
-import java.security.Principal;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.auth.NoSuchPrincipalException;
@@ -35,6 +30,11 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.io.Serializable;
+import java.security.Principal;
+import java.util.Map;
+import java.util.Properties;
+
 
 public class XMLUserDatabaseTest {
 
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/render/RenderingManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/render/RenderingManagerTest.java
index 3b28231..6d41332 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/render/RenderingManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/render/RenderingManagerTest.java
@@ -18,9 +18,8 @@
  */
 package org.apache.wiki.render;
 
-import java.util.Properties;
-
-import org.apache.commons.lang.time.StopWatch;
+import net.sf.ehcache.CacheManager;
+import org.apache.commons.lang3.time.StopWatch;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
@@ -31,7 +30,7 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import net.sf.ehcache.CacheManager;
+import java.util.Properties;
 
 public class RenderingManagerTest {
 
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/stress/Benchmark.java b/jspwiki-main/src/test/java/org/apache/wiki/stress/Benchmark.java
index a1f5f05..40ed6ef 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/stress/Benchmark.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/stress/Benchmark.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.stress;
 
-import org.apache.commons.lang.time.StopWatch;
+import org.apache.commons.lang3.time.StopWatch;
 
 public class Benchmark extends StopWatch
 {
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/JSPWikiLinkAttributeProvider.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/JSPWikiLinkAttributeProvider.java
index fdf725c..45a91a3 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/JSPWikiLinkAttributeProvider.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/JSPWikiLinkAttributeProvider.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.markdown.extensions.jspwikilinks.attributeprovider;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
 import org.apache.wiki.parser.LinkParsingOperations;
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/JSPWikiLinkNodePostProcessor.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/JSPWikiLinkNodePostProcessor.java
index f7d2cae..f9e7d76 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/JSPWikiLinkNodePostProcessor.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/JSPWikiLinkNodePostProcessor.java
@@ -24,7 +24,7 @@ import com.vladsch.flexmark.parser.block.NodePostProcessor;
 import com.vladsch.flexmark.util.ast.Document;
 import com.vladsch.flexmark.util.ast.Node;
 import com.vladsch.flexmark.util.ast.NodeTracker;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
 import org.apache.wiki.parser.LinkParsingOperations;
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java
index c690fd7..dcc9dae 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/postprocessor/VariableLinkNodePostProcessorState.java
@@ -21,7 +21,7 @@ package org.apache.wiki.markdown.extensions.jspwikilinks.postprocessor;
 import com.vladsch.flexmark.ast.HtmlInline;
 import com.vladsch.flexmark.util.ast.NodeTracker;
 import com.vladsch.flexmark.util.sequence.CharSubSequence;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.api.exceptions.NoSuchVariableException;
 import org.apache.wiki.markdown.nodes.JSPWikiLink;
@@ -53,7 +53,7 @@ public class VariableLinkNodePostProcessorState implements NodePostProcessorStat
         if( !m_wysiwygEditorMode ) {
             try {
                 final String parsedVariable = wikiContext.getEngine().getVariableManager().parseAndGetValue( wikiContext, variable );
-                final HtmlInline content = new HtmlInline( CharSubSequence.of( StringEscapeUtils.escapeXml( parsedVariable ) ) );
+                final HtmlInline content = new HtmlInline( CharSubSequence.of( StringEscapeUtils.escapeXml11( parsedVariable ) ) );
                 NodePostProcessorStateCommonOperations.addContent( state, link, content );
             } catch( final NoSuchVariableException e ) {
                 NodePostProcessorStateCommonOperations.makeError( state, link, "No such variable: " + variable + " (" + e.getMessage() + ")" );
diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/nodes/JSPWikiLink.java b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/nodes/JSPWikiLink.java
index d4f7667..a04ea54 100755
--- a/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/nodes/JSPWikiLink.java
+++ b/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/nodes/JSPWikiLink.java
@@ -18,7 +18,7 @@
  */
 package org.apache.wiki.markdown.nodes;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import com.vladsch.flexmark.ast.Link;
 
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/ClassUtil.java b/jspwiki-util/src/main/java/org/apache/wiki/util/ClassUtil.java
index 29be21b..48cd1d6 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/ClassUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/ClassUtil.java
@@ -19,7 +19,7 @@
 package org.apache.wiki.util;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.jdom2.Element;
 
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java b/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java
index d2623a2..cead919 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java
@@ -18,17 +18,16 @@
  */
 package org.apache.wiki.util;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-
 
 /**
  *  Contains useful utilities for some common HTTP tasks.
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java b/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
index 5639a7d..4a97fc5 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki.util;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Validate;
 import org.apache.log4j.Logger;
 
 import javax.servlet.ServletContext;
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/TextUtil.java b/jspwiki-util/src/main/java/org/apache/wiki/util/TextUtil.java
index 77f5e2e..26c109a 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/TextUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/TextUtil.java
@@ -18,6 +18,8 @@
  */
 package org.apache.wiki.util;
 
+import org.apache.commons.lang3.StringUtils;
+
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
@@ -26,8 +28,6 @@ import java.security.SecureRandom;
 import java.util.Properties;
 import java.util.Random;
 
-import org.apache.commons.lang.StringUtils;
-
 
 /**
  *  Contains a number of static utility methods.
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/XmlUtil.java b/jspwiki-util/src/main/java/org/apache/wiki/util/XmlUtil.java
index 2b61aa0..3bb76b5 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/XmlUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/XmlUtil.java
@@ -19,7 +19,7 @@
 
 package org.apache.wiki.util;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.jdom2.Document;
 import org.jdom2.Element;
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/CollatorComparator.java b/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/CollatorComparator.java
index 6262557..b52fdd2 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/CollatorComparator.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/CollatorComparator.java
@@ -19,11 +19,11 @@
 
 package org.apache.wiki.util.comparators;
 
+import org.apache.commons.lang3.StringUtils;
+
 import java.text.Collator;
 import java.util.Comparator;
 
-import org.apache.commons.lang.StringUtils;
-
 /**
  * A comparator that sorts Strings using a Collator. This class is needed
  * because, even though Collator implements
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/HumanComparator.java b/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/HumanComparator.java
index 11fcd2c..f77e975 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/HumanComparator.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/HumanComparator.java
@@ -19,9 +19,9 @@
 
 package org.apache.wiki.util.comparators;
 
-import java.util.Comparator;
+import org.apache.commons.lang3.StringUtils;
 
-import org.apache.commons.lang.StringUtils;
+import java.util.Comparator;
 
 /**
  * A comparator that sorts Strings using "human" ordering, including decimal
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/JavaNaturalComparator.java b/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/JavaNaturalComparator.java
index 5a463c1..78a739b 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/JavaNaturalComparator.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/comparators/JavaNaturalComparator.java
@@ -19,9 +19,9 @@
 
 package org.apache.wiki.util.comparators;
 
-import java.util.Comparator;
+import org.apache.commons.lang3.StringUtils;
 
-import org.apache.commons.lang.StringUtils;
+import java.util.Comparator;
 
 /**
  * A comparator that sorts Strings using Java's "natural" order.
diff --git a/jspwiki-util/src/test/java/org/apache/wiki/util/XmlUtilTest.java b/jspwiki-util/src/test/java/org/apache/wiki/util/XmlUtilTest.java
index 9083a58..5d19f6e 100644
--- a/jspwiki-util/src/test/java/org/apache/wiki/util/XmlUtilTest.java
+++ b/jspwiki-util/src/test/java/org/apache/wiki/util/XmlUtilTest.java
@@ -18,17 +18,16 @@
  */
 package org.apache.wiki.util;
 
+import org.jdom2.Element;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.io.InputStream;
 import java.util.List;
 
-import org.apache.commons.io.IOUtils;
-import org.jdom2.Element;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
 public class XmlUtilTest {
 
     @Test
@@ -59,27 +58,26 @@ public class XmlUtilTest {
     }
 
     @Test
-    public void testParseFromStream() throws FileNotFoundException {
-        InputStream is = new FileInputStream( new File ("./src/test/resources/ini/jspwiki_module.xml" ) );
-        List< Element > elements = XmlUtil.parse( is, "/modules/plugin" );
-        Assertions.assertEquals( 2, elements.size() );
+    public void testParseFromStream() throws IOException {
+        try( InputStream is = new FileInputStream( new File ("./src/test/resources/ini/jspwiki_module.xml" ) ) ) {
+            List< Element > elements = XmlUtil.parse( is, "/modules/plugin" );
+            Assertions.assertEquals( 2, elements.size() );
 
-        elements = XmlUtil.parse( is, "/modules/filter" );
-        Assertions.assertEquals( 0, elements.size() );
+            elements = XmlUtil.parse( is, "/modules/filter" );
+            Assertions.assertEquals( 0, elements.size() );
 
-        elements = XmlUtil.parse( is, "/modules/editor" );
-        Assertions.assertEquals( 0, elements.size() );
+            elements = XmlUtil.parse( is, "/modules/editor" );
+            Assertions.assertEquals( 0, elements.size() );
 
-        elements = XmlUtil.parse( is, "/modules/heck" );
-        Assertions.assertEquals( 0, elements.size() );
+            elements = XmlUtil.parse( is, "/modules/heck" );
+            Assertions.assertEquals( 0, elements.size() );
 
-        elements = XmlUtil.parse( ( InputStream )null, "/modules/editor" );
-        Assertions.assertEquals( 0, elements.size() );
-
-        elements = XmlUtil.parse( is, null );
-        Assertions.assertEquals( 0, elements.size() );
+            elements = XmlUtil.parse( ( InputStream )null, "/modules/editor" );
+            Assertions.assertEquals( 0, elements.size() );
 
-        IOUtils.closeQuietly( is );
+            elements = XmlUtil.parse( is, null );
+            Assertions.assertEquals( 0, elements.size() );
+        }
     }
 
 }
diff --git a/jspwiki-war/src/main/webapp/Captcha.jsp b/jspwiki-war/src/main/webapp/Captcha.jsp
index d720976..67ad894 100644
--- a/jspwiki-war/src/main/webapp/Captcha.jsp
+++ b/jspwiki-war/src/main/webapp/Captcha.jsp
@@ -24,7 +24,7 @@
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.util.*" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
-<%@ page import="org.apache.commons.lang.time.StopWatch" %>
+<%@ page import="org.apache.commons.lang3.time.StopWatch" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags" prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
diff --git a/jspwiki-war/src/main/webapp/PageModified.jsp b/jspwiki-war/src/main/webapp/PageModified.jsp
index 99924cc..f679e67 100644
--- a/jspwiki-war/src/main/webapp/PageModified.jsp
+++ b/jspwiki-war/src/main/webapp/PageModified.jsp
@@ -18,7 +18,7 @@
 --%>
 
 <%@ page import="org.apache.log4j.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.text.*" %>
 <%@ page import="org.apache.wiki.*" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.ui.EditorManager" %>
@@ -44,10 +44,10 @@
     String usertext = (String)session.getAttribute( EditorManager.REQ_EDITEDTEXT );
 
     // Make the user and conflicting text presentable for display.
-    usertext = StringEscapeUtils.escapeXml( usertext );
+    usertext = StringEscapeUtils.escapeXml11( usertext );
 
     String conflicttext = wiki.getText(pagereq);
-    conflicttext = StringEscapeUtils.escapeXml( conflicttext );
+    conflicttext = StringEscapeUtils.escapeXml11( conflicttext );
 
     pageContext.setAttribute( "conflicttext",
                               conflicttext,
diff --git a/jspwiki-war/src/main/webapp/Wiki.jsp b/jspwiki-war/src/main/webapp/Wiki.jsp
index 78201c1..1726725 100644
--- a/jspwiki-war/src/main/webapp/Wiki.jsp
+++ b/jspwiki-war/src/main/webapp/Wiki.jsp
@@ -21,7 +21,7 @@
 <%@ page import="org.apache.wiki.*" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
 <%@ page import="org.apache.wiki.util.*" %>
-<%@ page import="org.apache.commons.lang.time.StopWatch" %>
+<%@ page import="org.apache.commons.lang3.time.StopWatch" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags" prefix="wiki" %>
 <%!
diff --git a/jspwiki-war/src/main/webapp/admin/Admin.jsp b/jspwiki-war/src/main/webapp/admin/Admin.jsp
index b4484c7..672cce2 100644
--- a/jspwiki-war/src/main/webapp/admin/Admin.jsp
+++ b/jspwiki-war/src/main/webapp/admin/Admin.jsp
@@ -23,7 +23,7 @@
 <%@ page import="org.apache.wiki.ui.TemplateManager" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page import="org.apache.wiki.preferences.Preferences" %>
-<%@ page import="org.apache.commons.lang.time.StopWatch" %>
+<%@ page import="org.apache.commons.lang3.time.StopWatch" %>
 <%@ page errorPage="/Error.jsp" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags" prefix="wiki" %>
 
diff --git a/jspwiki-war/src/main/webapp/templates/210/FindContent.jsp b/jspwiki-war/src/main/webapp/templates/210/FindContent.jsp
index 4d5fb9f..d065727 100644
--- a/jspwiki-war/src/main/webapp/templates/210/FindContent.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/FindContent.jsp
@@ -21,7 +21,7 @@
 <%@ page import="org.apache.wiki.*" %>
 <%@ page import="org.apache.wiki.ui.*" %>
 <%@ page import="java.util.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.lang3.*" %>
 <%@ page import="java.net.URLEncoder" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
diff --git a/jspwiki-war/src/main/webapp/templates/210/editors/CKeditor.jsp b/jspwiki-war/src/main/webapp/templates/210/editors/CKeditor.jsp
index e9f3e2b..4192bb0 100644
--- a/jspwiki-war/src/main/webapp/templates/210/editors/CKeditor.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/editors/CKeditor.jsp
@@ -29,7 +29,7 @@
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 
 <%@ page import="org.apache.wiki.filters.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.text.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <fmt:setLocale value="${prefs.Language}" />
@@ -97,7 +97,7 @@
    String pageAsHtml;
    try
    {
-       //pageAsHtml = StringEscapeUtils.escapeJavaScript( renderingManager.getHTML( context, usertext ) );
+       //pageAsHtml = StringEscapeUtils.escapeEcmaScript( renderingManager.getHTML( context, usertext ) );
        pageAsHtml = engine.getRenderingManager().getHTML( context, usertext );
    }
        catch( Exception e )
diff --git a/jspwiki-war/src/main/webapp/templates/210/editors/FCK.jsp b/jspwiki-war/src/main/webapp/templates/210/editors/FCK.jsp
index ec95bca..1fd54f0 100644
--- a/jspwiki-war/src/main/webapp/templates/210/editors/FCK.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/editors/FCK.jsp
@@ -28,7 +28,7 @@
 <%@ page import="org.apache.wiki.ui.*" %>
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 <%@ page import="org.apache.wiki.filters.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.text.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <fmt:setLocale value="${prefs.Language}" />
@@ -81,7 +81,7 @@
 </wiki:CheckRequestContext>
 <% if( usertext == null ) usertext = "";
 
-   String pageAsHtml = StringEscapeUtils.escapeJavaScript( engine.getRenderingManager().getHTML( context, usertext ) );
+   String pageAsHtml = StringEscapeUtils.escapeEcmaScript( engine.getRenderingManager().getHTML( context, usertext ) );
 
    // Disable the WYSIWYG_EDITOR_MODE and reset the other properties immediately
    // after the XHTML for FCK has been rendered.
diff --git a/jspwiki-war/src/main/webapp/templates/210/editors/TinyMCE.jsp b/jspwiki-war/src/main/webapp/templates/210/editors/TinyMCE.jsp
index 207c1a9..96d72ca 100644
--- a/jspwiki-war/src/main/webapp/templates/210/editors/TinyMCE.jsp
+++ b/jspwiki-war/src/main/webapp/templates/210/editors/TinyMCE.jsp
@@ -29,7 +29,7 @@
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 
 <%@ page import="org.apache.wiki.filters.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.text.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <fmt:setLocale value="${prefs.Language}" />
diff --git a/jspwiki-war/src/main/webapp/templates/default/AJAXSearch.jsp b/jspwiki-war/src/main/webapp/templates/default/AJAXSearch.jsp
index 0667096..0c8f553 100644
--- a/jspwiki-war/src/main/webapp/templates/default/AJAXSearch.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/AJAXSearch.jsp
@@ -28,7 +28,7 @@
 <%@ page import="org.apache.wiki.ui.*" %>
 <%@ page import="java.util.*" %>
 <%@ page import="java.util.Collection" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.lang3.*" %>
 <%@ page import="java.net.URLEncoder" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
diff --git a/jspwiki-war/src/main/webapp/templates/default/FindContent.jsp b/jspwiki-war/src/main/webapp/templates/default/FindContent.jsp
index 54696eb..c6fd521 100644
--- a/jspwiki-war/src/main/webapp/templates/default/FindContent.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/FindContent.jsp
@@ -20,7 +20,7 @@
 <%@ page import="org.apache.wiki.*" %>
 <%@ page import="org.apache.wiki.ui.*" %>
 <%@ page import="java.util.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.lang3.*" %>
 <%@ page import="java.net.URLEncoder" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
diff --git a/jspwiki-war/src/main/webapp/templates/default/editors/CKeditor.jsp b/jspwiki-war/src/main/webapp/templates/default/editors/CKeditor.jsp
index d621553..fe62516 100644
--- a/jspwiki-war/src/main/webapp/templates/default/editors/CKeditor.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/editors/CKeditor.jsp
@@ -28,7 +28,7 @@
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 
 <%@ page import="org.apache.wiki.filters.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.lang3.*" %>
 <%@ taglib uri="http://jspwiki.apache.org/tags" prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
diff --git a/jspwiki-war/src/main/webapp/templates/default/editors/TinyMCE.jsp b/jspwiki-war/src/main/webapp/templates/default/editors/TinyMCE.jsp
index 1743a01..28eb602 100644
--- a/jspwiki-war/src/main/webapp/templates/default/editors/TinyMCE.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/editors/TinyMCE.jsp
@@ -29,7 +29,7 @@
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 
 <%@ page import="org.apache.wiki.filters.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.lang3.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
diff --git a/jspwiki-war/src/main/webapp/templates/default/editors/wysiwyg.jsp b/jspwiki-war/src/main/webapp/templates/default/editors/wysiwyg.jsp
index b315263..8f66f7f 100644
--- a/jspwiki-war/src/main/webapp/templates/default/editors/wysiwyg.jsp
+++ b/jspwiki-war/src/main/webapp/templates/default/editors/wysiwyg.jsp
@@ -29,7 +29,7 @@
 <%@ page import="org.apache.wiki.util.TextUtil" %>
 
 <%@ page import="org.apache.wiki.filters.*" %>
-<%@ page import="org.apache.commons.lang.*" %>
+<%@ page import="org.apache.commons.lang3.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>