From 4c2ac278a73daaf1b570652dba2152c0dde6a911 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Mon, 25 Jun 2012 19:15:57 +0200 Subject: [PATCH] Getting akka-sample-fsm compiling and tests green --- .../akka-sample-fsm/src/main/scala/Buncher.scala | 14 ++++++-------- .../src/main/scala/DiningHakkersOnBecome.scala | 2 ++ .../src/main/scala/DiningHakkersOnFsm.scala | 2 ++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/akka-samples/akka-sample-fsm/src/main/scala/Buncher.scala b/akka-samples/akka-sample-fsm/src/main/scala/Buncher.scala index d9c04e0788..36486d3b2c 100644 --- a/akka-samples/akka-sample-fsm/src/main/scala/Buncher.scala +++ b/akka-samples/akka-sample-fsm/src/main/scala/Buncher.scala @@ -26,18 +26,16 @@ object GenericBuncher { case object Flush // send out current queue immediately case object Stop // poison pill - class MsgExtractor[A: Manifest] { - def unapply(m: AnyRef): Option[A] = { - if (ClassTag.fromClass(m.getClass) <:< manifest[A]) { + class MsgExtractor[A: ClassTag] { + def unapply(m: AnyRef): Option[A] = + if (implicitly[ClassTag[A]].runtimeClass isAssignableFrom m.getClass) Some(m.asInstanceOf[A]) - } else { + else None - } - } } } -abstract class GenericBuncher[A: Manifest, B](val singleTimeout: Duration, val multiTimeout: Duration) +abstract class GenericBuncher[A: ClassTag, B](val singleTimeout: Duration, val multiTimeout: Duration) extends Actor with FSM[GenericBuncher.State, B] { import GenericBuncher._ import FSM._ @@ -87,7 +85,7 @@ object Buncher { val Flush = GenericBuncher.Flush } -class Buncher[A: Manifest](singleTimeout: Duration, multiTimeout: Duration) +class Buncher[A: ClassTag](singleTimeout: Duration, multiTimeout: Duration) extends GenericBuncher[A, List[A]](singleTimeout, multiTimeout) { import Buncher._ diff --git a/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala b/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala index 65d7d7c23c..7a2e066919 100644 --- a/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala +++ b/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala @@ -3,6 +3,8 @@ */ package sample.fsm.dining.become +import language.postfixOps + //Akka adaptation of //http://www.dalnefre.com/wp/2010/08/dining-philosophers-in-humus/ diff --git a/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala b/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala index 7928a85334..a92305411b 100644 --- a/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala +++ b/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala @@ -3,6 +3,8 @@ */ package sample.fsm.dining.fsm +import language.postfixOps + import akka.actor._ import akka.actor.FSM._ import akka.util.Duration