Skip to content

Commit 7439753

Browse files
Merge pull request #394 from InseeFr/fixRetrieveContext
2.1.3 : Hot Fix
2 parents c911b6a + 5decd43 commit 7439753

7 files changed

Lines changed: 20 additions & 73 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
# Changelog
2+
3+
## 2.1.3 [2026-02-03]
4+
### Fixed
5+
- Fixed the way we retrieve the data processing context when we process raw responses
6+
- Change variable reading type from int to long
7+
28
## 2.1.2 [2026-01-26]
39
### Fixed
410
- Fixed numbers for pairwise

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>fr.insee.genesis</groupId>
66
<artifactId>genesis-api</artifactId>
7-
<version>2.1.2</version>
7+
<version>2.1.3</version>
88
<packaging>jar</packaging>
99
<name>genesis-api</name>
1010

src/main/java/fr/insee/genesis/domain/service/context/DataProcessingContextService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,9 +256,8 @@ public DataProcessingContextModel getContext(String interrogationId) throws Gene
256256

257257
@Override
258258
public DataProcessingContextModel getContextByCollectionInstrumentId(String collectionInstrumentId){
259-
return DataProcessingContextMapper.INSTANCE.documentToModel(
260-
dataProcessingContextPersistancePort.findByPartitionId(collectionInstrumentId)
261-
);
259+
return dataProcessingContextPersistancePort.findByCollectionInstrumentId(collectionInstrumentId)
260+
;
262261
}
263262

