1 package org
.asamk
.signal
.util
;
3 import com
.fasterxml
.jackson
.databind
.JsonNode
;
5 import java
.io
.InvalidObjectException
;
6 import java
.io
.UnsupportedEncodingException
;
7 import java
.net
.URLDecoder
;
8 import java
.util
.HashMap
;
16 public static String
formatSafetyNumber(String digits
) {
17 final int partCount
= 12;
18 int partSize
= digits
.length() / partCount
;
19 StringBuilder f
= new StringBuilder(digits
.length() + partCount
);
20 for (int i
= 0; i
< partCount
; i
++) {
21 f
.append(digits
, i
* partSize
, (i
* partSize
) + partSize
).append(" ");
26 public static Map
<String
, String
> getQueryMap(String query
) {
27 String
[] params
= query
.split("&");
28 Map
<String
, String
> map
= new HashMap
<>();
29 for (String param
: params
) {
31 final String
[] paramParts
= param
.split("=");
33 name
= URLDecoder
.decode(paramParts
[0], "utf-8");
34 } catch (UnsupportedEncodingException e
) {
39 value
= URLDecoder
.decode(paramParts
[1], "utf-8");
40 } catch (UnsupportedEncodingException e
) {
48 public static String
join(CharSequence separator
, Iterable
<?
extends CharSequence
> list
) {
49 StringBuilder buf
= new StringBuilder();
50 for (CharSequence str
: list
) {
51 if (buf
.length() > 0) {
52 buf
.append(separator
);
57 return buf
.toString();
60 public static JsonNode
getNotNullNode(JsonNode parent
, String name
) throws InvalidObjectException
{
61 JsonNode node
= parent
.get(name
);
63 throw new InvalidObjectException(String
.format("Incorrect file format: expected parameter %s not found ", name
));