]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/Util.java
Adapt receive subscription notification to have payload in result field
[signal-cli] / src / main / java / org / asamk / signal / util / Util.java
index 5ded399eaf887a765a7edd30fb458ae9af8af5d8..338c986ab9b071567fd110b64d5228e454bc2155 100644 (file)
@@ -5,11 +5,14 @@ import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
-import org.whispersystems.signalservice.api.push.SignalServiceAddress;
-
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
+import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 public class Util {
@@ -17,8 +20,8 @@ public class Util {
     private Util() {
     }
 
-    public static String getStringIfNotBlank(org.whispersystems.libsignal.util.guava.Optional<String> value) {
-        var string = value.orNull();
+    public static String getStringIfNotBlank(Optional<String> value) {
+        var string = value.orElse(null);
         if (string == null || string.isBlank()) {
             return null;
         }
@@ -58,14 +61,23 @@ public class Util {
         return f.toString();
     }
 
-    public static String getLegacyIdentifier(final SignalServiceAddress address) {
-        return address.getNumber().or(() -> address.getUuid().toString());
-    }
-
     public static ObjectMapper createJsonObjectMapper() {
         var objectMapper = new ObjectMapper();
         objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.PUBLIC_ONLY);
         objectMapper.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
         return objectMapper;
     }
+
+    public static Map<String, String> getQueryMap(String query) {
+        var params = query.split("&");
+        var map = new HashMap<String, String>();
+        for (var param : params) {
+            final var paramParts = param.split("=");
+            var name = URLDecoder.decode(paramParts[0], StandardCharsets.UTF_8);
+            var value = paramParts.length == 1 ? null : URLDecoder.decode(paramParts[1], StandardCharsets.UTF_8);
+            map.put(name, value);
+        }
+        return map;
+    }
+
 }