You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by md...@apache.org on 2013/09/11 23:48:40 UTC

svn commit: r1522060 - /sling/trunk/contrib/scripting/scala/script/src/main/scala/org/apache/sling/scripting/scala/interpreter/ScalaInterpreter.scala

Author: mduerig
Date: Wed Sep 11 21:48:40 2013
New Revision: 1522060

URL: http://svn.apache.org/r1522060
Log:
SLING-3053: Scala integration tests failure: type Logger is not a member of package ch.qos.logback.classic
Special case ch.qos.logback.classic.Logger as this class is not accessible during script execution

Modified:
    sling/trunk/contrib/scripting/scala/script/src/main/scala/org/apache/sling/scripting/scala/interpreter/ScalaInterpreter.scala

Modified: sling/trunk/contrib/scripting/scala/script/src/main/scala/org/apache/sling/scripting/scala/interpreter/ScalaInterpreter.scala
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/scala/script/src/main/scala/org/apache/sling/scripting/scala/interpreter/ScalaInterpreter.scala?rev=1522060&r1=1522059&r2=1522060&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/scala/script/src/main/scala/org/apache/sling/scripting/scala/interpreter/ScalaInterpreter.scala (original)
+++ sling/trunk/contrib/scripting/scala/script/src/main/scala/org/apache/sling/scripting/scala/interpreter/ScalaInterpreter.scala Wed Sep 11 21:48:40 2013
@@ -75,7 +75,12 @@ class ScalaInterpreter(settings: Setting
 
     def bind(arg: (String, AnyRef)) = {
       val views = bindings.getViews(arg._2.getClass)
-      val className = views.head.getName
+      val className =
+        // TODO some classloader roguery prevents c.q.l.c.Logger from being accessible
+        // when executing the script although the class is accessible here. As a work
+        // around special case to o.s.Logger here. See SLING-3053
+        if ("ch.qos.logback.classic.Logger" == views.head.getName) "org.slf4j.Logger"
+        else views.head.getName
       val implicits = 
         for {
           view <- views.tail
@@ -149,7 +154,11 @@ class ScalaInterpreter(settings: Setting
    * @return  result of compilation
    */
   def compile(name: String, code: String, bindings: Bindings): Reporter =
-    compile(name, preProcess(name, code, bindings))
+    {
+      val process: String = preProcess(name, code, bindings)
+      println(process)
+      compile(name, process)
+    }
 
   /**
    * Compiles a single source file. No pre-processing takes place.