Skip to content

Commit

Permalink
Fixed deprecated functionality for using Jackson.
Browse files Browse the repository at this point in the history
  • Loading branch information
nuald committed Mar 9, 2021
1 parent f326ad9 commit 391b52a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 15 deletions.
28 changes: 18 additions & 10 deletions src/main/scala/lib/BinarySerializer.scala
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
package lib

import java.io.{ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream, ObjectOutputStream}

import java.io.{
ByteArrayInputStream,
ByteArrayOutputStream,
ObjectInputStream,
ObjectOutputStream
}
import akka.event.LoggingAdapter
import akka.serialization.SerializerWithStringManifest
import analyzer._
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.core.`type`.TypeReference
import com.fasterxml.jackson.databind.json.JsonMapper
import com.fasterxml.jackson.dataformat.smile.SmileFactory
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper
import mqtt.Producer.MqttEntry
import smile.classification.RandomForest

Expand All @@ -34,9 +38,10 @@ class BinarySerializer extends SerializerWithStringManifest {
import BinarySerializer._
import lib.Common.using

private[this] val mapper = new ObjectMapper(new SmileFactory()) with ScalaObjectMapper
mapper.registerModule(DefaultScalaModule)
mapper.registerModule(new JavaTimeModule())
private[this] val mapper = JsonMapper.builder()
.addModule(DefaultScalaModule)
.addModule(new JavaTimeModule())
.build()

implicit val logger: LoggingAdapter = akka.event.NoLogging

Expand All @@ -58,9 +63,12 @@ class BinarySerializer extends SerializerWithStringManifest {
case AnalyzeManifest => Analyze
case StressAnalyzeManifest => StressAnalyze
case RegistrationManifest => Registration
case AllMetaManifest => mapper.readValue[AllMeta](bytes)
case SensorMetaManifest => mapper.readValue[SensorMeta](bytes)
case MqttEntryManifest => mapper.readValue[MqttEntry](bytes)
case AllMetaManifest => mapper.readValue(bytes,
new TypeReference[AllMeta]{})
case SensorMetaManifest => mapper.readValue(bytes,
new TypeReference[SensorMeta]{})
case MqttEntryManifest => mapper.readValue(bytes,
new TypeReference[MqttEntry]{})
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions src/main/scala/lib/JsonSerializer.scala
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package lib

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.json.JsonMapper
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper

class JsonSerializer {
private[this] val mapper = new ObjectMapper with ScalaObjectMapper
mapper.registerModule(DefaultScalaModule)
mapper.registerModule(new JavaTimeModule())
private[this] val mapper = JsonMapper.builder()
.addModule(DefaultScalaModule)
.addModule(new JavaTimeModule())
.build()

def toJson(obj: AnyRef): String = {
mapper.writeValueAsString(obj)
Expand Down

0 comments on commit 391b52a

Please sign in to comment.