Skip to content

Issue #64 fix rest of compilation errors #89

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Feb 28, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package org.zalando.jsonapi.akka.http

import org.scalatest.{ FlatSpec, Matchers }
import akka.http.scaladsl.testkit.ScalatestRouteTest
import akka.http.scaladsl.server.Directives._
import spray.json._
import akka.http.scaladsl.model.MediaTypes.`application/vnd.api+json`
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.scalatest.{FlatSpec, Matchers}
import org.zalando.jsonapi.akka.http.AkkaHttpJsonapiSupport._
import org.zalando.jsonapi.json.Person
import spray.json._

class AkkaHttpExampleSpec extends FlatSpec with Matchers with ScalatestRouteTest {

Expand Down
20 changes: 13 additions & 7 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ lazy val core = project.in(file("core")).
settings(commonSettings: _*).
settings(libraryDependencies ++= coreDeps)

lazy val `spray-json` = project.in(file("spray-json")).
dependsOn(core % "test->test;compile->compile").
settings(moduleName := "scala-jsonapi-spray-json").
settings(commonSettings: _*).
settings(libraryDependencies ++= sprayJsonDeps)

lazy val spray = project.in(file("spray")).
dependsOn(core % "test->test;compile->compile", `spray-json`).
dependsOn(core % "test->test;compile->compile").
settings(moduleName := "scala-jsonapi-spray").
settings(commonSettings: _*).
settings(libraryDependencies ++= sprayDeps)

lazy val `spray-json` = project.in(file("spray-json")).
dependsOn(core % "test->test;compile->compile", spray).
settings(moduleName := "scala-jsonapi-spray-json").
settings(commonSettings: _*).
settings(libraryDependencies ++= sprayJsonDeps)

lazy val circe = project.in(file("circe")).
dependsOn(core % "test->test;compile->compile", spray).
settings(moduleName := "scala-jsonapi-circe").
Expand All @@ -44,6 +44,12 @@ lazy val `akka-http` = project.in(file("akka-http")).
settings(commonSettings: _*).
settings(libraryDependencies ++= akkaHttpDeps)

lazy val play = project.in(file("play")).
dependsOn(core % "test->test;compile->compile").
settings(moduleName := "scala-jsonapi-play").
settings(commonSettings: _*).
settings(libraryDependencies ++= playDeps)

coverageMinimum := 80

coverageFailOnMinimum := true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ import spray.httpx.marshalling.Marshaller
import spray.httpx.unmarshalling.Unmarshaller

trait CirceJsonapiSupport extends CirceJsonapiEncoders with CirceJsonapiDecoders {
implicit val circeJsonapiMarshaller = Marshaller.delegate[RootObject, String](
implicit val circeJsonapiMarshaller: Marshaller[RootObject] = Marshaller.delegate[RootObject, String](
`application/vnd.api+json`,
`application/json`,
ContentTypes.`application/json`
)(_.asJson.noSpaces)
implicit val circeJsonapiUnmarshaller = Unmarshaller.delegate[String, RootObject](
implicit val circeJsonapiUnmarshaller: Unmarshaller[RootObject] = Unmarshaller.delegate[String, RootObject](
`application/vnd.api+json`,
`application/json`
)(decode[RootObject](_).right.get)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import org.scalactic.TypeCheckedTripleEquals
import org.scalatest.{EitherValues, MustMatchers, WordSpec}
import org.zalando.jsonapi.{JsonapiRootObjectReader, JsonapiRootObjectWriter}
import org.zalando.jsonapi.model.{JsonApiObject, JsonApiProperty, RootObject}
import org.zalando.jsonapi.spray.SprayJsonapiSupport
import org.zalando.jsonapi.spray.SprayJsonapiSupport._
import spray.http.HttpEntity
import spray.http.MediaTypes._
import spray.httpx.marshalling._
import spray.httpx.unmarshalling._

class CirceJsonapiSupportSpec extends WordSpec with MustMatchers with TypeCheckedTripleEquals with EitherValues with CirceJsonapiSupport with SprayJsonapiSupport {
class CirceJsonapiSupportSpec extends WordSpec with MustMatchers with TypeCheckedTripleEquals with EitherValues with CirceJsonapiSupport {
implicit def jsonapiRootObjectMarshaller: Marshaller[RootObject] = circeJsonapiMarshaller
implicit def jsonapiRootObjectUnmarshaller: Unmarshaller[RootObject] = circeJsonapiUnmarshaller

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@ import org.zalando.jsonapi.model.RootObject
import spray.httpx.marshalling.Marshaller
import spray.httpx.unmarshalling.Unmarshaller

class PlayJsonJsonapiSupportSpec extends JsonapiSupportSpec {
override def jsonapiSupportClassName: String = "PlayJsonJsonapiSupport"
class PlayJsonJsonapiSupportSpec {
implicit def jsonapiRootObjectMarshaller: Marshaller[RootObject] = PlayJsonJsonapiSupport.playJsonJsonapiMarshaller

override implicit def jsonapiRootObjectMarshaller: Marshaller[RootObject] = PlayJsonJsonapiSupport.playJsonJsonapiMarshaller

override implicit def jsonapiRootObjectUnmarshaller: Unmarshaller[RootObject] = PlayJsonJsonapiSupport.playJsonJsonapiUnmarshaller
implicit def jsonapiRootObjectUnmarshaller: Unmarshaller[RootObject] = PlayJsonJsonapiSupport.playJsonJsonapiUnmarshaller
}
2 changes: 2 additions & 0 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,6 @@ object Dependencies {
lazy val sprayJsonDeps = Seq(sprayJson)

lazy val akkaHttpDeps = Seq(akkaHttpCore, akkaHttpExperimental, akkaHttpTestkit, sprayJson)

lazy val playDeps = Seq(playJson, sprayHttpx)
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.zalando.jsonapi.spray
package org.zalando.jsonapi.sprayjson

import org.zalando.jsonapi.model.RootObject
import org.zalando.jsonapi.sprayjson.SprayJsonJsonapiFormat
import spray.http.MediaTypes.`application/vnd.api+json`
import spray.httpx.marshalling.Marshaller
import spray.httpx.unmarshalling.Unmarshaller
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package org.zalando.jsonapi.sprayjson

import org.zalando.jsonapi.json.JsonapiSupportSpec
import org.zalando.jsonapi.spray.SprayJsonJsonapiSupport
import spray.json.CompactPrinter

class SprayJsonJsonapiSupportSpec extends JsonapiSupportSpec {
class SprayJsonJsonapiSupportSpec {
implicit val printer = CompactPrinter
override implicit def jsonapiRootObjectMarshaller = SprayJsonJsonapiSupport.sprayJsonJsonapiMarshaller
override implicit def jsonapiRootObjectUnmarshaller = SprayJsonJsonapiSupport.sprayJsonJsonapiUnmarshaller
override def jsonapiSupportClassName = "SprayJsonJsonapiSupport"
implicit def jsonapiRootObjectMarshaller = SprayJsonJsonapiSupport.sprayJsonJsonapiMarshaller
implicit def jsonapiRootObjectUnmarshaller = SprayJsonJsonapiSupport.sprayJsonJsonapiUnmarshaller
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ trait SprayJsonapiSupport {
}

object SprayJsonapiSupport extends SprayJsonapiSupport {
implicit def jsonapiSprayMarshaller[T: JsonapiRootObjectWriter]: Marshaller[T] = jsonapiSprayMarshaller
implicit def jsonapiSprayMarshallerImplicit[T: JsonapiRootObjectWriter](implicit m: Marshaller[RootObject])
: Marshaller[T] = jsonapiSprayMarshaller

implicit def jsonapiSprayUnmarshaller[T: JsonapiRootObjectReader]: Unmarshaller[T] = jsonapiSprayUnmarshaller
implicit def jsonapiSprayUnmarshallerImplicit[T: JsonapiRootObjectReader](implicit u: Unmarshaller[RootObject])
: Unmarshaller[T] = jsonapiSprayUnmarshaller
}

This file was deleted.