From e0b0425da455f103eb91c07463fb10d96b4a7600 Mon Sep 17 00:00:00 2001 From: David Date: Sun, 29 Jan 2017 17:26:54 +0100 Subject: [PATCH] Remove stringutils and add simple escaper (#34) --- pom.xml | 5 ---- .../java/j2html/attributes/Attribute.java | 5 ++-- src/main/java/j2html/tags/Text.java | 4 +-- src/main/java/j2html/utils/SimpleEscaper.java | 28 +++++++++++++++++++ 4 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 src/main/java/j2html/utils/SimpleEscaper.java diff --git a/pom.xml b/pom.xml index 9d4943a..4ce90b9 100644 --- a/pom.xml +++ b/pom.xml @@ -52,11 +52,6 @@ 1.3 test - - org.apache.commons - commons-lang3 - 3.4 - jar diff --git a/src/main/java/j2html/attributes/Attribute.java b/src/main/java/j2html/attributes/Attribute.java index 725f175..913ff2a 100644 --- a/src/main/java/j2html/attributes/Attribute.java +++ b/src/main/java/j2html/attributes/Attribute.java @@ -1,6 +1,7 @@ package j2html.attributes; -import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4; + +import j2html.utils.SimpleEscaper; public class Attribute { private String name; @@ -8,7 +9,7 @@ public class Attribute { public Attribute(String name, String value) { this.name = name; - this.value = escapeHtml4(value); + this.value = SimpleEscaper.escape(value); } public Attribute(String name) { diff --git a/src/main/java/j2html/tags/Text.java b/src/main/java/j2html/tags/Text.java index be759dd..3b850d0 100644 --- a/src/main/java/j2html/tags/Text.java +++ b/src/main/java/j2html/tags/Text.java @@ -1,6 +1,6 @@ package j2html.tags; -import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4; +import j2html.utils.SimpleEscaper; public class Text extends DomContent { @@ -12,7 +12,7 @@ public class Text extends DomContent { @Override public String render() { - return escapeHtml4(text); + return SimpleEscaper.escape(text); } } diff --git a/src/main/java/j2html/utils/SimpleEscaper.java b/src/main/java/j2html/utils/SimpleEscaper.java new file mode 100644 index 0000000..00d53a0 --- /dev/null +++ b/src/main/java/j2html/utils/SimpleEscaper.java @@ -0,0 +1,28 @@ +package j2html.utils; + +import java.util.HashMap; +import java.util.Map; + +public class SimpleEscaper { + + private static Map map = new HashMap() {{ + put('&', "&"); + put('<', "<"); + put('>', ">"); + put('"', """); + put('\'', "'"); + }}; + + public static String escape(String s) { + if(s == null) { + return null; + } + String escapedString = ""; + for(char c : s.toCharArray()) { + String escaped = map.get(c); + escapedString += escaped != null ? escaped : c; + } + return escapedString; + } + +}