org.json4s.MappingException Scala Examples
The following examples show how to use org.json4s.MappingException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
Example 1
Source File: FeatureJsonHelperTest.scala From TransmogrifAI with BSD 3-Clause "New" or "Revised" License | 5 votes |
package com.salesforce.op.features import com.salesforce.op._ import com.salesforce.op.test.{PassengerFeaturesTest, TestCommon} import org.json4s.MappingException import org.junit.runner.RunWith import org.scalatest.FlatSpec import org.scalatest.junit.JUnitRunner @RunWith(classOf[JUnitRunner]) class FeatureJsonHelperTest extends FlatSpec with PassengerFeaturesTest with TestCommon { trait DifferentParents { val feature = height + weight val stages = Map(feature.originStage.uid -> feature.originStage) val features = Map(height.uid -> height, weight.uid -> weight) } trait SameParents { val feature = height + height val stages = Map(feature.originStage.uid -> feature.originStage) val features = Map(height.uid -> height, height.uid -> height) } Spec(FeatureJsonHelper.getClass) should "serialize/deserialize a feature properly" in new DifferentParents { val json = feature.toJson() val parsedFeature = FeatureJsonHelper.fromJsonString(json, stages, features) if (parsedFeature.isFailure) fail(s"Failed to deserialize from json: $json", parsedFeature.failed.get) val res = parsedFeature.get res shouldBe a[Feature[_]] res.equals(feature) shouldBe true res.uid shouldBe feature.uid res.wtt.tpe =:= feature.wtt.tpe shouldBe true } it should "deserialize a set of parent features from one reference" in new SameParents { val json = feature.toJson() val parsedFeature = FeatureJsonHelper.fromJsonString(feature.toJson(), stages, features) if (parsedFeature.isFailure) fail(s"Failed to deserialize from json: $json", parsedFeature.failed.get) val res = parsedFeature.get res.equals(feature) shouldBe true res.wtt.tpe =:= feature.wtt.tpe shouldBe true } it should "fail to deserialize invalid json" in new DifferentParents { val res = FeatureJsonHelper.fromJsonString("{}", stages, features) res.isFailure shouldBe true res.failed.get shouldBe a[MappingException] } it should "fail when origin stage is not found" in new DifferentParents { val res = FeatureJsonHelper.fromJsonString(feature.toJson(), stages = Map.empty, features) res.isFailure shouldBe true res.failed.get shouldBe a[RuntimeException] } it should "fail when not all parents are found" in new DifferentParents { val res = FeatureJsonHelper.fromJsonString(feature.toJson(), stages, features = Map.empty) res.isFailure shouldBe true res.failed.get shouldBe a[RuntimeException] } }
Example 2
Source File: VinylDNSRouteTestHelper.scala From vinyldns with Apache License 2.0 | 5 votes |
package vinyldns.api.route import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpResponse, StatusCodes} import akka.http.scaladsl.server.Directives.{complete, extractUnmatchedPath} import akka.http.scaladsl.server.{MalformedRequestContentRejection, RejectionHandler} import akka.http.scaladsl.testkit.ScalatestRouteTest import org.json4s.MappingException trait VinylDNSRouteTestHelper { this: ScalatestRouteTest => import scala.concurrent.duration._ import akka.http.scaladsl.testkit.RouteTestTimeout implicit val testTimeout = RouteTestTimeout(10.seconds) implicit def validationRejectionHandler: RejectionHandler = RejectionHandler .newBuilder() .handle { case MalformedRequestContentRejection(msg, MappingException(_, _)) => complete( HttpResponse( status = StatusCodes.BadRequest, entity = HttpEntity(ContentTypes.`application/json`, msg) ) ) } .handleNotFound { extractUnmatchedPath { p => complete((StatusCodes.NotFound, s"The requested path [$p] does not exist.")) } } .result() }
Example 3
Source File: Json4sSupport.scala From service-container with Apache License 2.0 | 5 votes |
package com.github.vonnagy.service.container.http.json import java.lang.reflect.InvocationTargetException import akka.http.scaladsl.marshalling.{Marshaller, ToEntityMarshaller} import akka.http.scaladsl.model.MediaTypes.`application/json` import akka.http.scaladsl.unmarshalling.{FromEntityUnmarshaller, Unmarshaller} import akka.util.ByteString import org.json4s.JsonAST.JValue import org.json4s.{Formats, MappingException, Serialization} implicit def json4sMarshaller[A <: AnyRef]( implicit serialization: Serialization, formats: Formats, shouldWritePretty: ShouldWritePretty = ShouldWritePretty.False ): ToEntityMarshaller[A] = { shouldWritePretty match { case ShouldWritePretty.False => jsonStringMarshaller.compose(serialization.write[A]) case ShouldWritePretty.True => jsonStringMarshaller.compose(serialization.writePretty[A]) } } implicit def json4sJValueMarshaller[A <: JValue]( implicit serialization: Serialization, formats: Formats, shouldWritePretty: ShouldWritePretty = ShouldWritePretty.False ): ToEntityMarshaller[A] = { shouldWritePretty match { case ShouldWritePretty.False => jsonStringMarshaller.compose(serialization.write[A]) case ShouldWritePretty.True => jsonStringMarshaller.compose(serialization.writePretty[A]) } } }
Example 4
Source File: JsonConversions.scala From coral with Apache License 2.0 | 5 votes |
package io.coral.api import java.lang.reflect.InvocationTargetException import org.json4s.{MappingException, DefaultFormats, Formats} import spray.http.{HttpCharsets, HttpEntity, MediaTypes} import spray.httpx.Json4sJacksonSupport import spray.httpx.unmarshalling.Unmarshaller object JsonConversions extends Json4sJacksonSupport { implicit def json4sJacksonFormats: Formats = DefaultFormats implicit def jsonApiUnmarshaller[T: Manifest] = Unmarshaller[T](MediaTypes.`application/json`) { case x: HttpEntity.NonEmpty ⇒ try serialization.read[T](x.asString(defaultCharset = HttpCharsets.`UTF-8`)) catch { case MappingException("unknown error", ite: InvocationTargetException) ⇒ throw ite.getCause } } }