From 19f2e7f798f4bc584238f153ee26d9b08eae95e2 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Tue, 5 Apr 2011 17:37:30 +0200 Subject: [PATCH 1/6] Removing a compilation warning by restructuring the code --- .../ExecutorBasedEventDrivenDispatcher.scala | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/akka-actor/src/main/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcher.scala b/akka-actor/src/main/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcher.scala index 28c07c6af6..4fec527642 100644 --- a/akka-actor/src/main/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcher.scala +++ b/akka-actor/src/main/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcher.scala @@ -116,18 +116,18 @@ class ExecutorBasedEventDrivenDispatcher( override def mailboxSize(actorRef: ActorRef) = getMailbox(actorRef).size def createMailbox(actorRef: ActorRef): AnyRef = mailboxType match { - case b: UnboundedMailbox if b.blocking => - new DefaultUnboundedMessageQueue(true) with ExecutableMailbox { - final def dispatcher = ExecutorBasedEventDrivenDispatcher.this + case b: UnboundedMailbox => + if (b.blocking) { + new DefaultUnboundedMessageQueue(true) with ExecutableMailbox { + final def dispatcher = ExecutorBasedEventDrivenDispatcher.this + } + } else { //If we have an unbounded, non-blocking mailbox, we can go lockless + new ConcurrentLinkedQueue[MessageInvocation] with MessageQueue with ExecutableMailbox { + final def dispatcher = ExecutorBasedEventDrivenDispatcher.this + final def enqueue(m: MessageInvocation) = this.add(m) + final def dequeue(): MessageInvocation = this.poll() + } } - - case b: UnboundedMailbox if !b.blocking => //If we have an unbounded, non-blocking mailbox, we can go lockless - new ConcurrentLinkedQueue[MessageInvocation] with MessageQueue with ExecutableMailbox { - final def dispatcher = ExecutorBasedEventDrivenDispatcher.this - final def enqueue(m: MessageInvocation) = this.add(m) - final def dequeue(): MessageInvocation = this.poll() - } - case b: BoundedMailbox => new DefaultBoundedMessageQueue(b.capacity, b.pushTimeOut, b.blocking) with ExecutableMailbox { final def dispatcher = ExecutorBasedEventDrivenDispatcher.this From 389817e529d80f2e375c8bec57eb2f9fa939abba Mon Sep 17 00:00:00 2001 From: Roland Date: Tue, 5 Apr 2011 19:45:05 +0200 Subject: [PATCH 2/6] add warning message to git-remove-history.sh --- scripts/git-remove-history.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/git-remove-history.sh b/scripts/git-remove-history.sh index 9db67d2490..5daf35f5c5 100755 --- a/scripts/git-remove-history.sh +++ b/scripts/git-remove-history.sh @@ -1,4 +1,15 @@ #!/bin/bash + +cat <<'EOT' +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ This command rewrites GIT history like git-rebase. Beware never to rewrite @ +@ trees which are already published, as that would deeply upset all cloning @ +@ repos. For more details see 'git help rebase'. Tread carefully! @ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +EOT +read -p "I know what I am doing: " answer +test "$answer" = yes || exit 1 + set -o errexit # Author: David Underhill @@ -7,7 +18,7 @@ set -o errexit # you want to delete, e.g., git-delete-history path1 path2 if [ $# -eq 0 ]; then - exit 0are still + exit 0 fi # make sure we're at the root of git repo @@ -21,4 +32,4 @@ files=$@ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $files" HEAD # remove the temporary history git-filter-branch otherwise leaves behind for a long time -rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune \ No newline at end of file +rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune From eea79867e9571501e42d4a763f79ff66ad5d1837 Mon Sep 17 00:00:00 2001 From: Peter Vlugter Date: Wed, 6 Apr 2011 10:35:07 +1200 Subject: [PATCH 3/6] Another timeout increase --- .../test/scala/remote/ClientInitiatedRemoteActorSpec.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/akka-remote/src/test/scala/remote/ClientInitiatedRemoteActorSpec.scala b/akka-remote/src/test/scala/remote/ClientInitiatedRemoteActorSpec.scala index 36fd4ae586..65693636b4 100644 --- a/akka-remote/src/test/scala/remote/ClientInitiatedRemoteActorSpec.scala +++ b/akka-remote/src/test/scala/remote/ClientInitiatedRemoteActorSpec.scala @@ -95,14 +95,14 @@ class ClientInitiatedRemoteActorSpec extends AkkaRemoteTest { "shouldSendBangBangMessageAndReceiveReply" in { val actor = remote.actorOf[RemoteActorSpecActorBidirectional](host,port).start - val result = actor !! "Hello" + val result = actor !! ("Hello", 10000) "World" must equal (result.get.asInstanceOf[String]) actor.stop } "shouldSendBangBangMessageAndReceiveReplyConcurrently" in { val actors = (1 to 10).map(num => { remote.actorOf[RemoteActorSpecActorBidirectional](host,port).start }).toList - actors.map(_ !!! "Hello") foreach { future => + actors.map(_ !!! ("Hello", 10000)) foreach { future => "World" must equal (future.await.result.asInstanceOf[Option[String]].get) } actors.foreach(_.stop) From 7e99f12f5d2356c3ca440894fff273e1cd818147 Mon Sep 17 00:00:00 2001 From: Peter Vlugter Date: Wed, 6 Apr 2011 15:55:42 +1200 Subject: [PATCH 4/6] Add simple stack trace to string method to AkkaException Note: we can't use printStackTrace in toString as it get's dizzy when we do this (we get an infinite loop). --- .../src/main/scala/akka/AkkaException.scala | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/akka-actor/src/main/scala/akka/AkkaException.scala b/akka-actor/src/main/scala/akka/AkkaException.scala index e60d2c448c..748df1ced0 100644 --- a/akka-actor/src/main/scala/akka/AkkaException.scala +++ b/akka-actor/src/main/scala/akka/AkkaException.scala @@ -5,25 +5,33 @@ package akka import akka.actor.newUuid - -import java.io.{StringWriter, PrintWriter} import java.net.{InetAddress, UnknownHostException} /** * Akka base Exception. Each Exception gets: *
    - *
  • a UUID for tracking purposes
  • - *
  • a message including exception name, uuid, original message and the stacktrace
  • - *
  • a method 'log' that will log the exception once and only once
  • + *
  • a uuid for tracking purposes
  • + *
  • toString that includes exception name, message, uuid, and the stacktrace
  • *
* * @author Jonas Bonér */ -@serializable abstract class AkkaException(message: String = "") extends { - val exceptionName = getClass.getName +class AkkaException(message: String = "") extends RuntimeException(message) with Serializable { val uuid = "%s_%s".format(AkkaException.hostname, newUuid) -} with RuntimeException(message) { - override lazy val toString = "%s\n\t[%s]\n\t%s".format(exceptionName, uuid, message) + + override lazy val toString = { + val name = getClass.getName + val trace = stackTraceToString + "%s: %s\n[%s]\n%s".format(name, message, uuid, trace) + } + + def stackTraceToString = { + val trace = getStackTrace + val sb = new StringBuffer + for (i <- 0 until trace.length) + sb.append("\tat %s\n" format trace(i)) + sb.toString + } } object AkkaException { From 0abf51d87818086e294fbfc64678920a168c1a87 Mon Sep 17 00:00:00 2001 From: patriknw Date: Wed, 6 Apr 2011 07:45:42 +0200 Subject: [PATCH 5/6] moved tests from akka-actor to new module akka-actor-tests to fix circular dependencies between testkit and akka-actor --- .../scala/akka/testing/TestBarrier.scala | 0 .../main}/scala/akka/testing/TestLatch.scala | 0 .../main}/scala/akka/testing/Testing.scala | 0 .../src/test/java/akka/actor/JavaAPI.java | 0 .../java/akka/actor/JavaAPITestActor.java | 0 .../java/akka/config/SupervisionConfig.java | 0 .../java/akka/dispatch/JavaFutureTests.java | 0 .../test/java/akka/japi/JavaAPITestBase.java | 0 .../src/test/scala/akka/Messages.scala | 0 .../ActorFireForgetRequestReplySpec.scala | 0 .../scala/akka/actor/actor/ActorRefSpec.scala | 0 .../test/scala/akka/actor/actor/Bench.scala | 0 .../scala/akka/actor/actor/FSMActorSpec.scala | 0 .../akka/actor/actor/FSMTimingSpec.scala | 0 .../akka/actor/actor/ForwardActorSpec.scala | 0 .../scala/akka/actor/actor/HotSwapSpec.scala | 0 .../akka/actor/actor/ReceiveTimeoutSpec.scala | 0 .../supervisor/RestartStrategySpec.scala | 0 .../supervisor/SupervisorHierarchySpec.scala | 0 .../actor/supervisor/SupervisorMiscSpec.scala | 0 .../actor/supervisor/SupervisorSpec.scala | 0 .../actor/supervisor/SupervisorTreeSpec.scala | 0 .../akka/actor/supervisor/Ticket669Spec.scala | 0 .../test/scala/akka/config/ConfigSpec.scala | 0 .../scala/akka/dataflow/DataFlowSpec.scala | 0 .../scala/akka/dispatch/ActorModelSpec.scala | 0 .../scala/akka/dispatch/DispatchersSpec.scala | 0 ...rBasedEventDrivenDispatcherActorSpec.scala | 0 ...BasedEventDrivenDispatcherActorsSpec.scala | 0 ...ventDrivenWorkStealingDispatcherSpec.scala | 0 .../test/scala/akka/dispatch/FutureSpec.scala | 0 .../akka/dispatch/MailboxConfigSpec.scala | 0 .../akka/dispatch/ThreadBasedActorSpec.scala | 0 .../test/scala/akka/japi/JavaAPITest.scala | 0 .../scala/akka/misc/ActorRegistrySpec.scala | 0 .../test/scala/akka/misc/SchedulerSpec.scala | 0 .../test/scala/akka/routing/RoutingSpec.scala | 0 .../CallingThreadDispatcherModelSpec.scala | 0 .../scala/akka/ticket/Ticket001Spec.scala | 0 .../scala/akka/ticket/Ticket703Spec.scala | 0 project/build/AkkaProject.scala | 25 +++++++++++-------- 41 files changed, 14 insertions(+), 11 deletions(-) rename {akka-actor/src/test => akka-actor-tests/src/main}/scala/akka/testing/TestBarrier.scala (100%) rename {akka-actor/src/test => akka-actor-tests/src/main}/scala/akka/testing/TestLatch.scala (100%) rename {akka-actor/src/test => akka-actor-tests/src/main}/scala/akka/testing/Testing.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/java/akka/actor/JavaAPI.java (100%) rename {akka-actor => akka-actor-tests}/src/test/java/akka/actor/JavaAPITestActor.java (100%) rename {akka-actor => akka-actor-tests}/src/test/java/akka/config/SupervisionConfig.java (100%) rename {akka-actor => akka-actor-tests}/src/test/java/akka/dispatch/JavaFutureTests.java (100%) rename {akka-actor => akka-actor-tests}/src/test/java/akka/japi/JavaAPITestBase.java (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/Messages.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/ActorFireForgetRequestReplySpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/ActorRefSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/Bench.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/FSMActorSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/FSMTimingSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/ForwardActorSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/HotSwapSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/actor/ReceiveTimeoutSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/supervisor/RestartStrategySpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/supervisor/SupervisorHierarchySpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/supervisor/SupervisorMiscSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/supervisor/SupervisorSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/supervisor/SupervisorTreeSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/actor/supervisor/Ticket669Spec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/config/ConfigSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dataflow/DataFlowSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/ActorModelSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/DispatchersSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorsSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenWorkStealingDispatcherSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/FutureSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/MailboxConfigSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/dispatch/ThreadBasedActorSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/japi/JavaAPITest.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/misc/ActorRegistrySpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/misc/SchedulerSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/routing/RoutingSpec.scala (100%) rename {akka-testkit => akka-actor-tests}/src/test/scala/akka/testkit/CallingThreadDispatcherModelSpec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/ticket/Ticket001Spec.scala (100%) rename {akka-actor => akka-actor-tests}/src/test/scala/akka/ticket/Ticket703Spec.scala (100%) diff --git a/akka-actor/src/test/scala/akka/testing/TestBarrier.scala b/akka-actor-tests/src/main/scala/akka/testing/TestBarrier.scala similarity index 100% rename from akka-actor/src/test/scala/akka/testing/TestBarrier.scala rename to akka-actor-tests/src/main/scala/akka/testing/TestBarrier.scala diff --git a/akka-actor/src/test/scala/akka/testing/TestLatch.scala b/akka-actor-tests/src/main/scala/akka/testing/TestLatch.scala similarity index 100% rename from akka-actor/src/test/scala/akka/testing/TestLatch.scala rename to akka-actor-tests/src/main/scala/akka/testing/TestLatch.scala diff --git a/akka-actor/src/test/scala/akka/testing/Testing.scala b/akka-actor-tests/src/main/scala/akka/testing/Testing.scala similarity index 100% rename from akka-actor/src/test/scala/akka/testing/Testing.scala rename to akka-actor-tests/src/main/scala/akka/testing/Testing.scala diff --git a/akka-actor/src/test/java/akka/actor/JavaAPI.java b/akka-actor-tests/src/test/java/akka/actor/JavaAPI.java similarity index 100% rename from akka-actor/src/test/java/akka/actor/JavaAPI.java rename to akka-actor-tests/src/test/java/akka/actor/JavaAPI.java diff --git a/akka-actor/src/test/java/akka/actor/JavaAPITestActor.java b/akka-actor-tests/src/test/java/akka/actor/JavaAPITestActor.java similarity index 100% rename from akka-actor/src/test/java/akka/actor/JavaAPITestActor.java rename to akka-actor-tests/src/test/java/akka/actor/JavaAPITestActor.java diff --git a/akka-actor/src/test/java/akka/config/SupervisionConfig.java b/akka-actor-tests/src/test/java/akka/config/SupervisionConfig.java similarity index 100% rename from akka-actor/src/test/java/akka/config/SupervisionConfig.java rename to akka-actor-tests/src/test/java/akka/config/SupervisionConfig.java diff --git a/akka-actor/src/test/java/akka/dispatch/JavaFutureTests.java b/akka-actor-tests/src/test/java/akka/dispatch/JavaFutureTests.java similarity index 100% rename from akka-actor/src/test/java/akka/dispatch/JavaFutureTests.java rename to akka-actor-tests/src/test/java/akka/dispatch/JavaFutureTests.java diff --git a/akka-actor/src/test/java/akka/japi/JavaAPITestBase.java b/akka-actor-tests/src/test/java/akka/japi/JavaAPITestBase.java similarity index 100% rename from akka-actor/src/test/java/akka/japi/JavaAPITestBase.java rename to akka-actor-tests/src/test/java/akka/japi/JavaAPITestBase.java diff --git a/akka-actor/src/test/scala/akka/Messages.scala b/akka-actor-tests/src/test/scala/akka/Messages.scala similarity index 100% rename from akka-actor/src/test/scala/akka/Messages.scala rename to akka-actor-tests/src/test/scala/akka/Messages.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/ActorFireForgetRequestReplySpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/ActorFireForgetRequestReplySpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/ActorFireForgetRequestReplySpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/ActorFireForgetRequestReplySpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/ActorRefSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/ActorRefSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/ActorRefSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/ActorRefSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/Bench.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/Bench.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/Bench.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/Bench.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/FSMActorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/FSMActorSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/FSMActorSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/FSMActorSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/FSMTimingSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/FSMTimingSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/FSMTimingSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/FSMTimingSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/ForwardActorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/ForwardActorSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/ForwardActorSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/ForwardActorSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/HotSwapSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/HotSwapSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/HotSwapSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/HotSwapSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/actor/ReceiveTimeoutSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/actor/ReceiveTimeoutSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/actor/ReceiveTimeoutSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/actor/ReceiveTimeoutSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/supervisor/RestartStrategySpec.scala b/akka-actor-tests/src/test/scala/akka/actor/supervisor/RestartStrategySpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/supervisor/RestartStrategySpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/supervisor/RestartStrategySpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/supervisor/SupervisorHierarchySpec.scala b/akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorHierarchySpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/supervisor/SupervisorHierarchySpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorHierarchySpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/supervisor/SupervisorMiscSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorMiscSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/supervisor/SupervisorMiscSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorMiscSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/supervisor/SupervisorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/supervisor/SupervisorSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/supervisor/SupervisorTreeSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorTreeSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/supervisor/SupervisorTreeSpec.scala rename to akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorTreeSpec.scala diff --git a/akka-actor/src/test/scala/akka/actor/supervisor/Ticket669Spec.scala b/akka-actor-tests/src/test/scala/akka/actor/supervisor/Ticket669Spec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/actor/supervisor/Ticket669Spec.scala rename to akka-actor-tests/src/test/scala/akka/actor/supervisor/Ticket669Spec.scala diff --git a/akka-actor/src/test/scala/akka/config/ConfigSpec.scala b/akka-actor-tests/src/test/scala/akka/config/ConfigSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/config/ConfigSpec.scala rename to akka-actor-tests/src/test/scala/akka/config/ConfigSpec.scala diff --git a/akka-actor/src/test/scala/akka/dataflow/DataFlowSpec.scala b/akka-actor-tests/src/test/scala/akka/dataflow/DataFlowSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dataflow/DataFlowSpec.scala rename to akka-actor-tests/src/test/scala/akka/dataflow/DataFlowSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/ActorModelSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/ActorModelSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/ActorModelSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/ActorModelSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/DispatchersSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/DispatchersSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/DispatchersSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/DispatchersSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorsSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorsSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorsSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenDispatcherActorsSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenWorkStealingDispatcherSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenWorkStealingDispatcherSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenWorkStealingDispatcherSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/ExecutorBasedEventDrivenWorkStealingDispatcherSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/FutureSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/FutureSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/MailboxConfigSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/MailboxConfigSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/MailboxConfigSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/MailboxConfigSpec.scala diff --git a/akka-actor/src/test/scala/akka/dispatch/ThreadBasedActorSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/ThreadBasedActorSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/dispatch/ThreadBasedActorSpec.scala rename to akka-actor-tests/src/test/scala/akka/dispatch/ThreadBasedActorSpec.scala diff --git a/akka-actor/src/test/scala/akka/japi/JavaAPITest.scala b/akka-actor-tests/src/test/scala/akka/japi/JavaAPITest.scala similarity index 100% rename from akka-actor/src/test/scala/akka/japi/JavaAPITest.scala rename to akka-actor-tests/src/test/scala/akka/japi/JavaAPITest.scala diff --git a/akka-actor/src/test/scala/akka/misc/ActorRegistrySpec.scala b/akka-actor-tests/src/test/scala/akka/misc/ActorRegistrySpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/misc/ActorRegistrySpec.scala rename to akka-actor-tests/src/test/scala/akka/misc/ActorRegistrySpec.scala diff --git a/akka-actor/src/test/scala/akka/misc/SchedulerSpec.scala b/akka-actor-tests/src/test/scala/akka/misc/SchedulerSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/misc/SchedulerSpec.scala rename to akka-actor-tests/src/test/scala/akka/misc/SchedulerSpec.scala diff --git a/akka-actor/src/test/scala/akka/routing/RoutingSpec.scala b/akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/routing/RoutingSpec.scala rename to akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala diff --git a/akka-testkit/src/test/scala/akka/testkit/CallingThreadDispatcherModelSpec.scala b/akka-actor-tests/src/test/scala/akka/testkit/CallingThreadDispatcherModelSpec.scala similarity index 100% rename from akka-testkit/src/test/scala/akka/testkit/CallingThreadDispatcherModelSpec.scala rename to akka-actor-tests/src/test/scala/akka/testkit/CallingThreadDispatcherModelSpec.scala diff --git a/akka-actor/src/test/scala/akka/ticket/Ticket001Spec.scala b/akka-actor-tests/src/test/scala/akka/ticket/Ticket001Spec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/ticket/Ticket001Spec.scala rename to akka-actor-tests/src/test/scala/akka/ticket/Ticket001Spec.scala diff --git a/akka-actor/src/test/scala/akka/ticket/Ticket703Spec.scala b/akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala similarity index 100% rename from akka-actor/src/test/scala/akka/ticket/Ticket703Spec.scala rename to akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index 06e3651e28..08c1a1506a 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -179,12 +179,13 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) { // ------------------------------------------------------------------------------------------------------------------- lazy val akka_actor = project("akka-actor", "akka-actor", new AkkaActorProject(_)) + lazy val akka_testkit = project("akka-testkit", "akka-testkit", new AkkaTestkitProject(_), akka_actor) + lazy val akka_actor_tests = project("akka-actor-tests", "akka-actor-tests", new AkkaActorTestsProject(_), akka_testkit) lazy val akka_stm = project("akka-stm", "akka-stm", new AkkaStmProject(_), akka_actor) - lazy val akka_typed_actor = project("akka-typed-actor", "akka-typed-actor", new AkkaTypedActorProject(_), akka_stm) + lazy val akka_typed_actor = project("akka-typed-actor", "akka-typed-actor", new AkkaTypedActorProject(_), akka_stm, akka_actor_tests) lazy val akka_remote = project("akka-remote", "akka-remote", new AkkaRemoteProject(_), akka_typed_actor) lazy val akka_http = project("akka-http", "akka-http", new AkkaHttpProject(_), akka_actor) lazy val akka_samples = project("akka-samples", "akka-samples", new AkkaSamplesParentProject(_)) - lazy val akka_testkit = project("akka-testkit", "akka-testkit", new AkkaTestkitProject(_), akka_actor) lazy val akka_slf4j = project("akka-slf4j", "akka-slf4j", new AkkaSlf4jProject(_), akka_actor) lazy val akka_tutorials = project("akka-tutorials", "akka-tutorials", new AkkaTutorialsParentProject(_), akka_actor) @@ -287,16 +288,7 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) { // ------------------------------------------------------------------------------------------------------------------- class AkkaActorProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { - // testing - val junit = Dependencies.junit - val scalatest = Dependencies.scalatest - val multiverse_test = Dependencies.multiverse_test // StandardLatch - override def bndExportPackage = super.bndExportPackage ++ Seq("com.eaio.*;version=3.2") - - // some tests depend on testkit, so include that and make sure it's compiled - override def testClasspath = super.testClasspath +++ akka_testkit.path("target") / "classes" - override def testCompileAction = super.testCompileAction dependsOn (akka_testkit.compile) } // ------------------------------------------------------------------------------------------------------------------- @@ -436,6 +428,17 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) { class AkkaTestkitProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) + // ------------------------------------------------------------------------------------------------------------------- + // akka-actor-tests subproject + // ------------------------------------------------------------------------------------------------------------------- + + class AkkaActorTestsProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { + // testing + val junit = Dependencies.junit + val scalatest = Dependencies.scalatest + val multiverse_test = Dependencies.multiverse_test // StandardLatch + } + // ------------------------------------------------------------------------------------------------------------------- // akka-slf4j subproject // ------------------------------------------------------------------------------------------------------------------- From c26879fcb6561de144238e2f4ac0c64482d7897e Mon Sep 17 00:00:00 2001 From: patriknw Date: Wed, 6 Apr 2011 08:50:36 +0200 Subject: [PATCH 6/6] minor cleanup --- .../java/akka/tutorial/java/first/Pi.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java b/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java index 45ac3fad9c..5acf970ce5 100644 --- a/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java +++ b/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java @@ -4,17 +4,20 @@ package akka.tutorial.java.first; -import akka.actor.*; -import static akka.actor.Actors.*; - -import akka.routing.*; -import static akka.routing.Routing.Broadcast; - -import akka.dispatch.Dispatchers; - +import static akka.actor.Actors.actorOf; +import static akka.actor.Actors.poisonPill; import static java.util.Arrays.asList; + import java.util.concurrent.CountDownLatch; +import akka.actor.ActorRef; +import akka.actor.UntypedActor; +import akka.actor.UntypedActorFactory; +import akka.routing.CyclicIterator; +import akka.routing.InfiniteIterator; +import akka.routing.Routing.Broadcast; +import akka.routing.UntypedLoadBalancer; + /** * First part in Akka tutorial for Java. *

@@ -82,7 +85,7 @@ public class Pi { // define the work private double calculatePiFor(int arg, int nrOfElements) { - double acc = 0.0D; + double acc = 0.0; for (int i = arg * nrOfElements; i <= ((arg + 1) * nrOfElements - 1); i++) { acc += 4 * Math.pow(-1, i) / (2 * i + 1); } @@ -92,7 +95,7 @@ public class Pi { // message handler public void onReceive(Object message) { if (message instanceof Work) { - Work work = (Work)message; + Work work = (Work) message; getContext().replyUnsafe(new Result(calculatePiFor(work.getArg(), work.getNrOfElements()))); // perform the work } else throw new IllegalArgumentException("Unknown message [" + message + "]"); } @@ -102,7 +105,6 @@ public class Pi { // ===== Master ===== // ================== static class Master extends UntypedActor { - private final int nrOfWorkers; private final int nrOfMessages; private final int nrOfElements; private final CountDownLatch latch; @@ -126,7 +128,6 @@ public class Pi { } public Master(int nrOfWorkers, int nrOfMessages, int nrOfElements, CountDownLatch latch) { - this.nrOfWorkers = nrOfWorkers; this.nrOfMessages = nrOfMessages; this.nrOfElements = nrOfElements; this.latch = latch; @@ -163,7 +164,7 @@ public class Pi { } else if (message instanceof Result) { // handle result from the worker - Result result = (Result)message; + Result result = (Result) message; pi += result.getValue(); nrOfResults += 1; if (nrOfResults == nrOfMessages) getContext().stop();