diff --git a/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java b/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java index 6efb8e69..f1475523 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java @@ -28,6 +28,7 @@ public interface LunaticJsonRawDataApiPort { void updateProcessDates(List surveyUnitModels); Set findDistinctQuestionnaireIds(); long countRawResponsesByQuestionnaireId(String campaignId); + long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); Page findRawDataByCampaignIdAndDate(String campaignId, Instant startDt, Instant endDt, Pageable pageable); List getRawDataByInterrogationId(String interrogationId); diff --git a/src/main/java/fr/insee/genesis/domain/ports/api/RawResponseApiPort.java b/src/main/java/fr/insee/genesis/domain/ports/api/RawResponseApiPort.java index abc2f10c..a9f1ae7f 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/api/RawResponseApiPort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/api/RawResponseApiPort.java @@ -24,6 +24,7 @@ public interface RawResponseApiPort { List getUnprocessedCollectionInstrumentIds(); void updateProcessDates(List surveyUnitModels); Page findRawResponseDataByCampaignIdAndDate(String campaignId, Instant startDate, Instant endDate, Pageable pageable); + long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId); long countByCollectionInstrumentId(String collectionInstrumentId); diff --git a/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java b/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java index d4f43870..1342aae9 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java @@ -92,4 +92,6 @@ List parseEditedVariables(SurveyUnitInputDto surveyUnitInputDto Set findCampaignIdsFrom(SurveyUnitInputDto dto); long countResponsesByQuestionnaireId(String questionnaireId); + + long countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(String id); } \ No newline at end of file diff --git a/src/main/java/fr/insee/genesis/domain/ports/spi/LunaticJsonRawDataPersistencePort.java b/src/main/java/fr/insee/genesis/domain/ports/spi/LunaticJsonRawDataPersistencePort.java index 44a6f209..b9a1d0aa 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/spi/LunaticJsonRawDataPersistencePort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/spi/LunaticJsonRawDataPersistencePort.java @@ -28,4 +28,5 @@ public interface LunaticJsonRawDataPersistencePort { List findProcessedIdsGroupedByQuestionnaireSince(LocalDateTime since); List findUnprocessedIds(); Set findUnprocessedInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId); + long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); } diff --git a/src/main/java/fr/insee/genesis/domain/ports/spi/RawResponsePersistencePort.java b/src/main/java/fr/insee/genesis/domain/ports/spi/RawResponsePersistencePort.java index 91e7704a..f049be01 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/spi/RawResponsePersistencePort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/spi/RawResponsePersistencePort.java @@ -21,6 +21,6 @@ public interface RawResponsePersistencePort { Page findByCampaignIdAndDate(String campaignId, Instant startDate, Instant endDate, Pageable pageable); long countByCollectionInstrumentId(String collectionInstrumentId); Set findDistinctCollectionInstrumentIds(); - + long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId); Page findByCollectionInstrumentId(String collectionInstrumentId, Pageable pageable); } diff --git a/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java b/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java index a075c9e0..0629b302 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java @@ -72,4 +72,6 @@ List findInterrogationIdsByCollectionInstrumentIdAndRecordDateB Set findCampaignIdsByQuestionnaireId(String questionnaireId); long countByQuestionnaireId(String questionnaireId); + + long countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(String id); } diff --git a/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java b/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java index d9531892..e547a9e6 100644 --- a/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java +++ b/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java @@ -548,6 +548,11 @@ public long countRawResponsesByQuestionnaireId(String campaignId) { return lunaticJsonRawDataPersistencePort.countRawResponsesByQuestionnaireId(campaignId); } + @Override + public long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { + return lunaticJsonRawDataPersistencePort.countDistinctInterrogationIdsByQuestionnaireId(questionnaireId); + } + @Override public Map> findProcessedIdsgroupedByQuestionnaireSince(LocalDateTime since) { List idsByQuestionnaire = lunaticJsonRawDataPersistencePort.findProcessedIdsGroupedByQuestionnaireSince(since); diff --git a/src/main/java/fr/insee/genesis/domain/service/rawdata/RawResponseService.java b/src/main/java/fr/insee/genesis/domain/service/rawdata/RawResponseService.java index 4957845c..eeab7490 100644 --- a/src/main/java/fr/insee/genesis/domain/service/rawdata/RawResponseService.java +++ b/src/main/java/fr/insee/genesis/domain/service/rawdata/RawResponseService.java @@ -536,6 +536,11 @@ public Page findRawResponseDataByCampaignIdAndDate(String camp return rawResponsePersistencePort.findByCampaignIdAndDate(campaignId,startDate, endDate,pageable); } + @Override + public long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId) { + return rawResponsePersistencePort.countByCollectionInstrumentId(collectionInstrumentId); + } + @Override public long countByCollectionInstrumentId(String collectionInstrumentId) { return rawResponsePersistencePort.countByCollectionInstrumentId(collectionInstrumentId); diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index e9f89b3a..46390ec3 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -689,4 +689,9 @@ private boolean isLastVariableState(SurveyUnitModel surveyUnitModel, VariableDto } return true; } + + @Override + public long countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(String id) { + return surveyUnitPersistencePort.countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(id); + } } diff --git a/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java b/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java index bd4d09c7..c6cf18d8 100644 --- a/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java +++ b/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java @@ -16,8 +16,11 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Stream; @@ -44,17 +47,23 @@ public Map writeVolumetries(SurveyUnitApiPort surveyUnitApiPort) t if (Files.exists(logFilePath)){ Files.delete(logFilePath); } - Files.writeString(logFilePath, "campaign;volumetry\n"); + Files.writeString(logFilePath, "campaign;volumetry;distinctInterrogationIds\n"); //Write lines - Set collectionInstrumentIds = surveyUnitApiPort.findDistinctQuestionnairesAndCollectionInstrumentIds(); - for (String collectionInstrumentId : collectionInstrumentIds) { + Set collectionInstrumentIds = + surveyUnitApiPort.findDistinctQuestionnairesAndCollectionInstrumentIds(); + + List sortedIds = new ArrayList<>(collectionInstrumentIds); + Collections.sort(sortedIds); + + for (String collectionInstrumentId : sortedIds) { long countResult = surveyUnitApiPort.countResponsesByCollectionInstrumentId(collectionInstrumentId); countResult += surveyUnitApiPort.countResponsesByQuestionnaireId(collectionInstrumentId); + long distinctInterrogationIds = + surveyUnitApiPort.countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(collectionInstrumentId); - String line = collectionInstrumentId + ";" + countResult + "\n"; - + String line = collectionInstrumentId + ";" + countResult + ";" + distinctInterrogationIds + "\n"; Files.writeString(logFilePath, line, StandardOpenOption.APPEND); responseVolumetricsByQuestionnaireMap.put(collectionInstrumentId, countResult); } @@ -66,54 +75,82 @@ public Map> writeRawDataVolumetries( LunaticJsonRawDataApiPort lunaticJsonRawDataApiPort, RawResponseApiPort rawResponseApiPort ) throws IOException { + Map> rawDataVolumetricsMap = new HashMap<>(); rawDataVolumetricsMap.put(Constants.MONGODB_LUNATIC_RAWDATA_COLLECTION_NAME, new HashMap<>()); rawDataVolumetricsMap.put(Constants.MONGODB_RAW_RESPONSES_COLLECTION_NAME, new HashMap<>()); rawDataVolumetricsMap.put(Constants.VOLUMETRY_RAW_TOTAL, new HashMap<>()); - Path logFilePath = Path.of(config.getLogFolder()).resolve(Constants.VOLUMETRY_FOLDER_NAME) + Path logFilePath = Path.of(config.getLogFolder()) + .resolve(Constants.VOLUMETRY_FOLDER_NAME) .resolve( - LocalDateTime.now().format(DateTimeFormatter.ofPattern(Constants.VOLUMETRY_FILE_DATE_FORMAT)) - + Constants.VOLUMETRY_RAW_FILE_SUFFIX + ".csv"); + LocalDateTime.now() + .format(DateTimeFormatter.ofPattern(Constants.VOLUMETRY_FILE_DATE_FORMAT)) + + Constants.VOLUMETRY_RAW_FILE_SUFFIX + ".csv" + ); + Files.createDirectories(logFilePath.getParent()); - //Overwrite log file with header if exists - if (Files.exists(logFilePath)){ + + // Overwrite file if exists + if (Files.exists(logFilePath)) { Files.delete(logFilePath); } - //Write header - Files.writeString(logFilePath, "questionnaireId;%s;%s;%s\n" - .formatted( - Constants.MONGODB_LUNATIC_RAWDATA_COLLECTION_NAME, - Constants.MONGODB_RAW_RESPONSES_COLLECTION_NAME, - Constants.VOLUMETRY_RAW_TOTAL - ) + Files.writeString( + logFilePath, + "questionnaireId;%s;%s;%s;distinctInterrogationIds\n" + .formatted( + Constants.MONGODB_LUNATIC_RAWDATA_COLLECTION_NAME, + Constants.MONGODB_RAW_RESPONSES_COLLECTION_NAME, + Constants.VOLUMETRY_RAW_TOTAL + ) ); - //Write lines - Set oldRawDataQuestionnaires = lunaticJsonRawDataApiPort.findDistinctQuestionnaireIds(); - Set rawDataQuestionnaires = new HashSet<>(rawResponseApiPort.getDistinctCollectionInstrumentIds()); - rawDataQuestionnaires.addAll(oldRawDataQuestionnaires); - for (String questionnaireId : rawDataQuestionnaires) { - long oldRawDataCountResult = lunaticJsonRawDataApiPort.countRawResponsesByQuestionnaireId(questionnaireId); - long rawDataCountResult = rawResponseApiPort.countByCollectionInstrumentId(questionnaireId); - long total = oldRawDataCountResult + rawDataCountResult; - - String delimiter = ";"; - String line = questionnaireId + delimiter - + oldRawDataCountResult + delimiter - + rawDataCountResult + delimiter - + total - +"\n"; + // Merge questionnaire ids from both sources + Set lunaticQuestionnaires = lunaticJsonRawDataApiPort.findDistinctQuestionnaireIds(); + Set rawQuestionnaires = new HashSet<>(rawResponseApiPort.getDistinctCollectionInstrumentIds()); + rawQuestionnaires.addAll(lunaticQuestionnaires); + + List sortedQuestionnaires = new ArrayList<>(rawQuestionnaires); + Collections.sort(sortedQuestionnaires); + + for (String questionnaireId : sortedQuestionnaires) { + + long lunaticCount = + lunaticJsonRawDataApiPort.countRawResponsesByQuestionnaireId(questionnaireId); + + long rawCount = + rawResponseApiPort.countByCollectionInstrumentId(questionnaireId); + + long total = lunaticCount + rawCount; + + long lunaticDistinct = + lunaticJsonRawDataApiPort.countDistinctInterrogationIdsByQuestionnaireId(questionnaireId); + + long rawDistinct = + rawResponseApiPort.countDistinctInterrogationIdsByCollectionInstrumentId(questionnaireId); + + long distinctTotal = lunaticDistinct + rawDistinct; + + String line = questionnaireId + ";" + + lunaticCount + ";" + + rawCount + ";" + + total + ";" + + distinctTotal + + "\n"; Files.writeString(logFilePath, line, StandardOpenOption.APPEND); + rawDataVolumetricsMap.get(Constants.MONGODB_LUNATIC_RAWDATA_COLLECTION_NAME) - .put(questionnaireId, oldRawDataCountResult); + .put(questionnaireId, lunaticCount); + rawDataVolumetricsMap.get(Constants.MONGODB_RAW_RESPONSES_COLLECTION_NAME) - .put(questionnaireId, rawDataCountResult); + .put(questionnaireId, rawCount); + rawDataVolumetricsMap.get(Constants.VOLUMETRY_RAW_TOTAL) .put(questionnaireId, total); } + return rawDataVolumetricsMap; } diff --git a/src/main/java/fr/insee/genesis/infrastructure/adapter/LunaticJsonRawDataMongoAdapter.java b/src/main/java/fr/insee/genesis/infrastructure/adapter/LunaticJsonRawDataMongoAdapter.java index 65bbcaaf..06195330 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/adapter/LunaticJsonRawDataMongoAdapter.java +++ b/src/main/java/fr/insee/genesis/infrastructure/adapter/LunaticJsonRawDataMongoAdapter.java @@ -136,4 +136,10 @@ public Set findUnprocessedInterrogationIdsByCollectionInstrumentId(Strin return interrogationIds; } + + @Override + public long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { + Long count = repository.countDistinctInterrogationIdsByQuestionnaireId(questionnaireId); + return count != null ? count : 0; + } } diff --git a/src/main/java/fr/insee/genesis/infrastructure/adapter/RawResponseMongoAdapter.java b/src/main/java/fr/insee/genesis/infrastructure/adapter/RawResponseMongoAdapter.java index 0706289a..0aa0c05f 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/adapter/RawResponseMongoAdapter.java +++ b/src/main/java/fr/insee/genesis/infrastructure/adapter/RawResponseMongoAdapter.java @@ -91,7 +91,13 @@ public long countByCollectionInstrumentId(String collectionInstrumentId) { public Set findDistinctCollectionInstrumentIds() { return new HashSet<>(repository.findDistinctCollectionInstrumentId()); } - + + @Override + public long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId) { + Long count = repository.countDistinctInterrogationIdsByCollectionInstrumentId(collectionInstrumentId); + return count != null ? count : 0; + } + @Override public Page findByCollectionInstrumentId(String collectionInstrumentId, Pageable pageable) { Page rawDataDocs = repository.findByCollectionInstrumentId(collectionInstrumentId, pageable); diff --git a/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java b/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java index 7e69ec6d..bfdd3e84 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java +++ b/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java @@ -255,4 +255,17 @@ public Set findCampaignIdsByQuestionnaireId(String questionnaireId) { public long countByQuestionnaireId(String questionnaireId) { return mongoRepository.countByQuestionnaireId(questionnaireId); } + + @Override + public long countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(String id) { + Set distinct = new HashSet<>(); + + mongoRepository.findInterrogationIdsByQuestionnaireId(id) + .forEach(d -> distinct.add(d.getInterrogationId())); + + mongoRepository.findInterrogationIdsByCollectionInstrumentId(id) + .forEach(d -> distinct.add(d.getInterrogationId())); + + return distinct.size(); + } } diff --git a/src/main/java/fr/insee/genesis/infrastructure/repository/LunaticJsonMongoDBRepository.java b/src/main/java/fr/insee/genesis/infrastructure/repository/LunaticJsonMongoDBRepository.java index e7b20ba4..15989b80 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/repository/LunaticJsonMongoDBRepository.java +++ b/src/main/java/fr/insee/genesis/infrastructure/repository/LunaticJsonMongoDBRepository.java @@ -45,6 +45,13 @@ public interface LunaticJsonMongoDBRepository extends MongoRepository findByInterrogationId(String interrogationId); + @Aggregation(pipeline = { + "{ '$match': { 'questionnaireId': ?0 } }", + "{ '$group': { '_id': '$interrogationId' } }", + "{ '$count': 'count' }" + }) + Long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); + Page findByCampaignIdAndRecordDateBetween(String campagneId, Instant start, Instant end, Pageable pageable); long countByQuestionnaireId(String questionnaireId); @Aggregation(pipeline = { diff --git a/src/main/java/fr/insee/genesis/infrastructure/repository/RawResponseRepository.java b/src/main/java/fr/insee/genesis/infrastructure/repository/RawResponseRepository.java index 3f793bbf..4b3fcc9f 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/repository/RawResponseRepository.java +++ b/src/main/java/fr/insee/genesis/infrastructure/repository/RawResponseRepository.java @@ -52,4 +52,12 @@ public interface RawResponseRepository extends MongoRepository findDistinctCollectionInstrumentId(); Page findByCollectionInstrumentId(String collectionInstrumentId, Pageable pageable); + + @Aggregation(pipeline = { + "{ '$match': { 'collectionInstrumentId': ?0 } }", + "{ '$group': { '_id': '$interrogationId' } }", + "{ '$count': 'count' }" + }) + Long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId); + } diff --git a/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java b/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java index 547452e2..1851292c 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java +++ b/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java @@ -128,4 +128,19 @@ List findInterrogationIdsQuestionnaireIdAndRecordDateBetween @Query(value = "{ 'questionnaireId' : ?0 }", fields = "{ _id : 0, 'campaignId' : 1 }") Set findCampaignIdsByQuestionnaireId(String questionnaireId); + + + @Aggregation(pipeline = { + "{ '$match': { 'questionnaireId': ?0 } }", + "{ '$group': { '_id': '$interrogationId' } }", + "{ '$count': 'count' }" + }) + Long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); + + @Aggregation(pipeline = { + "{ '$match': { 'collectionInstrumentId': ?0 } }", + "{ '$group': { '_id': '$interrogationId' } }", + "{ '$count': 'count' }" + }) + Long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId); } \ No newline at end of file diff --git a/src/test/java/cucumber/functional_tests/RawDataDefinitions.java b/src/test/java/cucumber/functional_tests/RawDataDefinitions.java index ea1b8579..f6c023a3 100644 --- a/src/test/java/cucumber/functional_tests/RawDataDefinitions.java +++ b/src/test/java/cucumber/functional_tests/RawDataDefinitions.java @@ -149,6 +149,11 @@ public Page findRawResponseDataByCampaignIdAndDate(String camp return null; } + @Override + public long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId) { + return 0; + } + @Override public long countByCollectionInstrumentId(String collectionInstrumentId) { return 0; diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/RawResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/RawResponseControllerTest.java index 7473ca86..7b9a3e92 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/RawResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/RawResponseControllerTest.java @@ -123,6 +123,11 @@ public Page findRawResponseDataByCampaignIdAndDate(String camp return rawResponseDataPersistanceStub.findByCampaignIdAndDate(campaignId, startDate, endDate, pageable); } + @Override + public long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId) { + return 0; + } + @Override public long countByCollectionInstrumentId(String collectionInstrumentId) { return 0; diff --git a/src/test/java/fr/insee/genesis/stubs/LunaticJsonMongoDBRepositoryStub.java b/src/test/java/fr/insee/genesis/stubs/LunaticJsonMongoDBRepositoryStub.java index 29c5c3c1..a5f2a4cf 100644 --- a/src/test/java/fr/insee/genesis/stubs/LunaticJsonMongoDBRepositoryStub.java +++ b/src/test/java/fr/insee/genesis/stubs/LunaticJsonMongoDBRepositoryStub.java @@ -87,6 +87,11 @@ public List findByInterrogationId(String interrogati ; } + @Override + public Long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { + return 0L; + } + @Override public Page findByCampaignIdAndRecordDateBetween(String campagneId, Instant start, Instant end, Pageable pageable){ return Page.empty(pageable); diff --git a/src/test/java/fr/insee/genesis/stubs/LunaticJsonRawDataPersistanceStub.java b/src/test/java/fr/insee/genesis/stubs/LunaticJsonRawDataPersistanceStub.java index 86350299..49a815b3 100644 --- a/src/test/java/fr/insee/genesis/stubs/LunaticJsonRawDataPersistanceStub.java +++ b/src/test/java/fr/insee/genesis/stubs/LunaticJsonRawDataPersistanceStub.java @@ -234,4 +234,9 @@ public Set findUnprocessedInterrogationIdsByCollectionInstrumentId(Strin unprocessedDocuments.forEach(doc -> interrogationIds.add(doc.interrogationId())); return interrogationIds; } + + @Override + public long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { + return 0; + } } diff --git a/src/test/java/fr/insee/genesis/stubs/RawResponseDataPersistanceStub.java b/src/test/java/fr/insee/genesis/stubs/RawResponseDataPersistanceStub.java index 140606f5..481b5696 100644 --- a/src/test/java/fr/insee/genesis/stubs/RawResponseDataPersistanceStub.java +++ b/src/test/java/fr/insee/genesis/stubs/RawResponseDataPersistanceStub.java @@ -97,4 +97,9 @@ public long countByCollectionInstrumentId(String collectionInstrumentId) { public Set findDistinctCollectionInstrumentIds() { return new HashSet<>(); } + + @Override + public long countDistinctInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId) { + return 0; + } } diff --git a/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java b/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java index 901ec03f..65f5ddd6 100644 --- a/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java +++ b/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java @@ -238,4 +238,9 @@ public Set findCampaignIdsByQuestionnaireId(String questionnaireId) { public long countByQuestionnaireId(String questionnaireId) { return 0; } + + @Override + public long countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(String id) { + return 0; + } }