diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2021-09-23 10:27:28 +0200 |
---|---|---|
committer | Morten Tokle <mortent@verizonmedia.com> | 2021-09-23 11:15:46 +0200 |
commit | 279a79ac651dc6a84440984b66866b0323512083 (patch) | |
tree | 11ee3223a81d05c9b2748ec4c996a9fdaca63483 /node-repository/src | |
parent | 1c1e88c71b4baea68f2d610a393d7a23f9f6b4ac (diff) |
Set -> List
Diffstat (limited to 'node-repository/src')
5 files changed, 16 insertions, 15 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java index 22ff50df181..0f11361827d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java @@ -23,6 +23,7 @@ import com.yahoo.vespa.hosted.provision.node.TrustStoreItem; import java.time.Instant; import java.util.Arrays; import java.util.EnumSet; +import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -51,7 +52,7 @@ public final class Node implements Nodelike { private final Optional<ApplicationId> exclusiveToApplicationId; private final Optional<ClusterSpec.Type> exclusiveToClusterType; private final Optional<String> switchHostname; - private final Set<TrustStoreItem> trustStoreItems; + private final List<TrustStoreItem> trustStoreItems; /** Record of the last event of each type happening to this node */ private final History history; @@ -81,7 +82,7 @@ public final class Node implements Nodelike { Flavor flavor, Status status, State state, Optional<Allocation> allocation, History history, NodeType type, Reports reports, Optional<String> modelName, Optional<TenantName> reservedTo, Optional<ApplicationId> exclusiveToApplicationId, Optional<ClusterSpec.Type> exclusiveToClusterType, - Optional<String> switchHostname, Set<TrustStoreItem> trustStoreItems) { + Optional<String> switchHostname, List<TrustStoreItem> trustStoreItems) { this.id = Objects.requireNonNull(id, "A node must have an ID"); this.hostname = requireNonEmptyString(hostname, "A node must have a hostname"); this.ipConfig = Objects.requireNonNull(ipConfig, "A node must a have an IP config"); @@ -211,7 +212,7 @@ public final class Node implements Nodelike { } /** Returns the trusted Certificates for this host if any. */ - public Set<TrustStoreItem> trustedCertificates() { + public List<TrustStoreItem> trustedCertificates() { return trustStoreItems; } @@ -466,7 +467,7 @@ public final class Node implements Nodelike { allocation, history, type, reports, modelName, reservedTo, exclusiveToApplicationId, exclusiveToClusterType, switchHostname, trustStoreItems); } - public Node with(Set<TrustStoreItem> trustStoreItems) { + public Node with(List<TrustStoreItem> trustStoreItems) { return new Node(id, ipConfig, hostname, parentHostname, flavor, status, state, allocation, history, type, reports, modelName, reservedTo, exclusiveToApplicationId, exclusiveToClusterType, switchHostname, trustStoreItems); @@ -608,7 +609,7 @@ public final class Node implements Nodelike { private Status status; private Reports reports; private History history; - private Set<TrustStoreItem> trustStoreItems; + private List<TrustStoreItem> trustStoreItems; private Builder(String id, String hostname, Flavor flavor, State state, NodeType type) { this.id = id; @@ -678,7 +679,7 @@ public final class Node implements Nodelike { return this; } - public Builder trustedCertificates(Set<TrustStoreItem> trustStoreItems) { + public Builder trustedCertificates(List<TrustStoreItem> trustStoreItems) { this.trustStoreItems = trustStoreItems; return this; } @@ -689,7 +690,7 @@ public final class Node implements Nodelike { Optional.ofNullable(history).orElseGet(History::empty), type, Optional.ofNullable(reports).orElseGet(Reports::new), Optional.ofNullable(modelName), Optional.ofNullable(reservedTo), Optional.ofNullable(exclusiveToApplicationId), Optional.ofNullable(exclusiveToClusterType), Optional.ofNullable(switchHostname), - Optional.ofNullable(trustStoreItems).orElseGet(Set::of)); + Optional.ofNullable(trustStoreItems).orElseGet(List::of)); } } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java index e0496c073e9..868837daeeb 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java @@ -243,7 +243,7 @@ public class NodeSerializer { }); } - private void trustedCertificatesToSlime(Set<TrustStoreItem> trustStoreItems, Cursor array) { + private void trustedCertificatesToSlime(List<TrustStoreItem> trustStoreItems, Cursor array) { trustStoreItems.forEach(cert -> { Cursor object = array.addObject(); object.setString(fingerprintKey, cert.fingerprint()); @@ -435,11 +435,11 @@ public class NodeSerializer { return Optional.of(ClusterSpec.Type.from(object.asString())); } - private Set<TrustStoreItem> trustedCertificatesFromSlime(Inspector object) { + private List<TrustStoreItem> trustedCertificatesFromSlime(Inspector object) { return SlimeUtils.entriesStream(object.field(trustedCertificatesKey)) .map(elem -> new TrustStoreItem(elem.field(fingerprintKey).asString(), Instant.ofEpochMilli(elem.field(expiresKey).asLong()))) - .collect(Collectors.toSet()); + .collect(Collectors.toList()); } // ----------------- Enum <-> string mappings ---------------------------------------- diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java index a846d1de2f2..5dfacc2c3d2 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java @@ -234,10 +234,10 @@ public class NodePatcher implements AutoCloseable { } private Node nodeWithTrustStore(Node node, Inspector inspector) { - Set<TrustStoreItem> trustStoreItems = + List<TrustStoreItem> trustStoreItems = SlimeUtils.entriesStream(inspector) .map(TrustStoreItem::fromSlime) - .collect(Collectors.toSet()); + .collect(Collectors.toList()); return node.with(trustStoreItems); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java index a0c2c57a710..80100128379 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java @@ -230,7 +230,7 @@ class NodesResponse extends SlimeJsonResponse { addresses.forEach(address -> addressesArray.addString(address.hostname())); } - private void trustedCertsToSlime(Set<TrustStoreItem> trustStoreItems, Cursor object) { + private void trustedCertsToSlime(List<TrustStoreItem> trustStoreItems, Cursor object) { if (trustStoreItems.isEmpty()) return; Cursor array = object.setArray("trustStore"); trustStoreItems.forEach(cert -> cert.toSlime(array)); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java index 8312cc22e05..921b78252d3 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java @@ -466,8 +466,8 @@ public class NodeSerializerTest { @Test public void truststore_serialization() { Node node = nodeSerializer.fromJson(State.active, nodeSerializer.toJson(createNode())); - assertEquals(Set.of(), node.trustedCertificates()); - Set<TrustStoreItem> trustStoreItems = Set.of(new TrustStoreItem("foo", Instant.parse("2023-09-01T23:59:59Z")), new TrustStoreItem("bar", Instant.parse("2025-05-20T23:59:59Z"))); + assertEquals(List.of(), node.trustedCertificates()); + List<TrustStoreItem> trustStoreItems = List.of(new TrustStoreItem("foo", Instant.parse("2023-09-01T23:59:59Z")), new TrustStoreItem("bar", Instant.parse("2025-05-20T23:59:59Z"))); node = node.with(trustStoreItems); node = nodeSerializer.fromJson(State.active, nodeSerializer.toJson(node)); assertEquals(trustStoreItems, node.trustedCertificates()); |