You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@toree.apache.org by ch...@apache.org on 2016/09/27 17:23:40 UTC

[1/8] incubator-toree git commit: Fixup warning message

Repository: incubator-toree
Updated Branches:
  refs/heads/master 06903c8b1 -> c8144c6cb


Fixup warning message

Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/baac922b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/baac922b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/baac922b

Branch: refs/heads/master
Commit: baac922b4d920371f0e2950da0bde510f9aeffe9
Parents: d8a6f64
Author: Marius van Niekerk <ma...@gmail.com>
Authored: Thu Sep 22 18:59:44 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 .../toree/kernel/protocol/v5/interpreter/InterpreterActor.scala    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/baac922b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
index a6f4751..cde9ffe 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
@@ -103,7 +103,7 @@ class InterpreterActor(
       logger.debug(s"InterpreterActor requesting is complete code ${isCompleteRequest.code}")
       (isCompleteTask ? isCompleteRequest) recover {
         case ex: Throwable =>
-          logger.warn(s"Could determine completeness for code ${isCompleteRequest.code}: " +
+          logger.warn(s"Could not determine completeness for code ${isCompleteRequest.code}: " +
             s"${ex.getMessage}")
           Left(IsCompleteReply("unknown", ""))
       } pipeTo sender


[6/8] incubator-toree git commit: Added support for `is_complete_request`

Posted by ch...@apache.org.
Added support for `is_complete_request`


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/c90becb2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/c90becb2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/c90becb2

Branch: refs/heads/master
Commit: c90becb21b874bbea130b55cd3ad34aec1697c4b
Parents: 06903c8
Author: Marius van Niekerk <ma...@maxpoint.com>
Authored: Tue Sep 13 16:39:34 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 .../apache/toree/interpreter/Interpreter.scala  |  7 +++
 .../boot/layer/HandlerInitialization.scala      |  2 +
 .../protocol/v5/handler/IsCompleteHandler.scala | 65 ++++++++++++++++++++
 .../v5/interpreter/InterpreterActor.scala       | 11 ++++
 .../protocol/v5/interpreter/package.scala       |  1 +
 .../tasks/InterpreterTaskFactory.scala          |  4 ++
 .../interpreter/tasks/IsCompleteTaskActor.scala | 41 ++++++++++++
 .../apache/toree/utils/MessageLogSupport.scala  |  3 +-
 .../protocol/v5/content/IsCompleteReply.scala   | 41 ++++++++++++
 .../protocol/v5/content/IsCompleteRequest.scala | 40 ++++++++++++
 .../toree/kernel/protocol/v5/package.scala      |  2 +
 .../pyspark/PySparkInterpreter.scala            |  3 +
 .../scala/ScalaInterpreterSpecific.scala        |  4 ++
 .../scala/ScalaInterpreterSpecific.scala        | 21 +++++++
 .../interpreter/sparkr/SparkRInterpreter.scala  |  3 +
 .../kernel/interpreter/sql/SqlInterpreter.scala |  3 +
 16 files changed, 250 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
----------------------------------------------------------------------
diff --git a/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala b/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
index f1763aa..77fb04e 100644
--- a/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
+++ b/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
@@ -110,6 +110,13 @@ trait Interpreter {
    */
   def completion(code: String, pos: Int): (Int, List[String] )
 
+
+  /**
+    * Attempt to determine if a multiline block of code is complete
+    * @param code The code to determine for completeness
+    */
+  def isComplete(code: String): (String, String)
+
   /**
    * Returns the name of the variable created from the last execution.
    * @return Some String name if a variable was created, otherwise None

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala b/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
index c59f58d..0fc455a 100644
--- a/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
+++ b/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
@@ -174,6 +174,8 @@ trait StandardHandlerInitialization extends HandlerInitialization {
       MessageType.Incoming.CommMsg)
     initializeCommHandler(classOf[CommCloseHandler],
       MessageType.Incoming.CommClose)
+    initializeCommHandler(classOf[IsCompleteHandler],
+      MessageType.Incoming.IsCompleteRequest)
 
     //  These are handlers for messages leaving the kernel through the sockets
     initializeSocketHandler(SocketType.Shell, MessageType.Outgoing.KernelInfoReply)

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala
new file mode 100644
index 0000000..7cab339
--- /dev/null
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala
@@ -0,0 +1,65 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License
+ */
+
+package org.apache.toree.kernel.protocol.v5.handler
+
+import akka.pattern.ask
+import org.apache.toree.kernel.protocol.v5._
+import org.apache.toree.kernel.protocol.v5.content._
+import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
+import Utilities._
+import org.apache.toree.utils.{MessageLogSupport, LogLike}
+import play.api.data.validation.ValidationError
+import play.api.libs.json.{JsPath, Json}
+
+import scala.concurrent.ExecutionContext.Implicits.global
+import scala.concurrent.Future
+import scala.util.Success
+
+class IsCompleteHandler(actorLoader: ActorLoader)
+  extends BaseHandler(actorLoader) with MessageLogSupport
+{
+  override def process(kernelMessage: KernelMessage): Future[_] = {
+    logKernelMessageAction("Determining if code is complete for", kernelMessage)
+    Utilities.parseAndHandle(
+      kernelMessage.contentString,
+      IsCompleteRequest.isCompleteRequestReads,
+      isCompleteRequest(kernelMessage, _ : IsCompleteRequest)
+    )
+  }
+
+  private def isCompleteRequest(km: KernelMessage, cr: IsCompleteRequest):
+  Future[(String, String)] = {
+    val interpreterActor = actorLoader.load(SystemActorType.Interpreter)
+    val codeCompleteFuture = ask(interpreterActor, cr).mapTo[(String, String)]
+    codeCompleteFuture.onComplete {
+      case Success(tuple) =>
+        val reply = IsCompleteReply(tuple._1, tuple._1)
+        val isCompleteReplyType = MessageType.Outgoing.IsCompleteReply.toString
+        logKernelMessageAction("Sending is complete reply for", km)
+        actorLoader.load(SystemActorType.KernelMessageRelay) !
+          km.copy(
+            header = HeaderBuilder.create(isCompleteReplyType),
+            parentHeader = km.header,
+            contentString = Json.toJson(reply).toString
+          )
+      case _ =>
+        new Exception("Parse error in CodeCompleteHandler")
+    }
+    codeCompleteFuture
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
index b2794bf..a6f4751 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
@@ -58,6 +58,7 @@ class InterpreterActor(
   //
   private var executeRequestTask: ActorRef = _
   private var completeCodeTask: ActorRef = _
+  private var isCompleteTask: ActorRef = _
 
   /**
    * Initializes all child actors performing tasks for the interpreter.
@@ -67,6 +68,8 @@ class InterpreterActor(
       context, InterpreterChildActorType.ExecuteRequestTask.toString)
     completeCodeTask = interpreterTaskFactory.CodeCompleteTask(
       context, InterpreterChildActorType.CodeCompleteTask.toString)
+    isCompleteTask = interpreterTaskFactory.IsCompleteTask(
+      context, InterpreterChildActorType.IsCompleteTask.toString)
   }
 
   override def receive: Receive = {
@@ -96,5 +99,13 @@ class InterpreterActor(
             ex.getStackTrace.map(_.toString).toList)
           )
       } pipeTo sender
+    case (isCompleteRequest: IsCompleteRequest) =>
+      logger.debug(s"InterpreterActor requesting is complete code ${isCompleteRequest.code}")
+      (isCompleteTask ? isCompleteRequest) recover {
+        case ex: Throwable =>
+          logger.warn(s"Could determine completeness for code ${isCompleteRequest.code}: " +
+            s"${ex.getMessage}")
+          Left(IsCompleteReply("unknown", ""))
+      } pipeTo sender
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/package.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/package.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/package.scala
index 055563d..0154bc3 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/package.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/package.scala
@@ -23,5 +23,6 @@ package object interpreter {
 
     val ExecuteRequestTask = Value("execute_request_task")
     val CodeCompleteTask = Value("code_complete_task")
+    val IsCompleteTask = Value("is_complete_task")
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
index fb7b918..64e32c2 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
@@ -34,4 +34,8 @@ class InterpreterTaskFactory(interpreter: Interpreter) {
    */
   def CodeCompleteTask(actorRefFactory: ActorRefFactory, name: String): ActorRef =
     actorRefFactory.actorOf(CodeCompleteTaskActor.props(interpreter), name)
+
+
+  def IsCompleteTask(actorRefFactory: ActorRefFactory, name: String): ActorRef =
+    actorRefFactory.actorOf(IsCompleteTaskActor.props(interpreter), name)
 }

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala
new file mode 100644
index 0000000..8cd6987
--- /dev/null
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala
@@ -0,0 +1,41 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License
+ */
+
+package org.apache.toree.kernel.protocol.v5.interpreter.tasks
+
+import akka.actor.{Actor, Props}
+import org.apache.toree.interpreter.Interpreter
+import org.apache.toree.kernel.protocol.v5.content.IsCompleteRequest
+import org.apache.toree.utils.LogLike
+
+object IsCompleteTaskActor {
+  def props(interpreter: Interpreter): Props =
+    Props(classOf[IsCompleteTaskActor], interpreter)
+}
+
+class IsCompleteTaskActor(interpreter: Interpreter)
+  extends Actor with LogLike {
+  require(interpreter != null)
+
+  override def receive: Receive = {
+    case req: IsCompleteRequest =>
+      logger.debug("Invoking the interpreter completion")
+      sender ! interpreter.isComplete(req.code)
+    case _ =>
+      sender ! "Unknown message" // TODO: Provide a failure message type to be passed around?
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/kernel/src/main/scala/org/apache/toree/utils/MessageLogSupport.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/utils/MessageLogSupport.scala b/kernel/src/main/scala/org/apache/toree/utils/MessageLogSupport.scala
index 6346276..849aedd 100644
--- a/kernel/src/main/scala/org/apache/toree/utils/MessageLogSupport.scala
+++ b/kernel/src/main/scala/org/apache/toree/utils/MessageLogSupport.scala
@@ -69,7 +69,8 @@ trait MessageLogSupport extends LogLike {
       MessageType.Incoming.KernelInfoRequest.toString.equals(messageType) ||
       MessageType.Incoming.CommOpen.toString.equals(messageType) ||
       MessageType.Incoming.CommMsg.toString.equals(messageType) ||
-      MessageType.Incoming.CommClose.toString.equals(messageType)
+      MessageType.Incoming.CommClose.toString.equals(messageType) ||
+      MessageType.Incoming.IsCompleteRequest.toString.equals(messageType)
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteReply.scala
----------------------------------------------------------------------
diff --git a/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteReply.scala b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteReply.scala
new file mode 100644
index 0000000..f7c3c81
--- /dev/null
+++ b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteReply.scala
@@ -0,0 +1,41 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License
+ */
+
+package org.apache.toree.kernel.protocol.v5.content
+
+import org.apache.toree.kernel.protocol.v5.{KernelMessageContent}
+import play.api.libs.json.{Json, Reads, Writes}
+
+case class IsCompleteReply (
+                           status: String,
+                           indent: String
+                         ) extends KernelMessageContent {
+  override def content : String =
+    Json.toJson(this)(IsCompleteReply.isCompleteReplyWrites).toString
+}
+
+object IsCompleteReply extends TypeString {
+  implicit val isCompleteReplyReads: Reads[IsCompleteReply] = Json.reads[IsCompleteReply]
+  implicit val isCompleteReplyWrites: Writes[IsCompleteReply] = Json.writes[IsCompleteReply]
+
+  /**
+    * Returns the type string associated with this object.
+    *
+    * @return The type as a string
+    */
+  override def toTypeString: String = "complete_reply"
+}

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteRequest.scala
----------------------------------------------------------------------
diff --git a/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteRequest.scala b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteRequest.scala
new file mode 100644
index 0000000..86c64a1
--- /dev/null
+++ b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/IsCompleteRequest.scala
@@ -0,0 +1,40 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License
+ */
+
+package org.apache.toree.kernel.protocol.v5.content
+
+import org.apache.toree.kernel.protocol.v5.KernelMessageContent
+import play.api.libs.json.{Json, Reads, Writes}
+
+case class IsCompleteRequest(
+                            code: String
+                          ) extends KernelMessageContent {
+  override def content : String =
+    Json.toJson(this)(IsCompleteRequest.isCompleteRequestWrites).toString
+}
+
+object IsCompleteRequest extends TypeString {
+  implicit val isCompleteRequestReads: Reads[IsCompleteRequest] = Json.reads[IsCompleteRequest]
+  implicit val isCompleteRequestWrites: Writes[IsCompleteRequest] = Json.writes[IsCompleteRequest]
+
+  /**
+    * Returns the type string associated with this object.
+    *
+    * @return The type as a string
+    */
+  override def toTypeString: String = "is_complete_request"
+}

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/package.scala
----------------------------------------------------------------------
diff --git a/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/package.scala b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/package.scala
index aed5b8e..606bc06 100644
--- a/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/package.scala
+++ b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/package.scala
@@ -87,6 +87,7 @@ package object v5 {
       val KernelInfoRequest  = Value("kernel_info_request")
       val ShutdownRequest = Value("shutdown_request")
       val CommInfoRequest = Value("comm_info_request")
+      val IsCompleteRequest = Value("is_complete_request")
 
       //  Stdin Router/Dealer Messages
       val InputReply      = Value("input_reply")
@@ -110,6 +111,7 @@ package object v5 {
       val KernelInfoReply    = Value("kernel_info_reply")
       val ShutdownReply   = Value("shutdown_reply")
       val CommInfoReply   = Value("comm_info_reply")
+      val IsCompleteReply = Value("is_complete_reply")
 
       //  Stdin Router/Dealer Messages
       val InputRequest    = Value("input_request")

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
----------------------------------------------------------------------
diff --git a/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala b/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
index df2976d..e522c5b 100644
--- a/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
+++ b/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
@@ -137,6 +137,9 @@ class PySparkInterpreter(
   override def completion(code: String, pos: Int): (Int, List[String]) =
     (pos, Nil)
 
+  // Unsupported (but can be invoked)
+  override def isComplete(code: String): (String, String) = ("unknown", "")
+
   // Unsupported
   override def updatePrintStreams(in: InputStream, out: OutputStream, err: OutputStream): Unit = ???
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 0cb8ce3..80b01ad 100644
--- a/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -343,6 +343,10 @@ trait ScalaInterpreterSpecific { this: ScalaInterpreter =>
     (result.cursor, result.candidates)
   }
 
+  override def isComplete(code: String): (String, String) = {
+    ("unknown", "")
+  }
+
   protected def newSettings(args: List[String]): Settings =
     new SparkCommandLine(args).settings
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 4d029d3..013baf8 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -317,6 +317,27 @@ trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpr
     (result.cursor, result.candidates)
   }
 
+  /**
+    * Attempts to perform completeness checking for a statement by seeing if we can parse it
+    * using the scala parser.
+    *
+    * @param code The current cell to complete
+    * @return tuple of (completeStatus, indent)
+    */
+  override def isComplete(code: String): (String, String) = {
+    val parse = iMain.parse
+    import parse._
+    parse(code) match {
+      case Error(_) => ("invalid", "")
+      case Success(_) => ("complete", "")
+      case Incomplete(_) =>
+        val lastLine = code.split("\n").last
+        // For now lets just grab the indent of the current line, if none default to 2 spaces.
+        val indent = "\\s+".r.findFirstIn(lastLine).getOrElse("  ")
+        ("incomplete", indent)
+    }
+  }
+
   override def newSettings(args: List[String]): Settings = {
     val s = new Settings()
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
----------------------------------------------------------------------
diff --git a/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala b/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
index 71052c0..68be6f7 100644
--- a/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
+++ b/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
@@ -127,6 +127,9 @@ class SparkRInterpreter(
   override def completion(code: String, pos: Int): (Int, List[String]) =
     (pos, Nil)
 
+  // Unsupported (but can be invoked)
+  override def isComplete(code: String): (String, String) = ("unknown", "")
+
   // Unsupported
   override def updatePrintStreams(in: InputStream, out: OutputStream, err: OutputStream): Unit = ???
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c90becb2/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
----------------------------------------------------------------------
diff --git a/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala b/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
index 06f29c3..74fbee1 100644
--- a/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
+++ b/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
@@ -95,6 +95,9 @@ class SqlInterpreter() extends Interpreter {
   override def completion(code: String, pos: Int): (Int, List[String]) =
     (pos, Nil)
 
+  // Unsupported (but can be invoked)
+  override def isComplete(code: String): (String, String) = ("unknown", "")
+
   // Unsupported
   override def updatePrintStreams(in: InputStream, out: OutputStream, err: OutputStream): Unit = ???
 


[8/8] incubator-toree git commit: Provide default implementations for

Posted by ch...@apache.org.
Provide default implementations for

Interpreter.completion(code: String, pos: Int)
Interpreter.isComplete(code: String)


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/c8144c6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/c8144c6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/c8144c6c

Branch: refs/heads/master
Commit: c8144c6cbd3ff00d874d85dd14b1653e23cb366f
Parents: baac922
Author: Marius van Niekerk <ma...@maxpoint.com>
Authored: Thu Sep 22 21:34:17 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:54 2016 -0400

----------------------------------------------------------------------
 .../scala/org/apache/toree/interpreter/Interpreter.scala  |  6 +++---
 kernel/src/test/scala/test/utils/DummyInterpreter.scala   | 10 ----------
 .../kernel/interpreter/pyspark/PySparkInterpreter.scala   |  7 -------
 .../interpreter/scala/ScalaInterpreterSpecific.scala      |  4 ----
 .../interpreter/scala/ScalaInterpreterSpecific.scala      |  1 +
 .../kernel/interpreter/sparkr/SparkRInterpreter.scala     |  7 -------
 .../toree/kernel/interpreter/sql/SqlInterpreter.scala     |  7 -------
 7 files changed, 4 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
----------------------------------------------------------------------
diff --git a/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala b/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
index 77fb04e..84d0e70 100644
--- a/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
+++ b/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
@@ -23,6 +23,7 @@ import org.apache.toree.kernel.api.KernelLike
 
 import scala.tools.nsc.interpreter._
 
+
 trait Interpreter {
 
   /**
@@ -108,14 +109,13 @@ trait Interpreter {
    * @param pos The cursor position
    * @return The cursor position and list of possible completions
    */
-  def completion(code: String, pos: Int): (Int, List[String] )
-
+  def completion(code: String, pos: Int): (Int, List[String] ) = (pos, Nil)
 
   /**
     * Attempt to determine if a multiline block of code is complete
     * @param code The code to determine for completeness
     */
-  def isComplete(code: String): (String, String)
+  def isComplete(code: String): (String, String) = ("unknown", "")
 
   /**
    * Returns the name of the variable created from the last execution.

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/kernel/src/test/scala/test/utils/DummyInterpreter.scala
----------------------------------------------------------------------
diff --git a/kernel/src/test/scala/test/utils/DummyInterpreter.scala b/kernel/src/test/scala/test/utils/DummyInterpreter.scala
index 87441e6..a4adedd 100644
--- a/kernel/src/test/scala/test/utils/DummyInterpreter.scala
+++ b/kernel/src/test/scala/test/utils/DummyInterpreter.scala
@@ -108,16 +108,6 @@ class DummyInterpreter(kernel: KernelLike) extends Interpreter {
   override def interpret(code: String, silent: Boolean, outputStreamResult: Option[OutputStream]): (Result, Either[ExecuteOutput, ExecuteFailure]) = ???
 
   /**
-   * Attempts to perform code completion via the <TAB> command.
-   * @param code The current cell to complete
-   * @param pos The cursor position
-   * @return The cursor position and list of possible completions
-   */
-  override def completion(code: String, pos: Int): (Int, List[String]) = ???
-
-  override def isComplete(code: String) = ???
-
-  /**
    * Initializes the interpreter.
    * @param kernel The kernel
    * @return The newly initialized interpreter

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
----------------------------------------------------------------------
diff --git a/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala b/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
index e522c5b..9b59c73 100644
--- a/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
+++ b/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
@@ -133,13 +133,6 @@ class PySparkInterpreter(
   // Unsupported (but can be invoked)
   override def read(variableName: String): Option[AnyRef] = None
 
-  // Unsupported (but can be invoked)
-  override def completion(code: String, pos: Int): (Int, List[String]) =
-    (pos, Nil)
-
-  // Unsupported (but can be invoked)
-  override def isComplete(code: String): (String, String) = ("unknown", "")
-
   // Unsupported
   override def updatePrintStreams(in: InputStream, out: OutputStream, err: OutputStream): Unit = ???
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 80b01ad..0cb8ce3 100644
--- a/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.10/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -343,10 +343,6 @@ trait ScalaInterpreterSpecific { this: ScalaInterpreter =>
     (result.cursor, result.candidates)
   }
 
-  override def isComplete(code: String): (String, String) = {
-    ("unknown", "")
-  }
-
   protected def newSettings(args: List[String]): Settings =
     new SparkCommandLine(args).settings
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 999ead4..62f70a1 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -309,6 +309,7 @@ trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpr
    * @return The cursor position and list of possible completions
    */
   override def completion(code: String, pos: Int): (Int, List[String]) = {
+
     require(completer != null)
 
     logger.debug(s"Attempting code completion for ${code}")

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
----------------------------------------------------------------------
diff --git a/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala b/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
index 68be6f7..91b4b7b 100644
--- a/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
+++ b/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
@@ -123,13 +123,6 @@ class SparkRInterpreter(
   // Unsupported (but can be invoked)
   override def read(variableName: String): Option[AnyRef] = None
 
-  // Unsupported (but can be invoked)
-  override def completion(code: String, pos: Int): (Int, List[String]) =
-    (pos, Nil)
-
-  // Unsupported (but can be invoked)
-  override def isComplete(code: String): (String, String) = ("unknown", "")
-
   // Unsupported
   override def updatePrintStreams(in: InputStream, out: OutputStream, err: OutputStream): Unit = ???
 

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c8144c6c/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
----------------------------------------------------------------------
diff --git a/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala b/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
index 74fbee1..ad7f684 100644
--- a/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
+++ b/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
@@ -91,13 +91,6 @@ class SqlInterpreter() extends Interpreter {
   // Unsupported (but can be invoked)
   override def read(variableName: String): Option[AnyRef] = None
 
-  // Unsupported (but can be invoked)
-  override def completion(code: String, pos: Int): (Int, List[String]) =
-    (pos, Nil)
-
-  // Unsupported (but can be invoked)
-  override def isComplete(code: String): (String, String) = ("unknown", "")
-
   // Unsupported
   override def updatePrintStreams(in: InputStream, out: OutputStream, err: OutputStream): Unit = ???
 


[7/8] incubator-toree git commit: Fixed initialization of handler

Posted by ch...@apache.org.
Fixed initialization of handler


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/7782dfa0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/7782dfa0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/7782dfa0

Branch: refs/heads/master
Commit: 7782dfa05d5c80230d7fa94d76ee93f3fb09c7a9
Parents: f143647
Author: Marius van Niekerk <mn...@vm179.corp.maxpointinteractive.com>
Authored: Tue Sep 20 13:15:17 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 .../org/apache/toree/boot/layer/HandlerInitialization.scala     | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/7782dfa0/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
----------------------------------------------------------------------
diff --git a/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala b/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
index 0fc455a..572da8d 100644
--- a/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
+++ b/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
@@ -166,6 +166,8 @@ trait StandardHandlerInitialization extends HandlerInitialization {
       MessageType.Incoming.CommInfoRequest, commStorage)
     initializeRequestHandler(classOf[CodeCompleteHandler],
       MessageType.Incoming.CompleteRequest)
+    initializeRequestHandler(classOf[IsCompleteHandler],
+      MessageType.Incoming.IsCompleteRequest)
     initializeInputHandler(classOf[InputRequestReplyHandler],
       MessageType.Incoming.InputReply)
     initializeCommHandler(classOf[CommOpenHandler],
@@ -174,14 +176,13 @@ trait StandardHandlerInitialization extends HandlerInitialization {
       MessageType.Incoming.CommMsg)
     initializeCommHandler(classOf[CommCloseHandler],
       MessageType.Incoming.CommClose)
-    initializeCommHandler(classOf[IsCompleteHandler],
-      MessageType.Incoming.IsCompleteRequest)
 
     //  These are handlers for messages leaving the kernel through the sockets
     initializeSocketHandler(SocketType.Shell, MessageType.Outgoing.KernelInfoReply)
     initializeSocketHandler(SocketType.Shell, MessageType.Outgoing.CommInfoReply)
     initializeSocketHandler(SocketType.Shell, MessageType.Outgoing.ExecuteReply)
     initializeSocketHandler(SocketType.Shell, MessageType.Outgoing.CompleteReply)
+    initializeSocketHandler(SocketType.Shell, MessageType.Outgoing.IsCompleteReply)
 
     initializeSocketHandler(SocketType.StdIn, MessageType.Outgoing.InputRequest)
 


[5/8] incubator-toree git commit: Added test for is_complete using the kernel tester.

Posted by ch...@apache.org.
Added test for is_complete using the kernel tester.


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/e21c2d4f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/e21c2d4f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/e21c2d4f

Branch: refs/heads/master
Commit: e21c2d4ffbb466beb1782ceef4fe2c396910fcde
Parents: 7782dfa
Author: Marius Van Niekerk <mn...@vm179.corp.maxpointinteractive.com>
Authored: Tue Sep 20 19:09:02 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 .../scala/ScalaInterpreterSpecific.scala        | 22 ++++++++++++--------
 test_toree.py                                   | 18 ++++++++++++++++
 2 files changed, 31 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/e21c2d4f/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 2f34918..dd7adbe 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -325,16 +325,20 @@ trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpr
     * @return tuple of (completeStatus, indent)
     */
   override def isComplete(code: String): (String, String) = {
-    val parse = iMain.parse
-    parse(code) match {
-      case t: parse.Error => ("invalid", "")
-      case t: parse.Success => ("complete", "")
-      case t: parse.Incomplete =>
-        val lastLine = code.split("\n").last
-        // For now lets just grab the indent of the current line, if none default to 2 spaces.
-        val indent = "\\s+".r.findFirstIn(lastLine).getOrElse("  ")
-        ("incomplete", indent)
+    val result = doQuietly {
+      val parse = iMain.parse
+      parse(code) match {
+        case t: parse.Error => ("invalid", "")
+        case t: parse.Success => ("complete", "")
+        case t: parse.Incomplete =>
+          val lastLine = code.split("\n").last
+          // For now lets just grab the indent of the current line, if none default to 2 spaces.
+          val indent = "\\s+".r.findFirstIn(lastLine).getOrElse("  ")
+          ("incomplete", indent)
+      }
     }
+    lastResultOut.reset()
+    result
   }
 
   override def newSettings(args: List[String]): Settings = {

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/e21c2d4f/test_toree.py
----------------------------------------------------------------------
diff --git a/test_toree.py b/test_toree.py
index d10a0f7..2e25324 100644
--- a/test_toree.py
+++ b/test_toree.py
@@ -39,6 +39,24 @@ class ToreeScalaKernelTests(jupyter_kernel_test.KernelTests):
         {'code': '%showtypes off\n1', 'result': '1'}
     ]
 
+    complete_samples = [
+        "6 * 7",
+        "case class Foo(bar: Int)",
+        """def f(x: Int) = {
+               x + 8
+           }""",
+    ]
+
+    incomplete_samples = [
+         "case class Foo(bar: ",
+         "6 * ",
+    ]
+
+    invalid_code_samples = [
+         "case class Foo(bar)",
+         "* 6",
+    ]
+
     test_statements_stdout = [
         {'code': '%AddJar http://0.0.0.0:8000/TestJar.jar\nimport com.ibm.testjar.TestClass\nprintln(new TestClass().sayHello("Person"))', 'result': 'Hello, Person\n'}
     ]


[3/8] incubator-toree git commit: Compilation fixup

Posted by ch...@apache.org.
Compilation fixup


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/3d2acacc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/3d2acacc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/3d2acacc

Branch: refs/heads/master
Commit: 3d2acaccabb9b34ec191458991b8f1aec5aa68c4
Parents: c90becb
Author: Marius van Niekerk <ma...@maxpoint.com>
Authored: Tue Sep 13 17:05:44 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 .../kernel/interpreter/scala/ScalaInterpreterSpecific.scala   | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/3d2acacc/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 013baf8..2f34918 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -326,11 +326,10 @@ trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpr
     */
   override def isComplete(code: String): (String, String) = {
     val parse = iMain.parse
-    import parse._
     parse(code) match {
-      case Error(_) => ("invalid", "")
-      case Success(_) => ("complete", "")
-      case Incomplete(_) =>
+      case t: parse.Error => ("invalid", "")
+      case t: parse.Success => ("complete", "")
+      case t: parse.Incomplete =>
         val lastLine = code.split("\n").last
         // For now lets just grab the indent of the current line, if none default to 2 spaces.
         val indent = "\\s+".r.findFirstIn(lastLine).getOrElse("  ")


[4/8] incubator-toree git commit: Test fixup

Posted by ch...@apache.org.
Test fixup


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/f1436475
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/f1436475
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/f1436475

Branch: refs/heads/master
Commit: f143647521ef28d108ea81b62d411002cdff1b91
Parents: 3d2acac
Author: Marius van Niekerk <ma...@maxpoint.com>
Authored: Tue Sep 13 17:18:49 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 kernel/src/test/scala/test/utils/DummyInterpreter.scala | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/f1436475/kernel/src/test/scala/test/utils/DummyInterpreter.scala
----------------------------------------------------------------------
diff --git a/kernel/src/test/scala/test/utils/DummyInterpreter.scala b/kernel/src/test/scala/test/utils/DummyInterpreter.scala
index 7fb8e5f..87441e6 100644
--- a/kernel/src/test/scala/test/utils/DummyInterpreter.scala
+++ b/kernel/src/test/scala/test/utils/DummyInterpreter.scala
@@ -115,6 +115,8 @@ class DummyInterpreter(kernel: KernelLike) extends Interpreter {
    */
   override def completion(code: String, pos: Int): (Int, List[String]) = ???
 
+  override def isComplete(code: String) = ???
+
   /**
    * Initializes the interpreter.
    * @param kernel The kernel


[2/8] incubator-toree git commit: Silent is more aggressive than quiet, use that

Posted by ch...@apache.org.
Silent is more aggressive than quiet, use that


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/d8a6f646
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/d8a6f646
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/d8a6f646

Branch: refs/heads/master
Commit: d8a6f64662b892d30dec1d1f3b0a8fc81aef217e
Parents: e21c2d4
Author: Marius Van Niekerk <mn...@vm179.corp.maxpointinteractive.com>
Authored: Tue Sep 20 20:02:42 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400

----------------------------------------------------------------------
 .../toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/d8a6f646/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index dd7adbe..999ead4 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -325,7 +325,7 @@ trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpr
     * @return tuple of (completeStatus, indent)
     */
   override def isComplete(code: String): (String, String) = {
-    val result = doQuietly {
+    val result = iMain.beSilentDuring {
       val parse = iMain.parse
       parse(code) match {
         case t: parse.Error => ("invalid", "")