aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/test/java/org/whispersystems/libaxolotl/groups/InMemorySenderKeyStore.java
blob: c012566a1dc7e9f22451337b0a9af55c83796a5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package org.whispersystems.libaxolotl.groups;

import org.whispersystems.libaxolotl.groups.state.SenderKeyRecord;
import org.whispersystems.libaxolotl.groups.state.SenderKeyStore;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class InMemorySenderKeyStore implements SenderKeyStore {

  private final Map<String, SenderKeyRecord> store = new HashMap<>();

  @Override
  public void storeSenderKey(String senderKeyId, SenderKeyRecord record) {
    store.put(senderKeyId, record);
  }

  @Override
  public SenderKeyRecord loadSenderKey(String senderKeyId) {
    try {
      SenderKeyRecord record = store.get(senderKeyId);

      if (record == null) {
        return new SenderKeyRecord();
      } else {
        return new SenderKeyRecord(record.serialize());
      }
    } catch (IOException e) {
      throw new AssertionError(e);
    }
  }
}