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