diff --git a/pom.xml b/pom.xml index a5c3320..157f9eb 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ eu.fakod - sjersey_2.10 + sjersey_2.11 0.4.2-SNAPSHOT jar https://github.com/FaKod/sjersey @@ -17,10 +17,11 @@ Jersey Support for Scala ${scala.version} - 2.10.3 - 2.10 - 2.3.1 - 2.5.1 + 2.11.6 + 2.11 + 2.5.2 + 2.17 + 2.4.17 @@ -76,34 +77,40 @@ org.slf4j slf4j-api - 1.6.2 + 1.7.12 org.slf4j slf4j-nop - 1.6.2 + 1.7.12 test org.mockito mockito-all - 1.9.0 + 1.10.19 test org.specs2 - specs2_${scala.version.short} - 1.14 + specs2-core_${scala.version.short} + ${specs2.version} + test + + + org.specs2 + specs2-junit_${scala.version.short} + ${specs2.version} test junit junit - 4.7 + 4.12 test @@ -173,7 +180,7 @@ net.alchim31.maven scala-maven-plugin - 3.1.0 + 3.2.0 incremental diff --git a/src/main/scala/eu/fakod/sjersey/inject/ScalaCollectionsQueryParamFactoryProvider.scala b/src/main/scala/eu/fakod/sjersey/inject/ScalaCollectionsQueryParamFactoryProvider.scala index 5c05913..dd12408 100644 --- a/src/main/scala/eu/fakod/sjersey/inject/ScalaCollectionsQueryParamFactoryProvider.scala +++ b/src/main/scala/eu/fakod/sjersey/inject/ScalaCollectionsQueryParamFactoryProvider.scala @@ -1,6 +1,7 @@ package eu.fakod.sjersey.inject import javax.ws.rs.QueryParam +import org.glassfish.jersey.internal.inject.ExtractorException import org.glassfish.jersey.server.model.Parameter import org.glassfish.jersey.server.internal.inject._ import org.glassfish.jersey.server.ParamException diff --git a/src/main/scala/eu/fakod/sjersey/providers/JacksonProvider.scala b/src/main/scala/eu/fakod/sjersey/providers/JacksonProvider.scala index 6ef5d3b..f721113 100644 --- a/src/main/scala/eu/fakod/sjersey/providers/JacksonProvider.scala +++ b/src/main/scala/eu/fakod/sjersey/providers/JacksonProvider.scala @@ -1,15 +1,15 @@ package eu.fakod.sjersey.providers import javax.ws.rs.ext.Provider -import java.lang.reflect.{Type} +import java.lang.reflect.Type import java.lang.annotation.Annotation import java.io.{IOException, InputStream, OutputStream} +import com.fasterxml.jackson.databind.JsonMappingException import org.slf4j.LoggerFactory import javax.ws.rs.{WebApplicationException, Consumes, Produces} import javax.ws.rs.core.{Response, MultivaluedMap, MediaType} import javax.ws.rs.core.Response.Status import scala.reflect.Manifest -import com.fasterxml.jackson.core.JsonParseException import eu.fakod.sjersey.util.JacksonDeAndSerializer import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider @@ -30,7 +30,7 @@ class JacksonProvider[A] extends AbstractMessageReaderWriterProvider[A] with Jac try { deserialize(entityStream)(Manifest.classType(klass)) } catch { - case e: JsonParseException => { + case e: JsonMappingException => { throw new WebApplicationException(Response.status(Status.BAD_REQUEST) .entity(e.getMessage) .build) diff --git a/src/test/scala/eu/fakod/sjersey/integration/spec/SJerseyIntegrationSpec.scala b/src/test/scala/eu/fakod/sjersey/integration/spec/SJerseyIntegrationSpec.scala index 75d5545..a955683 100644 --- a/src/test/scala/eu/fakod/sjersey/integration/spec/SJerseyIntegrationSpec.scala +++ b/src/test/scala/eu/fakod/sjersey/integration/spec/SJerseyIntegrationSpec.scala @@ -21,11 +21,12 @@ class SJerseyIntegrationSpec extends SJerseyTestBase { List("set", "list", "vector", "seq", "indexedset").foreach { settype => val client = ClientBuilder.newClient - val target = client.target("http://localhost:8080").path("sjersey_2.10/testresource/" + settype). + val target = client.target("http://localhost:8080").path("sjersey_2.11/testresource/" + settype). queryParam("name", "1").queryParam("name", "2") val resp = target.request().get[String](classOf[String]) resp must be_==("1, 2") } + ok } } @@ -37,7 +38,7 @@ class SJerseyIntegrationSpec extends SJerseyTestBase { clientConfig.register(classOf[JacksonProvider[_]]) val client = ClientBuilder.newClient(clientConfig) - val target = client.target("http://localhost:8080").path("sjersey_2.10/testresource/") + val target = client.target("http://localhost:8080").path("sjersey_2.11/testresource/") val cc = SjerseyTest("1", 1, 2, true) val resp = target.request().post[SjerseyTest](Entity.entity(cc, MediaType.APPLICATION_JSON), classOf[SjerseyTest])