From 42a9c48e80852589bc2de145dad704be3f5c56ec Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Tue, 8 Oct 2024 15:07:39 +0200 Subject: [PATCH] GH-863 - Add convenience method for creating a default EventExternalizationConfiguration. --- .../EventExternalizationConfiguration.java | 20 +++++++++++++++++++ ...ExternalizationConfigurationUnitTests.java | 3 +-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/spring-modulith-events/spring-modulith-events-api/src/main/java/org/springframework/modulith/events/EventExternalizationConfiguration.java b/spring-modulith-events/spring-modulith-events-api/src/main/java/org/springframework/modulith/events/EventExternalizationConfiguration.java index 04c4efdd..787c11db 100644 --- a/spring-modulith-events/spring-modulith-events-api/src/main/java/org/springframework/modulith/events/EventExternalizationConfiguration.java +++ b/spring-modulith-events/spring-modulith-events-api/src/main/java/org/springframework/modulith/events/EventExternalizationConfiguration.java @@ -19,6 +19,7 @@ import static org.springframework.core.annotation.AnnotatedElementUtils.*; import java.lang.annotation.Annotation; import java.util.Collection; +import java.util.List; import java.util.Optional; import java.util.function.BiFunction; import java.util.function.BiPredicate; @@ -68,6 +69,25 @@ public interface EventExternalizationConfiguration { .routeAll(router); } + /** + * Creates a default {@link DefaultEventExternalizationConfiguration} with the following characteristics: + * + * + * @param packages must not be {@literal null} or empty. + * @return will never be {@literal null}. + * @see Externalized + * @since 1.3 + */ + public static Router defaults(String... packages) { + return defaults(List.of(packages)); + } + /** * Creates a new {@link Selector} to define which events to externalize. * diff --git a/spring-modulith-events/spring-modulith-events-api/src/test/java/org/springframework/modulith/events/EventExternalizationConfigurationUnitTests.java b/spring-modulith-events/spring-modulith-events-api/src/test/java/org/springframework/modulith/events/EventExternalizationConfigurationUnitTests.java index bb98a564..08ebcd92 100644 --- a/spring-modulith-events/spring-modulith-events-api/src/test/java/org/springframework/modulith/events/EventExternalizationConfigurationUnitTests.java +++ b/spring-modulith-events/spring-modulith-events-api/src/test/java/org/springframework/modulith/events/EventExternalizationConfigurationUnitTests.java @@ -22,7 +22,6 @@ import lombok.RequiredArgsConstructor; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.util.List; import org.junit.jupiter.api.Test; @@ -120,7 +119,7 @@ class EventExternalizationConfigurationUnitTests { @Test // GH-248 void defaultSetup() { - var configuration = defaults(List.of("org.springframework.modulith")).build(); + var configuration = defaults("org.springframework.modulith").build(); var target = configuration.determineTarget(new AnotherSampleEvent());