Skip to content

Commit 28bc1c6

Browse files
Merge pull request #307 from InseeFr/devIdUERawProcess
Survey Unit Id process and export
2 parents 3ad2f3c + 262f2c5 commit 28bc1c6

File tree

9 files changed

+36
-12
lines changed

9 files changed

+36
-12
lines changed

src/main/java/fr/insee/genesis/controller/dto/SurveyUnitSimplified.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class SurveyUnitSimplified {
1414
private String questionnaireId;
1515
private String campaignId;
1616
private String interrogationId;
17+
private String surveyUnitId;
1718
private Mode mode;
1819
private List<VariableModel> variablesUpdate;
1920
private List<VariableModel> externalVariables;

src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ public ResponseEntity<SurveyUnitSimplified> getLatestByInterrogationOneObject(@R
251251
.questionnaireId(responses.getFirst().getQuestionnaireId())
252252
.campaignId(responses.getFirst().getCampaignId())
253253
.interrogationId(responses.getFirst().getInterrogationId())
254+
.surveyUnitId(responses.getFirst().getIdUE())
254255
.variablesUpdate(outputVariables)
255256
.externalVariables(outputExternalVariables)
256257
.build());
@@ -280,6 +281,7 @@ public ResponseEntity<List<SurveyUnitSimplified>> getLatestForInterrogationList(
280281
.questionnaireId(responses.getFirst().getQuestionnaireId())
281282
.campaignId(responses.getFirst().getCampaignId())
282283
.interrogationId(responses.getFirst().getInterrogationId())
284+
.surveyUnitId(responses.getFirst().getIdUE())
283285
.mode(mode)
284286
.variablesUpdate(outputVariables)
285287
.externalVariables(outputExternalVariables)

src/main/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class SurveyUnitModel {
1919
private String questionnaireId;
2020
private String campaignId;
2121
private String interrogationId;
22+
private String idUE;
2223
private DataState state;
2324
private Mode mode;
2425
private String contextualId;

src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public DataProcessResult processRawData(String campaignName, List<String> interr
123123
int maxIndex = Math.min(interrogationIdListForMode.size(), config.getRawDataProcessingBatchSize());
124124
List<String> interrogationIdToProcess = interrogationIdListForMode.subList(0, maxIndex);
125125

126-
List<LunaticJsonRawDataModel> rawData = getRawData(campaignName,mode, interrogationIdToProcess);
126+
List<LunaticJsonRawDataModel> rawData = getRawData(campaignName, mode, interrogationIdToProcess);
127127

128128
List<SurveyUnitModel> surveyUnitModels = convertRawData(
129129
rawData,
@@ -210,6 +210,7 @@ public List<SurveyUnitModel> convertRawData(List<LunaticJsonRawDataModel> rawDat
210210
.questionnaireId(rawData.questionnaireId())
211211
.mode(rawData.mode())
212212
.interrogationId(rawData.interrogationId())
213+
.idUE(rawData.idUE())
213214
.contextualId(contextualId)
214215
.validationDate(validationDate)
215216
.isCapturedIndirectly(isCapturedIndirectly)

src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ private static SurveyUnitModel createFormattedSurveyUnitModel(
7676
.questionnaireId(sampleSurveyUnitModel.getQuestionnaireId())
7777
.campaignId(sampleSurveyUnitModel.getCampaignId())
7878
.interrogationId(interrogationId)
79+
.idUE(sampleSurveyUnitModel.getIdUE())
7980
.state(DataState.FORMATTED)
8081
.mode(sampleSurveyUnitModel.getMode())
8182
.recordDate(LocalDateTime.now().plusSeconds(1)) // Add 1 second to avoid same recordDate as COLLECTED

src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/SurveyUnitDocument.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class SurveyUnitDocument {
1919
private String campaignId;
2020
@Indexed
2121
private String interrogationId;
22+
private String idUE;
2223
private String questionnaireId;
2324
private String state;
2425
@Indexed

src/test/java/fr/insee/genesis/controller/rest/responses/RawResponseControllerTest.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,15 @@ void saveJsonRawDataFromStringTest() throws Exception {
6868
String campaignId = "SAMPLETEST-PARADATA-v1";
6969
String questionnaireId = "testIdQuest".toUpperCase();
7070
String interrogationId = "testinterrogationId";
71+
String idUE = "testIdUE";
7172
Map<String,Object> json = JsonUtils.jsonToMap("{\"COLLECTED\": {\"testdata\": {\"COLLECTED\": [\"test\"]}}}");
7273

7374
//WHEN
7475
ResponseEntity<String> response = rawResponseController.saveRawResponsesFromJsonBody(
7576
campaignId
7677
, questionnaireId
7778
, interrogationId
78-
, null
79+
, idUE
7980
, Mode.WEB
8081
, json
8182
);
@@ -85,6 +86,7 @@ void saveJsonRawDataFromStringTest() throws Exception {
8586
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub()).isNotEmpty().hasSize(1);
8687
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().campaignId()).isNotNull().isEqualTo(campaignId);
8788
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().questionnaireId()).isNotNull().isEqualTo(questionnaireId);
89+
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().idUE()).isNotNull().isEqualTo(idUE);
8890
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().interrogationId()).isNotNull().isEqualTo(interrogationId);
8991
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().mode()).isEqualTo(Mode.WEB);
9092

@@ -145,9 +147,11 @@ void processJsonRawDataTest(){
145147
String campaignId = "SAMPLETEST-PARADATA-v2";
146148
String questionnaireId = campaignId + "_quest";
147149
String interrogationId = "testinterrogationId1";
150+
String idUE = "testIdUE1";
148151
String varName = "AVIS_MAIL";
149152
String varValue = "TEST";
150-
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, null, LocalDateTime.now(),varName, varValue);
153+
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, idUE, null, LocalDateTime.now(),varName
154+
, varValue);
151155

152156
dataProcessingContextPersistancePortStub.getMongoStub().add(
153157
DataProcessingContextMapper.INSTANCE.modelToDocument(
@@ -175,6 +179,7 @@ void processJsonRawDataTest(){
175179
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getQuestionnaireId()).isNotNull().isEqualTo(questionnaireId);
176180
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getMode()).isNotNull().isEqualTo(Mode.WEB);
177181
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getInterrogationId()).isEqualTo(interrogationId);
182+
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getIdUE()).isEqualTo(idUE);
178183
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getFileDate()).isNotNull();
179184
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getRecordDate()).isNotNull();
180185
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).isNotNull().isNotEmpty().hasSize(1);
@@ -205,7 +210,7 @@ void getRawResponsesFromJsonBody() {
205210
Instant recordDate = Instant.parse("2025-01-01T01:00:00.000Z");
206211
Instant processDate = Instant.parse("2025-01-02T01:00:00.000Z");
207212

208-
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId,
213+
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, null,
209214
LocalDateTime.ofInstant(processDate, ZoneOffset.UTC),
210215
LocalDateTime.ofInstant(recordDate, ZoneOffset.UTC),
211216
varName, varValue);
@@ -236,11 +241,15 @@ private void addJsonRawDataDocumentToStub(String campaignId, String questionnair
236241
lunaticJsonRawDataPersistanceStub.getMongoStub().add(lunaticJsonDataDocument);
237242
}
238243

