Move Exception classes to corresponding package

This commit is contained in:
AsamK 2020-05-15 16:55:14 +02:00
parent 0287272a3b
commit d08508e6ef
23 changed files with 46 additions and 59 deletions

View file

@ -1,7 +1,7 @@
package org.asamk; package org.asamk;
import org.asamk.signal.AttachmentInvalidException; import org.asamk.signal.manager.AttachmentInvalidException;
import org.asamk.signal.GroupNotFoundException; import org.asamk.signal.manager.GroupNotFoundException;
import org.freedesktop.dbus.exceptions.DBusException; import org.freedesktop.dbus.exceptions.DBusException;
import org.freedesktop.dbus.interfaces.DBusInterface; import org.freedesktop.dbus.interfaces.DBusInterface;
import org.freedesktop.dbus.messages.DBusSignal; import org.freedesktop.dbus.messages.DBusSignal;

View file

@ -3,9 +3,9 @@ package org.asamk.signal.commands;
import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException;
import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.Manager;
import org.asamk.signal.util.GroupIdFormatException;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.api.util.InvalidNumberException;

View file

@ -3,8 +3,8 @@ package org.asamk.signal.commands;
import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.signal.UserAlreadyExists;
import org.asamk.signal.manager.ProvisioningManager; import org.asamk.signal.manager.ProvisioningManager;
import org.asamk.signal.manager.UserAlreadyExists;
import org.whispersystems.libsignal.InvalidKeyException; import org.whispersystems.libsignal.InvalidKeyException;
import java.io.IOException; import java.io.IOException;

View file

@ -3,10 +3,10 @@ package org.asamk.signal.commands;
import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException;
import org.asamk.signal.NotAGroupMemberException;
import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.Manager;
import org.asamk.signal.manager.NotAGroupMemberException;
import org.asamk.signal.util.GroupIdFormatException;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions; import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions;

View file

@ -5,10 +5,10 @@ import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.Signal; import org.asamk.Signal;
import org.asamk.signal.AttachmentInvalidException; import org.asamk.signal.manager.AttachmentInvalidException;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException; import org.asamk.signal.manager.NotAGroupMemberException;
import org.asamk.signal.NotAGroupMemberException; import org.asamk.signal.util.GroupIdFormatException;
import org.asamk.signal.util.IOUtils; import org.asamk.signal.util.IOUtils;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.freedesktop.dbus.exceptions.DBusExecutionException; import org.freedesktop.dbus.exceptions.DBusExecutionException;

View file

@ -4,10 +4,10 @@ import net.sourceforge.argparse4j.impl.Arguments;
import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException;
import org.asamk.signal.NotAGroupMemberException;
import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.Manager;
import org.asamk.signal.manager.NotAGroupMemberException;
import org.asamk.signal.util.GroupIdFormatException;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions; import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions;
import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.api.util.InvalidNumberException;

View file

@ -3,9 +3,9 @@ package org.asamk.signal.commands;
import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException;
import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.Manager;
import org.asamk.signal.util.GroupIdFormatException;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.api.util.InvalidNumberException;

View file

@ -4,10 +4,10 @@ import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.Signal; import org.asamk.Signal;
import org.asamk.signal.AttachmentInvalidException; import org.asamk.signal.manager.AttachmentInvalidException;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException; import org.asamk.signal.manager.NotAGroupMemberException;
import org.asamk.signal.NotAGroupMemberException; import org.asamk.signal.util.GroupIdFormatException;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions; import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions;
import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.api.util.InvalidNumberException;

View file

@ -3,8 +3,8 @@ package org.asamk.signal.commands;
import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser; import net.sourceforge.argparse4j.inf.Subparser;
import org.asamk.signal.StickerPackInvalidException;
import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.Manager;
import org.asamk.signal.manager.StickerPackInvalidException;
import java.io.IOException; import java.io.IOException;

View file

