diff options
Diffstat (limited to 'verigraph/src/it/polito/verigraph/deserializer/ConfigurationCustomDeserializer.java')
-rw-r--r-- | verigraph/src/it/polito/verigraph/deserializer/ConfigurationCustomDeserializer.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/verigraph/src/it/polito/verigraph/deserializer/ConfigurationCustomDeserializer.java b/verigraph/src/it/polito/verigraph/deserializer/ConfigurationCustomDeserializer.java new file mode 100644 index 0000000..e91a53b --- /dev/null +++ b/verigraph/src/it/polito/verigraph/deserializer/ConfigurationCustomDeserializer.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2017 Politecnico di Torino and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Apache License, Version 2.0 + * which accompanies this distribution, and is available at + * http://www.apache.org/licenses/LICENSE-2.0 + *******************************************************************************/ +package it.polito.verigraph.deserializer; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +import it.polito.verigraph.exception.InternalServerErrorException; +import it.polito.verigraph.model.Configuration; + +public class ConfigurationCustomDeserializer extends JsonDeserializer<Configuration> { + + @Override + public Configuration deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, + JsonProcessingException { + try { + JsonNode root = jp.getCodec().readTree(jp); + return new Configuration("", "", root); + } + catch (JsonProcessingException e) { + throw new InternalServerErrorException("Error parsing configuration: " + e.getMessage()); + } + catch (IOException e) { + throw new InternalServerErrorException("I/O error parsing configuration: " + e.getMessage()); + } + } +}
\ No newline at end of file |