From: AsamK Date: Sat, 9 Oct 2021 15:04:01 +0000 (+0200) Subject: Add DeviceNotFound Error X-Git-Tag: v0.9.1~22 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/b5d4a5000b1c28ca7674de5f313c876c0f29a763 Add DeviceNotFound Error --- diff --git a/src/main/java/org/asamk/Signal.java b/src/main/java/org/asamk/Signal.java index 2f81c196..bf8265ff 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -326,6 +326,13 @@ public interface Signal extends DBusInterface { } } + class DeviceNotFound extends DBusExecutionException { + + public DeviceNotFound(final String message) { + super(message); + } + } + class GroupNotFound extends DBusExecutionException { public GroupNotFound(final String message) { diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index d0e33a40..ab19f0ce 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -111,7 +111,11 @@ public class DbusSignalImpl implements Signal { @Override public DBusPath getDevice(long deviceId) { updateDevices(); - return new DBusPath(getDeviceObjectPath(objectPath, deviceId)); + final var deviceOptional = devices.stream().filter(g -> g.getId().equals(deviceId)).findFirst(); + if (deviceOptional.isEmpty()) { + throw new Error.DeviceNotFound("Device not found"); + } + return deviceOptional.get().getObjectPath(); } @Override