Author: mduerig
Date: Fri Mar 11 10:06:40 2011
New Revision: 1080503

URL: http://svn.apache.org/viewvc?rev=1080503&view=rev
Log:
SLING-2012 Sling Scala Hello World example concurrent access fails
Remove Java 6 class

Modified:
    
sling/trunk/contrib/scripting/scala/script/src/test/scala/org/apache/sling/scripting/scala/ScriptEngineTest.scala

Modified: 
sling/trunk/contrib/scripting/scala/script/src/test/scala/org/apache/sling/scripting/scala/ScriptEngineTest.scala
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/scala/script/src/test/scala/org/apache/sling/scripting/scala/ScriptEngineTest.scala?rev=1080503&r1=1080502&r2=1080503&view=diff
==============================================================================
--- 
sling/trunk/contrib/scripting/scala/script/src/test/scala/org/apache/sling/scripting/scala/ScriptEngineTest.scala
 (original)
+++ 
sling/trunk/contrib/scripting/scala/script/src/test/scala/org/apache/sling/scripting/scala/ScriptEngineTest.scala
 Fri Mar 11 10:06:40 2011
@@ -16,14 +16,11 @@
  */
 package org.apache.sling.scripting.scala
 
-import javax.script.{ ScriptEngineFactory, ScriptEngine, ScriptContext, 
Bindings }
+import javax.script.{ ScriptEngineFactory, ScriptEngine, ScriptContext }
 import java.io.StringWriter
-import java.util.ServiceLoader
 import java.util.concurrent.{ TimeUnit, Executors, Callable, Future }
-import junit.framework.TestCase
 import junit.framework.Assert._
-
-import scala.collection.JavaConversions._
+import junit.framework.TestCase
 
 /**
  * JSR 223 compliance test
@@ -38,16 +35,14 @@ class ScriptEngineTest extends TestCase 
   implicit def fun2Call[R](f: () => R) = new Callable[R] { def call: R = f() }
 
   def getScriptEngine(): ScriptEngine = {
+    import scala.collection.JavaConversions._
 
-    var scriptEngine: ScriptEngine = null;
-
-    for (val load <- ServiceLoader.load(classOf[ScriptEngineFactory])) yield 
load.getEngineName match {
-      case "Scala Scripting Engine" => scriptEngine = load.getScriptEngine;
-      case _ => ; //ignore other script engines
-    };
+    val factories = 
javax.imageio.spi.ServiceRegistry.lookupProviders(classOf[ScriptEngineFactory])
+    val scalaEngineFactory = factories.find(_.getEngineName == "Scala 
Scripting Engine")
 
-    assertNotNull(scriptEngine)
-    scriptEngine
+    scalaEngineFactory.map(_.getScriptEngine).getOrElse(
+      throw new AssertionError("Scala Scripting Engine not found")
+    )
   }
 
   /**


Reply via email to