239-
private void addJsonRawDataDocumentToStub(String campaignId, String questionnaireId, String interrogationId,
240-
LocalDateTime processDate,
241-
LocalDateTime recordDate,
242-
String variableName, String variableValue) {
243-
244+
private void addJsonRawDataDocumentToStub(String campaignId,
245+
String questionnaireId,
246+
String interrogationId,
247+
String idUE,
248+
LocalDateTime processDate,
249+
LocalDateTime recordDate,
250+
String variableName,
251+
String variableValue)
252+
{
244253
Map<String, Object> jsonMap = Map.of(
245254
"COLLECTED", Map.of(variableName, Map.of("COLLECTED", variableValue)),
246255
"EXTERNAL", Map.of(variableName + "_EXTERNAL", variableValue + "_EXTERNAL")
@@ -251,6 +260,7 @@ private void addJsonRawDataDocumentToStub(String campaignId, String questionnair
251260
.questionnaireId(questionnaireId)
252261
.mode(Mode.WEB)
253262
.interrogationId(interrogationId)
263+
.idUE(idUE)
254264
.recordDate(recordDate)
255265
.processDate(processDate)
256266
.data(jsonMap)

src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class ResponseControllerTest {
5252
//Constants
5353
static final String DEFAULT_INTERROGATION_ID = "TESTINTERROGATIONID";
5454
static final String DEFAULT_QUESTIONNAIRE_ID = "TESTQUESTIONNAIREID";
55+
static final String DEFAULT_ID_UE = "TESTIDUE";
5556
static final String CAMPAIGN_ID_WITH_DDI = "SAMPLETEST-PARADATA-v1";
5657
static final String QUESTIONNAIRE_ID_WITH_DDI = "quest_model_famille_AD_ttp".toUpperCase();
5758

@@ -155,6 +156,7 @@ void findResponsesByUEAndQuestionnaireTest() {
155156
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
156157
Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty();
157158
Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
159+
Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE);
158160
Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID);
159161
}
160162

@@ -167,6 +169,7 @@ void getLatestByUETest() {
167169
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
168170
Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty();
169171
Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
172+
Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE);
170173
Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID);
171174
Assertions.assertThat(response.getBody().getFirst().getFileDate()).hasMonth(Month.FEBRUARY);
172175
}
@@ -178,6 +181,7 @@ void getLatestByUEOneObjectTest() {
178181
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
179182
Assertions.assertThat(response.getBody()).isNotNull();
180183
Assertions.assertThat(response.getBody().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
184+
Assertions.assertThat(response.getBody().getSurveyUnitId()).isEqualTo(DEFAULT_ID_UE);
181185
Assertions.assertThat(response.getBody().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID);
182186
}
183187

@@ -188,6 +192,7 @@ void getLatestForUEListTest() {
188192
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
189193
Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty();
190194
Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
195+
Assertions.assertThat(response.getBody().getFirst().getSurveyUnitId()).isEqualTo(DEFAULT_ID_UE);
191196
}
192197

193198
// Perret tests

src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@ class Utils {
2222
//Constants
2323
static final String DEFAULT_INTERROGATION_ID = "TESTINTERROGATIONID";
2424
static final String DEFAULT_QUESTIONNAIRE_ID = "TESTQUESTIONNAIREID";
25+
static final String DEFAULT_ID_UE = "TESTIDUE";
2526

2627
static void reset(SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) throws IOException {
2728
//MongoDB stub management
2829
surveyUnitPersistencePortStub.getMongoStub().clear();
2930

30-
addAdditionalSurveyUnitModelToMongoStub("TEST-TABLEAUX", DEFAULT_QUESTIONNAIRE_ID,
31+
addAdditionalSurveyUnitModelToMongoStub("TEST-TABLEAUX", DEFAULT_QUESTIONNAIRE_ID, DEFAULT_ID_UE,
3132
LocalDateTime.of(2023, 1, 1, 0, 0, 0),
3233
LocalDateTime.of(2024, 1, 1, 0, 0, 0),
3334
surveyUnitPersistencePortStub);
@@ -174,13 +175,13 @@ static void addAdditionalSurveyUnitModelToMongoStub(String questionnaireId, Surv
174175
}
175176

176177
static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String questionnaireId, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) {
177-
addAdditionalSurveyUnitModelToMongoStub(campaignId,questionnaireId,
178+
addAdditionalSurveyUnitModelToMongoStub(campaignId,questionnaireId, DEFAULT_ID_UE,
178179
LocalDateTime.of(2023, 2, 2, 0, 0, 0),
179180
LocalDateTime.of(2024, 2, 2, 0, 0, 0),
180181
surveyUnitPersistencePortStub);
181182
}
182183

183-
static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String questionnaireId,
184+
static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String questionnaireId, String idUE,
184185
LocalDateTime fileDate, LocalDateTime recordDate,
185186
SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) {
186187
List<VariableModel> externalVariableList = new ArrayList<>();
@@ -219,6 +220,7 @@ static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String qu
219220
.campaignId(campaignId)
220221
.mode(Mode.WEB)
221222
.interrogationId(DEFAULT_INTERROGATION_ID)
223+
.idUE(idUE)
222224
.questionnaireId(questionnaireId)
223225
.state(DataState.COLLECTED)
224226
.fileDate(fileDate)

0 commit comments

Comments
 (0)