diff --git a/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AllFilterBenchmark.java b/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AllFilterBenchmark.java index ff08eb9292..eeef087af5 100644 --- a/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AllFilterBenchmark.java +++ b/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AllFilterBenchmark.java @@ -22,8 +22,8 @@ import dev.knative.eventing.kafka.broker.dispatcher.impl.filter.subscriptionsapi.PrefixFilter; import dev.knative.eventing.kafka.broker.dispatcher.impl.filter.subscriptionsapi.SuffixFilter; import io.cloudevents.CloudEvent; +import java.util.List; import java.util.Map; -import java.util.Set; public class AllFilterBenchmark { public static ExactFilter makeExactFilter() { @@ -50,7 +50,7 @@ public static class AllFilterWithExactFilter extends FilterBenchmark { @Override protected Filter createFilter() { - return new AllFilter(Set.of(makeExactFilter())); + return new AllFilter(List.of(makeExactFilter())); } @Override @@ -59,11 +59,11 @@ protected CloudEvent createEvent() { } } - public static class AllFilterMatchAllSubfilters extends FilterBenchmark { + public static class AllFilterMatchAllSubFilters extends FilterBenchmark { @Override protected Filter createFilter() { - return new AllFilter(Set.of(makeExactFilter(), makePrefixFilter(), makeSuffixFilter())); + return new AllFilter(List.of(makeExactFilter(), makePrefixFilter(), makeSuffixFilter())); } @Override @@ -76,7 +76,7 @@ public static class AllFilterFirstMatchEndOfArray extends FilterBenchmark { @Override protected Filter createFilter() { - return new AllFilter(Set.of(makePrefixFilterNoMatch(), makeSuffixFilterNoMatch(), makeExactFilter())); + return new AllFilter(List.of(makePrefixFilterNoMatch(), makeSuffixFilterNoMatch(), makeExactFilter())); } @Override @@ -89,7 +89,7 @@ public static class AllFilterFirstMatchStartOfArray extends FilterBenchmark { @Override protected Filter createFilter() { - return new AllFilter(Set.of(makeExactFilter(), makePrefixFilterNoMatch(), makeSuffixFilterNoMatch())); + return new AllFilter(List.of(makeExactFilter(), makePrefixFilterNoMatch(), makeSuffixFilterNoMatch())); } @Override @@ -102,7 +102,7 @@ public static class AllFilterOneNonMatchingFilterInMiddle extends FilterBenchmar @Override protected Filter createFilter() { - return new AllFilter(Set.of(makeExactFilter(), makePrefixFilterNoMatch(), makePrefixFilter())); + return new AllFilter(List.of(makeExactFilter(), makePrefixFilterNoMatch(), makePrefixFilter())); } @Override @@ -115,7 +115,7 @@ public static class AllFilterNoMatchingFilters extends FilterBenchmark { @Override protected Filter createFilter() { - return new AllFilter(Set.of(makePrefixFilterNoMatch(), makeSuffixFilterNoMatch())); + return new AllFilter(List.of(makePrefixFilterNoMatch(), makeSuffixFilterNoMatch())); } @Override diff --git a/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AnyFilterBenchmark.java b/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AnyFilterBenchmark.java index 87d9c0fcd5..30a6cc3669 100644 --- a/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AnyFilterBenchmark.java +++ b/data-plane/benchmarks/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/AnyFilterBenchmark.java @@ -19,8 +19,8 @@ import dev.knative.eventing.kafka.broker.dispatcher.Filter; import dev.knative.eventing.kafka.broker.dispatcher.impl.filter.subscriptionsapi.*; import io.cloudevents.CloudEvent; +import java.util.List; import java.util.Map; -import java.util.Set; public class AnyFilterBenchmark { public static CloudEvent event() { @@ -56,7 +56,7 @@ public static class AnyFilterWithExactFilterBenchmark extends FilterBenchmark { @Override protected Filter createFilter() { - return new AnyFilter(Set.of(makeExactFilter())); + return new AnyFilter(List.of(makeExactFilter())); } @Override @@ -69,7 +69,7 @@ public static class AnyFilterMatchAllSubfilters extends FilterBenchmark { @Override protected Filter createFilter() { - return new AnyFilter(Set.of(makeExactFilter(), makePrefixFilter(), makeSuffixFilter())); + return new AnyFilter(List.of(makeExactFilter(), makePrefixFilter(), makeSuffixFilter())); } @Override @@ -82,7 +82,7 @@ public static class AnyFilterFirstMatchAtEnd extends FilterBenchmark { @Override protected Filter createFilter() { - return new AnyFilter(Set.of(makePrefixFilterNoMatch(), makeSufficFilterNoMatch(), makeExactFilter())); + return new AnyFilter(List.of(makePrefixFilterNoMatch(), makeSufficFilterNoMatch(), makeExactFilter())); } @Override @@ -95,7 +95,7 @@ public static class AnyFilterFirstMatchAtStart extends FilterBenchmark { @Override protected Filter createFilter() { - return new AnyFilter(Set.of(makeExactFilter(), makePrefixFilterNoMatch(), makeSufficFilterNoMatch())); + return new AnyFilter(List.of(makeExactFilter(), makePrefixFilterNoMatch(), makeSufficFilterNoMatch())); } @Override @@ -108,7 +108,7 @@ public static class AnyFilter2EventsMatch2DifferentFilters extends FilterBenchma @Override protected Filter createFilter() { - return new AnyFilter(Set.of(makePrefixFilter(), makePrefixFilterNoMatch())); + return new AnyFilter(List.of(makePrefixFilter(), makePrefixFilterNoMatch())); } @Override @@ -120,7 +120,7 @@ protected CloudEvent createEvent() { public static class AnyFilter2EventsMatch2DifferentFiltersOneFilterMatchesNeither extends FilterBenchmark { @Override protected Filter createFilter() { - return new AnyFilter(Set.of(makeSufficFilterNoMatch(), makePrefixFilter(), makePrefixFilterNoMatch())); + return new AnyFilter(List.of(makeSufficFilterNoMatch(), makePrefixFilter(), makePrefixFilterNoMatch())); } @Override diff --git a/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilter.java b/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilter.java index 8a590adf81..e1a0ab87a0 100644 --- a/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilter.java +++ b/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilter.java @@ -17,16 +17,16 @@ import dev.knative.eventing.kafka.broker.dispatcher.Filter; import io.cloudevents.CloudEvent; -import java.util.Set; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class AllFilter implements Filter { - private final Set filters; + private final List filters; private static final Logger logger = LoggerFactory.getLogger(AllFilter.class); - public AllFilter(Set filters) { + public AllFilter(List filters) { this.filters = filters; } diff --git a/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilter.java b/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilter.java index 3a69425657..2325300801 100644 --- a/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilter.java +++ b/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilter.java @@ -17,7 +17,7 @@ import dev.knative.eventing.kafka.broker.dispatcher.Filter; import io.cloudevents.CloudEvent; -import java.util.Set; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,9 +25,9 @@ public class AnyFilter implements Filter { private static final Logger logger = LoggerFactory.getLogger(AnyFilter.class); - private final Set filters; + private final List filters; - public AnyFilter(Set filters) { + public AnyFilter(List filters) { this.filters = filters; } diff --git a/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/main/ConsumerVerticleBuilder.java b/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/main/ConsumerVerticleBuilder.java index 2bec13a55d..b6a5f038cd 100644 --- a/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/main/ConsumerVerticleBuilder.java +++ b/data-plane/dispatcher/src/main/java/dev/knative/eventing/kafka/broker/dispatcher/main/ConsumerVerticleBuilder.java @@ -192,7 +192,7 @@ private Filter getFilter() { private static Filter getFilter(List filters) { return new AllFilter( - filters.stream().map(ConsumerVerticleBuilder::getFilter).collect(Collectors.toSet())); + filters.stream().map(ConsumerVerticleBuilder::getFilter).collect(Collectors.toList())); } private static Filter getFilter(DataPlaneContract.DialectedFilter filter) { @@ -203,10 +203,10 @@ private static Filter getFilter(DataPlaneContract.DialectedFilter filter) { case NOT -> new NotFilter(getFilter(filter.getNot().getFilter())); case ANY -> new AnyFilter(filter.getAny().getFiltersList().stream() .map(ConsumerVerticleBuilder::getFilter) - .collect(Collectors.toSet())); + .collect(Collectors.toList())); case ALL -> new AllFilter(filter.getAll().getFiltersList().stream() .map(ConsumerVerticleBuilder::getFilter) - .collect(Collectors.toSet())); + .collect(Collectors.toList())); case CESQL -> new CeSqlFilter(filter.getCesql().getExpression()); default -> Filter.noop(); }; diff --git a/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilterTest.java b/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilterTest.java index 2158c750df..c77d6209a1 100644 --- a/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilterTest.java +++ b/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AllFilterTest.java @@ -24,8 +24,8 @@ import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.util.Collections; +import java.util.List; import java.util.Map; -import java.util.Set; import java.util.stream.Stream; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -51,25 +51,25 @@ public void match(CloudEvent event, Filter filter, boolean shouldMatch) { static Stream testCases() { return Stream.of( - Arguments.of(event, new AllFilter(Set.of(new ExactFilter(Map.of("id", "123-42")))), true), + Arguments.of(event, new AllFilter(List.of(new ExactFilter(Map.of("id", "123-42")))), true), Arguments.of( event, - new AllFilter(Set.of( + new AllFilter(List.of( new ExactFilter(Map.of("id", "123-42")), new ExactFilter(Map.of("source", "/api/some-source")))), true), Arguments.of( event, - new AllFilter(Set.of( + new AllFilter(List.of( new ExactFilter(Map.of("id", "123")), new ExactFilter(Map.of("source", "/api/some-source")))), false), Arguments.of( event, - new AllFilter(Set.of( + new AllFilter(List.of( new ExactFilter(Map.of("id", "123-42")), new ExactFilter(Map.of("source", "/api/something-else")))), false), - Arguments.of(event, new AllFilter(Collections.emptySet()), true)); + Arguments.of(event, new AllFilter(Collections.emptyList()), true)); } } diff --git a/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilterTest.java b/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilterTest.java index 73da7cb02d..c1564c4cb4 100644 --- a/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilterTest.java +++ b/data-plane/dispatcher/src/test/java/dev/knative/eventing/kafka/broker/dispatcher/impl/filter/subscriptionsapi/AnyFilterTest.java @@ -24,8 +24,8 @@ import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.util.Collections; +import java.util.List; import java.util.Map; -import java.util.Set; import java.util.stream.Stream; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -51,31 +51,31 @@ public void match(CloudEvent event, Filter filter, boolean shouldMatch) { static Stream testCases() { return Stream.of( - Arguments.of(event, new AnyFilter(Set.of(new ExactFilter(Map.of("id", "123-42")))), true), + Arguments.of(event, new AnyFilter(List.of(new ExactFilter(Map.of("id", "123-42")))), true), Arguments.of( event, - new AnyFilter(Set.of( + new AnyFilter(List.of( new ExactFilter(Map.of("id", "123-42")), new ExactFilter(Map.of("source", "/api/some-source")))), true), Arguments.of( event, - new AnyFilter(Set.of( + new AnyFilter(List.of( new ExactFilter(Map.of("id", "123")), new ExactFilter(Map.of("source", "/api/some-source")))), true), Arguments.of( event, - new AnyFilter(Set.of( + new AnyFilter(List.of( new ExactFilter(Map.of("id", "123-42")), new ExactFilter(Map.of("source", "/api/something-else")))), true), Arguments.of( event, - new AnyFilter(Set.of( + new AnyFilter(List.of( new ExactFilter(Map.of("id", "123")), new ExactFilter(Map.of("source", "/api/something-else")))), false), - Arguments.of(event, new AnyFilter(Collections.emptySet()), false)); + Arguments.of(event, new AnyFilter(Collections.emptyList()), false)); } }