You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2017/11/27 15:19:48 UTC
svn commit: r1816461 - in /ofbiz/ofbiz-framework/trunk: build.gradle
framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java
Author: jleroux
Date: Mon Nov 27 15:19:47 2017
New Revision: 1816461
URL: http://svn.apache.org/viewvc?rev=1816461&view=rev
Log:
Fixed: Replace org.apache.commons.lang.StringEscapeUtils.unescapeHtml() method
by org.jsoup.parser.Parser.unescapeEntities()
(OFBIZ-10023)
StringEscapeUtils.unescapeHtml() is deprecated or at least not reliable
After few tests using the Parser.unescapeEntities() strict mode seems OK
Modified:
ofbiz/ofbiz-framework/trunk/build.gradle
ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java
Modified: ofbiz/ofbiz-framework/trunk/build.gradle
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/build.gradle?rev=1816461&r1=1816460&r2=1816461&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/build.gradle (original)
+++ ofbiz/ofbiz-framework/trunk/build.gradle Mon Nov 27 15:19:47 2017
@@ -142,6 +142,7 @@ dependencies {
compile 'oro:oro:2.0.8'
compile 'wsdl4j:wsdl4j:1.6.3'
compile 'io.jsonwebtoken:jjwt:0.9.0'
+ compile 'org.jsoup:jsoup:1.11.2'
// ofbiz unit-test compile libs
testCompile 'org.mockito:mockito-core:2.+'
Modified: ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java?rev=1816461&r1=1816460&r2=1816461&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java Mon Nov 27 15:19:47 2017
@@ -25,7 +25,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import org.apache.commons.lang.StringEscapeUtils;
import org.apache.ofbiz.base.util.Debug;
import org.apache.ofbiz.base.util.FileUtil;
import org.apache.ofbiz.base.util.UtilGenerics;
@@ -36,6 +35,7 @@ import org.apache.ofbiz.base.util.UtilXm
import org.apache.ofbiz.base.util.cache.UtilCache;
import org.apache.ofbiz.service.DispatchContext;
import org.apache.ofbiz.service.ServiceUtil;
+import org.jsoup.parser.Parser;
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -118,9 +118,9 @@ public class SaveLabelsToXmlFile {
continue;
}
Element propertyElem = UtilXml.addChildElement(resourceElem, "property", resourceDocument);
- propertyElem.setAttribute("key", StringEscapeUtils.unescapeHtml(labelInfo.getLabelKey()));
+ propertyElem.setAttribute("key", Parser.unescapeEntities(labelInfo.getLabelKey(), true));
if (UtilValidate.isNotEmpty(labelInfo.getLabelKeyComment())) {
- Comment labelKeyComment = resourceDocument.createComment(StringEscapeUtils.unescapeHtml(labelInfo.getLabelKeyComment()));
+ Comment labelKeyComment = resourceDocument.createComment(Parser.unescapeEntities(labelInfo.getLabelKeyComment(), true));
Node parent = propertyElem.getParentNode();
parent.insertBefore(labelKeyComment, propertyElem);
}
@@ -131,11 +131,11 @@ public class SaveLabelsToXmlFile {
valueString = labelValue.getLabelValue();
}
if (UtilValidate.isNotEmpty(valueString)) {
- valueString = StringEscapeUtils.unescapeHtml(valueString);
+ valueString = Parser.unescapeEntities(valueString, true);
Element valueElem = UtilXml.addChildElementValue(propertyElem, "value", valueString, resourceDocument);
valueElem.setAttribute("xml:lang", localeFound);
if (UtilValidate.isNotEmpty(labelValue.getLabelComment())) {
- Comment labelComment = resourceDocument.createComment(StringEscapeUtils.unescapeHtml(labelValue.getLabelComment()));
+ Comment labelComment = resourceDocument.createComment(Parser.unescapeEntities(labelValue.getLabelComment(), true));
Node parent = valueElem.getParentNode();
parent.insertBefore(labelComment, valueElem);
}
Modified: ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java?rev=1816461&r1=1816460&r2=1816461&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java Mon Nov 27 15:19:47 2017
@@ -27,7 +27,6 @@ import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringEscapeUtils;
import org.apache.ofbiz.base.util.Debug;
import org.apache.ofbiz.base.util.UtilCodec;
import org.apache.ofbiz.base.util.UtilGenerics;
@@ -41,6 +40,7 @@ import org.apache.ofbiz.webapp.control.W
import org.apache.ofbiz.webapp.taglib.ContentUrlTag;
import org.apache.ofbiz.widget.model.ModelForm;
import org.apache.ofbiz.widget.model.ModelFormField;
+import org.jsoup.parser.Parser;
public final class WidgetWorker {
@@ -53,7 +53,7 @@ public final class WidgetWorker {
// We may get an encoded request like: /projectmgr/control/EditTaskContents?workEffortId=10003
// Try to reducing a possibly encoded string down to its simplest form: /projectmgr/control/EditTaskContents?workEffortId=10003
// This step make sure the following appending externalLoginKey operation to work correctly
- String localRequestName = StringEscapeUtils.unescapeHtml(target);
+ String localRequestName = Parser.unescapeEntities(target, true);
localRequestName = UtilHttp.encodeAmpersands(localRequestName);
Appendable localWriter = new StringWriter();