]> 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 48e6f35de06a17ebaf5f667a5afacd3d091c1538..338c986ab9b071567fd110b64d5228e454bc2155 100644 (file)
@@ -5,11 +5,13 @@ 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;
 
@@ -59,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;
+    }
+
 }