From 4dddde15c5a1aa52e8f867d45113ba6c6f506594 Mon Sep 17 00:00:00 2001 From: "Cai Yufei (INST/ECS1)" Date: Fri, 13 Apr 2018 16:44:58 +0200 Subject: [PATCH] allow creation of pre-enforcer without reply address for error responses Signed-off-by: Cai Yufei (INST/ECS1) --- .../util/enforcement/PreEnforcer.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/services/concierge/util/src/main/java/org/eclipse/ditto/services/concierge/util/enforcement/PreEnforcer.java b/services/concierge/util/src/main/java/org/eclipse/ditto/services/concierge/util/enforcement/PreEnforcer.java index 4f0283d2cb..3ae3d5dc48 100644 --- a/services/concierge/util/src/main/java/org/eclipse/ditto/services/concierge/util/enforcement/PreEnforcer.java +++ b/services/concierge/util/src/main/java/org/eclipse/ditto/services/concierge/util/enforcement/PreEnforcer.java @@ -15,6 +15,8 @@ import java.util.concurrent.CompletionStage; import java.util.function.Function; +import javax.annotation.Nullable; + import org.eclipse.ditto.model.base.exceptions.DittoRuntimeException; import org.eclipse.ditto.model.base.headers.DittoHeaders; import org.eclipse.ditto.model.base.headers.WithDittoHeaders; @@ -48,14 +50,27 @@ public final class PreEnforcer { private PreEnforcer() {} + /** + * Create a processing unit from a function without reply address for errors. + * + * @param processor function to call. + * @return Akka stream graph. + */ + public static Graph, NotUsed> fromFunction( + final Function> processor) { + + return fromFunction(ActorRef.noSender(), processor); + } + /** * Create a processing unit from a function. * * @param self reference to the actor carrying the pre-enforcement. * @param processor function to call. + * @return Akka stream graph. */ public static Graph, NotUsed> fromFunction( - final ActorRef self, + @Nullable final ActorRef self, final Function> processor) { final Attributes logLevels = @@ -94,7 +109,7 @@ private static Graph, NotUsed> keepResultAndLogErrors(fi private static Object handleError(final Throwable error, final WithSender wrapped, - final ActorRef self) { + @Nullable final ActorRef self) { final Throwable rootCause = extractRootCause(error); final ActorRef sender = wrapped.sender();