Convert remaining UntypedActor in docs #22182

This commit is contained in:
ortigali 2017-02-04 11:51:30 +05:00
parent 432b53c509
commit 760de5c6d4
39 changed files with 701 additions and 717 deletions

View file

@ -27,54 +27,52 @@ public class ParentChildTest {
private final ActorSystem system = actorSystemResource.getSystem();
//#test-example
static class Parent extends UntypedActor {
static class Parent extends AbstractActor {
final ActorRef child = getContext().actorOf(Props.create(Child.class), "child");
boolean ponged = false;
@Override public void onReceive(Object message) throws Exception {
if ("pingit".equals(message)) {
child.tell("ping", self());
} else if ("pong".equals(message)) {
ponged = true;
} else {
unhandled(message);
}
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("pingit", message -> child.tell("ping", self()))
.matchEquals("pong", message -> ponged = true)
.build();
}
}
static class Child extends UntypedActor {
@Override public void onReceive(Object message) throws Exception {
if ("ping".equals(message)) {
getContext().parent().tell("pong", self());
} else {
unhandled(message);
}
static class Child extends AbstractActor {
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("ping", message -> {
getContext().parent().tell("pong", self());
})
.build();
}
}
//#test-example
static
//#test-dependentchild
class DependentChild extends UntypedActor {
class DependentChild extends AbstractActor {
private final ActorRef parent;
public DependentChild(ActorRef parent) {
this.parent = parent;
}
@Override public void onReceive(Object message) throws Exception {
if ("ping".equals(message)) {
parent.tell("pong", self());
} else {
unhandled(message);
}
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("ping", message -> parent.tell("pong", self()))
.build();
}
}
//#test-dependentchild
static
//#test-dependentparent
class DependentParent extends UntypedActor {
class DependentParent extends AbstractActor {
final ActorRef child;
boolean ponged = false;
@ -82,21 +80,19 @@ public class ParentChildTest {
child = getContext().actorOf(childProps, "child");
}
@Override public void onReceive(Object message) throws Exception {
if ("pingit".equals(message)) {
child.tell("ping", self());
} else if ("pong".equals(message)) {
ponged = true;
} else {
unhandled(message);
}
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("pingit", message -> child.tell("ping", self()))
.matchEquals("pong", message -> ponged = true)
.build();
}
}
//#test-dependentparent
static
//#test-dependentparent-generic
class GenericDependentParent extends UntypedActor {
class GenericDependentParent extends AbstractActor {
final ActorRef child;
boolean ponged = false;
@ -105,14 +101,12 @@ public class ParentChildTest {
child = childMaker.apply(getContext());
}
@Override public void onReceive(Object message) throws Exception {
if ("pingit".equals(message)) {
child.tell("ping", self());
} else if ("pong".equals(message)) {
ponged = true;
} else {
unhandled(message);
}
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("pingit", message -> child.tell("ping", self()))
.matchEquals("pong", message -> ponged = true)
.build();
}
}
//#test-dependentparent-generic
@ -174,15 +168,21 @@ public class ParentChildTest {
}
@Override public Actor create() throws Exception {
return new UntypedActor() {
return new AbstractActor() {
final ActorRef child = getContext().actorOf(Props.create(Child.class), "child");
@Override public void onReceive(Object x) throws Exception {
if (sender().equals(child)) {
proxy.ref().forward(x, getContext());
} else {
child.forward(x, getContext());
}
@Override
public Receive createReceive() {
return receiveBuilder()
.matchAny(message -> {
if (sender().equals(child)) {
proxy.ref().forward(message, getContext());
} else {
child.forward(message, getContext());
}
})
.build();
}
};
}

View file

@ -18,7 +18,7 @@ import akka.actor.Kill;
import akka.actor.PoisonPill;
import akka.actor.Props;
import akka.actor.Terminated;
import akka.actor.UntypedActor;
import akka.actor.AbstractActor;
import scala.concurrent.Await;
import scala.concurrent.Future;
import akka.testkit.TestActor.AutoPilot;
@ -34,13 +34,17 @@ public class TestKitDocTest {
private final ActorSystem system = actorSystemResource.getSystem();
//#test-actor-ref
static class MyActor extends UntypedActor {
public void onReceive(Object o) throws Exception {
if (o.equals("say42")) {
sender().tell(42, self());
} else if (o instanceof Exception) {
throw (Exception) o;
}
static class MyActor extends AbstractActor {
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("say42", message -> {
sender().tell(42, self());
})
.match(Exception.class, (Exception ex) -> {
throw ex;
})
.build();
}
public boolean testMe() { return true; }
}
@ -259,14 +263,17 @@ public class TestKitDocTest {
//#test-probe
new JavaTestKit(system) {{
// simple actor which just forwards messages
class Forwarder extends UntypedActor {
class Forwarder extends AbstractActor {
final ActorRef target;
@SuppressWarnings("unused")
public Forwarder(ActorRef target) {
this.target = target;
}
public void onReceive(Object msg) {
target.forward(msg, getContext());
@Override
public Receive createReceive() {
return receiveBuilder()
.matchAny(message -> target.forward(message, getContext()))
.build();
}
}

View file

@ -12,25 +12,27 @@ import org.junit.Test;
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;
import akka.actor.UntypedActor;
import akka.actor.AbstractActor;
import akka.testkit.JavaTestKit;
import scala.concurrent.duration.Duration;
public class TestKitSampleTest {
public static class SomeActor extends UntypedActor {
public static class SomeActor extends AbstractActor {
ActorRef target = null;
public void onReceive(Object msg) {
if (msg.equals("hello")) {
sender().tell("world", self());
if (target != null) target.forward(msg, getContext());
} else if (msg instanceof ActorRef) {
target = (ActorRef) msg;
sender().tell("done", self());
}
@Override
public Receive createReceive() {
return receiveBuilder()
.matchEquals("hello", message -> {
sender().tell("world", self());
if (target != null) target.forward(message, getContext());
})
.match(ActorRef.class, actorRef -> {
target = actorRef;
sender().tell("done", self());
})
.build();
}
}