]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/JoinGroupCommand.java
Use PlainTextWriter for all cli stdout output
[signal-cli] / src / main / java / org / asamk / signal / commands / JoinGroupCommand.java
index bfe46650c8d006853c607174aacd0aa89fdec348..7f1cb0b0460fcbe315c544072bf108d5de8f0364 100644 (file)
@@ -3,17 +3,16 @@ package org.asamk.signal.commands;
 import net.sourceforge.argparse4j.inf.Namespace;
 import net.sourceforge.argparse4j.inf.Subparser;
 
+import org.asamk.signal.PlainTextWriterImpl;
 import org.asamk.signal.manager.Manager;
-import org.asamk.signal.manager.groups.GroupId;
 import org.asamk.signal.manager.groups.GroupInviteLinkUrl;
 import org.freedesktop.dbus.exceptions.DBusExecutionException;
-import org.whispersystems.libsignal.util.Pair;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.whispersystems.signalservice.api.groupsv2.GroupLinkNotActiveException;
-import org.whispersystems.signalservice.api.messages.SendMessageResult;
 import org.whispersystems.signalservice.internal.push.exceptions.GroupPatchNotAcceptedException;
 
 import java.io.IOException;
-import java.util.List;
 
 import static org.asamk.signal.util.ErrorUtils.handleAssertionError;
 import static org.asamk.signal.util.ErrorUtils.handleIOException;
@@ -21,6 +20,8 @@ import static org.asamk.signal.util.ErrorUtils.handleTimestampAndSendMessageResu
 
 public class JoinGroupCommand implements LocalCommand {
 
+    private final static Logger logger = LoggerFactory.getLogger(JoinGroupCommand.class);
+
     @Override
     public void attachToSubparser(final Subparser subparser) {
         subparser.addArgument("--uri").required(true).help("Specify the uri with the group invitation link.");
@@ -29,7 +30,7 @@ public class JoinGroupCommand implements LocalCommand {
     @Override
     public int handleCommand(final Namespace ns, final Manager m) {
         final GroupInviteLinkUrl linkUrl;
-        String uri = ns.getString("uri");
+        var uri = ns.getString("uri");
         try {
             linkUrl = GroupInviteLinkUrl.fromUri(uri);
         } catch (GroupInviteLinkUrl.InvalidGroupLinkException e) {
@@ -46,14 +47,16 @@ public class JoinGroupCommand implements LocalCommand {
         }
 
         try {
-            final Pair<GroupId, List<SendMessageResult>> results = m.joinGroup(linkUrl);
-            GroupId newGroupId = results.first();
+            final var writer = new PlainTextWriterImpl(System.out);
+
+            final var results = m.joinGroup(linkUrl);
+            var newGroupId = results.first();
             if (!m.getGroup(newGroupId).isMember(m.getSelfAddress())) {
-                System.out.println("Requested to join group \"" + newGroupId.toBase64() + "\"");
+                writer.println("Requested to join group \"{}\"", newGroupId.toBase64());
             } else {
-                System.out.println("Joined group \"" + newGroupId.toBase64() + "\"");
+                writer.println("Joined group \"{}\"", newGroupId.toBase64());
             }
-            return handleTimestampAndSendMessageResults(0, results.second());
+            return handleTimestampAndSendMessageResults(writer, 0, results.second());
         } catch (AssertionError e) {
             handleAssertionError(e);
             return 1;