Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
b327da3
Merge branch 'java25' into devTests
alexisszmundy Feb 5, 2026
00f75a8
refactor: moved integration tests into dedicated package
alexisszmundy Feb 5, 2026
ad30d46
test: contextualVariableController unit test
alexisszmundy Feb 5, 2026
23e7802
test: controllers unit tests
alexisszmundy Feb 6, 2026
16bc8fd
test: rest of controller tests
alexisszmundy Feb 9, 2026
11aa6d0
test: context service unit tests + deprecations
alexisszmundy Feb 9, 2026
2b2abf8
test: contextual variable service unit tests
alexisszmundy Feb 9, 2026
44ca639
test: some services unit tests
alexisszmundy Feb 10, 2026
608bda8
refactor: use mockito annotations
alexisszmundy Feb 10, 2026
00faa8b
chore: imports
alexisszmundy Feb 11, 2026
89036c3
wip: process lunatic raw data test
alexisszmundy Feb 12, 2026
df1cebf
Merge branch 'main' into devTests
alexisszmundy Feb 19, 2026
4f804ce
test: lunatic json raw data unit test
alexisszmundy Feb 19, 2026
edaddc5
test: services tests
alexisszmundy Feb 20, 2026
0b94aa3
test: save edited no campaignId new condition
alexisszmundy Feb 24, 2026
86eaa67
fix: don't use campaignId
alexisszmundy Feb 24, 2026
34b9686
Merge branch 'main' into devTests
alexisszmundy Feb 24, 2026
789c7b4
Merge branch 'devResponseStates' into devTests
alexisszmundy Feb 26, 2026
4f95d7e
Merge branch 'devResponseStates' into devTests
alexisszmundy Feb 26, 2026
5de6b96
Merge branch 'main' into devTests
alexisszmundy Mar 4, 2026
ace5362
Merge branch 'main' into devTests
alexisszmundy Mar 5, 2026
c273dbb
fix: test fixes after merge
alexisszmundy Mar 5, 2026
7319ebd
test: more models tests
alexisszmundy Mar 5, 2026
9f5438e
test: cache, context and contextual adapters
alexisszmundy Mar 5, 2026
bedda4a
test: adapter tests
alexisszmundy Mar 5, 2026
28e06af
test: surveyunitmodelmongoadapter test
alexisszmundy Mar 6, 2026
840c351
fix: use deep stubs + rename files
alexisszmundy Mar 6, 2026
013eac1
fix: put back normal stubs, problem is local
alexisszmundy Mar 6, 2026
feddc14
fix: use jacoco
alexisszmundy Mar 6, 2026
cb019be
test: NoDataException
alexisszmundy Mar 6, 2026
86b0338
test: ScheduleDocument & RawResponseInputRepository
alexisszmundy Mar 6, 2026
9888967
test: OidcServiceTest
alexisszmundy Mar 6, 2026
0881302
test: FileUtilsTest
alexisszmundy Mar 6, 2026
f0962b8
test: controller adapter tests
alexisszmundy Mar 6, 2026
4705367
chore: remove old tests
alexisszmundy Mar 6, 2026
9bc6d11
fix: put back stubs for cucumber
alexisszmundy Mar 6, 2026
ce9b05c
test: health check controller test
alexisszmundy Mar 6, 2026
f4a8c13
test: raw response controller reworked
alexisszmundy Mar 6, 2026
45d76e7
chore: disabled unused mode V2 endpoints
alexisszmundy Mar 9, 2026
223751a
fix: mode path variable
alexisszmundy Mar 9, 2026
c80efd6
Merge branch 'main' into devTests
alexisszmundy Mar 9, 2026
38697e8
refactor: renamed contextualVariableControllerTest
alexisszmundy Mar 9, 2026
6bf04c7
refactor: moved ControllerAccessTest
alexisszmundy Mar 10, 2026
bd19532
test: removed already tested access tests
alexisszmundy Mar 10, 2026
c39d703
test: updated filiere model json body for tests
alexisszmundy Mar 10, 2026
99abc8e
chore: remove unused
alexisszmundy Mar 10, 2026
beafc6d
refactor: renamed controller access test
alexisszmundy Mar 10, 2026
b7832d7
test: converted raw data saving cucumber into IT
alexisszmundy Mar 13, 2026
059184f
Merge branch 'main' into devTests
alexisszmundy Mar 13, 2026
49181b9
test: process filiere model raw data IT wip
alexisszmundy Mar 13, 2026
0ad7630
test: process raw data integration tests
alexisszmundy Mar 20, 2026
0a2ed10
Merge branch 'main' into devTests
alexisszmundy Mar 20, 2026
e5e5e96
refactor: abstract in ControllerAccess IT
alexisszmundy Mar 20, 2026
ff0def7
refactor: remove useless autowired
alexisszmundy Mar 20, 2026
094b144
test: save context
alexisszmundy Mar 20, 2026
aae705d
test: save lunatic model wip
alexisszmundy Mar 20, 2026
0cc4335
test: save lunatic parameterized
alexisszmundy Mar 23, 2026
9c32d03
test: save lunatic model invalid syntax
alexisszmundy Mar 23, 2026
432cbd5
test: get lunatic model and questionnaire IT
alexisszmundy Mar 23, 2026
5f17bb6
Update UtilsControllerTest.java
alexisszmundy Mar 23, 2026
44038a6
refactor: removed compareMaps method
alexisszmundy Mar 23, 2026
0f77597
Merge branch 'main' into devTests
alexisszmundy Mar 23, 2026
b3fb103
test: get simplified response wip
alexisszmundy Mar 23, 2026
b6320fb
fix: 404 when no simplified found
alexisszmundy Mar 25, 2026
dc8fc2c
test: get latest states IT
alexisszmundy Mar 25, 2026
44c36ee
chore: removed deprecated cucumber features
alexisszmundy Mar 25, 2026
8680358
test: delete schedules IT
alexisszmundy Mar 25, 2026
66ee130
chore: remove cucumber
alexisszmundy Mar 25, 2026
ebc5894
chore: remove unused resources files
alexisszmundy Mar 25, 2026
7fee2aa
Merge branch 'main' into devTests
alexisszmundy Mar 26, 2026
1191b8d
Update Tests GENESIS.run.xml
alexisszmundy Mar 26, 2026
842e59c
fix: check updateProcessDate IT
alexisszmundy Mar 27, 2026
26c8a40
Merge branch 'main' into devTests
alexisszmundy Mar 27, 2026
dfa6683
fix: disabled delete expired schedules IT
alexisszmundy Mar 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Unit tests GENESIS" type="JUnit" factoryName="JUnit">
<configuration default="false" name="Tests GENESIS" type="JUnit" factoryName="JUnit">
<module name="genesis-api" />
<extension name="coverage" runner="jacoco" />
<option name="PACKAGE_NAME" value="fr.insee.genesis" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
Expand Down
66 changes: 36 additions & 30 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
<java.version>25</java.version>
<springdoc.version>2.8.16</springdoc.version>
<mapstruct.version>1.6.3</mapstruct.version>
<cucumber.version>7.34.2</cucumber.version>
<junit-jupiter.version>5.13.4</junit-jupiter.version>
<jackson-bom.version>2.21.1</jackson-bom.version>

