View Javadoc

1   package eu.ehri.project.persistence;
2   
3   import com.fasterxml.jackson.core.JsonParser;
4   import com.fasterxml.jackson.core.type.TypeReference;
5   import com.fasterxml.jackson.databind.DeserializationContext;
6   import com.fasterxml.jackson.databind.JsonDeserializer;
7   import eu.ehri.project.exceptions.DeserializationError;
8   
9   import java.io.IOException;
10  import java.util.Map;
11  
12  public class BundleDeserializer extends JsonDeserializer<Bundle> {
13      private static final TypeReference<Map<String, Object>> tref = new TypeReference<Map<String, Object>>() {
14      };
15  
16      @Override
17      public Bundle deserialize(JsonParser parser, DeserializationContext context) throws IOException {
18          try {
19              return DataConverter.dataToBundle(parser.readValueAs(tref));
20          } catch (DeserializationError deserializationError) {
21              throw new IOException(deserializationError);
22          }
23      }
24  }