OSTree: Use dictionary types where appropriate.
Change-Id: I58be4cbcdd663350d7524ec5ce97f1d3be10d7e1
diff --git a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SummarySignature.java b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SummarySignature.java
index a05b96d..13bb432 100644
--- a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SummarySignature.java
+++ b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SummarySignature.java
@@ -3,7 +3,7 @@
import eu.mulk.jgvariant.core.Decoder;
import eu.mulk.jgvariant.core.Variant;
import java.nio.charset.StandardCharsets;
-import java.util.List;
+import java.util.Map;
/**
* A collection of cryptographic signatures for a {@link Summary}.
@@ -12,22 +12,11 @@
*
* <p>Reference: {@code ostree-repo-static-delta-private.h#OSTREE_SUMMARY_SIG_GVARIANT_STRING}
*/
-public record SummarySignature(List<Signature> signatures) {
-
- /** A cryptographic signature. */
- public record Signature(String key, Variant data) {
-
- private static final Decoder<Signature> DECODER =
- Decoder.ofStructure(
- Signature.class, Decoder.ofString(StandardCharsets.UTF_8), Decoder.ofVariant());
-
- public static Decoder<Signature> decoder() {
- return DECODER;
- }
- }
+public record SummarySignature(Map<String, Variant> signatures) {
private static final Decoder<SummarySignature> DECODER =
- Decoder.ofArray(Signature.decoder()).map(SummarySignature::new);
+ Decoder.ofDictionary(Decoder.ofString(StandardCharsets.UTF_8), Decoder.ofVariant())
+ .map(SummarySignature::new);
public static Decoder<SummarySignature> decoder() {
return DECODER;