Author: reto
Date: Tue Jun 15 16:04:47 2010
New Revision: 954944

URL: http://svn.apache.org/viewvc?rev=954944&view=rev
Log:
CLEREZZA-221: Scala updates to 2.8.0

Removed:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.scala/
Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.dashboard/org.apache.clerezza.platform.dashboard.tests/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/org.apache.clerezza.platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/src/test/java/org/apache/clerezza/platform/testing/blackbox/osgi/FelixClerezzaPlatformTest.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderingException.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/CollectedIter.scala
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNode.scala
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
    incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml
    incubator/clerezza/trunk/scala-scripting/   (props changed)
    incubator/clerezza/trunk/scala-scripting/pom.xml
    incubator/clerezza/trunk/scala-scripting/scala-compiler-osgi/pom.xml
    incubator/clerezza/trunk/scala-scripting/scala-library-osgi/pom.xml
    
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/resources/OSGI-INF/serviceComponents.xml
    
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/scala/org/apache/clerezza/scala/scripting/ScriptEngineFactory.scala
    
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.dashboard/org.apache.clerezza.platform.dashboard.tests/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.dashboard/org.apache.clerezza.platform.dashboard.tests/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.dashboard/org.apache.clerezza.platform.dashboard.tests/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.dashboard/org.apache.clerezza.platform.dashboard.tests/pom.xml
 Tue Jun 15 16:04:47 2010
@@ -153,11 +153,7 @@
                        <artifactId>com.ibm.icu</artifactId>
                        <scope>provided</scope>
                </dependency>
-               <dependency>
-                       <groupId>org.apache.clerezza</groupId>
-                       <artifactId>org.apache.clerezza.scala</artifactId>
-                       <scope>provided</scope>
-               </dependency>
+
                <dependency>
                        <groupId>asm</groupId>
                        <artifactId>asm-all</artifactId>
@@ -170,15 +166,18 @@
                        <scope>provided</scope>
                </dependency>
                <dependency>
-                       <groupId>org.scala-lang-osgi</groupId>
-                       <artifactId>scala-library</artifactId>
-                       <version>2.7.5</version>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>scala-library-osgi</artifactId>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>scala-compiler-osgi</artifactId>
                        <scope>provided</scope>
                </dependency>
                <dependency>
-                       <groupId>org.scala-lang-osgi</groupId>
-                       <artifactId>scala-compiler</artifactId>
-                       <version>2.7.5</version>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>script-engine</artifactId>
                        <scope>provided</scope>
                </dependency>
        </dependencies>

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/org.apache.clerezza.platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/org.apache.clerezza.platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/org.apache.clerezza.platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/org.apache.clerezza.platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java
 Tue Jun 15 16:04:47 2010
@@ -255,6 +255,13 @@ public class Main implements BundleActiv
                }
                configProps.put("org.ops4j.pax.url.mvn.repositories", 
getCommaSeparatedListOfMavenRepos());
 
+               String extraPackages = (String) 
configProps.get("org.osgi.framework.system.packages.extra");
+               if (extraPackages == null) {
+                       extraPackages = "";
+               }
+               configProps.put("org.osgi.framework.system.packages.extra",
+                               "sun.misc;"
+                               + extraPackages);
 
                return configProps;
 

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml
 Tue Jun 15 16:04:47 2010
@@ -75,15 +75,18 @@
                        <scope>runtime</scope>
                </dependency>
                <dependency>
-                       <groupId>org.scala-lang-osgi</groupId>
-                       <artifactId>scala-library</artifactId>
-                       <version>${scala.version}</version>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>scala-library-osgi</artifactId>
                        <scope>runtime</scope>
                </dependency>
                <dependency>
-                       <groupId>org.scala-lang-osgi</groupId>
-                       <artifactId>scala-compiler</artifactId>
-                       <version>${scala.version}</version>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>scala-compiler-osgi</artifactId>
+                       <scope>runtime</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>script-engine</artifactId>
                        <scope>runtime</scope>
                </dependency>
                <dependency>
