You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@toree.apache.org by lr...@apache.org on 2020/08/02 04:34:44 UTC
[incubator-toree] branch master updated: Add support for Spark 3.0
and Scala 2.12 (#179)
This is an automated email from the ASF dual-hosted git repository.
lresende pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-toree.git
The following commit(s) were added to refs/heads/master by this push:
new 9bc5790 Add support for Spark 3.0 and Scala 2.12 (#179)
9bc5790 is described below
commit 9bc5790af4645d3eeaf7ad273ec456844006b723
Author: Adam Davidson <Ad...@users.noreply.github.com>
AuthorDate: Sun Aug 2 05:34:35 2020 +0100
Add support for Spark 3.0 and Scala 2.12 (#179)
---
Makefile | 4 +-
build.sbt | 21 +-
.../kernel/protocol/v5/client/Utilities.scala | 7 +-
.../scala/examples/ScalaSparkClientUsage.scala | 14 +-
.../ClientToHeartbeatSpecForIntegration.scala | 2 +-
.../ClientToIOPubSpecForIntegration.scala | 2 +-
.../ClientToShellSpecForIntegration.scala | 2 +-
.../apache/toree/comm/ClientCommManagerSpec.scala | 2 +-
.../apache/toree/comm/ClientCommWriterSpec.scala | 2 +-
.../protocol/v5/client/SparkKernelClientSpec.scala | 2 +-
.../v5/client/socket/HeartbeatClientSpec.scala | 2 +-
.../v5/client/socket/IOPubClientSpec.scala | 4 +-
.../v5/client/socket/ShellClientSpec.scala | 2 +-
.../v5/client/socket/StdinClientSpec.scala | 2 +-
.../communication/socket/JeroMQSocketSpec.scala | 2 +-
.../socket/ZeroMQSocketRunnableSpec.scala | 2 +-
.../communication/utils/OrderedSupportSpec.scala | 2 +-
.../org/apache/toree/interpreter/Interpreter.scala | 4 +-
.../interpreter/broker/BrokerBridgeSpec.scala | 2 +-
.../broker/BrokerProcessHandlerSpec.scala | 2 +-
.../interpreter/broker/BrokerProcessSpec.scala | 2 +-
.../toree/magic/InternalClassLoaderSpec.scala | 2 +-
.../org/apache/toree/magic/MagicManagerSpec.scala | 2 +-
.../toree/utils/ArgumentParsingSupportSpec.scala | 2 +-
.../toree/utils/ConditionalOutputStreamSpec.scala | 2 +-
.../toree/utils/DynamicReflectionSupportSpec.scala | 2 +-
.../apache/toree/utils/MultiOutputStreamSpec.scala | 2 +-
.../org/apache/toree/utils/TaskManagerSpec.scala | 8 +-
.../protocol/v5/handler/CodeCompleteHandler.scala | 2 +-
.../protocol/v5/handler/CommCloseHandler.scala | 4 +-
.../protocol/v5/handler/CommMsgHandler.scala | 4 +-
.../protocol/v5/handler/CommOpenHandler.scala | 4 +-
.../v5/handler/ExecuteRequestHandler.scala | 4 +-
.../protocol/v5/handler/IsCompleteHandler.scala | 2 +-
.../protocol/v5/handler/ShutdownHandler.scala | 2 +-
.../kernel/protocol/v5/kernel/Utilities.scala | 6 +-
.../protocol/v5/relay/KernelMessageRelay.scala | 4 +-
.../apache/toree/magic/builtin/BuiltinLoader.scala | 4 +-
.../InterpreterActorSpecForIntegration.scala | 2 +-
.../apache/toree/comm/KernelCommManagerSpec.scala | 2 +-
.../apache/toree/comm/KernelCommWriterSpec.scala | 2 +-
.../toree/kernel/api/DisplayMethodsSpec.scala | 2 +-
.../org/apache/toree/kernel/api/KernelSpec.scala | 2 +-
.../toree/kernel/api/StreamMethodsSpec.scala | 2 +-
.../protocol/v5/dispatch/StatusDispatchSpec.scala | 2 +-
.../v5/handler/CodeCompleteHandlerSpec.scala | 2 +-
.../protocol/v5/handler/CommCloseHandlerSpec.scala | 2 +-
.../v5/handler/CommInfoRequestHandlerSpec.scala | 2 +-
.../protocol/v5/handler/CommMsgHandlerSpec.scala | 2 +-
.../protocol/v5/handler/CommOpenHandlerSpec.scala | 2 +-
.../v5/handler/ExecuteRequestHandlerSpec.scala | 2 +-
.../handler/GenericSocketMessageHandlerSpec.scala | 2 +-
.../v5/handler/InputRequestReplyHandlerSpec.scala | 2 +-
.../v5/handler/KernelInfoRequestHandlerSpec.scala | 2 +-
.../tasks/ExecuteRequestTaskActorSpec.scala | 2 +-
.../protocol/v5/kernel/ActorLoaderSpec.scala | 2 +-
.../protocol/v5/kernel/socket/HeartbeatSpec.scala | 2 +-
.../protocol/v5/kernel/socket/IOPubSpec.scala | 2 +-
.../protocol/v5/kernel/socket/ShellSpec.scala | 2 +-
.../v5/kernel/socket/SocketConfigSpec.scala | 4 +-
.../protocol/v5/kernel/socket/StdinSpec.scala | 2 +-
.../kernel/protocol/v5/magic/MagicParserSpec.scala | 2 +-
.../v5/relay/ExecuteRequestRelaySpec.scala | 2 +-
.../protocol/v5/relay/KernelMessageRelaySpec.scala | 2 +-
.../protocol/v5/stream/KernelInputStreamSpec.scala | 2 +-
.../protocol/v5/stream/KernelOuputStreamSpec.scala | 2 +-
.../apache/toree/magic/builtin/AddDepsSpec.scala | 2 +-
.../apache/toree/magic/builtin/AddJarSpec.scala | 2 +-
.../toree/magic/builtin/BuiltinLoaderSpec.scala | 2 +-
.../apache/toree/magic/builtin/DataFrameSpec.scala | 2 +-
.../org/apache/toree/magic/builtin/HtmlSpec.scala | 2 +-
.../toree/magic/builtin/JavaScriptSpec.scala | 2 +-
.../apache/toree/magic/builtin/LSMagicSpec.scala | 2 +-
.../toree/utils/DataFrameConverterSpec.scala | 12 +-
kernel/src/test/scala/test/utils/StackActor.scala | 12 +-
.../plugins/dependencies/ClassLoaderHelper.scala | 6 +-
.../plugins/dependencies/ClassLoaderHelper.scala | 6 +-
.../apache/toree/plugins/PluginManagerSpec.scala | 4 +-
.../toree/plugins/PluginMethodResultSpec.scala | 2 +-
.../apache/toree/plugins/PluginSearcherSpec.scala | 2 +-
.../org/apache/toree/plugins/PluginSpec.scala | 2 +-
project/Dependencies.scala | 6 +-
protocol/build.sbt | 1 +
.../org/apache/toree/comm/CommManagerSpec.scala | 2 +-
.../org/apache/toree/comm/CommRegistrarSpec.scala | 2 +-
.../org/apache/toree/comm/CommStorageSpec.scala | 2 +-
.../org/apache/toree/comm/CommWriterSpec.scala | 7 +-
.../toree/kernel/protocol/v5/HeaderSpec.scala | 7 +-
.../protocol/v5/content/ClearOutputSpec.scala | 3 +-
.../kernel/protocol/v5/content/CommCloseSpec.scala | 3 +-
.../kernel/protocol/v5/content/CommMsgSpec.scala | 4 +-
.../kernel/protocol/v5/content/CommOpenSpec.scala | 3 +-
.../v5/content/CompleteReplyErrorSpec.scala | 4 +-
.../protocol/v5/content/CompleteReplyOkSpec.scala | 3 +-
.../protocol/v5/content/CompleteReplySpec.scala | 7 +-
.../protocol/v5/content/CompleteRequestSpec.scala | 4 +-
.../protocol/v5/content/ConnectReplySpec.scala | 4 +-
.../protocol/v5/content/ConnectRequestSpec.scala | 4 +-
.../protocol/v5/content/DisplayDataSpec.scala | 4 +-
.../protocol/v5/content/ErrorContentSpec.scala | 3 +-
.../protocol/v5/content/ExecuteInputSpec.scala | 4 +-
.../v5/content/ExecuteReplyAbortSpec.scala | 4 +-
.../v5/content/ExecuteReplyErrorSpec.scala | 4 +-
.../protocol/v5/content/ExecuteReplyOkSpec.scala | 4 +-
.../protocol/v5/content/ExecuteReplySpec.scala | 4 +-
.../protocol/v5/content/ExecuteRequestSpec.scala | 4 +-
.../protocol/v5/content/ExecuteResultSpec.scala | 4 +-
.../protocol/v5/content/HistoryReplySpec.scala | 4 +-
.../protocol/v5/content/HistoryRequestSpec.scala | 4 +-
.../protocol/v5/content/InputReplySpec.scala | 4 +-
.../protocol/v5/content/InputRequestSpec.scala | 4 +-
.../v5/content/InspectReplyErrorSpec.scala | 4 +-
.../protocol/v5/content/InspectReplyOkSpec.scala | 4 +-
.../protocol/v5/content/InspectReplySpec.scala | 4 +-
.../protocol/v5/content/InspectRequestSpec.scala | 4 +-
.../protocol/v5/content/KernelInfoReplySpec.scala | 4 +-
.../v5/content/KernelInfoRequestSpec.scala | 4 +-
.../protocol/v5/content/KernelStatusSpec.scala | 4 +-
.../protocol/v5/content/ShutdownReplySpec.scala | 4 +-
.../protocol/v5/content/ShutdownRequestSpec.scala | 4 +-
.../protocol/v5/content/StreamContentSpec.scala | 4 +-
.../scala/ScalaInterpreterSpecific.scala | 452 +++++++++++++++++++++
.../interpreter/scala/ScalaInterpreter.scala | 4 +-
.../AddExternalJarMagicSpecForIntegration.scala | 2 +-
.../interpreter/scala/JVMReprSpec.scala | 2 +-
.../scala/org/apache/toree/magic/builtin/Sql.scala | 6 +-
126 files changed, 668 insertions(+), 213 deletions(-)
diff --git a/Makefile b/Makefile
index 01b805d..3b77a6e 100644
--- a/Makefile
+++ b/Makefile
@@ -30,8 +30,8 @@ IS_SNAPSHOT?=true
SNAPSHOT:=-SNAPSHOT
endif
-APACHE_SPARK_VERSION?=2.3.4
-SCALA_VERSION?=2.11
+APACHE_SPARK_VERSION?=3.0.0
+SCALA_VERSION?=2.12
IMAGE?=jupyter/all-spark-notebook:latest
EXAMPLE_IMAGE?=apache/toree-examples
TOREE_DEV_IMAGE?=apache/toree-dev
diff --git a/build.sbt b/build.sbt
index f42b750..8c27c20 100644
--- a/build.sbt
+++ b/build.sbt
@@ -22,11 +22,11 @@ version in ThisBuild := Properties.envOrElse("VERSION", "0.0.0-dev") +
(if ((isSnapshot in ThisBuild).value) "-SNAPSHOT" else "")
isSnapshot in ThisBuild := Properties.envOrElse("IS_SNAPSHOT","true").toBoolean
organization in ThisBuild := "org.apache.toree.kernel"
-crossScalaVersions in ThisBuild := Seq("2.11.12")
+crossScalaVersions in ThisBuild := Seq("2.12.12")
scalaVersion in ThisBuild := (crossScalaVersions in ThisBuild).value.head
Dependencies.sparkVersion in ThisBuild := {
val envVar = "APACHE_SPARK_VERSION"
- val defaultVersion = "2.3.4"
+ val defaultVersion = "3.0.0"
Properties.envOrNone(envVar) match {
case None =>
@@ -44,9 +44,9 @@ scalacOptions in ThisBuild ++= Seq(
"-unchecked",
"-feature",
"-Xfatal-warnings",
- "-language:reflectiveCalls",
- "-target:jvm-1.6",
- "-Xlint" // Scala 2.11.x only
+ "-language:reflectiveCalls"
+// "-target:jvm-1.6",
+// "-Xlint" // Scala 2.11.x only
)
// Java-based options for compilation (all tasks)
// NOTE: Providing a blank flag causes failures, only uncomment with options
@@ -65,7 +65,7 @@ javacOptions in ThisBuild ++= Seq(
javaOptions in ThisBuild ++= Seq(
"-Xms1024M", "-Xmx4096M", "-Xss2m", "-XX:MaxPermSize=1024M",
"-XX:ReservedCodeCacheSize=256M", "-XX:+TieredCompilation",
- "-XX:+CMSPermGenSweepingEnabled", "-XX:+CMSClassUnloadingEnabled",
+ "-XX:+CMSClassUnloadingEnabled",
"-XX:+UseConcMarkSweepGC", "-XX:+HeapDumpOnOutOfMemoryError"
)
// Add additional test option to show time taken per test
@@ -119,7 +119,7 @@ credentials in ThisBuild+= Credentials(Path.userHome / ".ivy2" / ".credentials")
/** Root Toree project. */
lazy val root = (project in file("."))
- .settings(name := "toree")
+ .settings(name := "toree", crossScalaVersions := Nil)
.aggregate(
macros,protocol,plugins,communication,kernelApi,client,scalaInterpreter,sqlInterpreter,kernel
)
@@ -219,6 +219,13 @@ assemblyShadeRules in assembly := Seq(
ShadeRule.rename("org.objectweb.asm.**" -> "shadeasm.@0").inAll
)
+assemblyMergeStrategy in assembly := {
+ case "module-info.class" => MergeStrategy.discard
+ case x =>
+ val oldStrategy = (assemblyMergeStrategy in assembly).value
+ oldStrategy(x)
+}
+
test in assembly := {}
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
aggregate in assembly := false
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala
index 6e653c4..2d63d5e 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala
@@ -24,8 +24,7 @@ import org.apache.toree.communication.ZMQMessage
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content.ExecuteRequest
import org.apache.toree.utils.LogLike
-import play.api.data.validation.ValidationError
-import play.api.libs.json.{JsPath, Json, Reads}
+import play.api.libs.json.{JsPath, Json, JsonValidationError, Reads}
import scala.concurrent.duration._
@@ -65,7 +64,7 @@ object Utilities extends LogLike {
val header = Json.parse(message.frames(delimiterIndex + 2)).as[Header]
val parentHeader = Json.parse(message.frames(delimiterIndex + 3)).validate[ParentHeader].fold[ParentHeader](
// TODO: Investigate better solution than setting parentHeader to null for {}
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => null, //HeaderBuilder.empty,
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => null, //HeaderBuilder.empty,
(valid: ParentHeader) => valid
)
val metadata = Json.parse(message.frames(delimiterIndex + 4)).as[Metadata]
@@ -92,7 +91,7 @@ object Utilities extends LogLike {
def parseAndHandle[T](json: String, reads: Reads[T], handler: T => Unit) : Unit = {
Json.parse(json).validate[T](reads).fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) =>
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) =>
logger.error(s"Could not parse JSON, ${json}"),
(content: T) => handler(content)
)
diff --git a/client/src/test/scala/examples/ScalaSparkClientUsage.scala b/client/src/test/scala/examples/ScalaSparkClientUsage.scala
index 5f5e15f..d6175ae 100644
--- a/client/src/test/scala/examples/ScalaSparkClientUsage.scala
+++ b/client/src/test/scala/examples/ScalaSparkClientUsage.scala
@@ -17,13 +17,12 @@
package examples
-import java.io.File
+import com.typesafe.config.{Config, ConfigFactory}
import org.apache.toree.kernel.protocol.v5.MIMEType
import org.apache.toree.kernel.protocol.v5.client.boot.ClientBootstrap
import org.apache.toree.kernel.protocol.v5.client.boot.layers.{StandardHandlerInitialization, StandardSystemInitialization}
-import org.apache.toree.kernel.protocol.v5.content.{ExecuteResult}
import org.apache.toree.kernel.protocol.v5.content._
-import com.typesafe.config.{ConfigFactory, Config}
+
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Promise
@@ -32,8 +31,7 @@ import scala.concurrent.Promise
* Use this class as a playground.
*/
object ScalaSparkClientUsage extends App {
- val profile: File = new File(getClass.getResource("/kernel-profiles/IOPubIntegrationProfile.json").toURI)
- val config: Config = ConfigFactory.parseFile(profile)
+ val config: Config = ConfigFactory.load(getClass.getClassLoader, "/kernel-profiles/IOPubIntegrationProfile.json")
// Setup
val client = (new ClientBootstrap(config)
with StandardSystemInitialization
@@ -44,7 +42,7 @@ object ScalaSparkClientUsage extends App {
}
def printTextResult(result:ExecuteResult) = {
- println(s"ExecuteResult data was: ${result.data.get(MIMEType.PlainText).get}")
+ println(s"ExecuteResult data was: ${result.data(MIMEType.PlainText)}")
}
def printError(reply:ExecuteReplyError) = {
@@ -140,9 +138,9 @@ object ScalaSparkClientUsage extends App {
val resultPromise = for {
x <- xPromise.future
y <- yPromise.future
- } yield (complexMath(x, y))
+ } yield complexMath(x, y)
- resultPromise.onSuccess {case x => println(s"Added result is ${x}") }
+ resultPromise.onComplete { x => println(s"Added result is $x") }
// Added result is 24
// Sleep so output does not overlap
diff --git a/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala b/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala
index ea7f1ac..7f1baa1 100644
--- a/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala
+++ b/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala
@@ -33,7 +33,7 @@ import org.apache.toree.kernel.protocol.v5.socket.SocketConfig
import com.typesafe.config.ConfigFactory
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import scala.concurrent.duration._
diff --git a/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala b/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala
index 3ca125e..3934142 100644
--- a/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala
+++ b/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala
@@ -29,7 +29,7 @@ import org.apache.toree.kernel.protocol.v5.content.ExecuteResult
import org.apache.toree.kernel.protocol.v5.socket._
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import play.api.libs.json.Json
diff --git a/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala b/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala
index 52d08fa..1b1033b 100644
--- a/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala
+++ b/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala
@@ -30,7 +30,7 @@ import org.apache.toree.kernel.protocol.v5.content.ExecuteRequest
import org.apache.toree.kernel.protocol.v5.socket._
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import play.api.libs.json.Json
diff --git a/client/src/test/scala/org/apache/toree/comm/ClientCommManagerSpec.scala b/client/src/test/scala/org/apache/toree/comm/ClientCommManagerSpec.scala
index 85b8f67..f784d8b 100644
--- a/client/src/test/scala/org/apache/toree/comm/ClientCommManagerSpec.scala
+++ b/client/src/test/scala/org/apache/toree/comm/ClientCommManagerSpec.scala
@@ -21,7 +21,7 @@ import org.apache.toree.kernel.protocol.v5
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.client.ActorLoader
import org.apache.toree.kernel.protocol.v5.content.CommContent
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.mockito.Matchers._
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
diff --git a/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala b/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala
index 0470390..4018b19 100644
--- a/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala
+++ b/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala
@@ -27,7 +27,7 @@ import org.apache.toree.kernel.protocol.v5.content._
import com.typesafe.config.ConfigFactory
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import play.api.libs.json.Json
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala
index f9e910b..f533018 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala
@@ -26,7 +26,7 @@ import org.apache.toree.kernel.protocol.v5.client.execution.ExecuteRequestTuple
import scala.concurrent.duration._
import org.mockito.Mockito._
import org.mockito.Matchers.{eq => mockEq, _}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
class SparkKernelClientSpec
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala
index 6e09c7f..0e5d804 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala
@@ -21,7 +21,7 @@ import akka.actor.{ActorRef, ActorSystem, Props}
import akka.testkit.{TestProbe, ImplicitSender, TestKit}
import org.apache.toree.communication.ZMQMessage
import org.apache.toree.kernel.protocol.v5.client.ActorLoader
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, FunSpecLike}
import org.mockito.Matchers._
import org.mockito.Mockito._
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala
index 98db662..36aacfa 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala
@@ -35,7 +35,7 @@ import com.typesafe.config.ConfigFactory
import org.mockito.Matchers.{eq => mockEq, _}
import org.mockito.Mockito._
import org.scalatest.concurrent.{Eventually, ScalaFutures}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.time.{Milliseconds, Span}
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import play.api.libs.json.Json
@@ -259,7 +259,7 @@ class IOPubClientSpec extends TestKit(ActorSystem(
whenReady(promise.future) {
case res: String =>
- res should be eq("bar")
+ res shouldBe "bar"
case _ =>
fail(s"Received failure when asking IOPubClient")
}
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala
index 72cc9ee..f8a5a5c 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala
@@ -26,7 +26,7 @@ import org.apache.toree.communication.security.SecurityActorType
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.client.ActorLoader
import org.apache.toree.kernel.protocol.v5.content.ExecuteRequest
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, FunSpecLike}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala
index e517bc3..2c97fc6 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala
@@ -25,7 +25,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.client.ActorLoader
import org.apache.toree.kernel.protocol.v5.client.socket.StdinClient.{ResponseFunctionMessage, ResponseFunction}
import org.apache.toree.kernel.protocol.v5.content.{InputReply, InputRequest, ClearOutput, ExecuteRequest}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import org.apache.toree.kernel.protocol.v5.client.Utilities._
import play.api.libs.json.Json
diff --git a/communication/src/test/scala/org/apache/toree/communication/socket/JeroMQSocketSpec.scala b/communication/src/test/scala/org/apache/toree/communication/socket/JeroMQSocketSpec.scala
index 078a282..fa9d19b 100644
--- a/communication/src/test/scala/org/apache/toree/communication/socket/JeroMQSocketSpec.scala
+++ b/communication/src/test/scala/org/apache/toree/communication/socket/JeroMQSocketSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.communication.socket
import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.Answer
import org.scalatest.{Matchers, BeforeAndAfter, OneInstancePerTest, FunSpec}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.zeromq.ZMsg
diff --git a/communication/src/test/scala/org/apache/toree/communication/socket/ZeroMQSocketRunnableSpec.scala b/communication/src/test/scala/org/apache/toree/communication/socket/ZeroMQSocketRunnableSpec.scala
index 1ab3bf5..605fa29 100644
--- a/communication/src/test/scala/org/apache/toree/communication/socket/ZeroMQSocketRunnableSpec.scala
+++ b/communication/src/test/scala/org/apache/toree/communication/socket/ZeroMQSocketRunnableSpec.scala
@@ -17,7 +17,7 @@
package org.apache.toree.communication.socket
import org.scalatest.concurrent.Eventually
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.time.{Milliseconds, Seconds, Span}
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
import org.zeromq.ZMQ
diff --git a/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala b/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala
index e7539dc..20e8f22 100644
--- a/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala
+++ b/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.communication.utils
import akka.actor._
import akka.testkit.{ImplicitSender, TestKit}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
case class OrderedType()
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 59696de..5a02f9d 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
@@ -99,7 +99,7 @@ trait Interpreter {
* @return An option containing the variable contents or None if the
* variable does not exist
*/
- def read(variableName: String): Option[AnyRef]
+ def read(variableName: String): Option[Any]
/**
* Mask the Console and System objects with our wrapper implementations
@@ -146,5 +146,5 @@ trait Interpreter {
* Initialization done after all other Toree initialization done.
*/
- def postInit () = {}
+ def postInit (): Unit = {}
}
diff --git a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerBridgeSpec.scala b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerBridgeSpec.scala
index 26cfca8..de30960 100644
--- a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerBridgeSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerBridgeSpec.scala
@@ -17,7 +17,7 @@
package org.apache.toree.interpreter.broker
import org.apache.toree.kernel.api.KernelLike
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers, OneInstancePerTest}
class BrokerBridgeSpec extends FunSpec with Matchers with OneInstancePerTest
diff --git a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessHandlerSpec.scala b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessHandlerSpec.scala
index a48ed00..657fdec 100644
--- a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessHandlerSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessHandlerSpec.scala
@@ -17,7 +17,7 @@
package org.apache.toree.interpreter.broker
import org.apache.commons.exec.ExecuteException
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers, OneInstancePerTest}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessSpec.scala b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessSpec.scala
index 6564c46..f7a055d 100644
--- a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerProcessSpec.scala
@@ -21,7 +21,7 @@ import java.io.{OutputStream, InputStream, File}
import org.apache.commons.exec._
import org.apache.commons.io.FilenameUtils
import org.mockito.ArgumentCaptor
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers, OneInstancePerTest}
import org.mockito.Mockito._
diff --git a/kernel-api/src/test/scala/org/apache/toree/magic/InternalClassLoaderSpec.scala b/kernel-api/src/test/scala/org/apache/toree/magic/InternalClassLoaderSpec.scala
index 39e2c75..b1f251b 100644
--- a/kernel-api/src/test/scala/org/apache/toree/magic/InternalClassLoaderSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/magic/InternalClassLoaderSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.magic
import org.scalatest.{Matchers, FunSpec}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
class InternalClassLoaderSpec extends FunSpec with Matchers with MockitoSugar {
diff --git a/kernel-api/src/test/scala/org/apache/toree/magic/MagicManagerSpec.scala b/kernel-api/src/test/scala/org/apache/toree/magic/MagicManagerSpec.scala
index 8d445cf..2bbd585 100644
--- a/kernel-api/src/test/scala/org/apache/toree/magic/MagicManagerSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/magic/MagicManagerSpec.scala
@@ -21,7 +21,7 @@ import org.apache.toree.plugins.dependencies.Dependency
import org.apache.toree.plugins._
import org.mockito.Mockito._
import org.mockito.Matchers.{eq => mockEq, _}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers, OneInstancePerTest}
import test.utils
diff --git a/kernel-api/src/test/scala/org/apache/toree/utils/ArgumentParsingSupportSpec.scala b/kernel-api/src/test/scala/org/apache/toree/utils/ArgumentParsingSupportSpec.scala
index 7746ed8..9be90a2 100644
--- a/kernel-api/src/test/scala/org/apache/toree/utils/ArgumentParsingSupportSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/utils/ArgumentParsingSupportSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.utils
import org.scalatest.{BeforeAndAfter, Matchers, FunSpec}
import joptsimple.{OptionSet, OptionSpec, OptionParser}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel-api/src/test/scala/org/apache/toree/utils/ConditionalOutputStreamSpec.scala b/kernel-api/src/test/scala/org/apache/toree/utils/ConditionalOutputStreamSpec.scala
index 701ed16..84ec8a5 100644
--- a/kernel-api/src/test/scala/org/apache/toree/utils/ConditionalOutputStreamSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/utils/ConditionalOutputStreamSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.utils
import java.io.OutputStream
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.mockito.Matchers._
import org.scalatest.{Matchers, FunSpec}
diff --git a/kernel-api/src/test/scala/org/apache/toree/utils/DynamicReflectionSupportSpec.scala b/kernel-api/src/test/scala/org/apache/toree/utils/DynamicReflectionSupportSpec.scala
index a20fb12..dd9bf5c 100644
--- a/kernel-api/src/test/scala/org/apache/toree/utils/DynamicReflectionSupportSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/utils/DynamicReflectionSupportSpec.scala
@@ -21,7 +21,7 @@ import java.io.OutputStream
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{GivenWhenThen, BeforeAndAfter, FunSpec, Matchers}
class DynamicReflectionSupportSpec
diff --git a/kernel-api/src/test/scala/org/apache/toree/utils/MultiOutputStreamSpec.scala b/kernel-api/src/test/scala/org/apache/toree/utils/MultiOutputStreamSpec.scala
index a3e2153..53ff6c0 100644
--- a/kernel-api/src/test/scala/org/apache/toree/utils/MultiOutputStreamSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/utils/MultiOutputStreamSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.utils
import java.io.OutputStream
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, Matchers, FunSpec}
import org.mockito.Matchers._
import org.mockito.Mockito._
diff --git a/kernel-api/src/test/scala/org/apache/toree/utils/TaskManagerSpec.scala b/kernel-api/src/test/scala/org/apache/toree/utils/TaskManagerSpec.scala
index 61ae715..602900d 100644
--- a/kernel-api/src/test/scala/org/apache/toree/utils/TaskManagerSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/utils/TaskManagerSpec.scala
@@ -17,13 +17,13 @@
package org.apache.toree.utils
-import java.util.concurrent.{RejectedExecutionException, ExecutionException}
+import java.util.concurrent.{ExecutionException, RejectedExecutionException}
import org.scalatest.concurrent.PatienceConfiguration.Timeout
-import org.scalatest.concurrent.{Timeouts, Eventually, ScalaFutures}
-import org.scalatest.mock.MockitoSugar
+import org.scalatest.concurrent.{Eventually, ScalaFutures, TimeLimits}
import org.scalatest.time.{Milliseconds, Seconds, Span}
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
+import org.scalatestplus.mockito.MockitoSugar
import test.utils.UncaughtExceptionSuppression
import scala.concurrent.Future
@@ -31,7 +31,7 @@ import scala.runtime.BoxedUnit
class TaskManagerSpec extends FunSpec with Matchers with MockitoSugar
with BeforeAndAfter with ScalaFutures with UncaughtExceptionSuppression
- with Eventually with Timeouts
+ with Eventually with TimeLimits
{
implicit override val patienceConfig = PatienceConfig(
timeout = scaled(Span(30, Seconds)),
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala
index 78a7a48..4008ca1 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala
@@ -23,7 +23,7 @@ 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.JsonValidationError
import play.api.libs.json.{JsPath, Json}
import scala.concurrent.ExecutionContext.Implicits.global
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandler.scala
index 65e15cd..7f27177 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandler.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5.content.CommClose
import org.apache.toree.kernel.protocol.v5.kernel.{Utilities, ActorLoader}
import org.apache.toree.kernel.protocol.v5.{KMBuilder, KernelMessage}
import org.apache.toree.utils.MessageLogSupport
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.JsPath
import scala.concurrent.Future
@@ -78,7 +78,7 @@ class CommCloseHandler(
}
}
- private def handleParseError(invalid: Seq[(JsPath, Seq[ValidationError])]) = {
+ private def handleParseError(invalid: Seq[(JsPath, Seq[JsonValidationError])]) = {
// TODO: Determine proper response for a parse failure
logger.warn("Parse error for Comm Close! Not responding!")
}
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandler.scala
index 13bff32..37e9589 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandler.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5.content.CommMsg
import org.apache.toree.kernel.protocol.v5.kernel.{Utilities, ActorLoader}
import org.apache.toree.kernel.protocol.v5.{KMBuilder, KernelMessage}
import org.apache.toree.utils.MessageLogSupport
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.JsPath
import scala.concurrent.Future
@@ -78,7 +78,7 @@ class CommMsgHandler(
}
}
- private def handleParseError(invalid: Seq[(JsPath, Seq[ValidationError])]) = {
+ private def handleParseError(invalid: Seq[(JsPath, Seq[JsonValidationError])]) = {
// TODO: Determine proper response for a parse failure
logger.warn("Parse error for Comm Msg! Not responding!")
}
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandler.scala
index 3b09110..6590eef 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandler.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5.content.CommOpen
import org.apache.toree.kernel.protocol.v5.kernel.{Utilities, ActorLoader}
import org.apache.toree.kernel.protocol.v5.{KMBuilder, KernelMessage}
import org.apache.toree.utils.MessageLogSupport
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.JsPath
import scala.concurrent.Future
@@ -82,7 +82,7 @@ class CommOpenHandler(
}
}
- private def handleParseError(invalid: Seq[(JsPath, Seq[ValidationError])]) = {
+ private def handleParseError(invalid: Seq[(JsPath, Seq[JsonValidationError])]) = {
// TODO: Determine proper response for a parse failure
logger.warn("Parse error for Comm Open! Not responding!")
}
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala
index 6f253e1..a83a026 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala
@@ -28,7 +28,7 @@ import org.apache.toree.kernel.protocol.v5.stream.KernelOutputStream
import org.apache.toree.{global => kernelGlobal}
import Utilities._
import org.apache.toree.utils._
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.JsPath
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent._
@@ -125,7 +125,7 @@ class ExecuteRequestHandler(
}
}
- def parseErrorHandler(invalid: Seq[(JsPath, Seq[ValidationError])]) = {
+ def parseErrorHandler(invalid: Seq[(JsPath, Seq[JsonValidationError])]) = {
val errs = invalid.map (e => s"JSPath ${e._1} has error ${e._2}").toList
logger.error(s"Validation errors when parsing ExecuteRequest: ${errs}")
val replyError: ExecuteReply = ExecuteReplyError(
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
index 15a42d5..da93b96 100644
--- 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
@@ -23,7 +23,7 @@ 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.JsonValidationError
import play.api.libs.json.{JsPath, Json}
import scala.concurrent.ExecutionContext.Implicits.global
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ShutdownHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ShutdownHandler.scala
index 4ef1565..ec08aa1 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ShutdownHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ShutdownHandler.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.security.KernelSecurityManager
import org.apache.toree.utils.MessageLogSupport
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.JsPath
import scala.concurrent.ExecutionContext.Implicits.global
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala
index 6f5d060..3df9830 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala
@@ -23,7 +23,7 @@ import akka.util.{ByteString, Timeout}
import org.apache.toree.communication.ZMQMessage
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.utils.LogLike
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.{JsPath, Json, Reads}
import scala.concurrent.duration._
@@ -91,7 +91,7 @@ object Utilities extends LogLike {
def parseAndHandle[T, U](json: String, reads: Reads[T],
handler: T => U) : U = {
parseAndHandle(json, reads, handler,
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => {
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => {
logger.error(s"Could not parse JSON, ${json}")
throw new Throwable(s"Could not parse JSON, ${json}")
}
@@ -100,7 +100,7 @@ object Utilities extends LogLike {
def parseAndHandle[T, U](json: String, reads: Reads[T],
handler: T => U,
- errHandler: Seq[(JsPath, Seq[ValidationError])] => U) : U = {
+ errHandler: Seq[(JsPath, Seq[JsonValidationError])] => U) : U = {
Json.parse(json).validate[T](reads).fold(
errHandler,
(content: T) => handler(content)
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala
index e9a36c7..3ee5c7d 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala
@@ -169,8 +169,8 @@ case class KernelMessageRelay(
val signatureInsertFuture = signatureManager ? kernelMessage
// TODO: Handle error case for mapTo and non-present onFailure
- signatureInsertFuture.mapTo[KernelMessage] onSuccess {
- case message =>
+ signatureInsertFuture.mapTo[KernelMessage] foreach {
+ message =>
outgoingRelay(message)
finishedProcessing()
}
diff --git a/kernel/src/main/scala/org/apache/toree/magic/builtin/BuiltinLoader.scala b/kernel/src/main/scala/org/apache/toree/magic/builtin/BuiltinLoader.scala
index cffe702..927ed44 100644
--- a/kernel/src/main/scala/org/apache/toree/magic/builtin/BuiltinLoader.scala
+++ b/kernel/src/main/scala/org/apache/toree/magic/builtin/BuiltinLoader.scala
@@ -21,7 +21,7 @@ import com.google.common.reflect.ClassPath
import com.google.common.reflect.ClassPath.ClassInfo
import org.apache.toree.magic.InternalClassLoader
import com.google.common.base.Strings._
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters._
/**
* Represents a class loader that loads classes from the builtin package.
@@ -44,7 +44,7 @@ class BuiltinLoader
case false =>
// TODO: Decide if this.getClass.getClassLoader should just be this
val classPath = ClassPath.from(this.getClass.getClassLoader)
- classPath.getTopLevelClasses(pkg).filter(
+ classPath.getTopLevelClasses(pkg).asScala.filter(
_.getSimpleName != this.getClass.getSimpleName
).toList
}
diff --git a/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala b/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala
index 8b53abb..159cbb4 100644
--- a/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala
+++ b/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala
@@ -31,7 +31,7 @@ import org.apache.toree.kernel.protocol.v5.interpreter.InterpreterActor
import org.apache.toree.kernel.protocol.v5.interpreter.tasks.InterpreterTaskFactory
import com.typesafe.config.ConfigFactory
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import test.utils.UncaughtExceptionSuppression
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/comm/KernelCommManagerSpec.scala b/kernel/src/test/scala/org/apache/toree/comm/KernelCommManagerSpec.scala
index e7ae22a..3d2c2a0 100644
--- a/kernel/src/test/scala/org/apache/toree/comm/KernelCommManagerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/comm/KernelCommManagerSpec.scala
@@ -21,7 +21,7 @@ import org.apache.toree.kernel.protocol.v5
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content.CommContent
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.mockito.Matchers._
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
diff --git a/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala b/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala
index 2677e39..ce81bef 100644
--- a/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala
@@ -26,7 +26,7 @@ import test.utils.MaxAkkaTestTimeout
import akka.actor.{ActorSelection, ActorSystem}
import akka.testkit.{TestProbe, TestKit}
import com.typesafe.config.ConfigFactory
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala
index 3be2f48..c3ded29 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala
@@ -22,7 +22,7 @@ import akka.testkit.{ImplicitSender, TestKit, TestProbe}
import org.apache.toree.kernel.protocol.v5
import org.apache.toree.kernel.protocol.v5.KernelMessage
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import play.api.libs.json.Json
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/api/KernelSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/api/KernelSpec.scala
index 8bedfe3..da953d9 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/api/KernelSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/api/KernelSpec.scala
@@ -30,7 +30,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.apache.toree.plugins.PluginManager
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
class KernelSpec extends FunSpec with Matchers with MockitoSugar
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala
index fcde596..9aec97d 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala
@@ -21,7 +21,7 @@ import akka.actor.ActorSystem
import akka.testkit.{ImplicitSender, TestKit, TestProbe}
import org.apache.toree.kernel.protocol.v5
import org.apache.toree.kernel.protocol.v5.KernelMessage
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, BeforeAndAfter, Matchers}
import play.api.libs.json.Json
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala
index 80d27b6..ebc3574 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content.KernelStatus
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import play.api.libs.json.Json
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala
index 496cd55..8bfe70a 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala
@@ -24,7 +24,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content.CompleteRequest
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.apache.toree.kernel.protocol.v5Test._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, BeforeAndAfter, Matchers}
import org.mockito.Mockito._
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala
index 81d5884..b39a0ce 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala
@@ -26,7 +26,7 @@ import org.apache.toree.kernel.protocol.v5.content.{ClearOutput, CommClose}
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.apache.toree.kernel.protocol.v5.{KernelMessage, SystemActorType, KMBuilder}
import org.apache.toree.comm.{CommRegistrar, CommWriter, CommCallbacks, CommStorage}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala
index 50c7597..87bbe8c 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala
@@ -27,7 +27,7 @@ import org.apache.toree.kernel.protocol.v5.{Header, KernelMessage, Metadata, Sys
import org.mockito.AdditionalMatchers.{not => mockNot}
import org.mockito.Matchers.{eq => mockEq}
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import play.api.libs.json.Json
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala
index 085310f..ac6db52 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala
@@ -28,7 +28,7 @@ import org.apache.toree.kernel.protocol.v5.content.{CommMsg, ClearOutput}
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala
index 5180eb8..ba74458 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala
@@ -30,7 +30,7 @@ import org.apache.toree.comm._
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.mockito.Mockito._
import org.mockito.Matchers._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala
index 6aa95d6..6e6554b 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala
@@ -27,7 +27,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content._
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.apache.toree.kernel.protocol.v5Test._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import play.api.libs.json.Json
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala
index 70a37ef..cfaa078 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.apache.toree.kernel.protocol.v5Test._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, FunSpecLike}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala
index 5414b67..bf245d5 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala
@@ -26,7 +26,7 @@ import org.apache.toree.kernel.protocol.v5.content.InputReply
import org.apache.toree.kernel.protocol.v5.{HeaderBuilder, MessageType, KMBuilder, SystemActorType}
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.scalatest.concurrent.Eventually
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.time.{Milliseconds, Span}
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
index 6a5d2ea..318ade0 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
@@ -26,7 +26,7 @@ import org.mockito.AdditionalMatchers.{not => mockNot}
import org.mockito.Matchers.{eq => mockEq}
import com.typesafe.config.ConfigFactory
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import play.api.libs.json.Json
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala
index 4f1a032..278be0c 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala
@@ -27,7 +27,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content._
import org.mockito.Matchers.{anyBoolean, anyString, anyObject}
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala
index 8091ab7..44a53b7 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala
@@ -20,7 +20,7 @@ package org.apache.toree.kernel.protocol.v5.kernel
import akka.actor.{ActorSystem, Props}
import akka.testkit.{ImplicitSender, TestKit, TestProbe}
import org.apache.toree.kernel.protocol.v5.{MessageType, SocketType}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import test.utils.TestProbeProxyActor
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala
index 8c1a695..09d24f8 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala
@@ -24,7 +24,7 @@ import org.apache.toree.communication.ZMQMessage
import com.typesafe.config.ConfigFactory
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala
index 4a36b82..2fa56e5 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala
@@ -26,7 +26,7 @@ import Utilities._
import com.typesafe.config.ConfigFactory
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala
index 0a3a696..e62d41e 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala
@@ -30,7 +30,7 @@ import Utilities._
import com.typesafe.config.ConfigFactory
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketConfigSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketConfigSpec.scala
index 895f5df..3af75f6 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketConfigSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketConfigSpec.scala
@@ -20,7 +20,7 @@ package org.apache.toree.kernel.protocol.v5.kernel.socket
import com.typesafe.config.ConfigFactory
import org.scalatest.{FunSpec, Matchers}
import org.slf4j.LoggerFactory
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.{JsPath, JsValue, Json}
class SocketConfigSpec extends FunSpec with Matchers {
@@ -70,7 +70,7 @@ class SocketConfigSpec extends FunSpec with Matchers {
val CompleteRequestResults = socketConfigJson.validate[SocketConfig]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: SocketConfig) => valid
) should be (socketConfig)
}
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala
index be6b360..cb15ec0 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala
@@ -28,7 +28,7 @@ import org.apache.toree.kernel.protocol.v5Test._
import org.apache.toree.kernel.protocol.v5.{KernelMessage, SystemActorType}
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import com.typesafe.config.ConfigFactory
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, FunSpecLike}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/magic/MagicParserSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/magic/MagicParserSpec.scala
index 86d320c..2cbde5f 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/magic/MagicParserSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/magic/MagicParserSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.magic
import org.apache.toree.magic.{CellMagic, Magic, MagicManager}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala
index 95dcb3a..f52eb9e 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala
@@ -30,7 +30,7 @@ import com.typesafe.config.ConfigFactory
import org.apache.toree.plugins.PluginManager
import org.apache.toree.plugins.dependencies.DependencyManager
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import test.utils.MaxAkkaTestTimeout
import scala.concurrent.duration.Duration
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala
index bdce4ab..08075a1 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala
@@ -26,7 +26,7 @@ import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
import Utilities._
import org.mockito.Mockito._
import org.scalatest.concurrent.{PatienceConfiguration, ScalaFutures}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.time.{Millis, Seconds, Span}
import org.scalatest.{BeforeAndAfter, FunSpecLike, Matchers}
import org.mockito.Matchers.{eq => mockEq}
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala
index 072dc2d..9925225 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala
@@ -25,7 +25,7 @@ import org.apache.toree.kernel.protocol.v5.content.InputRequest
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.mockito.Mockito._
import org.scalatest._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import play.api.libs.json.Json
import test.utils._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala
index c801c0e..d669aa1 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala
@@ -26,7 +26,7 @@ import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
import org.apache.toree.utils.ScheduledTaskManager
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest._
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5.content.StreamContent
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/AddDepsSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/AddDepsSpec.scala
index a346805..c96f8d2 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/AddDepsSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/AddDepsSpec.scala
@@ -22,7 +22,7 @@ import java.net.{URI, URL}
import org.apache.toree.dependencies.{Credentials, DependencyDownloader}
import org.apache.toree.utils.ArgumentParsingSupport
import org.apache.toree.kernel.api.KernelLike
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, GivenWhenThen, Matchers}
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/AddJarSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/AddJarSpec.scala
index 5a14224..8117bcc 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/AddJarSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/AddJarSpec.scala
@@ -28,7 +28,7 @@ import org.apache.spark.SparkContext
import org.apache.toree.kernel.api.KernelLike
import org.apache.toree.plugins.PluginManager
import org.scalatest.{FunSpec, Matchers}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/BuiltinLoaderSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/BuiltinLoaderSpec.scala
index 079d525..b3192f1 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/BuiltinLoaderSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/BuiltinLoaderSpec.scala
@@ -17,7 +17,7 @@
package org.apache.toree.magic.builtin
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, FunSpec}
class BuiltinLoaderSpec extends FunSpec with Matchers with MockitoSugar {
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/DataFrameSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/DataFrameSpec.scala
index 38fde38..d3fdfdd 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/DataFrameSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/DataFrameSpec.scala
@@ -23,7 +23,7 @@ import org.apache.toree.magic.dependencies.IncludeKernelInterpreter
import org.apache.toree.utils.DataFrameConverter
import org.mockito.Matchers.{anyString, eq => mockEq, _}
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
import scala.util.Success
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/HtmlSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/HtmlSpec.scala
index 9ccfceb..5686ceb 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/HtmlSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/HtmlSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.magic.builtin
import org.apache.toree.kernel.protocol.v5.MIMEType
import org.apache.toree.magic.CellMagicOutput
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers}
class HtmlSpec extends FunSpec with Matchers with MockitoSugar {
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/JavaScriptSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/JavaScriptSpec.scala
index b97fd51..939ca61 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/JavaScriptSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/JavaScriptSpec.scala
@@ -17,7 +17,7 @@
package org.apache.toree.magic.builtin
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{FunSpec, Matchers}
import org.apache.toree.magic.CellMagicOutput
import org.apache.toree.kernel.protocol.v5.MIMEType
diff --git a/kernel/src/test/scala/org/apache/toree/magic/builtin/LSMagicSpec.scala b/kernel/src/test/scala/org/apache/toree/magic/builtin/LSMagicSpec.scala
index edd8979..283659b 100644
--- a/kernel/src/test/scala/org/apache/toree/magic/builtin/LSMagicSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/magic/builtin/LSMagicSpec.scala
@@ -25,7 +25,7 @@ import org.apache.toree.magic.dependencies.{IncludeOutputStream, IncludeInterpre
import org.apache.toree.magic.{CellMagic, LineMagic}
import org.apache.spark.SparkContext
import org.scalatest.{Matchers, FunSpec}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.mockito.Matchers._
diff --git a/kernel/src/test/scala/org/apache/toree/utils/DataFrameConverterSpec.scala b/kernel/src/test/scala/org/apache/toree/utils/DataFrameConverterSpec.scala
index 601a31c..eb5355a 100644
--- a/kernel/src/test/scala/org/apache/toree/utils/DataFrameConverterSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/utils/DataFrameConverterSpec.scala
@@ -20,9 +20,9 @@ package org.apache.toree.utils
import org.apache.spark.sql.types.StructType
import org.apache.spark.sql.{DataFrame, Row}
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterAll, FunSpec, Matchers}
-import play.api.libs.json.{JsArray, JsString, Json}
+import play.api.libs.json.{JsArray, JsDefined, JsString, JsValue, Json}
import test.utils.SparkContextProvider
import scala.collection.mutable
@@ -40,7 +40,7 @@ class DataFrameConverterSpec extends FunSpec with MockitoSugar with Matchers wit
val mockDataFrame = mock[DataFrame]
val mockRdd = spark.parallelize(Seq(Row(new mutable.WrappedArray.ofRef(Array("test1", "test2")), 2, null)))
val mockStruct = mock[StructType]
- val columns = Seq("foo", "bar").toArray
+ val columns = Array("foo", "bar")
doReturn(mockStruct).when(mockDataFrame).schema
doReturn(columns).when(mockStruct).fieldNames
@@ -51,10 +51,10 @@ class DataFrameConverterSpec extends FunSpec with MockitoSugar with Matchers wit
it("should convert to a valid JSON object") {
val someJson = dataFrameConverter.convert(mockDataFrame, "json")
val jsValue = Json.parse(someJson.get)
- jsValue \ "columns" should be (JsArray(Seq(JsString("foo"), JsString("bar"))))
- jsValue \ "rows" should be (JsArray(Seq(
+ (jsValue \ "columns").as[Array[JsValue]] should contain theSameElementsAs Array(JsString("foo"), JsString("bar"))
+ (jsValue \ "rows").as[Array[JsValue]] should contain theSameElementsAs Array(
JsArray(Seq(JsString("[test1, test2]"), JsString("2"), JsString("null")))
- )))
+ )
}
it("should convert to csv") {
val csv = dataFrameConverter.convert(mockDataFrame, "csv").get
diff --git a/kernel/src/test/scala/test/utils/StackActor.scala b/kernel/src/test/scala/test/utils/StackActor.scala
index c343649..89483d7 100644
--- a/kernel/src/test/scala/test/utils/StackActor.scala
+++ b/kernel/src/test/scala/test/utils/StackActor.scala
@@ -23,15 +23,15 @@ import akka.actor.Actor
* A stack which will block when popping items.
*/
class BlockingStack {
- private val items = new scala.collection.mutable.Stack[Any]
+ private var items = List[Any]()
/**
* Puts an item onto the stack
* @param item The item to put on the stack
*/
def put(item : Any) {
- items.synchronized{
- items push item
+ items.synchronized {
+ items = item +: items
}
}
@@ -48,12 +48,14 @@ class BlockingStack {
private def popN(count: Int) : Any = {
if(count == 0)
Option.empty
- else if( items.synchronized{ items.size == 0 }) {
+ else if( items.synchronized{ items.isEmpty }) {
Thread.sleep(100)
popN(count - 1)
} else
items.synchronized {
- items.pop()
+ val value = items.head
+ items = items.tail
+ value
}
}
}
diff --git a/plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala b/plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
index 0bfb538..20e1856 100644
--- a/plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
+++ b/plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
@@ -17,11 +17,13 @@
package org.apache.toree.plugins.dependencies
import java.net.URL
-import java.lang.{ ClassLoader => JClassLoader }
+import java.lang.{ClassLoader => JClassLoader}
+
+import scala.reflect.internal.util.ScalaClassLoader
object ClassLoaderHelper {
- def URLClassLoader(urls: Seq[URL], parent: JClassLoader) = {
+ def URLClassLoader(urls: Seq[URL], parent: JClassLoader): ScalaClassLoader.URLClassLoader = {
new scala.reflect.internal.util.ScalaClassLoader.URLClassLoader(urls, parent)
}
}
diff --git a/plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala b/plugins/src/test/scala-2.12/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
similarity index 83%
copy from plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
copy to plugins/src/test/scala-2.12/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
index 0bfb538..20e1856 100644
--- a/plugins/src/test/scala-2.11/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
+++ b/plugins/src/test/scala-2.12/org/apache/toree/plugins/dependencies/ClassLoaderHelper.scala
@@ -17,11 +17,13 @@
package org.apache.toree.plugins.dependencies
import java.net.URL
-import java.lang.{ ClassLoader => JClassLoader }
+import java.lang.{ClassLoader => JClassLoader}
+
+import scala.reflect.internal.util.ScalaClassLoader
object ClassLoaderHelper {
- def URLClassLoader(urls: Seq[URL], parent: JClassLoader) = {
+ def URLClassLoader(urls: Seq[URL], parent: JClassLoader): ScalaClassLoader.URLClassLoader = {
new scala.reflect.internal.util.ScalaClassLoader.URLClassLoader(urls, parent)
}
}
diff --git a/plugins/src/test/scala/org/apache/toree/plugins/PluginManagerSpec.scala b/plugins/src/test/scala/org/apache/toree/plugins/PluginManagerSpec.scala
index 86097c8..aacba46 100644
--- a/plugins/src/test/scala/org/apache/toree/plugins/PluginManagerSpec.scala
+++ b/plugins/src/test/scala/org/apache/toree/plugins/PluginManagerSpec.scala
@@ -21,12 +21,10 @@ import java.io.File
import org.apache.toree.plugins.dependencies.DependencyManager
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
import org.scalatest.{FunSpec, Matchers, OneInstancePerTest}
+import org.scalatestplus.mockito.MockitoSugar
import test.utils._
-import scala.util.{Failure, Success}
-
class PluginManagerSpec extends FunSpec with Matchers
with OneInstancePerTest with MockitoSugar
{
diff --git a/plugins/src/test/scala/org/apache/toree/plugins/PluginMethodResultSpec.scala b/plugins/src/test/scala/org/apache/toree/plugins/PluginMethodResultSpec.scala
index 0589aa7..2e2831a 100644
--- a/plugins/src/test/scala/org/apache/toree/plugins/PluginMethodResultSpec.scala
+++ b/plugins/src/test/scala/org/apache/toree/plugins/PluginMethodResultSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.plugins
import java.lang.reflect.Method
import org.apache.toree.plugins.annotations.{Priority, Event}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{OneInstancePerTest, Matchers, FunSpec}
import org.mockito.Mockito._
diff --git a/plugins/src/test/scala/org/apache/toree/plugins/PluginSearcherSpec.scala b/plugins/src/test/scala/org/apache/toree/plugins/PluginSearcherSpec.scala
index 690a40c..d93af27 100644
--- a/plugins/src/test/scala/org/apache/toree/plugins/PluginSearcherSpec.scala
+++ b/plugins/src/test/scala/org/apache/toree/plugins/PluginSearcherSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.plugins
import java.io.File
import org.clapper.classutil.{Modifier, ClassFinder}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{OneInstancePerTest, Matchers, FunSpec}
import org.mockito.Mockito._
diff --git a/plugins/src/test/scala/org/apache/toree/plugins/PluginSpec.scala b/plugins/src/test/scala/org/apache/toree/plugins/PluginSpec.scala
index 5ea58a7..4bee316 100644
--- a/plugins/src/test/scala/org/apache/toree/plugins/PluginSpec.scala
+++ b/plugins/src/test/scala/org/apache/toree/plugins/PluginSpec.scala
@@ -20,7 +20,7 @@ import java.lang.reflect.Method
import org.apache.toree.plugins.annotations._
import org.apache.toree.plugins.dependencies.DependencyManager
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{OneInstancePerTest, Matchers, FunSpec}
import org.mockito.Mockito._
import org.mockito.Matchers.{eq => mockEq, _}
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 3e2f342..2baa731 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -26,7 +26,7 @@ object Dependencies {
val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % "2.5.31" // Apache v2
val akkaTestkit = "com.typesafe.akka" %% "akka-testkit" % "2.5.31" // Apache v2
- val clapper = "org.clapper" %% "classutil" % "1.0.12" // BSD 3-clause license, used for detecting plugins
+ val clapper = "org.clapper" %% "classutil" % "1.5.1" // BSD 3-clause license, used for detecting plugins
val commonsExec = "org.apache.commons" % "commons-exec" % "1.3" // Apache v2
@@ -47,13 +47,13 @@ object Dependencies {
val mockito = "org.mockito" % "mockito-all" % "1.10.19" // MIT
- val playJson = "com.typesafe.play" %% "play-json" % "2.3.10" // Apache v2
+ val playJson = "com.typesafe.play" %% "play-json" % "2.7.4" // Apache v2
val scalaCompiler = Def.setting{ "org.scala-lang" % "scala-compiler" % scalaVersion.value } // BSD 3-clause
val scalaLibrary = Def.setting{ "org.scala-lang" % "scala-library" % scalaVersion.value } // BSD 3-clause
val scalaReflect = Def.setting{ "org.scala-lang" % "scala-reflect" % scalaVersion.value } // BSD 3-clause
- val scalaTest = "org.scalatest" %% "scalatest" % "2.2.6" // Apache v2
+ val scalaTest = "org.scalatest" %% "scalatest" % "3.0.8" // Apache v2
val slf4jApi = "org.slf4j" % "slf4j-api" % "1.7.21" // MIT
diff --git a/protocol/build.sbt b/protocol/build.sbt
index 0ed902e..f9da47c 100644
--- a/protocol/build.sbt
+++ b/protocol/build.sbt
@@ -22,6 +22,7 @@ libraryDependencies ++= Seq(
Dependencies.playJson excludeAll(
ExclusionRule(organization = "com.fasterxml.jackson.core")
),
+ Dependencies.jacksonDatabind,
Dependencies.slf4jApi
)
diff --git a/protocol/src/test/scala/org/apache/toree/comm/CommManagerSpec.scala b/protocol/src/test/scala/org/apache/toree/comm/CommManagerSpec.scala
index 28c91da..1bb6429 100644
--- a/protocol/src/test/scala/org/apache/toree/comm/CommManagerSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/comm/CommManagerSpec.scala
@@ -23,7 +23,7 @@ import org.apache.toree.kernel.protocol.v5.UUID
import org.apache.toree.kernel.protocol.v5.content.{CommClose, CommOpen}
import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.Answer
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, Matchers, FunSpec}
import org.mockito.Mockito._
import org.mockito.Matchers.{eq => mockEq, _}
diff --git a/protocol/src/test/scala/org/apache/toree/comm/CommRegistrarSpec.scala b/protocol/src/test/scala/org/apache/toree/comm/CommRegistrarSpec.scala
index 05e0c09..b8aa8cc 100644
--- a/protocol/src/test/scala/org/apache/toree/comm/CommRegistrarSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/comm/CommRegistrarSpec.scala
@@ -21,7 +21,7 @@ import java.util.UUID
import org.apache.toree.comm.CommCallbacks.{CloseCallback, MsgCallback, OpenCallback}
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
class CommRegistrarSpec extends FunSpec with Matchers with MockitoSugar
diff --git a/protocol/src/test/scala/org/apache/toree/comm/CommStorageSpec.scala b/protocol/src/test/scala/org/apache/toree/comm/CommStorageSpec.scala
index 2b90404..278590a 100644
--- a/protocol/src/test/scala/org/apache/toree/comm/CommStorageSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/comm/CommStorageSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.comm
import org.apache.toree.kernel.protocol.v5
import org.apache.toree.kernel.protocol.v5.UUID
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import org.scalatest.{BeforeAndAfter, Matchers, FunSpec}
diff --git a/protocol/src/test/scala/org/apache/toree/comm/CommWriterSpec.scala b/protocol/src/test/scala/org/apache/toree/comm/CommWriterSpec.scala
index c804c7b..ac155f9 100644
--- a/protocol/src/test/scala/org/apache/toree/comm/CommWriterSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/comm/CommWriterSpec.scala
@@ -22,11 +22,10 @@ import java.util.UUID
import org.apache.toree.kernel.protocol.v5
import org.apache.toree.kernel.protocol.v5._
import org.apache.toree.kernel.protocol.v5.content._
-import org.mockito.Matchers.{eq => mockEq, _}
+import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
-import org.scalatest.{FunSpec, BeforeAndAfter, Matchers}
-
+import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}
+import org.scalatestplus.mockito.MockitoSugar
class CommWriterSpec extends FunSpec with Matchers with BeforeAndAfter
with MockitoSugar
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/HeaderSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/HeaderSpec.scala
index 2903948..3fd25b1 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/HeaderSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/HeaderSpec.scala
@@ -17,9 +17,8 @@
package org.apache.toree.kernel.protocol.v5
-import org.scalatest.{Matchers, FunSpec}
-import play.api.data.validation.ValidationError
-import play.api.libs.json.{JsPath, Json, JsValue}
+import org.scalatest.{FunSpec, Matchers}
+import play.api.libs.json.{JsPath, JsValue, Json, JsonValidationError}
class HeaderSpec extends FunSpec with Matchers {
val headerJson: JsValue = Json.parse("""
@@ -63,7 +62,7 @@ class HeaderSpec extends FunSpec with Matchers {
val headerResults = headerJson.validate[Header]
headerResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: Header) => valid
) should be (header)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ClearOutputSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ClearOutputSpec.scala
index 6eeb509..c43ef74 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ClearOutputSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ClearOutputSpec.scala
@@ -19,7 +19,6 @@ package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
import play.api.libs.json._
class ClearOutputSpec extends FunSpec with Matchers {
@@ -59,7 +58,7 @@ class ClearOutputSpec extends FunSpec with Matchers {
val CompleteRequestResults = clearOutputJson.validate[ClearOutput]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ClearOutput) => valid
) should be (clearOutput)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommCloseSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommCloseSpec.scala
index 4d0ab4a..2cf0e40 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommCloseSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommCloseSpec.scala
@@ -19,7 +19,6 @@ package org.apache.toree.kernel.protocol.v5.content
import org.apache.toree.kernel.protocol.v5._
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
import play.api.libs.json._
class CommCloseSpec extends FunSpec with Matchers {
@@ -60,7 +59,7 @@ class CommCloseSpec extends FunSpec with Matchers {
val CompleteRequestResults = commCloseJson.validate[CommClose]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CommClose) => valid
) should be (commClose)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommMsgSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommMsgSpec.scala
index 1beb0dc..dafd1b7 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommMsgSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommMsgSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -87,7 +87,7 @@ class CommMsgSpec extends FunSpec with Matchers {
val CompleteRequestResults = commMsgJson.validate[CommMsg]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CommMsg) => valid
) should be (commMsg)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommOpenSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommOpenSpec.scala
index c74ec54..a604c41 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommOpenSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CommOpenSpec.scala
@@ -18,7 +18,6 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5.MsgData
@@ -61,7 +60,7 @@ class CommOpenSpec extends FunSpec with Matchers {
val CompleteRequestResults = commOpenJson.validate[CommOpen]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CommOpen) => valid
) should be (commOpen)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyErrorSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyErrorSpec.scala
index 2fb4dab..c24315d 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyErrorSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyErrorSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class CompleteReplyErrorSpec extends FunSpec with Matchers {
@@ -60,7 +60,7 @@ class CompleteReplyErrorSpec extends FunSpec with Matchers {
val CompleteReplyOkResults = completeReplyErrorJson.validate[CompleteReplyError]
CompleteReplyOkResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CompleteReplyError) => valid
) should be (completeReplyError)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyOkSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyOkSpec.scala
index 45fc5a0..607ff5a 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyOkSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplyOkSpec.scala
@@ -18,7 +18,6 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
import play.api.libs.json._
class CompleteReplyOkSpec extends FunSpec with Matchers {
@@ -57,7 +56,7 @@ class CompleteReplyOkSpec extends FunSpec with Matchers {
val CompleteReplyOkResults = completeReplyOkJson.validate[CompleteReplyOk]
CompleteReplyOkResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CompleteReplyOk) => valid
) should be (completeReplyOk)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplySpec.scala
index 88fa0d3..6e942bf 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReplySpec.scala
@@ -17,9 +17,8 @@
package org.apache.toree.kernel.protocol.v5.content
-import org.scalatest.{Matchers, FunSpec}
-import play.api.data.validation.ValidationError
-import play.api.libs.json.{JsPath, JsValue, Json}
+import org.scalatest.{FunSpec, Matchers}
+import play.api.libs.json.{JsPath, JsValue, Json, JsonValidationError}
class CompleteReplySpec extends FunSpec with Matchers {
@@ -64,7 +63,7 @@ class CompleteReplySpec extends FunSpec with Matchers {
val CompleteReplyResults = completeReplyJson.validate[CompleteReply]
CompleteReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CompleteReply) => valid
) should be (completeReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteRequestSpec.scala
index f4c30d9..fe19ed4 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/CompleteRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class CompleteRequestSpec extends FunSpec with Matchers {
@@ -59,7 +59,7 @@ class CompleteRequestSpec extends FunSpec with Matchers {
val CompleteRequestResults = completeRequestJson.validate[CompleteRequest]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: CompleteRequest) => valid
) should be (completeRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectReplySpec.scala
index ceb8874..92b5577 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectReplySpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.{JsPath, JsValue, Json}
class ConnectReplySpec extends FunSpec with Matchers {
@@ -61,7 +61,7 @@ class ConnectReplySpec extends FunSpec with Matchers {
val ConnectReplyResults = connectReplyJson.validate[ConnectReply]
ConnectReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ConnectReply) => valid
) should be (connectReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectRequestSpec.scala
index 2f341c4..580ea7d 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ConnectRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class ConnectRequestSpec extends FunSpec with Matchers {
@@ -54,7 +54,7 @@ class ConnectRequestSpec extends FunSpec with Matchers {
val ConnectRequestResults = connectRequestJson.validate[ConnectRequest]
ConnectRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ConnectRequest) => valid
) should be (connectRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/DisplayDataSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/DisplayDataSpec.scala
index 309d5ac..49e426b 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/DisplayDataSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/DisplayDataSpec.scala
@@ -20,7 +20,7 @@ package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.FunSuite
import org.scalatest.{Matchers, FunSpec}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -63,7 +63,7 @@ class DisplayDataSpec extends FunSpec with Matchers {
val displayDataResults = displayDataJson.validate[DisplayData]
displayDataResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: DisplayData) => valid
) should be (displayData)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ErrorContentSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ErrorContentSpec.scala
index 278ef8a..5f54f77 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ErrorContentSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ErrorContentSpec.scala
@@ -18,7 +18,6 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{Matchers, FunSpec}
-import play.api.data.validation.ValidationError
import play.api.libs.json._
class ErrorContentSpec extends FunSpec with Matchers {
@@ -58,7 +57,7 @@ class ErrorContentSpec extends FunSpec with Matchers {
val CompleteRequestResults = errorJson.validate[ErrorContent]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ErrorContent) => valid
) should be (error)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteInputSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteInputSpec.scala
index 58a383f..a1aed33 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteInputSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteInputSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class ExecuteInputSpec extends FunSpec with Matchers {
@@ -59,7 +59,7 @@ class ExecuteInputSpec extends FunSpec with Matchers {
val executeInputResults = executeInputJson.validate[ExecuteInput]
executeInputResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteInput) => valid
) should be (executeInput)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyAbortSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyAbortSpec.scala
index 9316c3d..c47f490 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyAbortSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyAbortSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.kernel.protocol.v5.content
import org.apache.toree.kernel.protocol.v5._
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class ExecuteReplyAbortSpec extends FunSpec with Matchers {
@@ -54,7 +54,7 @@ class ExecuteReplyAbortSpec extends FunSpec with Matchers {
val ExecuteReplyAbortResults = executeReplyAbortJson.validate[ExecuteReplyAbort]
ExecuteReplyAbortResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteReplyAbort) => valid
) should be (executeReplyAbort)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyErrorSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyErrorSpec.scala
index f67ed9a..f204e52 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyErrorSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyErrorSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -58,7 +58,7 @@ class ExecuteReplyErrorSpec extends FunSpec with Matchers {
val ExecuteReplyErrorResults = executeReplyErrorJson.validate[ExecuteReplyError]
ExecuteReplyErrorResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteReplyError) => valid
) should be (executeReplyError)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyOkSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyOkSpec.scala
index 22da3a1..56f7b6b 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyOkSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplyOkSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -57,7 +57,7 @@ class ExecuteReplyOkSpec extends FunSpec with Matchers {
val executeReplyOkResults = executeReplyOkJson.validate[ExecuteReplyOk]
executeReplyOkResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteReplyOk) => valid
) should be (executeReplyOk)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplySpec.scala
index 4009679..f08121c 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReplySpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.kernel.protocol.v5.content
import org.apache.toree.kernel.protocol.v5._
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class ExecuteReplySpec extends FunSpec with Matchers {
@@ -60,7 +60,7 @@ class ExecuteReplySpec extends FunSpec with Matchers {
val executeReplyResults = executeReplyJson.validate[ExecuteReply]
executeReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteReply) => valid
) should be (executeReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteRequestSpec.scala
index b280e1e..fdd1e66 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{Matchers, FunSpec}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -63,7 +63,7 @@ class ExecuteRequestSpec extends FunSpec with Matchers {
val executeRequestResults = executeRequestJson.validate[ExecuteRequest]
executeRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteRequest) => valid
) should be (executeRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteResultSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteResultSpec.scala
index 1f40abe..c88c00c 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteResultSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteResultSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -96,7 +96,7 @@ class ExecuteResultSpec extends FunSpec with Matchers {
val CompleteRequestResults = executeResultJson.validate[ExecuteResult]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ExecuteResult) => valid
) should be (executeResult)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryReplySpec.scala
index 56a9c7e..56d0c17 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryReplySpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -60,7 +60,7 @@ class HistoryReplySpec extends FunSpec with Matchers {
val CompleteRequestResults = historyReplyJson.validate[HistoryReply]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: HistoryReply) => valid
) should be (historyReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryRequestSpec.scala
index 6757dcc..ddadbd3 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/HistoryRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class HistoryRequestSpec extends FunSpec with Matchers {
@@ -66,7 +66,7 @@ class HistoryRequestSpec extends FunSpec with Matchers {
val CompleteRequestResults = historyRequestJson.validate[HistoryRequest]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: HistoryRequest) => valid
) should be (historyRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputReplySpec.scala
index a5770d8..d78dee5 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputReplySpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class InputReplySpec extends FunSpec with Matchers {
@@ -58,7 +58,7 @@ class InputReplySpec extends FunSpec with Matchers {
val CompleteReplyResults = inputReplyJson.validate[InputReply]
CompleteReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: InputReply) => valid
) should be (inputReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputRequestSpec.scala
index ac2a070..089184a 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InputRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class InputRequestSpec extends FunSpec with Matchers {
@@ -59,7 +59,7 @@ class InputRequestSpec extends FunSpec with Matchers {
val CompleteRequestResults = inputRequestJson.validate[InputRequest]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: InputRequest) => valid
) should be (inputRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyErrorSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyErrorSpec.scala
index 6325c3c..e00c0e5 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyErrorSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyErrorSpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.kernel.protocol.v5.content
import org.apache.toree.kernel.protocol.v5._
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class InspectReplyErrorSpec extends FunSpec with Matchers {
@@ -58,7 +58,7 @@ class InspectReplyErrorSpec extends FunSpec with Matchers {
val InspectReplyErrorResults = inspectReplyErrorJson.validate[InspectReplyError]
InspectReplyErrorResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: InspectReplyError) => valid
) should be (inspectReplyError)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyOkSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyOkSpec.scala
index 6ee2e53..7dfaed7 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyOkSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplyOkSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
import org.apache.toree.kernel.protocol.v5._
@@ -56,7 +56,7 @@ class InspectReplyOkSpec extends FunSpec with Matchers {
val InspectReplyOkResults = inspectReplyOkJson.validate[InspectReplyOk]
InspectReplyOkResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: InspectReplyOk) => valid
) should be (inspectReplyOk)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplySpec.scala
index 17e1ab2..a2e1d94 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectReplySpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class InspectReplySpec extends FunSpec with Matchers {
@@ -60,7 +60,7 @@ class InspectReplySpec extends FunSpec with Matchers {
val InspectReplyResults = inspectReplyJson.validate[InspectReply]
InspectReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: InspectReply) => valid
) should be (inspectReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectRequestSpec.scala
index 6f6ca05..3ec5c2d 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/InspectRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class InspectRequestSpec extends FunSpec with Matchers {
@@ -60,7 +60,7 @@ class InspectRequestSpec extends FunSpec with Matchers {
val InspectRequestResults = inspectRequestJson.validate[InspectRequest]
InspectRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: InspectRequest) => valid
) should be (inspectRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
index f138725..7de743f 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
@@ -19,7 +19,7 @@ package org.apache.toree.kernel.protocol.v5.content
import org.apache.toree.kernel.protocol.v5.LanguageInfo
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class KernelInfoReplySpec extends FunSpec with Matchers {
@@ -63,7 +63,7 @@ class KernelInfoReplySpec extends FunSpec with Matchers {
val kernelInfoReplyResults = kernelInfoReplyJson.validate[KernelInfoReply]
kernelInfoReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: KernelInfoReply) => valid
) should be (kernelInfoReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoRequestSpec.scala
index 64af363..6e7d78e 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class KernelInfoRequestSpec extends FunSpec with Matchers {
@@ -55,7 +55,7 @@ class KernelInfoRequestSpec extends FunSpec with Matchers {
val KernelInfoRequestResults = kernelInfoRequestJson.validate[KernelInfoRequest]
KernelInfoRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: KernelInfoRequest) => valid
) should be (kernelInfoRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelStatusSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelStatusSpec.scala
index c354b73..ab68bf9 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelStatusSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelStatusSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json.{JsPath, JsValue, Json}
class KernelStatusSpec extends FunSpec with Matchers {
@@ -56,7 +56,7 @@ class KernelStatusSpec extends FunSpec with Matchers {
val kernelStatusResults = kernelStatusJson.validate[KernelStatus]
kernelStatusResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: KernelStatus) => valid
) should be (kernelStatus)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownReplySpec.scala
index 13f72c1..b543ee9 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownReplySpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class ShutdownReplySpec extends FunSpec with Matchers {
@@ -58,7 +58,7 @@ class ShutdownReplySpec extends FunSpec with Matchers {
val ShutdownReplyResults = shutdownReplyJson.validate[ShutdownReply]
ShutdownReplyResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ShutdownReply) => valid
) should be (shutdownReply)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownRequestSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownRequestSpec.scala
index fa4caa6..4e5128d 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownRequestSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/ShutdownRequestSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class ShutdownRequestSpec extends FunSpec with Matchers {
@@ -58,7 +58,7 @@ class ShutdownRequestSpec extends FunSpec with Matchers {
val ShutdownRequestResults = shutdownRequestJson.validate[ShutdownRequest]
ShutdownRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: ShutdownRequest) => valid
) should be (shutdownRequest)
}
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/StreamContentSpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/StreamContentSpec.scala
index 376b073..9d77080 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/StreamContentSpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/StreamContentSpec.scala
@@ -18,7 +18,7 @@
package org.apache.toree.kernel.protocol.v5.content
import org.scalatest.{FunSpec, Matchers}
-import play.api.data.validation.ValidationError
+import play.api.libs.json.JsonValidationError
import play.api.libs.json._
class StreamContentSpec extends FunSpec with Matchers {
@@ -57,7 +57,7 @@ class StreamContentSpec extends FunSpec with Matchers {
val CompleteRequestResults = streamJson.validate[StreamContent]
CompleteRequestResults.fold(
- (invalid: Seq[(JsPath, Seq[ValidationError])]) => println("Failed!"),
+ (invalid: Seq[(JsPath, Seq[JsonValidationError])]) => println("Failed!"),
(valid: StreamContent) => valid
) should be (stream)
}
diff --git a/scala-interpreter/src/main/scala-2.12/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.12/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
new file mode 100644
index 0000000..2d7f68b
--- /dev/null
+++ b/scala-interpreter/src/main/scala-2.12/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -0,0 +1,452 @@
+/*
+ * 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.interpreter.scala
+
+import java.io._
+import java.net.URL
+
+import org.apache.toree.global.StreamState
+import org.apache.toree.interpreter.imports.printers.{WrapperConsole, WrapperSystem}
+import org.apache.toree.interpreter.{ExecuteError, Interpreter}
+import scala.tools.nsc.interpreter._
+import scala.concurrent.Future
+import scala.tools.nsc.{Global, Settings, util}
+import scala.util.Try
+
+trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpreter =>
+ private val ExecutionExceptionName = "lastException"
+
+ private[toree] var iMain: IMain = _
+ private var completer: PresentationCompilerCompleter = _
+ private val exceptionHack = new ExceptionHack()
+
+ def _runtimeClassloader = {
+ _thisClassloader
+ }
+
+ protected def newIMain(settings: Settings, out: JPrintWriter): IMain = {
+ val s = new IMain(settings, out)
+ s.initializeSynchronous()
+ s
+ }
+
+ protected def convertAnnotationsToModifiers(
+ annotationInfos: List[Global#AnnotationInfo]
+ ) = annotationInfos map {
+ case a if a.toString == "transient" => "@transient"
+ case a =>
+ logger.debug(s"Ignoring unknown annotation: $a")
+ ""
+ } filterNot {
+ _.isEmpty
+ }
+
+ protected def convertScopeToModifiers(scopeSymbol: Global#Symbol) = {
+ (if (scopeSymbol.isImplicit) "implicit" else "") ::
+ Nil
+ }
+
+ protected def buildModifierList(termNameString: String) = {
+ import scala.language.existentials
+ val termSymbol = iMain.symbolOfTerm(termNameString)
+
+
+ convertAnnotationsToModifiers(
+ if (termSymbol.hasAccessorFlag) termSymbol.accessed.annotations
+ else termSymbol.annotations
+ ) ++ convertScopeToModifiers(termSymbol)
+ }
+
+
+ protected def refreshDefinitions(): Unit = {
+ iMain.definedTerms.foreach(termName => {
+ val termNameString = termName.toString
+ val termTypeString = iMain.typeOfTerm(termNameString).toLongString
+ iMain.valueOfTerm(termNameString) match {
+ case Some(termValue) =>
+ val modifiers = buildModifierList(termNameString)
+ logger.debug(s"Rebinding of $termNameString as " +
+ s"${modifiers.mkString(" ")} $termTypeString")
+ Try(iMain.beSilentDuring {
+ iMain.bind(
+ termNameString, termTypeString, termValue, modifiers
+ )
+ })
+ case None =>
+ logger.debug(s"Ignoring rebinding of $termNameString")
+ }
+ })
+ }
+
+ protected def reinitializeSymbols(): Unit = {
+ val global = iMain.global
+ import global._
+ new Run // Initializes something needed for Scala classes
+ }
+
+ /**
+ * Adds jars to the runtime and compile time classpaths. Does not work with
+ * directories or expanding star in a path.
+ * @param jars The list of jar locations
+ */
+ override def addJars(jars: URL*): Unit = {
+ iMain.addUrlsToClassPath(jars:_*)
+ // the Scala interpreter will invalidate definitions for any package defined in
+ // the new Jars. This can easily include org.* and make the kernel inaccessible
+ // because it is bound using the previous package definition. To avoid problems,
+ // it is necessary to refresh variable definitions to use the new packages and
+ // to rebind the global definitions.
+ refreshDefinitions()
+ bindVariables()
+ }
+
+ /**
+ * Binds a variable in the interpreter to a value.
+ * @param variableName The name to expose the value in the interpreter
+ * @param typeName The type of the variable, must be the fully qualified class name
+ * @param value The value of the variable binding
+ * @param modifiers Any annotation, scoping modifiers, etc on the variable
+ */
+ override def bind(
+ variableName: String,
+ typeName: String,
+ value: Any,
+ modifiers: List[String]
+ ): Unit = {
+ logger.warn(s"Binding $modifiers $variableName $typeName $value")
+ require(iMain != null)
+ val sIMain = iMain
+
+ val bindRep = new sIMain.ReadEvalPrint()
+ iMain.interpret(s"import $typeName")
+ bindRep.compile("""
+ |object %s {
+ | var value: %s = _
+ | def set(x: Any) = value = x.asInstanceOf[%s]
+ |}
+ """.stripMargin.format(bindRep.evalName, typeName, typeName)
+ )
+ bindRep.callEither("set", value) match {
+ case Left(ex) =>
+ logger.error("Set failed in bind(%s, %s, %s)".format(variableName, typeName, value))
+ logger.error(util.stackTraceString(ex))
+ IR.Error
+
+ case Right(_) =>
+ val line = "%sval %s = %s.value".format(modifiers map (_ + " ") mkString, variableName, bindRep.evalPath)
+ logger.debug("Interpreting: " + line)
+ iMain.interpret(line)
+ }
+
+ }
+
+
+ /**
+ * Executes body and will not print anything to the console during the execution
+ * @param body The function to execute
+ * @tparam T The return type of body
+ * @return The return value of body
+ */
+ override def doQuietly[T](body: => T): T = {
+ require(iMain != null)
+ iMain.beQuietDuring[T](body)
+ }
+
+
+ /**
+ * Stops the interpreter, removing any previous internal state.
+ * @return A reference to the interpreter
+ */
+ override def stop(): Interpreter = {
+ logger.info("Shutting down interpreter")
+
+ // Shut down the task manager (kills current execution
+ if (taskManager != null) taskManager.stop()
+ taskManager = null
+
+ // Erase our completer
+ completer = null
+
+ // Close the entire interpreter (loses all state)
+ if (iMain != null) iMain.close()
+ iMain = null
+
+ this
+ }
+
+ /**
+ * Returns the name of the variable created from the last execution.
+ * @return Some String name if a variable was created, otherwise None
+ */
+ override def lastExecutionVariableName: Option[String] = {
+ require(iMain != null)
+
+ // TODO: Get this API method changed back to public in Apache Spark
+ val lastRequestMethod = classOf[IMain].getDeclaredMethod("lastRequest")
+ lastRequestMethod.setAccessible(true)
+
+ val mostRecentVariableName = iMain.mostRecentVar
+
+ iMain.allDefinedNames.map(_.toString).find(_ == mostRecentVariableName)
+ }
+
+ /**
+ * Mask the Console and System objects with our wrapper implementations
+ * and dump the Console methods into the public namespace (similar to
+ * the Predef approach).
+ * @param in The new input stream
+ * @param out The new output stream
+ * @param err The new error stream
+ */
+ override def updatePrintStreams(
+ in: InputStream,
+ out: OutputStream,
+ err: OutputStream
+ ): Unit = {
+ val inReader = new BufferedReader(new InputStreamReader(in))
+ val outPrinter = new PrintStream(out)
+ val errPrinter = new PrintStream(err)
+
+ iMain.beQuietDuring {
+ iMain.bind(
+ "Console", classOf[WrapperConsole].getName,
+ new WrapperConsole(inReader, outPrinter, errPrinter),
+ List("""@transient""")
+ )
+ iMain.bind(
+ "System", classOf[WrapperSystem].getName,
+ new WrapperSystem(in, out, err),
+ List("""@transient""")
+ )
+ iMain.interpret("import Console._")
+ }
+ }
+
+ /**
+ * Retrieves the contents of the variable with the provided name from the
+ * interpreter.
+ * @param variableName The name of the variable whose contents to read
+ * @return An option containing the variable contents or None if the
+ * variable does not exist
+ */
+ override def read(variableName: String): Option[Any] = {
+ require(iMain != null)
+
+ try {
+ iMain.valueOfTerm(variableName)
+ } catch {
+ // if any error returns None
+ case e: Throwable => {
+ logger.debug(s"Error reading variable name: ${variableName}", e)
+ clearLastException()
+ None
+ }
+ }
+ }
+
+ /**
+ * Starts the interpreter, initializing any internal state.
+ * @return A reference to the interpreter
+ */
+ override def start(): Interpreter = {
+ require(iMain == null && taskManager == null)
+
+ taskManager = newTaskManager()
+
+ logger.debug("Initializing task manager")
+ taskManager.start()
+
+ iMain = newIMain(settings, new JPrintWriter(lastResultOut, true))
+
+ //logger.debug("Initializing interpreter")
+ //iMain.initializeSynchronous()
+
+ logger.debug("Initializing completer")
+ completer = new PresentationCompilerCompleter(iMain)
+
+ iMain.beQuietDuring {
+ //logger.info("Rerouting Console and System related input and output")
+ //updatePrintStreams(System.in, multiOutputStream, multiOutputStream)
+
+ // ADD IMPORTS generates too many classes, client is responsible for adding import
+ logger.debug("Adding org.apache.spark.SparkContext._ to imports")
+ iMain.interpret("import org.apache.spark.SparkContext._")
+
+ logger.debug("Adding the hack for the exception handling retrieval.")
+ iMain.bind("_exceptionHack", classOf[ExceptionHack].getName, exceptionHack, List("@transient"))
+ }
+
+ this
+ }
+
+ /**
+ * 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]) = {
+
+ require(completer != null)
+
+ logger.debug(s"Attempting code completion for ${code}")
+ val result = completer.complete(code, pos)
+
+ (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 result = iMain.beSilentDuring {
+ val parse = iMain.parse
+ parse(code) match {
+ case t: parse.Error => ("invalid", "")
+ case t: parse.Success =>
+ val lines = code.split("\n", -1)
+ val numLines = lines.length
+ // for multiline code blocks, require an empty line before executing
+ // to mimic the behavior of ipython
+ if (numLines > 1 && lines.last.matches("\\s*\\S.*")) {
+ ("incomplete", startingWhiteSpace(lines.last))
+ } else {
+ ("complete", "")
+ }
+ case t: parse.Incomplete =>
+ val lines = code.split("\n", -1)
+ // For now lets just grab the indent of the current line, if none default to 2 spaces.
+ ("incomplete", startingWhiteSpace(lines.last))
+ }
+ }
+ lastResultOut.reset()
+ result
+ }
+
+ private def startingWhiteSpace(line: String): String = {
+ val indent = "^\\s+".r.findFirstIn(line).getOrElse("")
+ // increase the indent if the line ends with => or {
+ if (line.matches(".*(?:(?:\\{)|(?:=>))\\s*")) {
+ indent + " "
+ } else {
+ indent
+ }
+ }
+
+ override def newSettings(args: List[String]): Settings = {
+ val s = new Settings()
+
+ val dir = ScalaInterpreter.ensureTemporaryFolder()
+
+ s.processArguments(args ++
+ List(
+ "-Yrepl-class-based",
+ "-Yrepl-outdir", s"$dir"
+ // useful for debugging compiler classpath or package issues
+ // "-uniqid", "-explaintypes", "-usejavacp", "-Ylog-classpath"
+ ), processAll = true)
+ s
+ }
+
+ protected def interpretAddTask(code: String, silent: Boolean): Future[IR.Result] = {
+ if (iMain == null) throw new IllegalArgumentException("Interpreter not started yet!")
+
+ taskManager.add {
+ // Add a task using the given state of our streams
+ StreamState.withStreams {
+ if (silent) {
+ iMain.beSilentDuring {
+ iMain.interpret(code)
+ }
+ } else {
+ iMain.interpret(code)
+ }
+ }
+ }
+ }
+
+ private def retrieveLastException: Throwable = {
+ iMain.beSilentDuring {
+ iMain.interpret("_exceptionHack.lastException = lastException")
+ }
+ exceptionHack.lastException
+ }
+
+ private def clearLastException(): Unit = {
+ iMain.directBind(
+ ExecutionExceptionName,
+ classOf[Throwable].getName,
+ null
+ )
+ exceptionHack.lastException = null
+ }
+
+ protected def interpretConstructExecuteError(output: String) = {
+ Option(retrieveLastException) match {
+ // Runtime error
+ case Some(e) =>
+ val ex = e.asInstanceOf[Throwable]
+ clearLastException()
+
+ // The scala REPL does a pretty good job of returning us a stack trace that is free from all the bits that the
+ // interpreter uses before it.
+ //
+ // The REPL emits its message as something like this, so trim off the first and last element
+ //
+ // java.lang.ArithmeticException: / by zero
+ // at failure(<console>:17)
+ // at call_failure(<console>:19)
+ // ... 40 elided
+
+ val formattedException = output.split("\n")
+
+ ExecuteError(
+ ex.getClass.getName,
+ ex.getLocalizedMessage,
+ formattedException.slice(1, formattedException.size - 1).toList
+ )
+ // Compile time error, need to check internal reporter
+ case _ =>
+ if (iMain.reporter.hasErrors)
+ // TODO: This wrapper is not needed when just getting compile
+ // error that we are not parsing... maybe have it be purely
+ // output and have the error check this?
+ ExecuteError(
+ "Compile Error", output, List()
+ )
+ else
+ // May as capture the output here. Could be useful
+ ExecuteError("Unknown Error", output, List())
+ }
+ }
+}
+
+/**
+ * Due to a bug in the scala interpreter under scala 2.11 (SI-8935) with IMain.valueOfTerm we can hack around it by
+ * binding an instance of ExceptionHack into iMain and interpret the "_exceptionHack.lastException = lastException".
+ * This makes it possible to extract the exception.
+ *
+ * TODO: Revisit this once Scala 2.12 is released.
+ */
+class ExceptionHack {
+ var lastException: Throwable = _
+}
diff --git a/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala b/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
index cf763d8..89d0482 100644
--- a/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
+++ b/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
@@ -193,12 +193,12 @@ class ScalaInterpreter(private val config:Config = ConfigFactory.load) extends I
showType: Boolean = KernelOptions.showTypes, // false
noTruncate: Boolean = KernelOptions.noTruncation, // false
showOutput: Boolean = KernelOptions.showOutput // true
- ): (Option[AnyRef], Option[String], Option[String]) = {
+ ): (Option[Any], Option[String], Option[String]) = {
if (interpreterOutput.isEmpty) {
return (None, None, None)
}
- var lastResult = Option.empty[AnyRef]
+ var lastResult = Option.empty[Any]
var lastResultAsString = ""
val definitions = new StringBuilder
val text = new StringBuilder
diff --git a/scala-interpreter/src/test/scala/integration/interpreter/scala/AddExternalJarMagicSpecForIntegration.scala b/scala-interpreter/src/test/scala/integration/interpreter/scala/AddExternalJarMagicSpecForIntegration.scala
index d2f7d8d..fd96c54 100644
--- a/scala-interpreter/src/test/scala/integration/interpreter/scala/AddExternalJarMagicSpecForIntegration.scala
+++ b/scala-interpreter/src/test/scala/integration/interpreter/scala/AddExternalJarMagicSpecForIntegration.scala
@@ -25,7 +25,7 @@ import org.apache.toree.global.StreamState
import org.apache.toree.interpreter._
import org.apache.toree.kernel.api.KernelLike
import org.apache.toree.kernel.interpreter.scala.ScalaInterpreter
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpec, Ignore, Matchers}
@SbtForked
diff --git a/scala-interpreter/src/test/scala/integration/interpreter/scala/JVMReprSpec.scala b/scala-interpreter/src/test/scala/integration/interpreter/scala/JVMReprSpec.scala
index fbd0292..0d10834 100644
--- a/scala-interpreter/src/test/scala/integration/interpreter/scala/JVMReprSpec.scala
+++ b/scala-interpreter/src/test/scala/integration/interpreter/scala/JVMReprSpec.scala
@@ -29,7 +29,7 @@ import org.apache.toree.kernel.api.{DisplayMethodsLike, KernelLike}
import org.apache.toree.kernel.interpreter.scala.ScalaInterpreter
import org.mockito.Mockito.doReturn
import org.scalatest.{BeforeAndAfter, FunSpec, Ignore, Matchers}
-import org.scalatest.mock.MockitoSugar
+import org.scalatestplus.mockito.MockitoSugar
import scala.util.Random
diff --git a/sql-interpreter/src/main/scala/org/apache/toree/magic/builtin/Sql.scala b/sql-interpreter/src/main/scala/org/apache/toree/magic/builtin/Sql.scala
index 1d96494..e56dffa 100644
--- a/sql-interpreter/src/main/scala/org/apache/toree/magic/builtin/Sql.scala
+++ b/sql-interpreter/src/main/scala/org/apache/toree/magic/builtin/Sql.scala
@@ -23,6 +23,8 @@ import org.apache.toree.magic.{CellMagic, MagicOutput}
import org.apache.toree.magic.dependencies.IncludeKernel
import org.apache.toree.plugins.annotations.Event
+import scala.tools.nsc.interpreter
+
/**
* Represents the magic interface to use the SQL interpreter.
*/
@@ -38,7 +40,7 @@ class Sql extends CellMagic with IncludeKernel {
val scala = kernel.interpreter("Scala")
val evaluated = if (scala.nonEmpty && scala.get != null) {
val scalaInterpreter = scala.get.asInstanceOf[ScalaInterpreter]
- scalaInterpreter.iMain.eval("s\"" + code.replace("\n", " ") + "\"").asInstanceOf[String]
+ scalaInterpreter.iMain.valueOfTerm("s\"" + code.replace("\n", " ") + "\"").asInstanceOf[String]
} else {
code
}
@@ -48,7 +50,7 @@ class Sql extends CellMagic with IncludeKernel {
val (_, output) = sqlInterpreter.interpret(evaluated)
output match {
case Left(executeOutput) =>
- MagicOutput(executeOutput.toSeq:_*)
+ MagicOutput(executeOutput.toSeq: _*)
case Right(executeFailure) => executeFailure match {
case executeAborted: ExecuteAborted =>
throw new SqlException("SQL code was aborted!")