org.guiceyfruit
diff --git a/kernel/src/main/scala/ActiveObject.scala b/kernel/src/main/scala/ActiveObject.scala
index 50beb2f1ff..73da2bcd0b 100755
--- a/kernel/src/main/scala/ActiveObject.scala
+++ b/kernel/src/main/scala/ActiveObject.scala
@@ -143,7 +143,7 @@ sealed class TransactionalAroundAdvice(target: Class[_],
activeTx = None
}
- private def handleResult(result: ErrRef[AnyRef]): AnyRef = {
+ private def handleResult(result: ResultOrFailure[AnyRef]): AnyRef = {
try {
result()
} catch {
@@ -162,11 +162,11 @@ sealed class TransactionalAroundAdvice(target: Class[_],
private def sendOneWay(joinpoint: JoinPoint) = server ! Invocation(joinpoint, activeTx)
- private def sendAndReceiveEventually(joinpoint: JoinPoint): ErrRef[AnyRef] = {
+ private def sendAndReceiveEventually(joinpoint: JoinPoint): ResultOrFailure[AnyRef] = {
server !!! (Invocation(joinpoint, activeTx), {
- var ref = ErrRef(activeTx)
- ref() = throw new ActiveObjectInvocationTimeoutException("Invocation to active object [" + targetInstance.getClass.getName + "] timed out after " + server.timeout + " milliseconds")
- ref
+ var resultOrFailure = ResultOrFailure(activeTx)
+ resultOrFailure() = throw new ActiveObjectInvocationTimeoutException("Invocation to active object [" + targetInstance.getClass.getName + "] timed out after " + server.timeout + " milliseconds")
+ resultOrFailure
})
}
@@ -216,13 +216,15 @@ sealed class TransactionalAroundAdvice(target: Class[_],
private[kernel] class Dispatcher(val targetName: String) extends GenericServer {
override def body: PartialFunction[Any, Unit] = {
- case (tx: Option[Transaction], joinpoint: JoinPoint) =>
+ case Invocation(joinpoint: JoinPoint, tx: Option[Transaction]) =>
ActiveObject.threadBoundTx.set(tx)
try {
- reply(ErrRef(joinpoint.proceed, tx))
+ reply(ResultOrFailure(joinpoint.proceed, tx))
} catch {
case e =>
- val ref = ErrRef(tx); ref() = throw e; reply(ref)
+ val resultOrFailure = ResultOrFailure(tx)
+ resultOrFailure() = throw e
+ reply(resultOrFailure)
}
case 'exit =>
diff --git a/kernel/src/main/scala/ErrRef.scala b/kernel/src/main/scala/ResultOrFailure.scala
similarity index 68%
rename from kernel/src/main/scala/ErrRef.scala
rename to kernel/src/main/scala/ResultOrFailure.scala
index a810824421..f3fe516910 100644
--- a/kernel/src/main/scala/ErrRef.scala
+++ b/kernel/src/main/scala/ResultOrFailure.scala
@@ -9,8 +9,8 @@ package se.scalablesolutions.akka.kernel
*
* Usage:
*
- * scala> ErrRef(1)
- * res0: ErrRef[Int] = ErrRef@a96606
+ * scala> ResultOrFailure(1)
+ * res0: ResultOrFailure[Int] = ResultOrFailure@a96606
*
* scala> res0()
* res1: Int = 1
@@ -30,7 +30,7 @@ package se.scalablesolutions.akka.kernel
*
* scala> res0()
* java.lang.RuntimeException: Lets see what happens here...
- * at ErrRef.apply(RefExcept.scala:11)
+ * at ResultOrFailure.apply(RefExcept.scala:11)
* at .(:6)
* at .()
* at Re...
@@ -38,7 +38,7 @@ package se.scalablesolutions.akka.kernel
*
* @author Jonas Bonér
*/
-class ErrRef[Payload](payload: Payload, val tx: Option[Transaction]) {
+class ResultOrFailure[Payload](payload: Payload, val tx: Option[Transaction]) {
private[this] var contents: Either[Throwable, Payload] = Right(payload)
def update(value: => Payload) = {
@@ -50,9 +50,9 @@ class ErrRef[Payload](payload: Payload, val tx: Option[Transaction]) {
case Left(e) => throw e.fillInStackTrace
}
- override def toString(): String = "ErrRef[" + contents + "]"
+ override def toString(): String = "ResultOrFailure[" + contents + "]"
}
-object ErrRef {
- def apply[Payload](payload: Payload, tx: Option[Transaction]) = new ErrRef(payload, tx)
- def apply[AnyRef](tx: Option[Transaction]) = new ErrRef(new Object, tx)
+object ResultOrFailure {
+ def apply[Payload](payload: Payload, tx: Option[Transaction]) = new ResultOrFailure(payload, tx)
+ def apply[AnyRef](tx: Option[Transaction]) = new ResultOrFailure(new Object, tx)
}
diff --git a/pom.xml b/pom.xml
index db2ecf4095..5c181ab17a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
util-java
kernel
- api-java
+ fun-test-java