This is an automated email from the ASF dual-hosted git repository.
cschneider pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal-messages.git
The following commit(s) were added to refs/heads/master by this push:
new 7e764eb GRANITE-50556 - Add toString with with option to abbreviate
(#22)
7e764eb is described below
commit 7e764ebc782121dad651cf30bb05f0acd7617c41
Author: Christian Schneider <[email protected]>
AuthorDate: Tue Mar 19 11:23:32 2024 +0100
GRANITE-50556 - Add toString with with option to abbreviate (#22)
* GRANITE-50556 - Add toString with with option to abbreviate
* GRANITE-50556 - Increase lombok version for jdk 21
* GRANITE-50556 - Improvements from review
---
pom.xml | 2 +-
.../distribution/journal/messages/PackageMessage.java | 16 ++++++++++++----
.../distribution/journal/messages/package-info.java | 2 +-
.../journal/messages/PackageMessageTest.java | 16 +++++++++++-----
4 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/pom.xml b/pom.xml
index 4d4711a..c20cafe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
- <version>1.18.20</version>
+ <version>1.18.30</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git
a/src/main/java/org/apache/sling/distribution/journal/messages/PackageMessage.java
b/src/main/java/org/apache/sling/distribution/journal/messages/PackageMessage.java
index 137ab8d..7ffe3cb 100644
---
a/src/main/java/org/apache/sling/distribution/journal/messages/PackageMessage.java
+++
b/src/main/java/org/apache/sling/distribution/journal/messages/PackageMessage.java
@@ -43,6 +43,7 @@ public class PackageMessage {
@Builder.Default
List<String> deepPaths = new ArrayList<>();
+ // No builder default, we want metadata to be null by default
Map<String, String> metadata = new HashMap<>();
public enum ReqType {
@@ -70,8 +71,12 @@ public class PackageMessage {
this.paths = paths;
this.deepPaths = deepPaths;
}
-
+
public String toString() {
+ return toString(true);
+ }
+
+ public String toString(boolean abbreviate) {
StringBuilder out = new StringBuilder();
out.append("PackageMessage(pubSlingId=");
out.append(pubSlingId);
@@ -92,19 +97,22 @@ public class PackageMessage {
out.append(pkgBinary.length);
}
out.append(", paths=");
- out.append(abbreviate(paths));
+ out.append(printList(paths, abbreviate));
out.append(", deepPaths=");
- out.append(abbreviate(deepPaths));
+ out.append(printList(deepPaths, abbreviate));
out.append(", metadata=");
out.append(metadata);
out.append(")");
return out.toString();
}
- static String abbreviate(List<String> list) {
+ static String printList(List<String> list, boolean abbreviate) {
if (list == null) {
return null;
}
+ if (!abbreviate) {
+ return list.toString();
+ }
Iterator<String> iter = list.iterator();
StringBuilder abbr = new StringBuilder();
abbr.append("[");
diff --git
a/src/main/java/org/apache/sling/distribution/journal/messages/package-info.java
b/src/main/java/org/apache/sling/distribution/journal/messages/package-info.java
index 992be64..4ab9ba2 100644
---
a/src/main/java/org/apache/sling/distribution/journal/messages/package-info.java
+++
b/src/main/java/org/apache/sling/distribution/journal/messages/package-info.java
@@ -16,5 +16,5 @@
* specific language governing permissions and limitations
* under the License.
*/
[email protected]("1.4.0")
[email protected]("1.5.0")
package org.apache.sling.distribution.journal.messages;
diff --git
a/src/test/java/org/apache/sling/distribution/journal/messages/PackageMessageTest.java
b/src/test/java/org/apache/sling/distribution/journal/messages/PackageMessageTest.java
index 01cc228..bae6c34 100644
---
a/src/test/java/org/apache/sling/distribution/journal/messages/PackageMessageTest.java
+++
b/src/test/java/org/apache/sling/distribution/journal/messages/PackageMessageTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.sling.distribution.journal.messages;
-import static
org.apache.sling.distribution.journal.messages.PackageMessage.abbreviate;
+import static
org.apache.sling.distribution.journal.messages.PackageMessage.printList;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertNotNull;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -84,25 +84,31 @@ public class PackageMessageTest {
@Test
public void testAbbreviateNullPaths() {
- assertNull(abbreviate(null));
+ assertNull(printList(null, true));
}
@Test
public void testAbbreviateEmptyPaths() {
List<String> empty = Collections.emptyList();
- assertThat(abbreviate(empty), equalTo(empty.toString()));
+ assertThat(printList(empty, true), equalTo(empty.toString()));
}
@Test
public void testAbbreviateOnePaths() {
List<String> one = Collections.singletonList("/a/path");
- assertThat(abbreviate(one), equalTo(one.toString()));
+ assertThat(printList(one, true), equalTo(one.toString()));
}
@Test
public void testAbbreviateManyPaths() {
List<String> one = Arrays.asList("/a/path", "/another/one",
"/yet/another/one");
- assertThat(abbreviate(one), equalTo("[/a/path, ... 2 more]"));
+ assertThat(printList(one, true), equalTo("[/a/path, ... 2 more]"));
+ }
+
+ @Test
+ public void testPrintManyPaths() {
+ List<String> one = Arrays.asList("/a/path", "/another/one",
"/yet/another/one");
+ assertThat(printList(one, false), equalTo("[/a/path, /another/one,
/yet/another/one]"));
}
}