From d59bd5f066c3231039b566f5eed6b270ab81eae8 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Sun, 26 Jan 2020 15:14:18 +0100 Subject: [PATCH 1/5] [BAEL-2397] Text Blocks Added code/configuration for the article about Text Blocks --- .../core-java-14/.mvn/jvm.config | 1 + core-java-modules/core-java-14/pom.xml | 35 ++++++++---- .../java14/textblocks/TextBlocks13.java | 46 +++++++++++++++ .../java14/textblocks/TextBlocks14.java | 16 ++++++ .../com/baeldung/serial/MySerialClass.java | 56 +++++++++---------- .../textblocks/TextBlocks13UnitTest.java | 53 ++++++++++++++++++ .../textblocks/TextBlocks14UnitTest.java | 21 +++++++ 7 files changed, 190 insertions(+), 38 deletions(-) create mode 100644 core-java-modules/core-java-14/.mvn/jvm.config create mode 100644 core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java create mode 100644 core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java create mode 100644 core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java create mode 100644 core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks14UnitTest.java diff --git a/core-java-modules/core-java-14/.mvn/jvm.config b/core-java-modules/core-java-14/.mvn/jvm.config new file mode 100644 index 0000000000..50f549be0a --- /dev/null +++ b/core-java-modules/core-java-14/.mvn/jvm.config @@ -0,0 +1 @@ +--enable-preview \ No newline at end of file diff --git a/core-java-modules/core-java-14/pom.xml b/core-java-modules/core-java-14/pom.xml index b985ada5e6..8ee9d01b63 100644 --- a/core-java-modules/core-java-14/pom.xml +++ b/core-java-modules/core-java-14/pom.xml @@ -16,7 +16,26 @@ 1.0.0-SNAPSHOT ../../ - + + + org.assertj + assertj-core + ${assertj.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + test + + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + @@ -24,13 +43,8 @@ maven-compiler-plugin ${maven-compiler-plugin.version} - ${maven.compiler.source.version} - ${maven.compiler.target.version} - - - --enable-preview - - + ${maven.compiler.release} + --enable-preview @@ -45,8 +59,9 @@ - 14 - 14 + 14 + 3.6.1 + 3.8.1 3.0.0-M3 diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java new file mode 100644 index 0000000000..5afac6acc4 --- /dev/null +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java @@ -0,0 +1,46 @@ +package com.baeldung.java14.textblocks; + +public class TextBlocks13 { + public String getBlockOfHtml() { + return """ + + + +

example text

+ + """; + } + + public String getNonStandardIndent() { + return """ + Indent + """; + } + + public String getQuery() { + return """ + select "id", "user" + from "table" + """; + } + + public String getTextWithCarriageReturns() { + return """ + separated with\r + carriage returns"""; + } + + public String getTextWithEscapes() { + return """ + fun with\n + whitespace\t\r + and other escapes \""" + """; + } + + public String getFormattedText(String parameter) { + return """ + Some parameter: %s + """.formatted(parameter); + } +} diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java new file mode 100644 index 0000000000..e0cd7843bc --- /dev/null +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java @@ -0,0 +1,16 @@ +package com.baeldung.java14.textblocks; + +public class TextBlocks14 { +public String getIgnoredNewLines() { + return """ + This is a long test which looks to \ + have a newline but actually does not"""; +} + +public String getEscapedSpaces() { + return """ + line 1 + line 2 \s + """; +} +} diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java index 6a013d7b59..0816558668 100644 --- a/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java @@ -14,37 +14,37 @@ import java.io.Serializable; * @author Donato Rimenti */ public class MySerialClass implements Serializable { - - @Serial - private static final ObjectStreamField[] serialPersistentFields = null; - - @Serial - private static final long serialVersionUID = 1; - @Serial - private void writeObject(ObjectOutputStream stream) throws IOException { - // ... - } + @Serial + private static final ObjectStreamField[] serialPersistentFields = null; - @Serial - private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { - // ... - } + @Serial + private static final long serialVersionUID = 1; - @Serial - private void readObjectNoData() throws ObjectStreamException { - // ... - } + @Serial + private void writeObject(ObjectOutputStream stream) throws IOException { + // ... + } - @Serial - private Object writeReplace() throws ObjectStreamException { - // ... - return null; - } + @Serial + private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { + // ... + } - @Serial - private Object readResolve() throws ObjectStreamException { - // ... - return null; - } + @Serial + private void readObjectNoData() throws ObjectStreamException { + // ... + } + + @Serial + private Object writeReplace() throws ObjectStreamException { + // ... + return null; + } + + @Serial + private Object readResolve() throws ObjectStreamException { + // ... + return null; + } } \ No newline at end of file diff --git a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java new file mode 100644 index 0000000000..4aac1c8067 --- /dev/null +++ b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java @@ -0,0 +1,53 @@ +package com.baeldung.java14.textblocks; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class TextBlocks13UnitTest { + private TextBlocks13 subject = new TextBlocks13(); + + @Test + void givenAnOldStyleMultilineString_whenComparing_thenEqualsTextBlock() { + String expected = "\n" + "\n" + " \n" + "

example text

\n" + " \n" + ""; + assertThat(subject.getBlockOfHtml()).isEqualTo(expected); + } + + @Test + void givenAnOldStyleString_whenComparing_thenEqualsTextBlock() { + String expected = "\n\n \n

example text

\n \n"; + assertThat(subject.getBlockOfHtml()).isEqualTo(expected); + } + + @Test + void givenAnIndentedString_thenMatchesIndentedOldStyle() { + assertThat(subject.getNonStandardIndent()).isEqualTo(" Indent\n"); + } + + @Test + void givenAMultilineQuery_thenItCanContainUnescapedQuotes() { + assertThat(subject.getQuery()).contains("select \"id\", \"user\""); + } + + @Test + void givenAMultilineQuery_thenItEndWithANewline() { + assertThat(subject.getQuery()).endsWith("\n"); + } + + @Test + void givenATextWithCarriageReturns_thenItContainsBoth() { + assertThat(subject.getTextWithCarriageReturns()).isEqualTo("separated with\r\ncarriage returns"); + } + + @Test + void givenAStringWithEscapedWhitespace_thenItAppearsInTheResultingString() { + assertThat(subject.getTextWithEscapes()).contains("fun with\n\n") + .contains("whitespace\t\r\n") + .contains("and other escapes \"\"\""); + } + + @Test + void givenAFormattedString_thenTheParameterIsReplaced() { + assertThat(subject.getFormattedText("parameter")).contains("Some parameter: parameter"); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks14UnitTest.java b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks14UnitTest.java new file mode 100644 index 0000000000..fe671e8638 --- /dev/null +++ b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks14UnitTest.java @@ -0,0 +1,21 @@ +package com.baeldung.java14.textblocks; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class TextBlocks14UnitTest { + private TextBlocks14 subject = new TextBlocks14(); + + @Test + void givenAStringWithEscapedNewLines_thenTheResultHasNoNewLines() { + String expected = "This is a long test which looks to have a newline but actually does not"; + assertThat(subject.getIgnoredNewLines()).isEqualTo(expected); + } + + @Test + void givenAStringWithEscapesSpaces_thenTheResultHasLinesEndingWithSpaces() { + String expected = "line 1\nline 2 \n"; + assertThat(subject.getEscapedSpaces()).isEqualTo(expected); + } +} \ No newline at end of file From 7d0a14d3d3be4a1b4622d7d043a3a56866d72924 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Mon, 27 Jan 2020 09:28:27 +0100 Subject: [PATCH 2/5] Add missing README.md Added code/configuration for the article about Text Blocks --- core-java-modules/core-java-14/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 core-java-modules/core-java-14/README.md diff --git a/core-java-modules/core-java-14/README.md b/core-java-modules/core-java-14/README.md new file mode 100644 index 0000000000..0648d087be --- /dev/null +++ b/core-java-modules/core-java-14/README.md @@ -0,0 +1,7 @@ +## Core Java 14 + +This module contains articles about Java 14. + +### Relevant articles + +- [Guide to the @Serial Annotation in Java 14](https://www.baeldung.com/java-14-serial-annotation) From 4c1b542fd9eb4a5d7d4481037f74215b12daf389 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Wed, 29 Jan 2020 21:15:24 +0100 Subject: [PATCH 3/5] [BAEL-2397] Corrected formatting --- core-java-modules/core-java-14/pom.xml | 118 +++++++++--------- .../java14/textblocks/TextBlocks13.java | 36 +++--- .../java14/textblocks/TextBlocks14.java | 12 +- .../com/baeldung/serial/MySerialClass.java | 2 +- 4 files changed, 83 insertions(+), 85 deletions(-) diff --git a/core-java-modules/core-java-14/pom.xml b/core-java-modules/core-java-14/pom.xml index 8ee9d01b63..4f89e87d02 100644 --- a/core-java-modules/core-java-14/pom.xml +++ b/core-java-modules/core-java-14/pom.xml @@ -1,68 +1,66 @@ - 4.0.0 - com.baeldung - core-java-14 - 1.0.0-SNAPSHOT - core-java-14 - jar - http://maven.apache.org + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + core-java-14 + core-java-14 + jar + http://maven.apache.org - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../../ - - - - org.assertj - assertj-core - ${assertj.version} - test - - - org.junit.jupiter - junit-jupiter-engine - ${junit-jupiter.version} - test - - - org.junit.jupiter - junit-jupiter-api - ${junit-jupiter.version} - test - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.release} - --enable-preview - - - - org.apache.maven.plugins - maven-surefire-plugin - ${surefire.plugin.version} - - --enable-preview - - - - + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../../ + + + + org.assertj + assertj-core + ${assertj.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + test + + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + ${maven.compiler.release} + --enable-preview + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.plugin.version} + + --enable-preview + + + + - - 14 - 3.6.1 + + 14 + 3.6.1 3.8.1 3.0.0-M3 - + \ No newline at end of file diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java index 5afac6acc4..845d3c76a6 100644 --- a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java @@ -3,44 +3,44 @@ package com.baeldung.java14.textblocks; public class TextBlocks13 { public String getBlockOfHtml() { return """ - + - -

example text

- - """; + +

example text

+ + """; } public String getNonStandardIndent() { return """ - Indent - """; + Indent + """; } public String getQuery() { return """ - select "id", "user" - from "table" - """; + select "id", "user" + from "table" + """; } public String getTextWithCarriageReturns() { return """ - separated with\r - carriage returns"""; + separated with\r + carriage returns"""; } public String getTextWithEscapes() { return """ - fun with\n - whitespace\t\r - and other escapes \""" - """; + fun with\n + whitespace\t\r + and other escapes \""" + """; } public String getFormattedText(String parameter) { return """ - Some parameter: %s - """.formatted(parameter); + Some parameter: %s + """.formatted(parameter); } } diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java index e0cd7843bc..90fc15e884 100644 --- a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks14.java @@ -1,16 +1,16 @@ package com.baeldung.java14.textblocks; public class TextBlocks14 { -public String getIgnoredNewLines() { - return """ + public String getIgnoredNewLines() { + return """ This is a long test which looks to \ have a newline but actually does not"""; -} + } -public String getEscapedSpaces() { - return """ + public String getEscapedSpaces() { + return """ line 1 line 2 \s """; -} + } } diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java index 0816558668..b28e53bdaa 100644 --- a/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/serial/MySerialClass.java @@ -10,7 +10,7 @@ import java.io.Serializable; /** * Class showcasing the usage of the Java 14 @Serial annotation. - * + * * @author Donato Rimenti */ public class MySerialClass implements Serializable { From 1e2c72c2a5537d6193538a0968331564b0bdefb6 Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Wed, 5 Feb 2020 22:01:08 +0100 Subject: [PATCH 4/5] [BAEL-2397] Text Blocks Move the + signs to the beginning of the lines --- .../baeldung/java14/textblocks/TextBlocks13UnitTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java index 4aac1c8067..f17ff0ba5c 100644 --- a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java +++ b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java @@ -9,7 +9,12 @@ class TextBlocks13UnitTest { @Test void givenAnOldStyleMultilineString_whenComparing_thenEqualsTextBlock() { - String expected = "\n" + "\n" + " \n" + "

example text

\n" + " \n" + ""; + String expected = "\n" + + "\n" + + " \n" + + "

example text

\n" + + " \n" + + ""; assertThat(subject.getBlockOfHtml()).isEqualTo(expected); } From b0ba3cec5f441c1060d63ce07f7eeb3578c17a7a Mon Sep 17 00:00:00 2001 From: Martin van Wingerden Date: Fri, 7 Feb 2020 14:06:26 +0100 Subject: [PATCH 5/5] [BAEL-2397] Text Blocks Replaced by `p` by `span` --- .../java/com/baeldung/java14/textblocks/TextBlocks13.java | 2 +- .../com/baeldung/java14/textblocks/TextBlocks13UnitTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java index 845d3c76a6..58d4cf44f3 100644 --- a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/textblocks/TextBlocks13.java @@ -6,7 +6,7 @@ public class TextBlocks13 { -

example text

+ example text """; } diff --git a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java index f17ff0ba5c..f5fef9be57 100644 --- a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java +++ b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/textblocks/TextBlocks13UnitTest.java @@ -12,7 +12,7 @@ class TextBlocks13UnitTest { String expected = "\n" + "\n" + " \n" - + "

example text

\n" + + " example text\n" + " \n" + ""; assertThat(subject.getBlockOfHtml()).isEqualTo(expected); @@ -20,7 +20,7 @@ class TextBlocks13UnitTest { @Test void givenAnOldStyleString_whenComparing_thenEqualsTextBlock() { - String expected = "\n\n \n

example text

\n \n"; + String expected = "\n\n \n example text\n \n"; assertThat(subject.getBlockOfHtml()).isEqualTo(expected); }