diff --git a/pom.xml b/pom.xml index 83ff2164..e43bc72f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ fr.insee.lunatic lunatic-model jar - 5.10.1 + 6.0.0 Lunatic Model Classes and converters for the Lunatic model https://inseefr.github.io/Lunatic-Model/ diff --git a/src/main/java/fr/insee/lunatic/conversion/JsonDeserializer.java b/src/main/java/fr/insee/lunatic/conversion/JsonDeserializer.java index 5189bf8d..39874755 100644 --- a/src/main/java/fr/insee/lunatic/conversion/JsonDeserializer.java +++ b/src/main/java/fr/insee/lunatic/conversion/JsonDeserializer.java @@ -3,46 +3,18 @@ import com.fasterxml.jackson.databind.ObjectMapper; import fr.insee.lunatic.exception.SerializationException; import fr.insee.lunatic.model.flat.Questionnaire; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; -import javax.xml.transform.stream.StreamSource; import java.io.IOException; import java.io.InputStream; +@Slf4j public class JsonDeserializer { - private static final Logger logger = LoggerFactory.getLogger(JsonDeserializer.class); - - /** - * Deserializes the file at given relative path to a Lunatic questionnaire object. - * @param fileName Relative file path. - * @return Deserialized Lunatic questionnaire object. null if the input given is null or empty. - * @throws SerializationException if file cannot be found or deserialization fails. - * @deprecated The string file path argument is misleading, this method should be removed. - */ - @Deprecated(since = "3.16.0", forRemoval = true) - public Questionnaire deserialize(String fileName) throws SerializationException { - - if ((fileName == null) || (fileName.isEmpty())) return null; - - logger.info("Deserializing questionnaire from file {}", fileName); - - ObjectMapper mapper = new ObjectMapper(); - Questionnaire questionnaire; - try { - questionnaire = mapper.readValue(new StreamSource(fileName).getInputStream(), Questionnaire.class); - } catch (IOException e) { - throw new SerializationException(e.getMessage(), e); - } - logger.info("Questionnaire {} successfully deserialized", questionnaire.getId()); - return questionnaire; - } - public Questionnaire deserialize(InputStream jsonQuestionnaire) throws SerializationException { if (jsonQuestionnaire == null) return null; - logger.debug("Deserializing questionnaire from input stream"); + log.debug("Deserializing questionnaire from input stream"); ObjectMapper mapper = new ObjectMapper(); Questionnaire questionnaire; @@ -51,7 +23,8 @@ public Questionnaire deserialize(InputStream jsonQuestionnaire) throws Serializa } catch (IOException e) { throw new SerializationException(e.getMessage(), e); } - logger.info("Questionnaire {} successfully deserialized", questionnaire.getId()); + log.info("Questionnaire {} successfully deserialized", questionnaire.getId()); return questionnaire; } + } diff --git a/src/main/java/fr/insee/lunatic/conversion/UnitDeserializer.java b/src/main/java/fr/insee/lunatic/conversion/UnitDeserializer.java deleted file mode 100644 index 81de386e..00000000 --- a/src/main/java/fr/insee/lunatic/conversion/UnitDeserializer.java +++ /dev/null @@ -1,42 +0,0 @@ -package fr.insee.lunatic.conversion; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; -import fr.insee.lunatic.model.flat.InputNumber.Unit; -import fr.insee.lunatic.model.flat.LabelType; -import fr.insee.lunatic.model.flat.LabelTypeEnum; - -import java.io.IOException; - -public class UnitDeserializer extends StdDeserializer { - - public UnitDeserializer() { - super(Unit.class); - } - protected UnitDeserializer(Class unitClass) { - super(unitClass); - } - - @Override - public Unit deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException { - JsonNode unitNode = jsonParser.getCodec().readTree(jsonParser); - if (unitNode.isTextual()) { - Unit unit = new Unit(); - unit.setValue(unitNode.textValue()); - return unit; - } - if (unitNode.isObject()) { - Unit unit = new Unit(); - LabelType label = new LabelType(); - label.setValue(unitNode.get("value").textValue()); - label.setType(LabelTypeEnum.fromValue(unitNode.get("type").textValue())); - unit.setLabel(label); - return unit; - } - return null; - } - -} diff --git a/src/main/java/fr/insee/lunatic/conversion/UnitSerializer.java b/src/main/java/fr/insee/lunatic/conversion/UnitSerializer.java deleted file mode 100644 index b3be746c..00000000 --- a/src/main/java/fr/insee/lunatic/conversion/UnitSerializer.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.insee.lunatic.conversion; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; -import fr.insee.lunatic.model.flat.InputNumber.Unit; - -import java.io.IOException; - -public class UnitSerializer extends StdSerializer { - - public UnitSerializer() { - super(Unit.class); - } - protected UnitSerializer(Class unitClass) { - super(unitClass); - } - - @Override - public void serialize(Unit unit, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) - throws IOException { - if (unit.getLabel() != null){ - serializeLabel(unit, jsonGenerator); - return; - } - if (unit.getValue() != null) { - serializeString(unit, jsonGenerator); - return; - } - jsonGenerator.writeNull(); - } - - private void serializeString(Unit unit, JsonGenerator jsonGenerator) throws IOException { - jsonGenerator.writeString(unit.getValue()); - } - - private void serializeLabel(Unit unit, JsonGenerator jsonGenerator) throws IOException { - jsonGenerator.writeStartObject(); - jsonGenerator.writeFieldName("value"); - jsonGenerator.writeString(unit.getLabel().getValue()); - jsonGenerator.writeFieldName("type"); - jsonGenerator.writeString(unit.getLabel().getType().value()); - jsonGenerator.writeEndObject(); - } - -} diff --git a/src/main/java/fr/insee/lunatic/model/flat/Accordion.java b/src/main/java/fr/insee/lunatic/model/flat/Accordion.java index 5545a56c..27c46986 100644 --- a/src/main/java/fr/insee/lunatic/model/flat/Accordion.java +++ b/src/main/java/fr/insee/lunatic/model/flat/Accordion.java @@ -13,7 +13,7 @@ public class Accordion extends ComponentType { List items; public Accordion() { - super(ComponentTypeEnum.ACCORDION); + super(ComponentTypeName.ACCORDION); this.items = new ArrayList<>(); } diff --git a/src/main/java/fr/insee/lunatic/model/flat/BodyCell.java b/src/main/java/fr/insee/lunatic/model/flat/BodyCell.java index c8a6ba90..fd5d8c49 100644 --- a/src/main/java/fr/insee/lunatic/model/flat/BodyCell.java +++ b/src/main/java/fr/insee/lunatic/model/flat/BodyCell.java @@ -32,71 +32,48 @@ "optionResponses", "bindingDependencies" }) +@Getter @Setter public class BodyCell { /** Orientation for radio / checkbox cells. */ - @Getter @Setter protected Orientation orientation; - @Getter @Setter protected String value; - @Getter @Setter protected LabelType label; - @Getter @Setter protected String format; - @Getter @Setter protected String dateFormat; /** For input number cells. */ - protected InputNumber.Unit unit; + protected LabelType unit; - @Getter @Setter @JsonInclude(JsonInclude.Include.NON_EMPTY) protected List