From 0fc430332c59f9866b6a857c4c3e28bb58aa16a1 Mon Sep 17 00:00:00 2001 From: Peter Vlugter Date: Sun, 2 May 2010 19:59:20 +1200 Subject: [PATCH] Updated to Multiverse 0.5 --- akka-core/src/main/scala/stm/Transaction.scala | 5 +++-- .../src/main/scala/stm/TransactionalState.scala | 14 +++++++++++--- project/build/AkkaProject.scala | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/akka-core/src/main/scala/stm/Transaction.scala b/akka-core/src/main/scala/stm/Transaction.scala index fb9f14b62e..d7874ffc15 100644 --- a/akka-core/src/main/scala/stm/Transaction.scala +++ b/akka-core/src/main/scala/stm/Transaction.scala @@ -15,11 +15,12 @@ import scala.collection.mutable.HashMap import se.scalablesolutions.akka.util.Logging import se.scalablesolutions.akka.config.Config._ -import org.multiverse.api.{Transaction => MultiverseTransaction, TransactionLifecycleListener, TransactionLifecycleEvent} +import org.multiverse.api.{Transaction => MultiverseTransaction} +import org.multiverse.api.lifecycle.{TransactionLifecycleListener, TransactionLifecycleEvent} import org.multiverse.api.GlobalStmInstance.getGlobalStmInstance import org.multiverse.api.ThreadLocalTransaction._ import org.multiverse.templates.{TransactionTemplate, OrElseTemplate} -import org.multiverse.utils.backoff.ExponentialBackoffPolicy +import org.multiverse.api.backoff.ExponentialBackoffPolicy import org.multiverse.stms.alpha.AlphaStm class NoTransactionInScopeException extends RuntimeException diff --git a/akka-core/src/main/scala/stm/TransactionalState.scala b/akka-core/src/main/scala/stm/TransactionalState.scala index f870af75e6..450c179163 100644 --- a/akka-core/src/main/scala/stm/TransactionalState.scala +++ b/akka-core/src/main/scala/stm/TransactionalState.scala @@ -6,7 +6,7 @@ package se.scalablesolutions.akka.stm import se.scalablesolutions.akka.util.UUID -import org.multiverse.stms.alpha.AlphaRef +import org.multiverse.api.GlobalStmInstance.getGlobalStmInstance /** * Example Scala usage: @@ -56,6 +56,14 @@ trait Committable { def commit: Unit } +object RefFactory { + private val factory = getGlobalStmInstance.getProgrammaticReferenceFactoryBuilder.build + + def createRef[T] = factory.atomicCreateReference[T]() + + def createRef[T](value: T) = factory.atomicCreateReference(value) +} + /** * Alias to TransactionalRef. * @@ -101,8 +109,8 @@ class TransactionalRef[T](initialOpt: Option[T] = None) extends Transactional { val uuid = UUID.newUuid.toString private[this] val ref = { - if (initialOpt.isDefined) new AlphaRef(initialOpt.get) - else new AlphaRef[T] + if (initialOpt.isDefined) RefFactory.createRef(initialOpt.get) + else RefFactory.createRef[T] } def swap(elem: T) = { diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index cf1e9c3e68..b5efaa03cd 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -173,7 +173,7 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { class AkkaJavaUtilProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { val guicey = "org.guiceyfruit" % "guice-core" % "2.0-beta-4" % "compile" val protobuf = "com.google.protobuf" % "protobuf-java" % "2.2.0" % "compile" - val multiverse = "org.multiverse" % "multiverse-alpha" % "0.4" % "compile" + val multiverse = "org.multiverse" % "multiverse-alpha" % "0.5-SNAPSHOT" % "compile" } class AkkaAMQPProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) {