2016-07-27 16 views
1

Hallo Ich möchte zu DBObject einige Karte mit Enumeration als Schlüssel mit salat serialisieren/deserealisieren.salat serialize Karte [Enum, Boolean] Typ

object MyEnum extends Enumeration { 
    val VAL_ONE, VAL_TWO = Value 
} 
case class CanBeStored(a:Enumeration.Value) 

case class CanNotBeStored(a:Map[Enumeration.Value,Boolean]) 
// Produces exception[[ClassCastException: com.mongodb.BasicDBObject cannot be cast to scala.collection.immutable.Map]] 

Wie ich verstanden habe, ist es nicht möglich, mit der aktuellen Version. https://groups.google.com/forum/#!topic/scala-salat/s3Q548NM8yc

Aber möglicherweise gibt es einen runden Weg, es zu tun? Das eigentliche Problem besteht darin, dass ich ein ziemlich tiefes geschachteltes Fallklassenmodell habe, das mein Mongo-Datamodell beschreibt, und ich kann die Serialisierung nicht einfach in eine benutzerdefinierte Implementierung ändern.

Vielleicht kann ich einige benutzerdefinierte Transformer direkt für Map erstellen [MyEnum.Value, Boolean] aber wie?

Antwort