264263
@Override

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ public DataProcessResult processRawResponses(String collectionInstrumentId, List
127127
//Send processed ids grouped by questionnaire (if review activated)
128128
if(dataProcessingContext != null && dataProcessingContext.isWithReview()) {
129129
sendProcessedIdsToQualityTool(surveyUnitModels);
130+
} else {
131+
log.warn("Data processing context not found for collection instrument {}. Ids processed not send to quality tool.",collectionInstrumentId);
130132
}
131133

132134
//Remove processed ids from list

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

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -210,66 +210,6 @@ void getUnprocessedDataTest_processDate_present(){
210210
//json
211211
@Test
212212
void processJsonRawDataTest(){
213-
//GIVEN
214-
lunaticJsonRawDataPersistanceStub.getMongoStub().clear();
215-
surveyUnitPersistencePortStub.getMongoStub().clear();
216-
surveyUnitQualityToolPerretAdapterStub.getReceivedMaps().clear();
217-
String campaignId = "SAMPLETEST-PARADATA-V2";
218-
String questionnaireId = campaignId + "_quest";
219-
String interrogationId = "testinterrogationId1";
220-
String idUE = "testIdUE1";
221-
String varName = "AVIS_MAIL";
222-
String varValue = "TEST";
223-
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, idUE, null, LocalDateTime.now(),varName
224-
, varValue);
225-
226-
dataProcessingContextPersistancePortStub.getMongoStub().add(
227-
DataProcessingContextMapper.INSTANCE.modelToDocument(
228-
DataProcessingContextModel.builder()
229-
.partitionId(campaignId)
230-
.kraftwerkExecutionScheduleList(new ArrayList<>())
231-
.withReview(true)
232-
.build()
233-
)
234-
);
235-
236-
237-
List<String> interrogationIdList = new ArrayList<>();
238-
interrogationIdList.add(interrogationId);
239-
240-
//WHEN
241-
rawResponseController.processJsonRawData(campaignId, questionnaireId, interrogationIdList);
242-
243-
244-
//THEN
245-
//Genesis model survey unit created successfully
246-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub()).isNotNull().isNotEmpty().hasSize(1);
247-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst()).isNotNull();
248-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCampaignId()).isEqualTo(campaignId);
249-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectionInstrumentId()).isNotNull().isEqualTo(questionnaireId);
250-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getMode()).isNotNull().isEqualTo(Mode.WEB);
251-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getInterrogationId()).isEqualTo(interrogationId);
252-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getUsualSurveyUnitId()).isEqualTo(idUE);
253-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getFileDate()).isNotNull();
254-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getRecordDate()).isNotNull();
255-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).isNotNull().isNotEmpty().hasSize(1);
256-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst()).isNotNull();
257-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isNotNull().isEqualTo(varName);
258-
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().value()).isNotNull().isEqualTo(varValue);
259-
260-
//Process date check
261-
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().processDate()).isNotNull();
262-
263-
//Perret call check
264-
Assertions.assertThat(surveyUnitQualityToolPerretAdapterStub.getReceivedMaps())
265-
.hasSize(1);
266-
Assertions.assertThat(surveyUnitQualityToolPerretAdapterStub.getReceivedMaps().getFirst()).containsKey(questionnaireId);
267-
Assertions.assertThat(surveyUnitQualityToolPerretAdapterStub.getReceivedMaps().getFirst().get(questionnaireId))
268-
.contains(interrogationId);
269-
}
270-
271-
@Test
272-
void processJsonRawDataV2Test(){
273213
//GIVEN
274214
lunaticJsonRawDataPersistanceStub.getMongoStub().clear();
275215
surveyUnitPersistencePortStub.getMongoStub().clear();
@@ -286,6 +226,7 @@ void processJsonRawDataV2Test(){
286226
DataProcessingContextMapper.INSTANCE.modelToDocument(
287227
DataProcessingContextModel.builder()
288228
.partitionId(questionnaireId)
229+
.collectionInstrumentId(questionnaireId)
289230
.kraftwerkExecutionScheduleList(new ArrayList<>())
290231
.withReview(true)
291232
.build()

src/test/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataServiceTest.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -468,22 +468,21 @@ void convertRawData_if_collected_not_present_test() throws Exception {
468468
void convertRawData_multipleBatchs(int rawDataSize) throws Exception {
469469
//GIVEN
470470
String campaignId = "SAMPLETEST-PARADATA-V1";
471-
String questionnaireId = "TESTIDQUEST";
471+
String questionnaireId = "SAMPLETEST-PARADATA-V1";
472472
List<String> interrogationIdList = prepareConvertTest(rawDataSize, campaignId, questionnaireId);
473473
//Activate review
474474
dataProcessingContextPersistancePortStub.getMongoStub().add(
475475
DataProcessingContextMapper.INSTANCE.modelToDocument(
476476
DataProcessingContextModel.builder()
477-
.partitionId(campaignId)
477+
.collectionInstrumentId(questionnaireId)
478478
.withReview(true)
479479
.kraftwerkExecutionScheduleList(new ArrayList<>())
480480
.build()
481481
)
482482
);
483483

484484
//WHEN
485-
DataProcessResult dataProcessResult = lunaticJsonRawDataService.processRawData(campaignId, interrogationIdList,
486-
new ArrayList<>());
485+
DataProcessResult dataProcessResult = lunaticJsonRawDataService.processRawData(questionnaireId);
487486

488487
//THEN
489488
Assertions.assertThat(dataProcessResult.dataCount()).isEqualTo(rawDataSize * 2/*EDITED*/);
@@ -499,23 +498,22 @@ void convertRawData_multipleBatchs(int rawDataSize) throws Exception {
499498
void convertRawData_review_desactivated() throws Exception {
500499
//GIVEN
501500
String campaignId = "SAMPLETEST-PARADATA-V1";
502-
String questionnaireId = "TESTIDQUEST";
501+
String questionnaireId = "SAMPLETEST-PARADATA-V1";
503502
List<String> interrogationIdList = prepareConvertTest(1, campaignId, questionnaireId);
504503

505504
//Desactivate review
506505
dataProcessingContextPersistancePortStub.getMongoStub().add(
507506
DataProcessingContextMapper.INSTANCE.modelToDocument(
508507
DataProcessingContextModel.builder()
509-
.partitionId(campaignId)
508+
.collectionInstrumentId(questionnaireId)
510509
.withReview(false)
511510
.kraftwerkExecutionScheduleList(new ArrayList<>())
512511
.build()
513512
)
514513
);
515514

516515
//WHEN
517-
DataProcessResult dataProcessResult = lunaticJsonRawDataService.processRawData(campaignId, interrogationIdList,
518-
new ArrayList<>());
516+
DataProcessResult dataProcessResult = lunaticJsonRawDataService.processRawData(questionnaireId);
519517

520518
//THEN
521519
Assertions.assertThat(dataProcessResult.dataCount()).isEqualTo(2);

src/test/java/fr/insee/genesis/stubs/LunaticJsonRawDataPersistanceStub.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.ArrayList;
2020
import java.util.HashMap;
2121
import java.util.HashSet;
22+
import java.util.LinkedHashSet;
2223
import java.util.List;
2324
import java.util.Map;
2425
import java.util.Objects;
@@ -229,7 +230,7 @@ public Set<String> findUnprocessedInterrogationIdsByCollectionInstrumentId(Strin
229230
lunaticJsonDataDocument -> lunaticJsonDataDocument.processDate() == null
230231
&& lunaticJsonDataDocument.questionnaireId().equals(collectionInstrumentId)
231232
).toList();
232-
Set<String> interrogationIds = new HashSet<>();
233+
Set<String> interrogationIds = new LinkedHashSet<>();
233234
unprocessedDocuments.forEach(doc -> interrogationIds.add(doc.interrogationId()));
234235
return interrogationIds;
235236
}

0 commit comments

Comments
 (0)