From a42de79292d9541db7865b54e93be2d0b6e6a094 Mon Sep 17 00:00:00 2001 From: "serena.spinoso" Date: Thu, 7 Sep 2017 10:22:39 +0200 Subject: update verigraph JIRA: PARSER-154 code optimizations about graph manipulation and formula generation. Change-Id: Idebef19b128281aa2bc40d1aeab6e208c7ddd93d Signed-off-by: serena.spinoso --- .../serializer/CustomConfigurationSerializer.java | 31 ++++++++++++++++++++++ .../verigraph/serializer/CustomMapSerializer.java | 27 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 verigraph/src/it/polito/verigraph/serializer/CustomConfigurationSerializer.java create mode 100644 verigraph/src/it/polito/verigraph/serializer/CustomMapSerializer.java (limited to 'verigraph/src/it/polito/verigraph/serializer') diff --git a/verigraph/src/it/polito/verigraph/serializer/CustomConfigurationSerializer.java b/verigraph/src/it/polito/verigraph/serializer/CustomConfigurationSerializer.java new file mode 100644 index 0000000..74efdd8 --- /dev/null +++ b/verigraph/src/it/polito/verigraph/serializer/CustomConfigurationSerializer.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * 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.serializer; + +import java.io.IOException; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import it.polito.verigraph.exception.InternalServerErrorException; +import it.polito.verigraph.model.Configuration; + +public class CustomConfigurationSerializer extends JsonSerializer { + + @Override + public void serialize(Configuration conf, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + try { + jgen.writeObject(conf.getConfiguration()); + } catch (IOException e) { + throw new InternalServerErrorException("I/O error serializing a configuration object: " + e.getMessage()); + } + } + +} \ No newline at end of file diff --git a/verigraph/src/it/polito/verigraph/serializer/CustomMapSerializer.java b/verigraph/src/it/polito/verigraph/serializer/CustomMapSerializer.java new file mode 100644 index 0000000..9d057fd --- /dev/null +++ b/verigraph/src/it/polito/verigraph/serializer/CustomMapSerializer.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * 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.serializer; + +import java.io.IOException; +import java.util.Map; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import it.polito.verigraph.exception.InternalServerErrorException; + +public class CustomMapSerializer extends JsonSerializer> { + @Override + public void serialize(final Map value, final JsonGenerator jgen, final SerializerProvider provider) { + try { + jgen.writeObject(value.values()); + } catch (IOException e) { + throw new InternalServerErrorException("I/O error serializing a map: " + e.getMessage()); + } + } +} \ No newline at end of file -- cgit 1.2.3-korg