@@ -282,10 +285,6 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>
-                       <artifactId>org.apache.clerezza.scala</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.clerezza</groupId>
                        <artifactId>org.apache.clerezza.templating</artifactId>
                        <scope>runtime</scope>
                </dependency>
@@ -437,12 +436,6 @@
        </dependencies>
        <repositories>
                <repository>
-                       <!-- org.scala-lang-osgi is not in central repo -->
-                       <id>scala-tools</id>
-                       <name>Scala tools</name>
-                       <url>http://scala-tools.org/repo-releases/</url>
-               </repository>
-               <repository>
                        <id>sun</id>
                        <name>sun java repository</name>
                        <releases>

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml
 Tue Jun 15 16:04:47 2010
@@ -87,19 +87,18 @@
                <dependency>
                        <groupId>org.apache.felix</groupId>
                        
<artifactId>org.apache.felix.scr.annotations</artifactId>
-                       <type>jar</type>
                </dependency>
                <dependency>
-                       <groupId>org.scala-lang-osgi</groupId>
-                       <artifactId>scala-library</artifactId>
-                       <version>${scala.version}</version>
-                       <scope>provided</scope>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>scala-library-osgi</artifactId>
                </dependency>
                <dependency>
-                       <groupId>org.scala-lang-osgi</groupId>
-                       <artifactId>scala-compiler</artifactId>
-                       <version>${scala.version}</version>
-                       <scope>provided</scope>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>scala-compiler-osgi</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza.scala</groupId>
+                       <artifactId>script-engine</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>
@@ -213,10 +212,6 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>
-                       <artifactId>org.apache.clerezza.scala</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.clerezza</groupId>
                        <artifactId>org.apache.clerezza.templating</artifactId>
                        <scope>provided</scope>
                </dependency>

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/src/test/java/org/apache/clerezza/platform/testing/blackbox/osgi/FelixClerezzaPlatformTest.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/src/test/java/org/apache/clerezza/platform/testing/blackbox/osgi/FelixClerezzaPlatformTest.java?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/src/test/java/org/apache/clerezza/platform/testing/blackbox/osgi/FelixClerezzaPlatformTest.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/src/test/java/org/apache/clerezza/platform/testing/blackbox/osgi/FelixClerezzaPlatformTest.java
 Tue Jun 15 16:04:47 2010
@@ -107,8 +107,8 @@ public class FelixClerezzaPlatformTest {
                                
"org.apache.clerezza.platform.graphprovider.content").versionAsInProject(),
                                
mavenBundle().groupId("org.apache.clerezza").artifactId(
                                
"org.apache.clerezza.templating").versionAsInProject(),
-                               
mavenBundle().groupId("org.apache.clerezza").artifactId(
-                               
"org.apache.clerezza.scala").versionAsInProject(),
+                               
mavenBundle().groupId("org.apache.clerezza.scala").artifactId(
+                               "script-engine").versionAsInProject(),
                                
mavenBundle().groupId("org.apache.clerezza").artifactId(
                                
"org.apache.clerezza.platform.typerendering.scalaserverpages").versionAsInProject(),
                                
