From 9950188e0da84fcce11e6014006dd07a18daf84e Mon Sep 17 00:00:00 2001 From: Wirlaburla Date: Fri, 26 Jul 2024 21:05:56 -0500 Subject: [PATCH] fix the mess of encodings --- firestar/build.gradle | 18 ++++++++++-------- firestar/src/main/java/Rizzo.java | 11 ++--------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/firestar/build.gradle b/firestar/build.gradle index b462ade..084d16a 100644 --- a/firestar/build.gradle +++ b/firestar/build.gradle @@ -18,6 +18,7 @@ dependencies { implementation group: 'net.lingala.zip4j', name: 'zip4j', version: '2.11.5' implementation group: 'org.json', name: 'json', version: '20240303' implementation group: 'io.github.java-diff-utils', name: 'java-diff-utils', version: '4.12' + implementation group: 'org.apache.commons', name: 'commons-text', version: '1.12.0' implementation 'com.jetbrains.intellij.java:java-gui-forms-rt:203.7148.30' antTask 'com.jetbrains.intellij.java:java-compiler-ant-tasks:203.7148.30' @@ -30,14 +31,15 @@ java { } jar { - manifest { - attributes( - 'Main-Class': 'Main' - ) - } - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } + manifest { + attributes( + 'Main-Class': 'Main' + ) + } + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } } application { diff --git a/firestar/src/main/java/Rizzo.java b/firestar/src/main/java/Rizzo.java index f2ebd28..6df2bcc 100644 --- a/firestar/src/main/java/Rizzo.java +++ b/firestar/src/main/java/Rizzo.java @@ -54,6 +54,7 @@ import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; +import org.apache.commons.text.StringEscapeUtils; public class Rizzo { private Scanner scanner; @@ -123,15 +124,7 @@ public class Rizzo { transformer.setOutputProperty(OutputKeys.METHOD, "html"); transformer.transform(source, result); // Look ma, I'm breaking XML standards! - String xmlString = result.getWriter().toString() - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace(" ", "\t") - .replace("", "\b") - .replace(" ", "\n") - .replace(" ", "\r") - .replace(" ", "\f"); + String xmlString = StringEscapeUtils.unescapeHtml4(result.getWriter().toString()); try (PrintStream ps = new PrintStream(output)) { ps.print(xmlString); }