Author: reto
Date: Sat Nov  6 10:30:43 2010
New Revision: 1031993

URL: http://svn.apache.org/viewvc?rev=1031993&view=rev
Log:
CLEREZZA-353: added binding for bundleContext

Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/ShellFactory.scala

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/Shell.scala?rev=1031993&r1=1031992&r2=1031993&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
 Sat Nov  6 10:30:43 2010
@@ -61,6 +61,7 @@ class Shell(factory: InterpreterFactory,
 
        private var bundleContext: BundleContext = null
 
+       private var bindings = Set[(String, String, Any)]()
 
 
        val interpreterLoop = new InterpreterLoop(new BufferedReader(new 
InputStreamReader(System.in)), new PrintWriter(System.out, true)) {
@@ -69,6 +70,9 @@ class Shell(factory: InterpreterFactory,
                        interpreter.interpret("import org.apache.clerezza._")
                        interpreter.interpret("val a = 33")
                        interpreter.interpret("println(\"enjoy!\")")
+                       for (binding <- bindings) {
+                               interpreter.bind(binding._1, binding._2, 
binding._3)
+                       }
                }
 
                override val prompt = "zz>"
@@ -138,6 +142,10 @@ class Shell(factory: InterpreterFactory,
                interpreterLoop.closeInterpreter()
        }
 
+       def bind(name: String, boundType: String, value: Any) {
+               bindings += ((name, boundType, value))
+       }
+
 
 
 }
\ No newline at end of file

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/ShellFactory.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/ShellFactory.scala?rev=1031993&r1=1031992&r2=1031993&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/ShellFactory.scala
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/ShellFactory.scala
 Sat Nov  6 10:30:43 2010
@@ -25,24 +25,27 @@ import org.osgi.service.component.Compon
 
 import java.io.OutputStreamWriter
 import org.apache.clerezza.scala.scripting.InterpreterFactory
+import org.osgi.framework.BundleContext
 
 class ShellFactory()  {
 
 
 
        var factory: InterpreterFactory = null
-       
+       var bundleContext: BundleContext = null
        
        def activate(componentContext: ComponentContext)= {
-               //bundleContext = componentContext.getBundleContext
+               bundleContext = componentContext.getBundleContext
        }
 
        def deactivate(componentContext: ComponentContext) = {
-               //bundleContext = componentContext.getBundleContext
+               bundleContext = componentContext.getBundleContext
        }
 
        def createShell() = {
-               new Shell(factory, System.in, new 
OutputStreamWriter(System.out))
+               val shell = new Shell(factory, System.in, new 
OutputStreamWriter(System.out))
+               shell.bind("bundleContext", classOf[BundleContext].getName, 
bundleContext)
+               shell
        }
 
        def bindInterpreterFactory(f: InterpreterFactory) = {


Reply via email to