Author: cziegeler
Date: Fri Feb 13 16:46:30 2015
New Revision: 1659600
URL: http://svn.apache.org/r1659600
Log:
SLING-4420 : Escape quotes and double quotes when escaping for XML
Modified:
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/ResponseUtil.java
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/ResponseUtilTest.java
Modified:
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/ResponseUtil.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/ResponseUtil.java?rev=1659600&r1=1659599&r2=1659600&view=diff
==============================================================================
---
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/ResponseUtil.java
(original)
+++
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/ResponseUtil.java
Fri Feb 13 16:46:30 2015
@@ -65,6 +65,10 @@ public class ResponseUtil {
target.write("<");
} else if(c == '>') {
target.write(">");
+ } else if(c == '"') {
+ target.write(""");
+ } else if(c == '\'') {
+ target.write("'");
} else {
target.write(c);
}
@@ -82,8 +86,8 @@ public class ResponseUtil {
}
/** Escape xml text */
- public static String escapeXml(String input) {
- if(input == null) {
+ public static String escapeXml(final String input) {
+ if (input == null) {
return null;
}
@@ -96,6 +100,10 @@ public class ResponseUtil {
b.append("<");
} else if(c == '>') {
b.append(">");
+ } else if(c == '"') {
+ b.append(""");
+ } else if(c == '\'') {
+ b.append("'");
} else {
b.append(c);
}
Modified:
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/ResponseUtilTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/ResponseUtilTest.java?rev=1659600&r1=1659599&r2=1659600&view=diff
==============================================================================
---
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/ResponseUtilTest.java
(original)
+++
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/ResponseUtilTest.java
Fri Feb 13 16:46:30 2015
@@ -26,21 +26,21 @@ public class ResponseUtilTest extends Te
public void testNullInput() {
assertNull(ResponseUtil.escapeXml(null));
}
-
+
public void testNoEscapes() {
assertEquals("foo and bar", ResponseUtil.escapeXml("foo and bar"));
}
-
+
public void testEscapes() {
- assertEquals("<bonnie> & </clyde> && others",
- ResponseUtil.escapeXml("<bonnie> & </clyde> && others"));
+ assertEquals("<bonnie> & </clyde> && others
are having fun with " and ' characters",
+ ResponseUtil.escapeXml("<bonnie> & </clyde> && others are
having fun with \" and ' characters"));
}
-
+
public void testXmlEscapingWriter() throws IOException {
final StringWriter sw = new StringWriter();
final Writer w = ResponseUtil.getXmlEscapingWriter(sw);
- w.write("<bonnie> & </clyde> && others");
+ w.write("<bonnie> & </clyde> && others are having fun with \" and '
characters");
w.flush();
- assertEquals("<bonnie> & </clyde> && others",
sw.toString());
+ assertEquals("<bonnie> & </clyde> && others
are having fun with " and ' characters", sw.toString());
}
}