mavenBundle().groupId("org.apache.clerezza").artifactId(

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/pom.xml
 Tue Jun 15 16:04:47 2010
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><project 
xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
        <modelVersion>4.0.0</modelVersion>
        <parent>
                <artifactId>org.apache.clerezza.parent</artifactId>
@@ -22,11 +23,11 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>
-                       <artifactId>org.apache.clerezza.scala</artifactId>
+                       
<artifactId>org.apache.clerezza.platform.typerendering.core</artifactId>
                </dependency>
                <dependency>
-                       <groupId>org.apache.clerezza</groupId>
-                       
<artifactId>org.apache.clerezza.platform.typerendering.core</artifactId>
+                       <groupId>org.scala-lang</groupId>
+                       <artifactId>scala-library</artifactId>
                </dependency>
        </dependencies>
 </project>
\ No newline at end of file

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
 Tue Jun 15 16:04:47 2010
@@ -25,6 +25,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.LineNumberReader;
 import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.util.Map;
@@ -34,7 +35,12 @@ import java.security.PrivilegedActionExc
 import java.security.PrivilegedExceptionAction;
 import java.util.HashMap;
 import java.util.logging.Level;
+import javax.script.Compilable;
+import javax.script.CompiledScript;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineFactory;
 import javax.script.ScriptException;
+import javax.script.SimpleBindings;
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.UriInfo;
@@ -44,11 +50,12 @@ import org.apache.clerezza.platform.type
 import org.apache.clerezza.platform.typerendering.RenderingException;
 import org.apache.clerezza.platform.typerendering.Renderlet;
 import org.apache.clerezza.rdf.utils.GraphNode;
-import org.apache.clerezza.scala.service.CompiledScript;
-import org.apache.clerezza.scala.service.ScalaService;
 import 
org.apache.clerezza.platform.typerendering.RenderingspecificationException;
 import org.apache.clerezza.platform.typerendering.TypeRenderingException;
-import scala.Seq;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import scala.collection.Seq;
 
 /**
  * 
@@ -56,16 +63,16 @@ import scala.Seq;
  * 
  * @author rbn, pmg
  *  
- * @scr.component
- * @scr.service 
interface="org.apache.clerezza.platform.typerendering.Renderlet"
  * 
  */
+...@component
+...@service(Renderlet.class)
 public class ScalaServerPagesRenderlet implements Renderlet {
 
-       /**
-        * @scr.reference
-        */
-       private ScalaService scalaService;
+
+       @Reference(target="(javax.script.language=scala)")
+       private ScriptEngineFactory scalaScriptEngineFactory;
+       
        private static final Logger logger = 
LoggerFactory.getLogger(ScalaServerPagesRenderlet.class);
        private int byteHeaderLines = 0;
        private Type multiStringObjectMapType;
@@ -83,14 +90,7 @@ public class ScalaServerPagesRenderlet i
        public ScalaServerPagesRenderlet() {
        }
 
-       /**
-        * constructor used by tests
-        * 
-        * @param scalaService
-        */
-       ScalaServerPagesRenderlet(ScalaService scalaService) {
-               this.scalaService = scalaService;
-       }
+
 
        private final String lineSeparator = 
System.getProperty("line.separator");
        private final byte[] byteHeader;
@@ -115,6 +115,9 @@ public class ScalaServerPagesRenderlet i
 
        private final byte[] byteCloser = (';' + lineSeparator).getBytes();
 
+       //TODO a map with SoftReferences as keys
+       private Map<byte[], CompiledScript> compiledScripts = new 
HashMap<byte[], CompiledScript>();
+       
        @Override
        public void render(GraphNode res, GraphNode context,
                        CallbackRenderer callbackRenderer, URI 
renderingSpecification,
@@ -132,22 +135,13 @@ public class ScalaServerPagesRenderlet i
                        }
                        //add the closing ";" 
                        baos.write(byteCloser);
-                       final Map<String, Type> map = new HashMap<String, 
Type>();
-                       map.put("res", GraphNode.class);
-                       map.put("context", GraphNode.class);
-                       map.put("renderer", CallbackRenderer.class);
-                       map.put("mode", String.class);
-                       if (requestProperties != null) {
-                               map.put("uriInfo", UriInfo.class);
-                               //ignoring as parameterized types are not yet 
supported
-                               //map.put("httpHeaders", 
multiStringObjectMapType);
-                       }
                        String scriptName = 
extractFileName(renderingSpecification);
                        logger.debug("compiling script: " + scriptName);
-                       final CompiledScript cs = 
scalaService.interpretScalaScript(
-                                       new String(baos.toByteArray(), 
"UTF-8"), map, scriptName, getByteHeaderLines());                        
+                       final byte[] scriptBytes = baos.toByteArray();
+                       final CompiledScript cs = 
getCompiledScript(scriptBytes);
+                       
                        logger.debug("compiled");
-                       final Map<String, Object> values = new HashMap<String, 
Object>();
+                       final SimpleBindings values = new SimpleBindings();
                        values.put("res", res);
                        values.put("context", context);
                        values.put("renderer", callbackRenderer);
@@ -163,7 +157,11 @@ public class ScalaServerPagesRenderlet i
 
                                        @Override
                                        public Object run() {
-                                               return cs.execute(values);
+                                               try {
+                                                       return cs.eval(values);
+                                               } catch (ScriptException ex) {
+                                                       throw new 
RuntimeException(ex);
+                                               }
                                        }
                                });
                        } catch (PrivilegedActionException ex) {
@@ -227,4 +225,20 @@ public class ScalaServerPagesRenderlet i
                return path.substring(path.lastIndexOf("/") + 1, 
path.lastIndexOf("."));
        }
 
