case class GeoJsonPoint(tpe : String = "Feature" , geometry : Geometry ,properties : GeoProperties )
case class Geometry(tpe : String = "Point",coordinates : Coordinates)
case class Coordinates(lng : Double,lat : Double)
object Coordinates {
implicit val coordinatesWriter = upickle.Writer[Coordinates] {
case t => Js.Arr(Js.Num(t.lng),Js.Num(t.lat))
}
implicit val coordinatesReader = upickle.Reader[Coordinates] {
case t => {
val arr = t.asInstanceOf[Js.Arr]
Coordinates(arr.apply(0).value.asInstanceOf[Double],arr.apply(1).value.asInstanceOf[Double])
}
}
}
case class GeoProperties(contact: Contact)
case class Address(city: String, district: String, state: String, zip: String, street: String, country: String)
case class Contact(name: String, phoneNumbers: js.Array[String], address: Address)
println(s"output ******* ${write(GeoJsonPoint(geometry = null,properties = null))}")
error :
[error] java.lang.AssertionError: assertion failed
[error] at scala.Predef$.assert(Predef.scala:151)
[error] at upickle.Macros$.macroWImpl(Macros.scala:49)
[error] at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
[error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.lang.reflect.Method.invoke(Method.java:483)
[error] at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers$$anonfun$resolveJavaReflectionRuntime$2.apply(JavaReflectionRuntimes.scala:34)
[error] at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers$$anonfun$resolveJavaReflectionRuntime$2.apply(JavaReflectionRuntimes.scala:22)
[error] at scala.tools.nsc.typechecker.Macros$class.macroExpandWithRuntime(Macros.scala:755)
[error] println(s"output ******* ${write(GeoJsonPoint(geometry = null,properties = null))}")
error :
ID: 88 Original Author: chandu0101