Relax issuing constraints in IssuedReceiptManager

This commit is contained in:
Ravi Khadiwala
2024-12-09 13:49:15 -06:00
committed by ravi-signal
parent 1970741049
commit 18c9b177f3
8 changed files with 120 additions and 21 deletions

View File

@@ -7,6 +7,7 @@ package org.whispersystems.textsecuregcm.util;
import java.util.Arrays;
import java.util.EnumMap;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -21,4 +22,13 @@ public class EnumMapUtil {
},
() -> new EnumMap<>(enumClass)));
}
public static <E extends Enum<E>, V> EnumMap<E, V> toCompleteEnumMap(final Class<E> enumClass, final Map<E, V> map) {
for (E e : enumClass.getEnumConstants()) {
if (!map.containsKey(e)) {
throw new IllegalArgumentException("Missing enum key: " + e);
}
}
return new EnumMap<>(map);
}
}