From 77dd3fcc4d85088b15ab859c4438521d9cd6ed10 Mon Sep 17 00:00:00 2001 From: Jakob Heher Date: Wed, 15 Apr 2026 13:49:22 +0200 Subject: pdf-as-5 (#82) - JDK 17 - PDFBox 3 - PDF-AS Web moved to Spring Boot - MOA Integration tests w/ new error code --------- Co-authored-by: Gerald Palfinger Co-authored-by: kathrin.resek --- .../gv/egiz/status/content/ContentGenerator.java | 4 +- .../at/gv/egiz/status/content/HtmlGenerator.java | 80 ++++++++++----------- .../at/gv/egiz/status/content/JsonGenerator.java | 40 +++++------ .../at/gv/egiz/status/content/ResponseBuilder.java | 4 +- .../at/gv/egiz/status/content/XMLGenerator.java | 84 ++++++++++------------ .../at/gv/egiz/status/servlet/StatusServlet.java | 12 ++-- 6 files changed, 103 insertions(+), 121 deletions(-) (limited to 'pdf-as-web-status/src/main/java') diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java index 6ba85284..c15d58a6 100644 --- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java +++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java @@ -3,8 +3,8 @@ package at.gv.egiz.status.content; import java.io.IOException; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import at.gv.egiz.status.TestResult; diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java index c94cde22..8f80a91e 100644 --- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java +++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java @@ -5,14 +5,13 @@ import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.lang3.StringEscapeUtils; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import at.gv.egiz.status.TestResult; import at.gv.egiz.status.TestStatus; import at.gv.egiz.status.impl.TestStatusString; +import org.apache.commons.text.StringEscapeUtils; public class HtmlGenerator implements ContentGenerator { @@ -21,15 +20,13 @@ public class HtmlGenerator implements ContentGenerator { HttpServletResponse response, Map results, boolean details) throws IOException { boolean allOk = true; - - Iterator testIterator = results.values().iterator(); - while(testIterator.hasNext()) { - TestResult result = testIterator.next(); - if(!result.getStatus().equals(TestStatus.OK)){ - allOk = false; - break; - } - } + + for (TestResult result : results.values()) { + if (!result.getStatus().equals(TestStatus.OK)) { + allOk = false; + break; + } + } if(!allOk) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); @@ -49,37 +46,32 @@ public class HtmlGenerator implements ContentGenerator { } sb.append(""); - - Iterator> testResultIterator = results.entrySet().iterator(); - while(testResultIterator.hasNext()) { - Entry entry = testResultIterator.next(); - TestResult result = entry.getValue(); - String testName = entry.getKey(); - - sb.append(""); - sb.append(StringEscapeUtils.escapeHtml4(testName)); - sb.append(""); - sb.append(StringEscapeUtils.escapeHtml4(TestStatusString.getString(result.getStatus()))); - - - if(details) { - sb.append(""); - - StringBuilder detail = new StringBuilder(); - - Iterator detailStringIt = result.getDetails().iterator(); - - while(detailStringIt.hasNext()) { - String detailString = detailStringIt.next(); - detail.append(StringEscapeUtils.escapeHtml4(detailString)); - detail.append("
"); - } - - sb.append(detail.toString()); - } - - sb.append(""); - } + + for (Entry entry : results.entrySet()) { + TestResult result = entry.getValue(); + String testName = entry.getKey(); + + sb.append(""); + sb.append(StringEscapeUtils.escapeHtml4(testName)); + sb.append(""); + sb.append(StringEscapeUtils.escapeHtml4(TestStatusString.getString(result.getStatus()))); + + + if (details) { + sb.append(""); + + StringBuilder detail = new StringBuilder(); + + for (String detailString : result.getDetails()) { + detail.append(StringEscapeUtils.escapeHtml4(detailString)); + detail.append("
"); + } + + sb.append(detail); + } + + sb.append(""); + } sb.append(""); diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java index f26c0885..b3969131 100644 --- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java +++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java @@ -1,14 +1,15 @@ package at.gv.egiz.status.content; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import at.gv.egiz.status.TestResult; import at.gv.egiz.status.TestStatus; @@ -21,15 +22,13 @@ public class JsonGenerator implements ContentGenerator { HttpServletResponse response, Map results, boolean details) throws IOException { boolean allOk = true; - - Iterator testIterator = results.values().iterator(); - while(testIterator.hasNext()) { - TestResult result = testIterator.next(); - if(!result.getStatus().equals(TestStatus.OK)){ - allOk = false; - break; - } - } + + for (TestResult result : results.values()) { + if (!result.getStatus().equals(TestStatus.OK)) { + allOk = false; + break; + } + } if(!allOk) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); @@ -59,16 +58,13 @@ public class JsonGenerator implements ContentGenerator { sb.append(", \"Detail\": \""); StringBuilder detail = new StringBuilder(); + + for (String detailString : result.getDetails()) { + detail.append(StringEscapeUtils.escapeJson(detailString)); + detail.append(" "); + } - Iterator detailStringIt = result.getDetails().iterator(); - - while(detailStringIt.hasNext()) { - String detailString = detailStringIt.next(); - detail.append(StringEscapeUtils.escapeJson(detailString)); - detail.append(" "); - } - - sb.append(detail.toString()); + sb.append(detail); sb.append("\""); } @@ -80,7 +76,7 @@ public class JsonGenerator implements ContentGenerator { sb.append("}"); - response.getOutputStream().write(sb.toString().getBytes("UTF-8")); + response.getOutputStream().write(sb.toString().getBytes(StandardCharsets.UTF_8)); response.getOutputStream().close(); } diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java index 1e248808..c71b8fef 100644 --- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java +++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java @@ -4,8 +4,8 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import at.gv.egiz.status.TestResult; diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java index 00b116bb..0cc4f6b9 100644 --- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java +++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java @@ -1,14 +1,15 @@ package at.gv.egiz.status.content; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import at.gv.egiz.status.TestResult; import at.gv.egiz.status.TestStatus; @@ -21,15 +22,13 @@ public class XMLGenerator implements ContentGenerator { HttpServletResponse response, Map results, boolean details) throws IOException { boolean allOk = true; - - Iterator testIterator = results.values().iterator(); - while(testIterator.hasNext()) { - TestResult result = testIterator.next(); - if(!result.getStatus().equals(TestStatus.OK)){ - allOk = false; - break; - } - } + + for (TestResult result : results.values()) { + if (!result.getStatus().equals(TestStatus.OK)) { + allOk = false; + break; + } + } if(!allOk) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); @@ -44,42 +43,37 @@ public class XMLGenerator implements ContentGenerator { sb.append(""); sb.append(""); - - Iterator> testResultIterator = results.entrySet().iterator(); - while(testResultIterator.hasNext()) { - Entry entry = testResultIterator.next(); - TestResult result = entry.getValue(); - String testName = entry.getKey(); - - sb.append(""); - sb.append(StringEscapeUtils.escapeXml10(testName)); - sb.append(""); - sb.append(StringEscapeUtils.escapeXml10(TestStatusString.getString(result.getStatus()))); - sb.append(""); - - if(details) { - sb.append(""); - - StringBuilder detail = new StringBuilder(); - - Iterator detailStringIt = result.getDetails().iterator(); - - while(detailStringIt.hasNext()) { - String detailString = detailStringIt.next(); - detail.append(StringEscapeUtils.escapeXml10(detailString)); - detail.append(" "); - } - - sb.append(detail.toString()); - sb.append(""); - } - - sb.append(""); - } + + for (Entry entry : results.entrySet()) { + TestResult result = entry.getValue(); + String testName = entry.getKey(); + + sb.append(""); + sb.append(StringEscapeUtils.escapeXml10(testName)); + sb.append(""); + sb.append(StringEscapeUtils.escapeXml10(TestStatusString.getString(result.getStatus()))); + sb.append(""); + + if (details) { + sb.append(""); + + StringBuilder detail = new StringBuilder(); + + for (String detailString : result.getDetails()) { + detail.append(StringEscapeUtils.escapeXml10(detailString)); + detail.append(" "); + } + + sb.append(detail.toString()); + sb.append(""); + } + + sb.append(""); + } sb.append(""); - response.getOutputStream().write(sb.toString().getBytes("UTF-8")); + response.getOutputStream().write(sb.toString().getBytes(StandardCharsets.UTF_8)); response.getOutputStream().close(); } diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java index 6790fccc..07b77c38 100644 --- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java +++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java @@ -4,12 +4,12 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -- cgit v1.2.3