diff --git a/pom.xml b/pom.xml
index 9df84d3..eadf166 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
fr.insee.pogues
pogues-model
- 1.15.0
+ 1.15.1
jar
Pogues Model
diff --git a/src/main/resources/xsd/Questionnaire.xsd b/src/main/resources/xsd/Questionnaire.xsd
index 1330676..c45efb9 100644
--- a/src/main/resources/xsd/Questionnaire.xsd
+++ b/src/main/resources/xsd/Questionnaire.xsd
@@ -244,15 +244,6 @@
-
-
-
- choiceType specifies whether the response options are defined by a static
- code list (CODE_LIST) or dynamically generated from a collected variable
- (VARIABLE). The default value is CODE_LIST.
-
-
-
Whether the question is mandatory. Only used by multiple choice question for now:
@@ -664,6 +655,15 @@
to a single response.
+
+
+
+ choiceType specifies whether the response options are defined by a static
+ code list (CODE_LIST) or dynamically generated from a collected variable
+ (VARIABLE). The default value is CODE_LIST.
+
+
+
diff --git a/src/test/java/fr/insee/pogues/test/JSONDeserializerTest.java b/src/test/java/fr/insee/pogues/test/JSONDeserializerTest.java
index 173d3d2..8c43e8f 100644
--- a/src/test/java/fr/insee/pogues/test/JSONDeserializerTest.java
+++ b/src/test/java/fr/insee/pogues/test/JSONDeserializerTest.java
@@ -417,14 +417,18 @@ void testChoiceTypeVariableResponses() throws JAXBException {
"Child": [
{
"type": "QuestionType",
- "choiceType": "VARIABLE"
+ "Response": [
+ {
+ "choiceType": "VARIABLE"
+ }
+ ]
}
]
}
""";
JSONDeserializer deserializer = new JSONDeserializer();
Questionnaire questionnaire = deserializer.deserializeString(json);
- assertEquals(ChoiceTypeEnum.VARIABLE, ((QuestionType) questionnaire.getChild().getFirst()).getChoiceType());
+ assertEquals(ChoiceTypeEnum.VARIABLE, ((QuestionType) questionnaire.getChild().getFirst()).getResponse().getFirst().getChoiceType());
}
@Test
@@ -434,7 +438,11 @@ void testChoiceTypeSuggester() throws JAXBException {
"Child": [
{
"type": "QuestionType",
- "choiceType": "SUGGESTER"
+ "Response": [
+ {
+ "choiceType": "SUGGESTER"
+ }
+ ]
}
]
}
@@ -442,7 +450,7 @@ void testChoiceTypeSuggester() throws JAXBException {
JSONDeserializer deserializer = new JSONDeserializer();
Questionnaire questionnaire = deserializer.deserializeString(json);
- assertEquals(ChoiceTypeEnum.SUGGESTER, ((QuestionType) questionnaire.getChild().getFirst()).getChoiceType());
+ assertEquals(ChoiceTypeEnum.SUGGESTER, ((QuestionType) questionnaire.getChild().getFirst()).getResponse().getFirst().getChoiceType());
}
@Test
@@ -451,14 +459,15 @@ void testChoiceTypeDefaultValue() throws JAXBException {
{
"Child": [
{
- "type": "QuestionType"
+ "type": "QuestionType",
+ "Response": [{}]
}
]
}
""";
JSONDeserializer deserializer = new JSONDeserializer();
Questionnaire questionnaire = deserializer.deserializeString(json);
- assertEquals(ChoiceTypeEnum.CODE_LIST, ((QuestionType) questionnaire.getChild().getFirst()).getChoiceType());
+ assertEquals(ChoiceTypeEnum.CODE_LIST, ((QuestionType) questionnaire.getChild().getFirst()).getResponse().getFirst().getChoiceType());
}
@Test
@@ -508,9 +517,9 @@ void testVariableResponsesFullConfiguration() throws JAXBException {
{
"type": "QuestionType",
"questionType": "SINGLE_CHOICE",
- "choiceType": "VARIABLE",
"OptionFilter": "nvl($AGE$, 0) > 18",
"Response": {
+ "choiceType": "VARIABLE",
"VariableReference": "id-loop-variable"
}
}
@@ -526,7 +535,7 @@ void testVariableResponsesFullConfiguration() throws JAXBException {
assertEquals(QuestionTypeEnum.SINGLE_CHOICE, question.getQuestionType());
- assertEquals(ChoiceTypeEnum.VARIABLE, question.getChoiceType());
+ assertEquals(ChoiceTypeEnum.VARIABLE, question.getResponse().getFirst().getChoiceType());
assertEquals("nvl($AGE$, 0) > 18", question.getOptionFilter());
assertNotNull(question.getResponse());
assertFalse(question.getResponse().isEmpty());
diff --git a/src/test/java/fr/insee/pogues/test/JSONSerializerTest.java b/src/test/java/fr/insee/pogues/test/JSONSerializerTest.java
index eeee037..e9266b8 100644
--- a/src/test/java/fr/insee/pogues/test/JSONSerializerTest.java
+++ b/src/test/java/fr/insee/pogues/test/JSONSerializerTest.java
@@ -680,11 +680,11 @@ void serializePairwiseSourceVariableReferences() throws JAXBException, Unsupport
void testSerializeVariableResponsesFullConfiguration() throws Exception {
QuestionType question = new QuestionType();
question.setQuestionType(QuestionTypeEnum.SINGLE_CHOICE);
- question.setChoiceType(ChoiceTypeEnum.VARIABLE);
question.setOptionFilter("nvl($AGE$, 0) > 18");
ResponseType response = new ResponseType();
response.setVariableReference("id-loop-variable");
+ response.setChoiceType(ChoiceTypeEnum.VARIABLE);
question.getResponse().add(response);
@@ -700,11 +700,11 @@ void testSerializeVariableResponsesFullConfiguration() throws Exception {
{
"type": "QuestionType",
"questionType": "SINGLE_CHOICE",
- "choiceType": "VARIABLE",
"OptionFilter": "nvl($AGE$, 0) > 18",
"Response": [
{
- "VariableReference": "id-loop-variable"
+ "VariableReference": "id-loop-variable",
+ "choiceType": "VARIABLE"
}
]
}