Expand Down Expand Up @@ -125,32 +124,6 @@
<version>${mapstruct.version}</version>
</dependency>

<!-- Cucumber -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit-platform-engine</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-spring</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>


<dependency>
<groupId>org.junit.vintage</groupId>
Expand Down Expand Up @@ -263,16 +236,49 @@
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<printSummary>true</printSummary>
<includes>
<include>**/*FT.java</include>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
</includes>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
<parallel>methods</parallel>
<threadCount>4</threadCount>
<argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar}</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
</plugin>
<plugin>
Expand All @@ -281,10 +287,10 @@
<version>${pitest.version}</version>
<configuration>
<targetClasses>
<param>fr.insee.kraftwerk.*</param>
<param>fr.insee.genesis.*</param>
</targetClasses>
<targetTests>
<param>fr.insee.kraftwerk.*</param>
<param>fr.insee.genesis.*</param>
</targetTests>
<mutators>
<mutator>STRONGER</mutator>
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/fr/insee/genesis/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public class Constants {
public static final String SCHEDULE_ARCHIVE_FOLDER_NAME = "genesis_deleted_schedules";
public static final String SAME_AXIS_VALUE = "0";

public static final String VARIABLE_STATE_DTO_DATE_FORMAT = "dd/MM/yyyy HH:mm:ss.SSS";


// XML sequential reading parameters
public static final int MAX_FILE_SIZE_UNTIL_SEQUENTIAL = 200; // In megabytes
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package fr.insee.genesis.controller.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import fr.insee.genesis.Constants;
import fr.insee.genesis.domain.model.surveyunit.DataState;
import lombok.Builder;
import lombok.Data;
Expand All @@ -14,6 +15,6 @@ public class VariableStateDto {
private boolean active;
private Object value;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss.SSS")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = Constants.VARIABLE_STATE_DTO_DATE_FORMAT)
private LocalDateTime date;
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class CombinedRawDataController {
@Operation(summary = "Retrieve combined raw responses and Lunatic raw data for a given interrogationId")
@GetMapping
@PreAuthorize("hasAnyRole('ADMIN', 'USER_PLATINE')")
public ResponseEntity<CombinedRawDataDto> getCombinetRawData(
public ResponseEntity<CombinedRawDataDto> getCombinedRawData(
@RequestParam(INTERROGATION_ID) String interrogationId
){
CombinedRawDataDto data = combinedRawDataService.getCombinedRawDataByInterrogationId(interrogationId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,9 @@ public ResponseEntity<Object> saveScheduleWithCollectionInstrumentId(
collectionInstrumentId,
serviceToCall == null ? ServiceToCall.MAIN : serviceToCall,
frequency,
scheduleBeginDate, scheduleEndDate, trustParameters
scheduleBeginDate,
scheduleEndDate,
trustParameters
);
}catch (GenesisException e){
return new ResponseEntity<>(e.getMessage(), HttpStatusCode.valueOf(e.getStatus()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ public ResponseEntity<String> healthcheckMongo() {
MongoDB OK
\s
%s Responses
%s Schedules
%s Contexts
\s"""
.formatted(
surveyUnitApiPort.countResponses(),
dataProcessingContextApiPort.countSchedules()
dataProcessingContextApiPort.countContexts()
));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@

@Operation(summary = "List campaigns in database")
@GetMapping(path = "/")
@Deprecated
public ResponseEntity<Set<String>> getCampaigns() {

Check warning on line 31 in src/main/java/fr/insee/genesis/controller/rest/responses/CampaignController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add the missing @deprecated Javadoc tag.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW6wMM3WpaPvOmvf&open=AZzDQW6wMM3WpaPvOmvf&pullRequest=423

Check warning on line 31 in src/main/java/fr/insee/genesis/controller/rest/responses/CampaignController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW6wMM3WpaPvOmve&open=AZzDQW6wMM3WpaPvOmve&pullRequest=423
Set<String> campaigns = surveyUnitService.findDistinctCampaignIds();
return ResponseEntity.ok(campaigns);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ public ResponseEntity<List<InterrogationId>> getAllInterrogationIdsByCollectionI
public ResponseEntity<Long> countAllInterrogationIdsByQuestionnaireOrCollectionInstrument(
@Parameter(description = "questionnaireId/collectionInstrumentId", required = true) @PathVariable("questionnaireId") String questionnaireId
) {
//TODO move logic to service
long response = surveyUnitService.countResponsesByQuestionnaireId(questionnaireId);
response += surveyUnitService.countResponsesByCollectionInstrumentId(questionnaireId);
return ResponseEntity.ok(response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,27 @@

@Operation(summary = "List sources/modes used for a given campaign")
@GetMapping(path = "/by-campaign")
@Deprecated
public ResponseEntity<List<Mode>> getModesByCampaign(@RequestParam("campaignId") String campaignId) {

Check warning on line 47 in src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW7uMM3WpaPvOmvj&open=AZzDQW7uMM3WpaPvOmvj&pullRequest=423

Check warning on line 47 in src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add the missing @deprecated Javadoc tag.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW7uMM3WpaPvOmvk&open=AZzDQW7uMM3WpaPvOmvk&pullRequest=423
List<Mode> modes = surveyUnitService.findModesByCampaignId(campaignId);
return ResponseEntity.ok(modes);
}

//TODO Integrate into normal usage

Check warning on line 52 in src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this TODO comment.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW7uMM3WpaPvOmvl&open=AZzDQW7uMM3WpaPvOmvl&pullRequest=423
//========= OPTIMISATIONS PERFS (START) ==========
@Operation(summary = "List sources/modes used for a given questionnaire")
@GetMapping(path = "/by-questionnaireV2")
public ResponseEntity<List<Mode>> getModesByQuestionnaireV2(@RequestParam("questionnaireId") String questionnaireId) {
List<Mode> modes = surveyUnitService.findModesByQuestionnaireIdV2(questionnaireId);
return ResponseEntity.ok(modes);
}

@Operation(summary = "List sources/modes used for a given campaign")
@GetMapping(path = "/by-campaignV2")
public ResponseEntity<List<Mode>> getModesByCampaignV2(@RequestParam("campaignId") String campaignId) {
List<Mode> modes = surveyUnitService.findModesByCampaignIdV2(campaignId);
return ResponseEntity.ok(modes);
}
// @Operation(summary = "List sources/modes used for a given questionnaire")
// @GetMapping(path = "/by-questionnaireV2")
// public ResponseEntity<List<Mode>> getModesByQuestionnaireV2(@RequestParam("questionnaireId") String questionnaireId) {

Check warning on line 56 in src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

This block of commented-out lines of code should be removed.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzS19gYGh3eRzM3rkUu&open=AZzS19gYGh3eRzM3rkUu&pullRequest=423
// List<Mode> modes = surveyUnitService.findModesByQuestionnaireIdV2(questionnaireId);
// return ResponseEntity.ok(modes);
// }
//
// @Operation(summary = "List sources/modes used for a given campaign")
// @GetMapping(path = "/by-campaignV2")
// public ResponseEntity<List<Mode>> getModesByCampaignV2(@RequestParam("campaignId") String campaignId) {
// List<Mode> modes = surveyUnitService.findModesByCampaignIdV2(campaignId);
// return ResponseEntity.ok(modes);
// }
//========= OPTIMISATIONS PERFS (END) ==========

}
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@

@Operation(summary = "List questionnaires in database with their campaigns")
@GetMapping(path = "/with-campaigns")
@Deprecated
public ResponseEntity<List<QuestionnaireWithCampaign>> getQuestionnairesWithCampaigns() {

Check warning on line 61 in src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQWy8MM3WpaPvOmvV&open=AZzDQWy8MM3WpaPvOmvV&pullRequest=423

Check warning on line 61 in src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add the missing @deprecated Javadoc tag.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQWy8MM3WpaPvOmvW&open=AZzDQWy8MM3WpaPvOmvW&pullRequest=423
List<QuestionnaireWithCampaign> questionnaireWithCampaignList =
surveyUnitService.findQuestionnairesWithCampaigns();
return ResponseEntity.ok(questionnaireWithCampaignList);
Expand All @@ -65,7 +66,8 @@

@Operation(summary = "List questionnaires used for a given campaign")
@GetMapping(path = "/by-campaign")
@Deprecated

Check warning on line 69 in src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add 'since' and/or 'forRemoval' arguments to the @Deprecated annotation.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQWy8MM3WpaPvOmvX&open=AZzDQWy8MM3WpaPvOmvX&pullRequest=423
public ResponseEntity<Set<String>> getQuestionnairesByCampaign(@RequestParam("campaignId") String campaignId) {

Check warning on line 70 in src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQWy8MM3WpaPvOmvY&open=AZzDQWy8MM3WpaPvOmvY&pullRequest=423
Set<String> questionnaires = surveyUnitService.findQuestionnaireIdsByCampaignId(campaignId);
return ResponseEntity.ok(questionnaires);
}
Expand All @@ -76,7 +78,8 @@
*/
@Operation(summary = "List questionnaires used for a given campaign (using a DISTINCT query)")
@GetMapping(path = "/by-campaignV2")
@Deprecated(forRemoval = true) //TODO integrate logic to find by interrogationId

