From df302b8ee6525aeff131b0b37666f2b424953b05 Mon Sep 17 00:00:00 2001 From: "He-Pin(kerr)" Date: Mon, 15 Jan 2024 17:37:14 +0800 Subject: [PATCH] feat: Add `create` method to PFBuilder. (#947) --- .../java/org/apache/pekko/japi/pf/PFBuilderTest.java | 2 +- .../pekko/actor/typed/javadsl/ActorLoggingTest.java | 6 +++--- .../apache/pekko/japi/pf/FSMStateFunctionBuilder.java | 3 +-- .../main/java/org/apache/pekko/japi/pf/PFBuilder.java | 9 +++++++++ docs/src/test/java/jdocs/stream/BidiFlowDocTest.java | 4 +++- docs/src/test/java/jdocs/stream/FlowErrorDocTest.java | 4 ++-- .../stream/javadsl/cookbook/RecipeAdhocSourceTest.java | 2 +- .../test/java/jdocs/stream/operators/SourceOrFlow.java | 2 +- .../persistence/fsm/japi/pf/FSMStateFunctionBuilder.java | 7 ++----- .../java/org/apache/pekko/stream/javadsl/FlowTest.java | 2 +- .../java/org/apache/pekko/stream/javadsl/SourceTest.java | 2 +- 11 files changed, 25 insertions(+), 18 deletions(-) diff --git a/actor-tests/src/test/java/org/apache/pekko/japi/pf/PFBuilderTest.java b/actor-tests/src/test/java/org/apache/pekko/japi/pf/PFBuilderTest.java index ee2a671b4f..9a34d916c0 100644 --- a/actor-tests/src/test/java/org/apache/pekko/japi/pf/PFBuilderTest.java +++ b/actor-tests/src/test/java/org/apache/pekko/japi/pf/PFBuilderTest.java @@ -25,7 +25,7 @@ public class PFBuilderTest extends JUnitSuite { @Test public void pfbuilder_matchAny_should_infer_declared_input_type_for_lambda() { PartialFunction pf = - new PFBuilder() + PFBuilder.create() .matchEquals("hello", s -> 1) .matchAny(s -> Integer.valueOf(s)) .build(); diff --git a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java index aebaf8a84a..31324ce6d6 100644 --- a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java +++ b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java @@ -62,7 +62,7 @@ public class ActorLoggingTest extends JUnitSuite { public void loggingProvidesClassWhereLogWasCalled() { CustomEventFilter eventFilter = new CustomEventFilter( - new PFBuilder() + PFBuilder.create() .match( Logging.LogEvent.class, (event) -> event.logClass() == ActorLoggingTest.class) .build(), @@ -103,7 +103,7 @@ public class ActorLoggingTest extends JUnitSuite { CustomEventFilter eventFilter = new CustomEventFilter( - new PFBuilder() + PFBuilder.create() .match(Logging.LogEvent.class, (event) -> event.getMDC().containsKey("txId")) .build(), 1); @@ -118,7 +118,7 @@ public class ActorLoggingTest extends JUnitSuite { CustomEventFilter eventFilter = new CustomEventFilter( - new PFBuilder() + PFBuilder.create() .match( Logging.LogEvent.class, (event) -> event.message().equals("received message Hello")) diff --git a/actor/src/main/java/org/apache/pekko/japi/pf/FSMStateFunctionBuilder.java b/actor/src/main/java/org/apache/pekko/japi/pf/FSMStateFunctionBuilder.java index 2b31f7b9ac..6a4a685925 100644 --- a/actor/src/main/java/org/apache/pekko/japi/pf/FSMStateFunctionBuilder.java +++ b/actor/src/main/java/org/apache/pekko/japi/pf/FSMStateFunctionBuilder.java @@ -26,8 +26,7 @@ import java.util.List; @SuppressWarnings("rawtypes") public class FSMStateFunctionBuilder { - private PFBuilder, FSM.State> builder = - new PFBuilder, FSM.State>(); + private final PFBuilder, FSM.State> builder = PFBuilder.create(); /** * An erased processing of the event matcher. The compile time checks are enforced by the public diff --git a/actor/src/main/java/org/apache/pekko/japi/pf/PFBuilder.java b/actor/src/main/java/org/apache/pekko/japi/pf/PFBuilder.java index 56f682836e..9fa10f08d2 100644 --- a/actor/src/main/java/org/apache/pekko/japi/pf/PFBuilder.java +++ b/actor/src/main/java/org/apache/pekko/japi/pf/PFBuilder.java @@ -21,6 +21,15 @@ package org.apache.pekko.japi.pf; */ public final class PFBuilder extends AbstractPFBuilder { + /** + * Create a new {@link PFBuilder}. + * + * @since 1.1.0 + */ + public static PFBuilder create() { + return new PFBuilder<>(); + } + /** Create a PFBuilder. */ public PFBuilder() {} diff --git a/docs/src/test/java/jdocs/stream/BidiFlowDocTest.java b/docs/src/test/java/jdocs/stream/BidiFlowDocTest.java index b40c02fb8b..cf2602eee7 100644 --- a/docs/src/test/java/jdocs/stream/BidiFlowDocTest.java +++ b/docs/src/test/java/jdocs/stream/BidiFlowDocTest.java @@ -260,7 +260,9 @@ public class BidiFlowDocTest extends AbstractJavaTest { final Flow pingpong = Flow.of(Message.class) .collect( - new PFBuilder().match(Ping.class, p -> new Pong(p.id)).build()); + PFBuilder.create() + .match(Ping.class, p -> new Pong(p.id)) + .build()); final Flow flow = stack.atop(stack.reversed()).join(pingpong); final CompletionStage> result = Source.from(Arrays.asList(0, 1, 2)) diff --git a/docs/src/test/java/jdocs/stream/FlowErrorDocTest.java b/docs/src/test/java/jdocs/stream/FlowErrorDocTest.java index b02e14feb9..68504e70dc 100644 --- a/docs/src/test/java/jdocs/stream/FlowErrorDocTest.java +++ b/docs/src/test/java/jdocs/stream/FlowErrorDocTest.java @@ -156,7 +156,7 @@ public class FlowErrorDocTest extends AbstractJavaTest { else return n.toString(); }) .recover( - new PFBuilder() + PFBuilder.create() .match(RuntimeException.class, Throwable::getMessage) .build()) .runForeach(System.out::println, system); @@ -187,7 +187,7 @@ public class FlowErrorDocTest extends AbstractJavaTest { }) .recoverWithRetries( 1, // max attempts - new PFBuilder>() + PFBuilder.>create() .match(RuntimeException.class, ex -> planB) .build()) .runForeach(System.out::println, system); diff --git a/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeAdhocSourceTest.java b/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeAdhocSourceTest.java index da9e244c0e..3fa7a54ad5 100644 --- a/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeAdhocSourceTest.java +++ b/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeAdhocSourceTest.java @@ -62,7 +62,7 @@ public class RecipeAdhocSourceTest extends RecipeTest { .backpressureTimeout(timeout) .recoverWithRetries( maxRetries, - new PFBuilder>() + PFBuilder.>create() .match( TimeoutException.class, ex -> diff --git a/docs/src/test/java/jdocs/stream/operators/SourceOrFlow.java b/docs/src/test/java/jdocs/stream/operators/SourceOrFlow.java index 84000ba823..4859c5ad75 100644 --- a/docs/src/test/java/jdocs/stream/operators/SourceOrFlow.java +++ b/docs/src/test/java/jdocs/stream/operators/SourceOrFlow.java @@ -395,7 +395,7 @@ class SourceOrFlow { Flow flow = Flow.of(Message.class) .collect( - new PFBuilder() + PFBuilder.create() .match(Ping.class, p -> p.id != 0, p -> new Pong(p.id)) .build()); // #collect diff --git a/persistence/src/main/java/org/apache/pekko/persistence/fsm/japi/pf/FSMStateFunctionBuilder.java b/persistence/src/main/java/org/apache/pekko/persistence/fsm/japi/pf/FSMStateFunctionBuilder.java index a12b62db05..5613936493 100644 --- a/persistence/src/main/java/org/apache/pekko/persistence/fsm/japi/pf/FSMStateFunctionBuilder.java +++ b/persistence/src/main/java/org/apache/pekko/persistence/fsm/japi/pf/FSMStateFunctionBuilder.java @@ -31,13 +31,10 @@ import java.util.List; @Deprecated public class FSMStateFunctionBuilder { - private PFBuilder< + private final PFBuilder< org.apache.pekko.persistence.fsm.PersistentFSM.Event, org.apache.pekko.persistence.fsm.PersistentFSM.State> - builder = - new PFBuilder< - org.apache.pekko.persistence.fsm.PersistentFSM.Event, - org.apache.pekko.persistence.fsm.PersistentFSM.State>(); + builder = PFBuilder.create(); /** * An erased processing of the event matcher. The compile time checks are enforced by the public diff --git a/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/FlowTest.java b/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/FlowTest.java index 395276a026..fce0a461e2 100644 --- a/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/FlowTest.java +++ b/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/FlowTest.java @@ -1124,7 +1124,7 @@ public class FlowTest extends StreamTest { }) .recoverWithRetries( 3, - new PFBuilder, NotUsed>>() + PFBuilder., NotUsed>>create() .match(RuntimeException.class, ex -> Source.from(recover)) .build()); diff --git a/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/SourceTest.java b/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/SourceTest.java index e589f14588..d0be5c938c 100644 --- a/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/SourceTest.java +++ b/stream-tests/src/test/java/org/apache/pekko/stream/javadsl/SourceTest.java @@ -913,7 +913,7 @@ public class SourceTest extends StreamTest { }) .recoverWithRetries( 1, - new PFBuilder>() + PFBuilder.>create() .matchAny(ex -> Source.single(0)) .build());