X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/10719a443a88d06ef5734f0e17f71316b1473edf..eabd361405a54a5b7122bf537cb299306f098e45:/src/main/java/org/asamk/textsecure/JsonGroupStore.java diff --git a/src/main/java/org/asamk/textsecure/JsonGroupStore.java b/src/main/java/org/asamk/textsecure/JsonGroupStore.java deleted file mode 100644 index 17a59f87..00000000 --- a/src/main/java/org/asamk/textsecure/JsonGroupStore.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.asamk.textsecure; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.*; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -public class JsonGroupStore { - @JsonProperty("groups") - @JsonSerialize(using = JsonGroupStore.MapToListSerializer.class) - @JsonDeserialize(using = JsonGroupStore.GroupsDeserializer.class) - private Map groups = new HashMap<>(); - - private static final ObjectMapper jsonProcessot = new ObjectMapper(); - - void updateGroup(GroupInfo group) { - groups.put(Base64.encodeBytes(group.groupId), group); - } - - GroupInfo getGroup(byte[] groupId) throws GroupNotFoundException { - GroupInfo g = groups.get(Base64.encodeBytes(groupId)); - if (g == null) { - throw new GroupNotFoundException(groupId); - } - return g; - } - - public static class MapToListSerializer extends JsonSerializer> { - @Override - public void serialize(final Map value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { - jgen.writeObject(value.values()); - } - } - - public static class GroupsDeserializer extends JsonDeserializer> { - @Override - public Map deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { - Map groups = new HashMap<>(); - JsonNode node = jsonParser.getCodec().readTree(jsonParser); - for (JsonNode n : node) { - GroupInfo g = jsonProcessot.treeToValue(n, GroupInfo.class); - groups.put(Base64.encodeBytes(g.groupId), g); - } - - return groups; - } - } -}