+       private CompiledScript getCompiledScript(byte[] scriptBytes) throws 
ScriptException {
+               CompiledScript cs = compiledScripts.get(scriptBytes);
+               if (cs == null) {
+                       try {
+                               cs = 
((Compilable)scalaScriptEngineFactory.getScriptEngine())
+                                               .compile(new 
String(scriptBytes, "UTF-8"));
+                       } catch (UnsupportedEncodingException ex) {
+                               throw new RuntimeException(ex);
+                       }
+                       compiledScripts.put(scriptBytes, cs);
+               }
+               return cs;
+       }
+
+
+
 }

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
 Tue Jun 15 16:04:47 2010
@@ -1,7 +1,16 @@
 import org.apache.clerezza.rdf.ontologies._
 import org.apache.clerezza.rdf.core._
 import org.apache.clerezza.rdf.utils._
+import org.apache.clerezza.rdf.scala.utils._
 import org.apache.clerezza.rdf.scala.utils.Preamble._
+import org.apache.clerezza.platform.typerendering.CallbackRenderer
+import javax.ws.rs.core.UriInfo
+
+val renderer = $("renderer").asInstanceOf[CallbackRenderer]
+val res = $("res").asInstanceOf[GraphNode]
+val context = $("context").asInstanceOf[GraphNode]
+val mode = $("mode").asInstanceOf[String]
+val uriInfo = $("uriInfo").asInstanceOf[UriInfo]
 
 def render(resource : GraphNode, mode : String) = {
     def parseNodeSeq(string : String)  = {

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderingException.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderingException.java?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderingException.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderingException.java
 Tue Jun 15 16:04:47 2010
@@ -34,7 +34,7 @@ public abstract class TypeRenderingExcep
 
        public TypeRenderingException(String message, URI 
renderingSpecification,
                        GraphNode renderNode, GraphNode context) {
-               super(message);
+               super(message+" in "+renderingSpecification);
                this.node = renderNode;
                this.renderingSpecification = renderingSpecification;
                this.context = context;

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/CollectedIter.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/CollectedIter.scala?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/CollectedIter.scala
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/CollectedIter.scala
 Tue Jun 15 16:04:47 2010
@@ -21,10 +21,10 @@ package org.apache.clerezza.rdf.scala.ut
 import java.util.Iterator
 import _root_.scala.collection
 import collection.mutable._
-import collection.jcl.Conversions._
-import collection.jcl.Buffer
+import collection.immutable
+import _root_.scala.collection.JavaConversions._
 
-class CollectedIter[T](iter: Iterator[T]) extends Seq[T] {
+class CollectedIter[T](iter: Iterator[T]) extends immutable.Seq[T] {
 
        def this(jList : java.util.List[T]) = this(jList.iterator())
        
@@ -44,8 +44,8 @@ class CollectedIter[T](iter: Iterator[T]
        * returns a new fully expanded and sorted CollectedIter
        */
        def sort(lt : (T,T) => Boolean) = {
-               new CollectedIter(java.util.Arrays.asList(
-                               elements.toList.sort(lt).toArray: _*))
+               val sortedElems = iterator.toList.sortWith(lt)
+               new CollectedIter[T](sortedElems)
        }
 
     /**
@@ -81,8 +81,8 @@ class CollectedIter[T](iter: Iterator[T]
         }
     }
 
-    override def elements = {
+    override def iterator = {
        ensureReadTill(Integer.MAX_VALUE)
-        collectedElems.elements
+        collectedElems.iterator
     }
 }
\ No newline at end of file

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
 Tue Jun 15 16:04:47 2010
@@ -18,8 +18,8 @@
  */
 package org.apache.clerezza.rdf.scala.utils
 
-import rdf.utils.GraphNode
-import rdf.core._
+import org.apache.clerezza.rdf.utils.GraphNode
+import org.apache.clerezza.rdf.core._
 
 /**
 * This object provides the implicit conversions. Typically this is used by

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNode.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNode.scala?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNode.scala
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNode.scala
 Tue Jun 15 16:04:47 2010
@@ -18,10 +18,11 @@
  */
 package org.apache.clerezza.rdf.scala.utils
 
-import rdf.utils.GraphNode
-import rdf.core.{UriRef, Resource, Literal, TypedLiteral, LiteralFactory}
+import org.apache.clerezza.rdf.utils.GraphNode
+import org.apache.clerezza.rdf.core.{UriRef, Resource, Literal, TypedLiteral, 
LiteralFactory}
 import java.util.Iterator
-import _root_.scala.collection.jcl.Conversions
+import _root_.scala.collection.JavaConversions
+import _root_.scala.collection.JavaConversions._
 import _root_.scala.reflect.Manifest
 
 class RichGraphNode(node: GraphNode) extends GraphNode(node.getNode, 
node.getGraph) {
@@ -42,7 +43,7 @@ class RichGraphNode(node: GraphNode) ext
     /**
         * returns a List with the elements of the rdf:List represented by this 
node
         */
-    def !! = (for (listElem <- Conversions.convertList(node.asList)) yield {
+    def !! = (for (listElem <- node.asList) yield {
                        new RichGraphNode(new GraphNode(listElem, 
node.getGraph))
                }).toList
 

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
 Tue Jun 15 16:04:47 2010
@@ -18,10 +18,10 @@
  */
 package org.apache.clerezza.rdf.scala.utils
 
-import rdf.utils._
-import rdf.core._
-import rdf.core.impl._
-import rdf.ontologies._
+import org.apache.clerezza.rdf.utils._
+import org.apache.clerezza.rdf.core._
+import org.apache.clerezza.rdf.core.impl._
+import org.apache.clerezza.rdf.ontologies._
 import org.junit._
 import Preamble._
 
@@ -100,9 +100,9 @@ class RichGraphNodeTest {
                Assert.assertEquals(new 
PlainLiteralImpl("foo"),(node/SKOS.related).asList().get(1))
                Assert.assertEquals(new PlainLiteralImpl("foo"), 
(node/SKOS.related%0!!)(1)!)
                Assert.assertEquals(new PlainLiteralImpl("foo"),
-                                                       (for (value <- 
node/SKOS.related%0!!) yield value!)(1))
+                                                       (for (value <- 
node/SKOS.related%0!!) yield value!).toList(1))
                Assert.assertEquals(new PlainLiteralImpl("bar"),
-                                                       (for (value <- 
node/SKOS.related%0!!) yield value!)(2))
+                                                       (for (value <- 
node/SKOS.related%0!!) yield value!).toList(2))
                Assert.assertEquals(new PlainLiteralImpl("foo"), 
node/SKOS.related%0%!!1!)
        }
 

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml Tue Jun 15 
16:04:47 2010
@@ -9,7 +9,7 @@
        <version>0.2-incubating-SNAPSHOT</version>
        <description>The direct or indirect parent of all Clerezza 
Artifacts</description>
        <properties>
-               <scala.version>2.7.5</scala.version>
+               <scala.version>2.8.0.RC5</scala.version>
        </properties>
        <licenses>
                <license>
@@ -89,7 +89,6 @@
                <module>org.apache.clerezza.rdf.simple.storage</module>
                <module>org.apache.clerezza.rdf.utils</module>
                <module>org.apache.clerezza.rdf.web</module>
-               <module>org.apache.clerezza.scala</module>
                <module>org.apache.clerezza.templating</module>
                <module>org.apache.clerezza.templating.seedsnipe</module>
                <module>org.apache.clerezza.tools.offline</module>
@@ -354,12 +353,6 @@
                        
<url>http://repository.apache.org/content/groups/snapshots-group</url>
                        <layout>default</layout>
                </repository>
-               <!--  group id org.scala-lang-osgi only available here -->
-               <repository>
-                       <id>scala-tools.org</id>
-                       <name>Scala-Tools Maven2 Repository</name>
-                       <url>http://scala-tools.org/repo-releases</url>
-               </repository>
        </repositories>
        <pluginRepositories>
                <!-- for a version that fixes PAXEXAM-159 and 160 -->
@@ -699,9 +692,19 @@
                                <version>0.4-incubating-SNAPSHOT</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.apache.clerezza</groupId>
-                               
<artifactId>org.apache.clerezza.scala</artifactId>
-                               <version>0.3-incubating-SNAPSHOT</version>
+                                       
<groupId>org.apache.clerezza.scala</groupId>
+                                       
<artifactId>scala-library-osgi</artifactId>
+                                       
<version>0.1-incubating-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                                       
<groupId>org.apache.clerezza.scala</groupId>
+                                       
<artifactId>scala-compiler-osgi</artifactId>
+                                       
<version>0.1-incubating-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                                       
<groupId>org.apache.clerezza.scala</groupId>
+                                       <artifactId>script-engine</artifactId>
+                                       
<version>0.1-incubating-SNAPSHOT</version>
                        </dependency>
                        <dependency>
                                <groupId>org.apache.clerezza</groupId>

Propchange: incubator/clerezza/trunk/scala-scripting/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Jun 15 16:04:47 2010
@@ -1 +1,2 @@
 target
+.pom.xml.swp

Modified: incubator/clerezza/trunk/scala-scripting/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- incubator/clerezza/trunk/scala-scripting/pom.xml (original)
+++ incubator/clerezza/trunk/scala-scripting/pom.xml Tue Jun 15 16:04:47 2010
@@ -20,6 +20,7 @@
                        <dependency>
                                <groupId>org.scala-lang</groupId>
                                <artifactId>scala-library</artifactId>
+<!-- test failures with RC>2, see 
http://groups.google.com/group/scalatest-users/browse_thread/thread/1c68b6ebba676bc8
 -->
                                <version>2.8.0.RC2</version>
                        </dependency>
                        <dependency>
@@ -82,4 +83,4 @@
                        </plugin>
                </plugins>
        </build>
-</project>
\ No newline at end of file
+</project>

Modified: incubator/clerezza/trunk/scala-scripting/scala-compiler-osgi/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/scala-compiler-osgi/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- incubator/clerezza/trunk/scala-scripting/scala-compiler-osgi/pom.xml 
(original)
+++ incubator/clerezza/trunk/scala-scripting/scala-compiler-osgi/pom.xml Tue 
Jun 15 16:04:47 2010
@@ -35,7 +35,7 @@
                                                
<Embed-Dependency>*</Embed-Dependency>
                                                
<Embed-Transitive>true</Embed-Transitive>
                         <Export-Package>scala.*</Export-Package>
-                                               
<Import-Package>!ch.epfl.lamp.*,!sun.*,
+                                               <Import-Package>!sun.*,
                                                
!org.apache.tools.ant,!jline</Import-Package>
                         <DynamicImport-Package>*</DynamicImport-Package>
                     </instructions>

Modified: incubator/clerezza/trunk/scala-scripting/scala-library-osgi/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/scala-library-osgi/pom.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- incubator/clerezza/trunk/scala-scripting/scala-library-osgi/pom.xml 
(original)
+++ incubator/clerezza/trunk/scala-scripting/scala-library-osgi/pom.xml Tue Jun 
15 16:04:47 2010
@@ -30,6 +30,7 @@
                                                
<Embed-Dependency>*</Embed-Dependency>
                                                
<Embed-Transitive>true</Embed-Transitive>
                                                
<Export-Package>scala.*</Export-Package>
+                                               <Import-Package>!sun.misc, * 
</Import-Package>
                                                <!-- 
<DynamicImport-Package>*</DynamicImport-Package> -->
                                        </instructions>
                                </configuration>

Modified: 
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/resources/OSGI-INF/serviceComponents.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/script-engine/src/main/resources/OSGI-INF/serviceComponents.xml?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/resources/OSGI-INF/serviceComponents.xml
 (original)
+++ 
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/resources/OSGI-INF/serviceComponents.xml
 Tue Jun 15 16:04:47 2010
@@ -17,6 +17,7 @@
             <provide interface="javax.script.ScriptEngineFactory"/>
         </service>
         <property name="service.pid" 
value="org.apache.clerezza.scala.scripting.ScriptEngineFactory"/>
+               <property name="javax.script.language" value="scala" />
                <reference name="interpreterFactory"
                                
interface="org.apache.clerezza.scala.scripting.InterpreterFactory"
                                cardinality="1..1"

Modified: 
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/scala/org/apache/clerezza/scala/scripting/ScriptEngineFactory.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/script-engine/src/main/scala/org/apache/clerezza/scala/scripting/ScriptEngineFactory.scala?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/scala/org/apache/clerezza/scala/scripting/ScriptEngineFactory.scala
 (original)
+++ 
incubator/clerezza/trunk/scala-scripting/script-engine/src/main/scala/org/apache/clerezza/scala/scripting/ScriptEngineFactory.scala
 Tue Jun 15 16:04:47 2010
@@ -193,39 +193,11 @@ class ScriptEngineFactory() extends  Jav
                        compile(scriptStringWriter.toString)
                }
 
-               val virtualDirectory = new VirtualDirectory("(memory)", None)
-               var classCounter = 0
-
-               override def compile(script: String): CompiledScript = {
-                       val objectName = "CompiledScript"+classCounter
-                       classCounter += 1
-                       val classCode = "object " + objectName + """ {
-                               |       def run($: Map[String, Object]) = {
-                               |""".stripMargin + script +"""
-                               |       }
-                               |}""".stripMargin
-                       val sources: List[SourceFile] = List(new 
BatchSourceFile("<script>", classCode))
-                       (new compiler.Run).compileSources(sources)
-
-                       new CompiledScript() {
-                               override def eval(context: ScriptContext) = {
-                                       var map = Map[String, Object]()
-                                       import 
_root_.scala.collection.JavaConversions._
-                                       for (   scope <- context.getScopes;
-                                                       if 
(context.getBindings(scope.intValue) != null);
-                                                       entry <- 
context.getBindings(scope.intValue)) {
-                                               map = map + (entry._1 -> 
entry._2)
-                                       }
-                                       val classLoader = new 
AbstractFileClassLoader(virtualDirectory, this.getClass.getClassLoader())
-                                       val runMethod = 
classLoader.findClass(objectName).getMethod("run", classOf[Map[String, Object]])
-                                       runMethod.invoke(null, map)
-                               }
-                               override def getEngine = MyScriptEngine.this
-                       }
-               }
-
                
+               var classCounter = 0
 
+               val virtualDirectory = new VirtualDirectory("(memory)", None)
+               val msgWriter = new StringWriter
                lazy val compiler = {
                        val settings = new Settings     
                        settings.outputDirs setSingleOutput virtualDirectory
@@ -233,11 +205,48 @@ class ScriptEngineFactory() extends  Jav
                        new BundleContextScalaCompiler(bundleContext, settings, 
                                                                           
                        new ConsoleReporter(settings, null, out) {
                                override def printMessage(msg: String) {
-                                       out println msg
-                                       out.flush()
+                                       msgWriter write msg
+                                       //out.flush()
                                }
                        })
                }
+               
+               override def compile(script: String): CompiledScript = {
+                       //inefficient but thread safe
+                       compiler.synchronized {
+                               val objectName = "CompiledScript"+classCounter
+                               classCounter += 1
+                               val classCode = "object " + objectName + """ {
+                                       |       def run($: Map[String, Object]) 
= {
+                                       |""".stripMargin + script +"""
+                                       |       }
+                                       |}""".stripMargin
+                               val sources: List[SourceFile] = List(new 
BatchSourceFile("<script>", classCode))
+                               (new compiler.Run).compileSources(sources)
+                               if (compiler.reporter.hasErrors) {
+                                       throw new 
ScriptException(msgWriter.toString, "script", -1);
+                               }
+                               new CompiledScript() {
+                                       override def eval(context: 
ScriptContext) = {
+                                               var map = Map[String, Object]()
+                                               import 
_root_.scala.collection.JavaConversions._
+                                               for (   scope <- 
context.getScopes;
+                                                               if 
(context.getBindings(scope.intValue) != null);
+                                                               entry <- 
context.getBindings(scope.intValue)) {
+                                                       map = map + (entry._1 
-> entry._2)
+                                               }
+                                               val classLoader = new 
AbstractFileClassLoader(virtualDirectory, this.getClass.getClassLoader())
+                                               val runMethod = 
classLoader.findClass(objectName).getMethod("run", classOf[Map[String, Object]])
+                                               runMethod.invoke(null, map)
+                                       }
+                                       override def getEngine = 
MyScriptEngine.this
+                               }
+                       }
+               }
+
+               
+
+               
 
                /**
                 * returns an accessible class or interface that is implemented 
by class,

Modified: 
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala?rev=954944&r1=954943&r2=954944&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
 (original)
+++ 
incubator/clerezza/trunk/scala-scripting/tests/src/test/scala/org/apache/clerezza/scala/tests/ScriptEngineFactoryTest.scala
 Tue Jun 15 16:04:47 2010
@@ -32,7 +32,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.ops4j.pax.exam.Inject;
 import org.osgi.framework.BundleContext;
-import javax.script.{ScriptEngineFactory, Bindings, ScriptException}
+import javax.script.{ScriptEngineFactory, Bindings, ScriptException, 
Compilable}
 import org.osgi.util.tracker.ServiceTracker
 import scala.actors.Actor
 import scala.math.random
@@ -128,15 +128,23 @@ s"""
                bindings.put("s",s)
                Assert.assertEquals(s, engine.eval("s", bindings))
                
bundleContext.installBundle("http://repo2.maven.org/maven2/org/wymiwyg/wrhapi/0.8.2/wrhapi-0.8.2.jar";);
-               println("sleeping")
-               Thread.sleep(1000)
+               Thread.sleep(100)
                val script = """
-import org.wymiwyg.wrhapi._
-val h : Handler = null
-s"""
+               |import org.wymiwyg.wrhapi._
+               |val h : Handler = null
+               |s""".stripMargin
                Assert.assertEquals(s, engine.eval(script, bindings))
        }
 
+       @Test
+       def compiledScript(): Unit = {
+               val string = "hello"
+               val script = "\""+string+"\""
+               val engine = factory.getScriptEngine.asInstanceOf[Compilable]
+               val compiledScript = engine.compile(script)
+               Assert.assertEquals(string, compiledScript.eval())
+       }
+
        //This seems hard to realize before 
https://lampsvn.epfl.ch/trac/scala/ticket/3513 is fixed
        /*...@test
        def checkException(): Unit =  {


Reply via email to