Check warning on line 81 in src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this TODO comment.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQWy8MM3WpaPvOmvc&open=AZzDQWy8MM3WpaPvOmvc&pullRequest=423
public ResponseEntity<Set<String>> getQuestionnairesByCampaignV2(@RequestParam("campaignId") String campaignId) {

Check warning on line 82 in src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add the missing @deprecated Javadoc tag.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQWy8MM3WpaPvOmvb&open=AZzDQWy8MM3WpaPvOmvb&pullRequest=423
Set<String> questionnaires = surveyUnitService.findQuestionnaireIdsByCampaignIdV2(campaignId);
return ResponseEntity.ok(questionnaires);
}
Expand All @@ -92,7 +95,6 @@
} catch (GenesisException e) {
return ResponseEntity.status(e.getStatus()).body(e.getMessage());
}

}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
@PutMapping(path = "/responses/raw/lunatic-json/save")
@PreAuthorize("hasRole('COLLECT_PLATFORM')")
public ResponseEntity<String> saveRawResponsesFromJsonBody(

@RequestParam("campaignName") String campaignName,
@RequestParam("questionnaireId") String questionnaireId,
@RequestParam(INTERROGATION_ID) String interrogationId,
Expand Down Expand Up @@ -99,7 +98,7 @@
public ResponseEntity<String> saveRawResponsesFromRawResponseDto(
@Valid @RequestBody RawResponseDto dto
) {
rawRepository.saveAsRawJson(dto);
rawRepository.saveAsRawJson(dto); //TODO put in service, repository is infra layer

Check warning on line 101 in src/main/java/fr/insee/genesis/controller/rest/responses/RawResponseController.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this TODO comment.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW7cMM3WpaPvOmvh&open=AZzDQW7cMM3WpaPvOmvh&pullRequest=423
return ResponseEntity.status(201).body(String.format(SUCCESS_MESSAGE, dto.getInterrogationId()));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,14 @@ public ResponseEntity<Object> findResponsesByInterrogationAndQuestionnaireLatest
public ResponseEntity<Object> findResponsesByInterrogationAndCollectionInstrumentLatestStates(
@RequestParam("interrogationId") String interrogationId,
@RequestParam("collectionInstrumentId") String collectionInstrumentId) throws GenesisException {
//TODO move logic to service
DataProcessingContextModel dataProcessingContextModel;
//Check context
DataProcessingContextModel dataProcessingContextModel = contextService.getContext(interrogationId);
try {
dataProcessingContextModel = contextService.getContext(interrogationId);
}catch (GenesisException e){
return ResponseEntity.internalServerError().body(e.getMessage());
}

if(dataProcessingContextModel == null || !dataProcessingContextModel.isWithReview()){
return ResponseEntity.status(403).body(new ApiError("Review is disabled for that partition"));
Expand Down Expand Up @@ -301,6 +307,7 @@ public ResponseEntity<SurveyUnitSimplifiedDto> getLatestByInterrogationOneObject
LocalDateTime validationDate = null;
for (SurveyUnitModel response :
responses.stream().filter(rep -> rep.getMode().equals(mode)).toList()){
//Keep last not null questionnaireState/validationDate
questionnaireState = response.getQuestionnaireState() != null ?
response.getQuestionnaireState()
: questionnaireState;
Expand Down Expand Up @@ -331,14 +338,19 @@ public ResponseEntity<SurveyUnitSimplifiedDto> getLatestByInterrogationOneObject
public ResponseEntity<SurveyUnitSimplifiedDto> getResponseByCollectionInstrumentAndInterrogation(
@PathVariable("collectionInstrumentId") String collectionInstrumentId,
@PathVariable("interrogationId") String interrogationId,
@RequestParam("mode") Mode mode) {
@PathVariable("mode") Mode mode){
try {
return ResponseEntity.ok(
surveyUnitService.findSimplifiedByCollectionInstrumentIdAndInterrogationId(
collectionInstrumentId,
interrogationId,
mode
)
);
} catch (NoDataException e){
log.error(e.getMessage());
return ResponseEntity.notFound().build();
}
}

/**
Expand Down Expand Up @@ -427,7 +439,7 @@ public ResponseEntity<Object> saveEditedVariables(
) {
try {
log.debug("Received in save edited : {}", surveyUnitInputDto.toString());
//Code quality : we need to put all that logic out of this controller
//TODO Code quality : we need to put all that logic out of this controller
//Parse metadata
//Try to look for DDI first, if no DDI found looks for lunatic components
List<GenesisError> errors = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package fr.insee.genesis.domain.model.surveyunit;

/**
* @deprecated unused
*/
@Deprecated(forRemoval = true)
public enum DataType {

Check warning on line 7 in src/main/java/fr/insee/genesis/domain/model/surveyunit/DataType.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQW80MM3WpaPvOmvn&open=AZzDQW80MM3WpaPvOmvn&pullRequest=423
COLLECTED,CALCULATED,EXTERNAL
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package fr.insee.genesis.domain.model.surveyunit.rawdata;

import fr.insee.genesis.domain.model.surveyunit.Mode;
import lombok.Builder;
import org.bson.types.ObjectId;

import java.time.LocalDateTime;
import java.util.Map;

@Builder
public record RawResponseModel(
ObjectId id,
String interrogationId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ void saveKraftwerkExecutionScheduleByCollectionInstrumentId(String collectionIns

void deleteExpiredSchedules(String logFolder) throws GenesisException;

long countSchedules();
long countContexts();

DataProcessingContextModel getContext(String interrogationId) throws GenesisException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,19 @@
public interface LunaticJsonRawDataApiPort {

void save(LunaticJsonRawDataModel rawData);
@Deprecated
List<LunaticJsonRawDataModel> getRawData(String campaignName, Mode mode, List<String> interrogationIdList);

Check warning on line 24 in src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQXABMM3WpaPvOmwH&open=AZzDQXABMM3WpaPvOmwH&pullRequest=423

Check warning on line 24 in src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add the missing @deprecated Javadoc tag.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQXABMM3WpaPvOmwI&open=AZzDQXABMM3WpaPvOmwI&pullRequest=423
List<LunaticJsonRawDataModel> getRawDataByQuestionnaireId(String questionnaireId, Mode mode, List<String> interrogationIdList);
List<SurveyUnitModel> convertRawData(List<LunaticJsonRawDataModel> rawData, VariablesMap variablesMap);
List<LunaticJsonRawDataUnprocessedDto> getUnprocessedDataIds();
Set<String> getUnprocessedDataQuestionnaireIds();
void updateProcessDates(List<SurveyUnitModel> surveyUnitModels);
Set<String> findDistinctQuestionnaireIds();
@Deprecated

Check warning on line 31 in src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add 'since' and/or 'forRemoval' arguments to the @Deprecated annotation.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQXACMM3WpaPvOmwJ&open=AZzDQXACMM3WpaPvOmwJ&pullRequest=423
long countRawResponsesByQuestionnaireId(String campaignId);

Check warning on line 32 in src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not forget to remove this deprecated code someday.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQXACMM3WpaPvOmwK&open=AZzDQXACMM3WpaPvOmwK&pullRequest=423
long countDistinctInterrogationIdsByQuestionnaireId(String questionnaireId);
@Deprecated
Page<LunaticJsonRawDataModel> findRawDataByCampaignIdAndDate(String campaignId, Instant startDt, Instant endDt, Pageable pageable);

Check warning on line 35 in src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add the missing @deprecated Javadoc tag.

See more on https://sonarcloud.io/project/issues?id=InseeFr_genesis-api&issues=AZzDQXACMM3WpaPvOmwO&open=AZzDQXACMM3WpaPvOmwO&pullRequest=423

List<LunaticJsonRawDataModel> getRawDataByInterrogationId(String interrogationId);

Expand Down
Loading
Loading