From 56dc18106b5be11f753359e6078cff58ffb2b53e Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Wed, 7 Dec 2011 11:25:35 +0100 Subject: [PATCH] ActorContext instead of ActorRef in HotSwap code parameter. See #1441 --- .../src/test/scala/akka/actor/HotSwapSpec.scala | 4 ++-- .../src/test/scala/akka/actor/ReceiveTimeoutSpec.scala | 2 +- .../src/test/scala/akka/config/ConfigSpec.scala | 2 +- akka-actor/src/main/scala/akka/actor/Actor.scala | 10 +++++----- akka-actor/src/main/scala/akka/actor/ActorCell.scala | 2 +- akka-stm/src/test/scala/akka/stm/test/ConfigSpec.scala | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/akka-actor-tests/src/test/scala/akka/actor/HotSwapSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/HotSwapSpec.scala index 19ea9c19c1..5b6d70738e 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/HotSwapSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/HotSwapSpec.scala @@ -18,7 +18,7 @@ class HotSwapSpec extends AkkaSpec { val a = system.actorOf(new Actor { def receive = { case _ ⇒ _log += "default" } }) - a ! HotSwap(self ⇒ { + a ! HotSwap(context ⇒ { case _ ⇒ _log += "swapped" barrier.await @@ -75,7 +75,7 @@ class HotSwapSpec extends AkkaSpec { barrier.reset _log = "" - a ! HotSwap(self ⇒ { + a ! HotSwap(context ⇒ { case "swapped" ⇒ _log += "swapped" barrier.await diff --git a/akka-actor-tests/src/test/scala/akka/actor/ReceiveTimeoutSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/ReceiveTimeoutSpec.scala index 8981473cc2..a706fd6bdb 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/ReceiveTimeoutSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/ReceiveTimeoutSpec.scala @@ -44,7 +44,7 @@ class ReceiveTimeoutSpec extends AkkaSpec { val swappedLatch = TestLatch() - timeoutActor ! HotSwap(self ⇒ { + timeoutActor ! HotSwap(context ⇒ { case ReceiveTimeout ⇒ swappedLatch.open }) diff --git a/akka-actor-tests/src/test/scala/akka/config/ConfigSpec.scala b/akka-actor-tests/src/test/scala/akka/config/ConfigSpec.scala index 80d1ca30e5..b3a625e7b4 100644 --- a/akka-actor-tests/src/test/scala/akka/config/ConfigSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/config/ConfigSpec.scala @@ -13,7 +13,7 @@ import akka.util.Duration @org.junit.runner.RunWith(classOf[org.scalatest.junit.JUnitRunner]) class ConfigSpec extends AkkaSpec(ConfigFactory.defaultReference) { - "The default configuration file (i.e. akka-actor-reference.conf)" must { + "The default configuration file (i.e. reference.conf)" must { "contain all configuration properties for akka-actor that are used in code with their correct defaults" in { val settings = system.settings diff --git a/akka-actor/src/main/scala/akka/actor/Actor.scala b/akka-actor/src/main/scala/akka/actor/Actor.scala index 237be39daa..8da17f13ea 100644 --- a/akka-actor/src/main/scala/akka/actor/Actor.scala +++ b/akka-actor/src/main/scala/akka/actor/Actor.scala @@ -30,14 +30,14 @@ sealed trait AutoReceivedMessage extends Serializable trait PossiblyHarmful -case class HotSwap(code: ActorRef ⇒ Actor.Receive, discardOld: Boolean = true) extends AutoReceivedMessage { +case class HotSwap(code: ActorContext ⇒ Actor.Receive, discardOld: Boolean = true) extends AutoReceivedMessage { /** * Java API */ - def this(code: akka.japi.Function[ActorRef, Procedure[Any]], discardOld: Boolean) = { - this((self: ActorRef) ⇒ { - val behavior = code(self) + def this(code: akka.japi.Function[ActorContext, Procedure[Any]], discardOld: Boolean) = { + this((context: ActorContext) ⇒ { + val behavior = code(context) val result: Actor.Receive = { case msg ⇒ behavior(msg) } result }, discardOld) @@ -46,7 +46,7 @@ case class HotSwap(code: ActorRef ⇒ Actor.Receive, discardOld: Boolean = true) /** * Java API with default non-stacking behavior */ - def this(code: akka.japi.Function[ActorRef, Procedure[Any]]) = this(code, true) + def this(code: akka.japi.Function[ActorContext, Procedure[Any]]) = this(code, true) } case class Failed(cause: Throwable) extends AutoReceivedMessage with PossiblyHarmful diff --git a/akka-actor/src/main/scala/akka/actor/ActorCell.scala b/akka-actor/src/main/scala/akka/actor/ActorCell.scala index 4fd7bd6681..494f048ccb 100644 --- a/akka-actor/src/main/scala/akka/actor/ActorCell.scala +++ b/akka-actor/src/main/scala/akka/actor/ActorCell.scala @@ -509,7 +509,7 @@ private[akka] final class ActorCell( if (system.settings.DebugAutoReceive) system.eventStream.publish(Debug(self.path.toString, "received AutoReceiveMessage " + msg)) msg.message match { - case HotSwap(code, discardOld) ⇒ become(code(self), discardOld) + case HotSwap(code, discardOld) ⇒ become(code(this), discardOld) case RevertHotSwap ⇒ unbecome() case Failed(cause) ⇒ handleFailure(sender, cause) case Kill ⇒ throw new ActorKilledException("Kill") diff --git a/akka-stm/src/test/scala/akka/stm/test/ConfigSpec.scala b/akka-stm/src/test/scala/akka/stm/test/ConfigSpec.scala index 3c455bf702..8bc40cc1d1 100644 --- a/akka-stm/src/test/scala/akka/stm/test/ConfigSpec.scala +++ b/akka-stm/src/test/scala/akka/stm/test/ConfigSpec.scala @@ -15,7 +15,7 @@ import akka.testkit.AkkaSpec @RunWith(classOf[JUnitRunner]) class ConfigSpec extends AkkaSpec(ConfigFactory.defaultReference) { - "The default configuration file (i.e. akka-stm-reference.conf)" should { + "The default configuration file (i.e. reference.conf)" should { "contain all configuration properties for akka-stm that are used in code with their correct defaults" in { val config = system.settings.config import config._