From b4ae12153f7c971ef13c9048584fd0b611de5e2d Mon Sep 17 00:00:00 2001 From: Diego Parra Date: Wed, 29 May 2013 23:36:28 -0300 Subject: WIP: aspects refactor --- project/AspectJ.scala | 2 +- .../PromiseCompletingRunnableInstrumentation.aj | 19 ++++++++----------- .../kamon/instrumentation/TraceContextHolder.java | 17 ----------------- .../kamon/instrumentation/TraceContextHolder.scala | 8 ++++++++ 4 files changed, 17 insertions(+), 29 deletions(-) delete mode 100644 src/main/scala/kamon/instrumentation/TraceContextHolder.java create mode 100644 src/main/scala/kamon/instrumentation/TraceContextHolder.scala diff --git a/project/AspectJ.scala b/project/AspectJ.scala index a711f2be..da5aef9f 100644 --- a/project/AspectJ.scala +++ b/project/AspectJ.scala @@ -10,7 +10,7 @@ object AspectJ { compileOnly in Aspectj := true, fork in Test := true, javaOptions in Test <++= weaverOptions in Aspectj, - //lintProperties in Aspectj <++= "invalidAbsoluteTypeName = ignore", + lintProperties in Aspectj += "invalidAbsoluteTypeName = ignore", products in Compile <<= products in Aspectj ) } \ No newline at end of file diff --git a/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj b/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj index bd2a4d47..867ec372 100644 --- a/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj +++ b/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj @@ -1,29 +1,26 @@ package kamon.instrumentation; import kamon.TraceContext; -import scala.concurrent.impl.Future; -import scala.Option; privileged public aspect PromiseCompletingRunnableInstrumentation { declare parents : Future.PromiseCompletingRunnable extends TraceContextHolder; - - pointcut run(Future.PromiseCompletingRunnable runnable) + pointcut run(scala.concurrent.impl.Future.PromiseCompletingRunnable runnable) : execution(* scala.concurrent.impl.Future.PromiseCompletingRunnable.run()) && this(runnable); - void around(TraceContextHolder runnable) + void around(Object runnable) : run(runnable) { - if(runnable.getContext().isDefined()) { - System.out.println("########################################################3 There is some context"); - TraceContext.set(runnable.getContext().get()); - proceed(runnable); + TraceContextHolder contextHolder = (TraceContextHolder) runnable; + + if(contextHolder.context().isDefined()) { + TraceContext.set(contextHolder.context().get()); + proceed(contextHolder); TraceContext.clear(); } else { - System.out.println("########################################################3 There is NOOOOO context"); - proceed(runnable); + proceed(contextHolder); } } } diff --git a/src/main/scala/kamon/instrumentation/TraceContextHolder.java b/src/main/scala/kamon/instrumentation/TraceContextHolder.java deleted file mode 100644 index 529ce86a..00000000 --- a/src/main/scala/kamon/instrumentation/TraceContextHolder.java +++ /dev/null @@ -1,17 +0,0 @@ -package kamon.instrumentation; -import scala.Option; -import kamon.TraceContext; - -abstract public class TraceContextHolder implements Runnable { - public final Option context; - - public TraceContextHolder() { - context = TraceContext.current(); - } - - public Option getContext() { - return context; - } - - -} \ No newline at end of file diff --git a/src/main/scala/kamon/instrumentation/TraceContextHolder.scala b/src/main/scala/kamon/instrumentation/TraceContextHolder.scala new file mode 100644 index 00000000..b44547dd --- /dev/null +++ b/src/main/scala/kamon/instrumentation/TraceContextHolder.scala @@ -0,0 +1,8 @@ +package kamon.instrumentation; + +import kamon.TraceContext; +import scala.Option; + +class TraceContextHolder { + final val context:Option[TraceContext] = TraceContext.current +} \ No newline at end of file -- cgit v1.2.3