X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/af292d8f0ea897ea13470489d51c40acca50fc3e..ce7aa580b6f0580cdcf7fd68fcc8efba737d21ed:/src/main/java/org/asamk/signal/commands/JsonRpcLocalCommand.java diff --git a/src/main/java/org/asamk/signal/commands/JsonRpcLocalCommand.java b/src/main/java/org/asamk/signal/commands/JsonRpcLocalCommand.java index 06124ffd..ccf32771 100644 --- a/src/main/java/org/asamk/signal/commands/JsonRpcLocalCommand.java +++ b/src/main/java/org/asamk/signal/commands/JsonRpcLocalCommand.java @@ -16,8 +16,7 @@ import java.util.Map; public interface JsonRpcLocalCommand extends JsonRpcCommand>, LocalCommand { default TypeReference> getRequestType() { - return new TypeReference<>() { - }; + return new TypeReference<>() {}; } default void handleCommand( @@ -32,7 +31,7 @@ public interface JsonRpcLocalCommand extends JsonRpcCommand> } /** - * Namepace implementation, that defaults booleans to false and converts camel case keys to dashed strings + * Namespace implementation, that has plural handling for list arguments and converts camel case keys to dashed strings */ final class JsonRpcNamespace extends Namespace { @@ -40,6 +39,7 @@ public interface JsonRpcLocalCommand extends JsonRpcCommand> super(attrs); } + @Override public T get(String dest) { final T value = super.get(dest); if (value != null) { @@ -52,21 +52,16 @@ public interface JsonRpcLocalCommand extends JsonRpcCommand> @Override public List getList(final String dest) { - final List value = super.getList(dest); - if (value != null) { - return value; + try { + final List value = super.getList(dest); + if (value != null) { + return value; + } + } catch (ClassCastException e) { + return List.of(this.get(dest)); } return super.getList(dest + "s"); } - - @Override - public Boolean getBoolean(String dest) { - Boolean maybeGotten = this.get(dest); - if (maybeGotten == null) { - maybeGotten = false; - } - return maybeGotten; - } } }