From 3eb49704072ba8094b7be8d98e5da4c3b211633b Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sun, 11 Aug 2024 18:47:36 +0200 Subject: [PATCH] Refactor `toHtml()` method in `Form.java` Enhanced `toHtml()` to split multiline values into paragraphs using streams and filters. This improves HTML output readability by ensuring each line is wrapped in `

` tags. Also updated workspace.xml with the correct description for the recent changes. --- .idea/workspace.xml | 24 ++++++++++++-------- src/main/java/com/alttd/forms/form/Form.java | 8 ++++++- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 3cf3d9b..261755a 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,11 +4,9 @@ - @@ -728,7 +733,8 @@ - diff --git a/src/main/java/com/alttd/forms/form/Form.java b/src/main/java/com/alttd/forms/form/Form.java index 3d61457..359a0d3 100644 --- a/src/main/java/com/alttd/forms/form/Form.java +++ b/src/main/java/com/alttd/forms/form/Form.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import java.util.Arrays; import java.util.Optional; +import java.util.stream.Collectors; public abstract class Form { @@ -19,13 +21,17 @@ public abstract class Form { public String toHtml(String[] fields, String[] values) { StringBuilder htmlOutput = new StringBuilder(); for (int i = 0; i < fields.length; i++) { + String paragraphs = Arrays.stream(values[i].split("\n")) + .filter(str -> !str.isBlank()) + .map(str -> String.format("

%s

", str)) + .collect(Collectors.joining("\n")); htmlOutput.append( String.format( //language=HTML """

%s

%s

- """, fields[i], values[i])); + """, fields[i], paragraphs)); } return htmlOutput.toString(); }