@ -1,8 +1,6 @@
package org.asamk.signal; package org.asamk.signal.manager;
import org.freedesktop.dbus.exceptions.DBusExecutionException; public class AttachmentInvalidException extends Exception {
public class AttachmentInvalidException extends DBusExecutionException {
public AttachmentInvalidException(String message) { public AttachmentInvalidException(String message) {
super(message); super(message);

View file

@ -1,9 +1,8 @@
package org.asamk.signal; package org.asamk.signal.manager;
import org.freedesktop.dbus.exceptions.DBusExecutionException;
import org.whispersystems.util.Base64; import org.whispersystems.util.Base64;
public class GroupNotFoundException extends DBusExecutionException { public class GroupNotFoundException extends Exception {
public GroupNotFoundException(byte[] groupId) { public GroupNotFoundException(byte[] groupId) {
super("Group not found: " + Base64.encodeBytes(groupId)); super("Group not found: " + Base64.encodeBytes(groupId));

View file

@ -19,11 +19,6 @@ package org.asamk.signal.manager;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.asamk.Signal; import org.asamk.Signal;
import org.asamk.signal.AttachmentInvalidException;
import org.asamk.signal.GroupNotFoundException;
import org.asamk.signal.NotAGroupMemberException;
import org.asamk.signal.StickerPackInvalidException;
import org.asamk.signal.TrustLevel;
import org.asamk.signal.storage.SignalAccount; import org.asamk.signal.storage.SignalAccount;
import org.asamk.signal.storage.contacts.ContactInfo; import org.asamk.signal.storage.contacts.ContactInfo;
import org.asamk.signal.storage.groups.GroupInfo; import org.asamk.signal.storage.groups.GroupInfo;
@ -486,7 +481,7 @@ public class Manager implements Signal, Closeable {
@Override @Override
public long sendGroupMessage(String messageText, List<String> attachments, public long sendGroupMessage(String messageText, List<String> attachments,
byte[] groupId) byte[] groupId)
throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException { throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, NotAGroupMemberException {
final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder().withBody(messageText); final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder().withBody(messageText);
if (attachments != null) { if (attachments != null) {
messageBuilder.withAttachments(Utils.getSignalServiceAttachments(attachments)); messageBuilder.withAttachments(Utils.getSignalServiceAttachments(attachments));
@ -507,7 +502,7 @@ public class Manager implements Signal, Closeable {
public void sendGroupMessageReaction(String emoji, boolean remove, String targetAuthor, public void sendGroupMessageReaction(String emoji, boolean remove, String targetAuthor,
long targetSentTimestamp, byte[] groupId) long targetSentTimestamp, byte[] groupId)
throws IOException, EncapsulatedExceptions, AttachmentInvalidException, InvalidNumberException { throws IOException, EncapsulatedExceptions, InvalidNumberException, NotAGroupMemberException, GroupNotFoundException {
SignalServiceDataMessage.Reaction reaction = new SignalServiceDataMessage.Reaction(emoji, remove, canonicalizeAndResolveSignalServiceAddress(targetAuthor), targetSentTimestamp); SignalServiceDataMessage.Reaction reaction = new SignalServiceDataMessage.Reaction(emoji, remove, canonicalizeAndResolveSignalServiceAddress(targetAuthor), targetSentTimestamp);
final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder() final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder()
.withReaction(reaction); .withReaction(reaction);
@ -521,7 +516,7 @@ public class Manager implements Signal, Closeable {
sendMessageLegacy(messageBuilder, g.getMembersWithout(account.getSelfAddress())); sendMessageLegacy(messageBuilder, g.getMembersWithout(account.getSelfAddress()));
} }
public void sendQuitGroupMessage(byte[] groupId) throws GroupNotFoundException, IOException, EncapsulatedExceptions { public void sendQuitGroupMessage(byte[] groupId) throws GroupNotFoundException, IOException, EncapsulatedExceptions, NotAGroupMemberException {
SignalServiceGroup group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.QUIT) SignalServiceGroup group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.QUIT)
.withId(groupId) .withId(groupId)
.build(); .build();
@ -536,7 +531,7 @@ public class Manager implements Signal, Closeable {
sendMessageLegacy(messageBuilder, g.getMembersWithout(account.getSelfAddress())); sendMessageLegacy(messageBuilder, g.getMembersWithout(account.getSelfAddress()));
} }
private byte[] sendUpdateGroupMessage(byte[] groupId, String name, Collection<SignalServiceAddress> members, String avatarFile) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException { private byte[] sendUpdateGroupMessage(byte[] groupId, String name, Collection<SignalServiceAddress> members, String avatarFile) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, NotAGroupMemberException {
GroupInfo g; GroupInfo g;
if (groupId == null) { if (groupId == null) {
// Create new group // Create new group
@ -587,7 +582,7 @@ public class Manager implements Signal, Closeable {
return g.groupId; return g.groupId;
} }
private void sendUpdateGroupMessage(byte[] groupId, SignalServiceAddress recipient) throws IOException, EncapsulatedExceptions { private void sendUpdateGroupMessage(byte[] groupId, SignalServiceAddress recipient) throws IOException, EncapsulatedExceptions, NotAGroupMemberException, GroupNotFoundException, AttachmentInvalidException {
if (groupId == null) { if (groupId == null) {
return; return;
} }
@ -603,7 +598,7 @@ public class Manager implements Signal, Closeable {
sendMessageLegacy(messageBuilder, Collections.singleton(recipient)); sendMessageLegacy(messageBuilder, Collections.singleton(recipient));
} }
private SignalServiceDataMessage.Builder getGroupUpdateMessageBuilder(GroupInfo g) { private SignalServiceDataMessage.Builder getGroupUpdateMessageBuilder(GroupInfo g) throws AttachmentInvalidException {
SignalServiceGroup.Builder group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.UPDATE) SignalServiceGroup.Builder group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.UPDATE)
.withId(g.groupId) .withId(g.groupId)
.withName(g.name) .withName(g.name)
@ -680,7 +675,7 @@ public class Manager implements Signal, Closeable {
public void sendMessageReaction(String emoji, boolean remove, String targetAuthor, public void sendMessageReaction(String emoji, boolean remove, String targetAuthor,
long targetSentTimestamp, List<String> recipients) long targetSentTimestamp, List<String> recipients)
throws IOException, EncapsulatedExceptions, AttachmentInvalidException, InvalidNumberException { throws IOException, EncapsulatedExceptions, InvalidNumberException {
SignalServiceDataMessage.Reaction reaction = new SignalServiceDataMessage.Reaction(emoji, remove, canonicalizeAndResolveSignalServiceAddress(targetAuthor), targetSentTimestamp); SignalServiceDataMessage.Reaction reaction = new SignalServiceDataMessage.Reaction(emoji, remove, canonicalizeAndResolveSignalServiceAddress(targetAuthor), targetSentTimestamp);
final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder() final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder()
.withReaction(reaction); .withReaction(reaction);
@ -791,7 +786,7 @@ public class Manager implements Signal, Closeable {
} }
@Override @Override
public byte[] updateGroup(byte[] groupId, String name, List<String> members, String avatar) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, InvalidNumberException { public byte[] updateGroup(byte[] groupId, String name, List<String> members, String avatar) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, InvalidNumberException, NotAGroupMemberException {
if (groupId.length == 0) { if (groupId.length == 0) {
groupId = null; groupId = null;
} }
@ -1286,9 +1281,9 @@ public class Manager implements Signal, Closeable {
if (group != null) { if (group != null) {
try { try {
sendUpdateGroupMessage(groupInfo.getGroupId(), source); sendUpdateGroupMessage(groupInfo.getGroupId(), source);
} catch (IOException | EncapsulatedExceptions e) { } catch (IOException | EncapsulatedExceptions | AttachmentInvalidException e) {
e.printStackTrace(); e.printStackTrace();
} catch (NotAGroupMemberException e) { } catch (GroupNotFoundException | NotAGroupMemberException e) {
// We have left this group, so don't send a group update message // We have left this group, so don't send a group update message
} }
} }

View file

@ -1,9 +1,8 @@
package org.asamk.signal; package org.asamk.signal.manager;
import org.freedesktop.dbus.exceptions.DBusExecutionException;
import org.whispersystems.util.Base64; import org.whispersystems.util.Base64;
public class NotAGroupMemberException extends DBusExecutionException { public class NotAGroupMemberException extends Exception {
public NotAGroupMemberException(byte[] groupId, String groupName) { public NotAGroupMemberException(byte[] groupId, String groupName) {
super("User is not a member in group: " + groupName + " (" + Base64.encodeBytes(groupId) + ")"); super("User is not a member in group: " + groupName + " (" + Base64.encodeBytes(groupId) + ")");

View file

@ -16,7 +16,6 @@
*/ */
package org.asamk.signal.manager; package org.asamk.signal.manager;
import org.asamk.signal.UserAlreadyExists;
import org.asamk.signal.storage.SignalAccount; import org.asamk.signal.storage.SignalAccount;
import org.signal.zkgroup.InvalidInputException; import org.signal.zkgroup.InvalidInputException;
import org.signal.zkgroup.profiles.ProfileKey; import org.signal.zkgroup.profiles.ProfileKey;

View file

@ -1,4 +1,4 @@
package org.asamk.signal; package org.asamk.signal.manager;
public class StickerPackInvalidException extends Exception { public class StickerPackInvalidException extends Exception {

View file

@ -1,4 +1,4 @@
package org.asamk.signal; package org.asamk.signal.manager;
import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage; import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage;

View file

@ -1,4 +1,4 @@
package org.asamk.signal; package org.asamk.signal.manager;
public class UserAlreadyExists extends Exception { public class UserAlreadyExists extends Exception {

View file

@ -1,6 +1,5 @@
package org.asamk.signal.manager; package org.asamk.signal.manager;
import org.asamk.signal.AttachmentInvalidException;
import org.signal.libsignal.metadata.certificate.CertificateValidator; import org.signal.libsignal.metadata.certificate.CertificateValidator;
import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKey;
import org.whispersystems.libsignal.InvalidKeyException; import org.whispersystems.libsignal.InvalidKeyException;

View file

@ -8,7 +8,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.SerializerProvider;
import org.asamk.signal.TrustLevel; import org.asamk.signal.manager.TrustLevel;
import org.asamk.signal.util.Util; import org.asamk.signal.util.Util;
import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKey;
import org.whispersystems.libsignal.IdentityKeyPair; import org.whispersystems.libsignal.IdentityKeyPair;

View file

@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.asamk.signal.TrustLevel; import org.asamk.signal.manager.TrustLevel;
import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKey;
import org.whispersystems.libsignal.IdentityKeyPair; import org.whispersystems.libsignal.IdentityKeyPair;
import org.whispersystems.libsignal.InvalidKeyIdException; import org.whispersystems.libsignal.InvalidKeyIdException;

View file

@ -1,8 +1,7 @@
package org.asamk.signal.util; package org.asamk.signal.util;
import org.asamk.signal.GroupIdFormatException; import org.asamk.signal.manager.GroupNotFoundException;
import org.asamk.signal.GroupNotFoundException; import org.asamk.signal.manager.NotAGroupMemberException;
import org.asamk.signal.NotAGroupMemberException;
import org.freedesktop.dbus.exceptions.DBusExecutionException; import org.freedesktop.dbus.exceptions.DBusExecutionException;
import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException;
import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions; import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions;

View file

@ -1,4 +1,4 @@
package org.asamk.signal; package org.asamk.signal.util;
import java.io.IOException; import java.io.IOException;

View file

@ -2,7 +2,6 @@ package org.asamk.signal.util;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import org.asamk.signal.GroupIdFormatException;
import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.api.util.InvalidNumberException;
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter; import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;