diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-03-04 15:30:17 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-03-04 15:30:17 +0100 |
commit | d6cc4191be2990917a1e6cb7b7b7eabb644c1ee0 (patch) | |
tree | 9dcf60dd50149965c9d789ec0491243100adb68b /flags | |
parent | 1e0ae2265c676e0dcf8ecc08102579379f3ccd85 (diff) |
Use List instead of Set for flags rules.conditions.values
Diffstat (limited to 'flags')
4 files changed, 12 insertions, 15 deletions
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/json/Condition.java b/flags/src/main/java/com/yahoo/vespa/flags/json/Condition.java index 4bc86fd96f5..a0ad08fb0b3 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/json/Condition.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/json/Condition.java @@ -5,10 +5,8 @@ import com.yahoo.vespa.flags.FetchVector; import com.yahoo.vespa.flags.json.wire.WireCondition; import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; +import java.util.List; import java.util.Objects; -import java.util.Set; import java.util.function.Predicate; /** @@ -19,13 +17,13 @@ public class Condition implements Predicate<FetchVector> { private final Type type; private final FetchVector.Dimension dimension; - private final Set<String> values; + private final List<String> values; public Condition(Type type, FetchVector.Dimension dimension, String... values) { - this(type, dimension, new HashSet<>(Arrays.asList(values))); + this(type, dimension, Arrays.asList(values)); } - public Condition(Type type, FetchVector.Dimension dimension, Set<String> values) { + public Condition(Type type, FetchVector.Dimension dimension, List<String> values) { this.type = type; this.dimension = dimension; this.values = values; @@ -49,7 +47,7 @@ public class Condition implements Predicate<FetchVector> { Objects.requireNonNull(wireCondition.dimension); FetchVector.Dimension dimension = DimensionHelper.fromWire(wireCondition.dimension); - Set<String> values = wireCondition.values == null ? Collections.emptySet() : wireCondition.values; + List<String> values = wireCondition.values == null ? List.of() : wireCondition.values; return new Condition(type, dimension, values); } diff --git a/flags/src/main/java/com/yahoo/vespa/flags/json/wire/WireCondition.java b/flags/src/main/java/com/yahoo/vespa/flags/json/wire/WireCondition.java index 31aa6200fdb..2020ce1e49f 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/json/wire/WireCondition.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/json/wire/WireCondition.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.Set; +import java.util.List; /** * @author hakonhall @@ -15,5 +15,5 @@ import java.util.Set; public class WireCondition { @JsonProperty("type") public String type; @JsonProperty("dimension") public String dimension; - @JsonProperty("values") public Set<String> values; + @JsonProperty("values") public List<String> values; } diff --git a/flags/src/test/java/com/yahoo/vespa/flags/json/ConditionTest.java b/flags/src/test/java/com/yahoo/vespa/flags/json/ConditionTest.java index 96cbce71fa8..d19442ae0f0 100644 --- a/flags/src/test/java/com/yahoo/vespa/flags/json/ConditionTest.java +++ b/flags/src/test/java/com/yahoo/vespa/flags/json/ConditionTest.java @@ -18,7 +18,7 @@ public class ConditionTest { public void testWhitelist() { String hostname1 = "host1"; Condition condition = new Condition(Condition.Type.WHITELIST, FetchVector.Dimension.HOSTNAME, - Stream.of(hostname1).collect(Collectors.toSet())); + Stream.of(hostname1).collect(Collectors.toList())); assertFalse(condition.test(new FetchVector())); assertFalse(condition.test(new FetchVector().with(FetchVector.Dimension.APPLICATION_ID, "foo"))); assertFalse(condition.test(new FetchVector().with(FetchVector.Dimension.HOSTNAME, "bar"))); @@ -29,7 +29,7 @@ public class ConditionTest { public void testBlacklist() { String hostname1 = "host1"; Condition condition = new Condition(Condition.Type.BLACKLIST, FetchVector.Dimension.HOSTNAME, - Stream.of(hostname1).collect(Collectors.toSet())); + Stream.of(hostname1).collect(Collectors.toList())); assertTrue(condition.test(new FetchVector())); assertTrue(condition.test(new FetchVector().with(FetchVector.Dimension.APPLICATION_ID, "foo"))); assertTrue(condition.test(new FetchVector().with(FetchVector.Dimension.HOSTNAME, "bar"))); diff --git a/flags/src/test/java/com/yahoo/vespa/flags/json/SerializationTest.java b/flags/src/test/java/com/yahoo/vespa/flags/json/SerializationTest.java index b3ff2a92b07..b0e4cd0f682 100644 --- a/flags/src/test/java/com/yahoo/vespa/flags/json/SerializationTest.java +++ b/flags/src/test/java/com/yahoo/vespa/flags/json/SerializationTest.java @@ -8,8 +8,7 @@ import com.yahoo.vespa.flags.json.wire.WireFlagData; import org.junit.Test; import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; +import java.util.List; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.anEmptyMap; @@ -74,12 +73,12 @@ public class SerializationTest { WireCondition whitelistCondition = wireData.rules.get(0).andConditions.get(0); assertThat(whitelistCondition.type, equalTo("whitelist")); assertThat(whitelistCondition.dimension, equalTo("application")); - assertThat(whitelistCondition.values, equalTo(new HashSet<>(Arrays.asList("a1", "a2")))); + assertThat(whitelistCondition.values, equalTo(List.of("a1", "a2"))); // second condition WireCondition blacklistCondition = wireData.rules.get(0).andConditions.get(1); assertThat(blacklistCondition.type, equalTo("blacklist")); assertThat(blacklistCondition.dimension, equalTo("hostname")); - assertThat(blacklistCondition.values, equalTo(new HashSet<>(Arrays.asList("h1")))); + assertThat(blacklistCondition.values, equalTo(List.of("h1"))); // attributes assertThat(wireData.defaultFetchVector, notNullValue()); |