From d632d71634b72158c619480efa1318ed29b734f1 Mon Sep 17 00:00:00 2001 From: Mikhail2048 Date: Sun, 25 Aug 2024 22:19:45 +0300 Subject: [PATCH] Changed the access level of AbstractAggregateRoot's methods to public --- .../data/domain/AbstractAggregateRoot.java | 7 ++++--- .../EventPublishingRepositoryProxyPostProcessor.java | 10 ++++++---- .../data/repository/query/SpelQueryContext.java | 1 - .../data/spel/ExpressionDependencies.java | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java b/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java index 46ddd2545c..ee27cc3cb2 100644 --- a/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java +++ b/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java @@ -31,6 +31,7 @@ * * @author Oliver Gierke * @author Christoph Strobl + * @author Mikhail Polivakha * @since 1.13 */ public class AbstractAggregateRoot> { @@ -44,7 +45,7 @@ public class AbstractAggregateRoot> { * @return the event that has been added. * @see #andEvent(Object) */ - protected T registerEvent(T event) { + public T registerEvent(T event) { Assert.notNull(event, "Domain event must not be null"); @@ -76,7 +77,7 @@ protected Collection domainEvents() { * @return the aggregate */ @SuppressWarnings("unchecked") - protected final A andEventsFrom(A aggregate) { + public final A andEventsFrom(A aggregate) { Assert.notNull(aggregate, "Aggregate must not be null"); @@ -95,7 +96,7 @@ protected final A andEventsFrom(A aggregate) { * @see #registerEvent(Object) */ @SuppressWarnings("unchecked") - protected final A andEvent(Object event) { + public final A andEvent(Object event) { registerEvent(event); diff --git a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java index 9036e6beb1..69351e8995 100644 --- a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java @@ -138,6 +138,7 @@ private static boolean isDeleteMethod(String methodName) { * Abstraction of a method on the aggregate root that exposes the events to publish. * * @author Oliver Gierke + * @author Mikhail Polivakha * @since 1.13 */ static class EventPublishingMethod { @@ -145,19 +146,20 @@ static class EventPublishingMethod { private static Map, EventPublishingMethod> cache = new ConcurrentReferenceHashMap<>(); private static @SuppressWarnings("null") EventPublishingMethod NONE = new EventPublishingMethod(Object.class, null, null); - private static String ILLEGAL_MODIFCATION = "Aggregate's events were modified during event publication. " - + "Make sure event listeners obtain a fresh instance of the aggregate before adding further events. " - + "Additional events found: %s."; + private static final String ILLEGAL_MODIFICATION = "Events of an aggregate '%s' were modified during event publication. " + + "Make sure event listeners obtain a fresh instance of the aggregate before adding further events. "; private final Class type; private final Method publishingMethod; private final @Nullable Method clearingMethod; + private final IllegalStateException ILLEGAL_MODIFICATION_EXCEPTION; EventPublishingMethod(Class type, Method publishingMethod, @Nullable Method clearingMethod) { this.type = type; this.publishingMethod = publishingMethod; this.clearingMethod = clearingMethod; + this.ILLEGAL_MODIFICATION_EXCEPTION = new IllegalStateException(ILLEGAL_MODIFICATION.formatted(type.getName())); } /** @@ -216,7 +218,7 @@ public void publishEventsFrom(@Nullable Iterable aggregates, ApplicationEvent postPublication.removeAll(events); - throw new IllegalStateException(ILLEGAL_MODIFCATION.formatted(postPublication)); + throw ILLEGAL_MODIFICATION_EXCEPTION; } if (clearingMethod != null) { diff --git a/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java b/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java index ac35839ebb..e1d408e9dc 100644 --- a/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java +++ b/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java @@ -285,7 +285,6 @@ public int size() { Map getParameterMap() { return expressions; } - } /** diff --git a/src/main/java/org/springframework/data/spel/ExpressionDependencies.java b/src/main/java/org/springframework/data/spel/ExpressionDependencies.java index ea36a55997..5bbcbe3e0b 100644 --- a/src/main/java/org/springframework/data/spel/ExpressionDependencies.java +++ b/src/main/java/org/springframework/data/spel/ExpressionDependencies.java @@ -102,7 +102,7 @@ public static ExpressionDependencies merged(Iterable dep * @return a set of {@link ExpressionDependencies}. */ public static ExpressionDependencies discover(Expression expression) { - return expression instanceof SpelExpression ? discover(((SpelExpression) expression).getAST(), true) : none(); + return expression instanceof SpelExpression spel ? discover(spel.getAST(), true) : none(); } /**