X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FJavascriptFilter.java;h=4c64f9692358da2e3d320dd58ac78f235dfad2b7;hb=a97bd2a5a5d804d53f9fdf4ff3afa985b6eae2fb;hp=0cd55de08dbed8dade55d3e794fac6ba8a0df095;hpb=f4ea1e1b3526175e255831c975d6eea813589f25;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java b/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java
index 0cd55de..4c64f96 100644
--- a/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java
+++ b/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java
@@ -1,5 +1,5 @@
/*
- * Sone - JavascriptFilter.java - Copyright © 2011 David Roden
+ * Sone - JavascriptFilter.java - Copyright © 2011â2016 David Roden
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,16 +19,15 @@ package net.pterodactylus.sone.template;
import java.util.Map;
-import net.pterodactylus.util.number.Hex;
-import net.pterodactylus.util.template.DataProvider;
import net.pterodactylus.util.template.Filter;
+import net.pterodactylus.util.template.TemplateContext;
+
+import com.google.common.io.BaseEncoding;
/**
* Escapes double quotes, backslashes, carriage returns and line feeds, and
* additionally encloses a given string with double quotes to make it possible
* to use a string in Javascript.
- *
- * @author David âBombeâ Roden
*/
public class JavascriptFilter implements Filter {
@@ -36,7 +35,7 @@ public class JavascriptFilter implements Filter {
* {@inheritDoc}
*/
@Override
- public Object format(DataProvider dataProvider, Object data, Map parameters) {
+ public Object format(TemplateContext templateContext, Object data, Map parameters) {
StringBuilder javascriptString = new StringBuilder();
javascriptString.append('"');
for (char c : String.valueOf(data).toCharArray()) {
@@ -56,7 +55,7 @@ public class JavascriptFilter implements Filter {
javascriptString.append('\\');
javascriptString.append(c);
} else if (c < 32) {
- javascriptString.append("\\x").append(Hex.toHex((byte) c));
+ javascriptString.append("\\x").append(BaseEncoding.base16().lowerCase().encode(new byte[] { (byte) c }));
} else {
javascriptString.append(c);
}