From: AsamK Date: Fri, 10 Dec 2021 19:21:14 +0000 (+0100) Subject: Include recipient identifier in send error message X-Git-Tag: v0.10.0~9 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/ceafe96e81150991e538bf6f446124ecc15f149f Include recipient identifier in send error message --- diff --git a/lib/src/main/java/org/asamk/signal/manager/api/RecipientIdentifier.java b/lib/src/main/java/org/asamk/signal/manager/api/RecipientIdentifier.java index aa7ab547..0915554d 100644 --- a/lib/src/main/java/org/asamk/signal/manager/api/RecipientIdentifier.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/RecipientIdentifier.java @@ -11,9 +11,16 @@ import java.util.UUID; public sealed interface RecipientIdentifier { + String getIdentifier(); + record NoteToSelf() implements RecipientIdentifier { public static NoteToSelf INSTANCE = new NoteToSelf(); + + @Override + public String getIdentifier() { + return "Note-To-Self"; + } } sealed interface Single extends RecipientIdentifier { @@ -43,8 +50,6 @@ public sealed interface RecipientIdentifier { } throw new AssertionError("RecipientAddress without identifier"); } - - String getIdentifier(); } record Uuid(UUID uuid) implements Single { @@ -63,5 +68,11 @@ public sealed interface RecipientIdentifier { } } - record Group(GroupId groupId) implements RecipientIdentifier {} + record Group(GroupId groupId) implements RecipientIdentifier { + + @Override + public String getIdentifier() { + return groupId.toBase64(); + } + } } diff --git a/src/main/java/org/asamk/signal/util/ErrorUtils.java b/src/main/java/org/asamk/signal/util/ErrorUtils.java index 6a453fed..3ca73163 100644 --- a/src/main/java/org/asamk/signal/util/ErrorUtils.java +++ b/src/main/java/org/asamk/signal/util/ErrorUtils.java @@ -6,10 +6,10 @@ import org.asamk.signal.manager.api.ProofRequiredException; import org.asamk.signal.manager.api.RecipientIdentifier; import org.asamk.signal.manager.api.SendMessageResult; -import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; public class ErrorUtils { @@ -20,7 +20,7 @@ public class ErrorUtils { public static void handleSendMessageResults( Map> mapResults ) throws CommandException { - List errors = getErrorMessagesFromSendMessageResults(mapResults); + var errors = getErrorMessagesFromSendMessageResults(mapResults); handleSendMessageResultErrors(errors); } @@ -32,22 +32,21 @@ public class ErrorUtils { } public static List getErrorMessagesFromSendMessageResults(final Map> mapResults) { - return mapResults.values() + return mapResults.entrySet() .stream() - .flatMap(results -> getErrorMessagesFromSendMessageResults(results).stream()) + .flatMap(entry -> entry.getValue() + .stream() + .map(ErrorUtils::getErrorMessageFromSendMessageResult) + .filter(Objects::nonNull) + .map(error -> entry.getKey().getIdentifier() + ": " + error)) .collect(Collectors.toList()); } public static List getErrorMessagesFromSendMessageResults(Collection results) { - var errors = new ArrayList(); - for (var result : results) { - var error = getErrorMessageFromSendMessageResult(result); - if (error != null) { - errors.add(error); - } - } - - return errors; + return results.stream() + .map(ErrorUtils::getErrorMessageFromSendMessageResult) + .filter(Objects::nonNull) + .collect(Collectors.toList()); } public static String getErrorMessageFromSendMessageResult(SendMessageResult result) {