Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion src/main/java/fr/insee/genesis/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public class Constants {

public static final String XSLT_STRUCTURED_VARIABLES = "xslt/structured-variables.xsl";
public static final String ROOT_GROUP_NAME = "RACINE";
public static final String ROOT_IDENTIFIER_NAME = "IdUE";
public static final String ROOT_IDENTIFIER_NAME = "interrogationId";
public static final String METADATA_SEPARATOR = ".";
public static final String DATE_REGEX = "(^([0-9]{4})[\\-\\/]([0-9]|1[0-2]|0[1-9])[\\-\\/]([0-9]|[0-2][0-9]|3[0-1])$)|" +
"(^([0-9]|[0-2][0-9]|3[0-1])[\\-\\/]([0-9]|1[0-2]|0[1-9])[\\-\\/]([0-9]{4})$)";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ public class LunaticJsonAdapter {

public SurveyUnitModel convert(LunaticJsonSurveyUnit su){
return SurveyUnitModel.builder()
.idQuest(su.getIdQuest())
.idCampaign("")
.idUE(su.getIdUE())
.questionnaireId(su.getQuestionnaireId())
.campaignId("")
.interrogationId(su.getInterrogationId())
.state(DataState.COLLECTED)
.mode(Mode.WEB)
.recordDate(LocalDateTime.now())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,34 @@ public class LunaticXmlAdapter {
* Convert a Lunatic XML survey unit into a genesis survey unit model
* @param su Lunatic XML survey unit to convert
* @param variablesMap variable definitions (used for loops)
* @param idCampaign survey id
* @param campaignId survey id
* @return Genesis SurveyUnitModels for each data state
*/
public static List<SurveyUnitModel> convert(LunaticXmlSurveyUnit su, VariablesMap variablesMap, String idCampaign, Mode mode){
public static List<SurveyUnitModel> convert(LunaticXmlSurveyUnit su, VariablesMap variablesMap, String campaignId, Mode mode){
//Get COLLECTED Data and external variables
List<SurveyUnitModel> surveyUnitModelList = new ArrayList<>();
SurveyUnitModel surveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, idCampaign, DataState.COLLECTED, mode);
SurveyUnitModel surveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, campaignId, DataState.COLLECTED, mode);
getExternalDataFromSurveyUnit(su, surveyUnitModel, variablesMap);

surveyUnitModelList.add(surveyUnitModel);

//Get data from other states
SurveyUnitModel editedSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, idCampaign, DataState.EDITED,mode);
SurveyUnitModel editedSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, campaignId, DataState.EDITED,mode);
if(editedSurveyUnitModel != null){
surveyUnitModelList.add(editedSurveyUnitModel);
}

SurveyUnitModel inputedSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, idCampaign, DataState.INPUTED,mode);
SurveyUnitModel inputedSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, campaignId, DataState.INPUTED,mode);
if(inputedSurveyUnitModel != null){
surveyUnitModelList.add(inputedSurveyUnitModel);
}

SurveyUnitModel forcedSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, idCampaign, DataState.FORCED,mode);
SurveyUnitModel forcedSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, campaignId, DataState.FORCED,mode);
if(forcedSurveyUnitModel != null){
surveyUnitModelList.add(forcedSurveyUnitModel);
}

SurveyUnitModel previousSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, idCampaign, DataState.PREVIOUS,mode);
SurveyUnitModel previousSurveyUnitModel = getStateDataFromSurveyUnit(su, variablesMap, campaignId, DataState.PREVIOUS,mode);
if(previousSurveyUnitModel != null){
surveyUnitModelList.add(previousSurveyUnitModel);
}
Expand All @@ -63,15 +63,15 @@ public static List<SurveyUnitModel> convert(LunaticXmlSurveyUnit su, VariablesMa
* Collects data from XML survey unit depending on the data state
* @param su source XML Survey Unit
* @param variablesMap variable definitions (used for loops)
* @param idCampaign survey id
* @param campaignId survey id
* @param dataState state of the SurveyUnitModel to generate
* @return SurveyUnitModel with a specific state
*/
private static SurveyUnitModel getStateDataFromSurveyUnit(LunaticXmlSurveyUnit su, VariablesMap variablesMap, String idCampaign, DataState dataState, Mode mode) {
private static SurveyUnitModel getStateDataFromSurveyUnit(LunaticXmlSurveyUnit su, VariablesMap variablesMap, String campaignId, DataState dataState, Mode mode) {
SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder()
.idQuest(su.getQuestionnaireModelId())
.idCampaign(idCampaign)
.idUE(su.getId())
.questionnaireId(su.getQuestionnaireModelId())
.campaignId(campaignId)
.interrogationId(su.getId())
.state(dataState)
.mode(mode)
.recordDate(LocalDateTime.now())
Expand Down Expand Up @@ -115,6 +115,7 @@ private static SurveyUnitModel getCollectedDataFromSurveyUnit(LunaticXmlSurveyUn
default:
return null;
}

if(valueTypeList == null) {
continue; //Go to next data
}
Expand All @@ -123,10 +124,10 @@ private static SurveyUnitModel getCollectedDataFromSurveyUnit(LunaticXmlSurveyUn
if (valueTypeList.get(i-1).getValue()!=null) {
variableValues.add(valueTypeList.get(i-1).getValue());
variableModels.add(VariableModel.builder()
.idVar(lunaticXmlCollectedData.getVariableName())
.varId(lunaticXmlCollectedData.getVariableName())
.values(variableValues)
.idLoop(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i))
.idParent(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap))
.loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i))
.parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap))
.build());
dataCount++;
}
Expand Down Expand Up @@ -161,10 +162,10 @@ private static void getExternalDataFromSurveyUnit(LunaticXmlSurveyUnit su, Surve
if (valueTypeList.get(i-1).getValue()!=null) {
variableValues.add(valueTypeList.get(i-1).getValue());
variableModels.add(VariableModel.builder()
.idVar(lunaticXmlExternalData.getVariableName())
.varId(lunaticXmlExternalData.getVariableName())
.values(variableValues)
.idLoop(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap, i))
.idParent(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap))
.loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap, i))
.parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap))
.build());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@NoArgsConstructor
@Getter
public class CampaignWithQuestionnaire {
private String idCampaign;
private String campaignId;
private Set<String> questionnaires;
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package fr.insee.genesis.controller.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -12,21 +11,20 @@
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class SurveyUnitId {
public class InterrogationId {

@JsonProperty("idUE")
private String idUE;
private String interrogationId;

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
SurveyUnitId that = (SurveyUnitId) o;
return Objects.equals(idUE, that.idUE);
InterrogationId that = (InterrogationId) o;
return Objects.equals(interrogationId, that.interrogationId);
}

@Override
public int hashCode() {
return Objects.hash(idUE);
return Objects.hash(interrogationId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@NoArgsConstructor
@Getter
public class QuestionnaireWithCampaign {
private String idQuestionnaire;
private String questionnaireId;
private Set<String> campaigns;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
@Builder
@Data
public class SurveyUnitDto {
private String surveyUnitId;
private String interrogationId;
private List<VariableDto> collectedVariables;
private List<VariableDto> externalVariables;
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
@Data
public class SurveyUnitSimplified {

private String idQuest;
private String idCampaign;
private String idUE;
private String questionnaireId;
private String campaignId;
private String interrogationId;
private Mode mode;
private List<VariableModel> variablesUpdate;
private List<VariableModel> externalVariables;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public CampaignController(SurveyUnitApiPort surveyUnitService) {
@Operation(summary = "List campaigns in database")
@GetMapping(path = "/")
public ResponseEntity<Set<String>> getCampaigns() {
Set<String> campaigns = surveyUnitService.findDistinctIdCampaigns();
Set<String> campaigns = surveyUnitService.findDistinctCampaignIds();
return ResponseEntity.ok(campaigns);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package fr.insee.genesis.controller.rest.responses;

import fr.insee.genesis.controller.dto.SurveyUnitId;
import fr.insee.genesis.controller.dto.InterrogationId;
import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -12,23 +12,23 @@

import java.util.List;

@RequestMapping(path = "/idUEs" )
@RequestMapping(path = "/interrogations" )
@Controller
@Slf4j
public class IdUEController {
public class InterrogationController {

private final SurveyUnitApiPort surveyUnitService;


public IdUEController(SurveyUnitApiPort surveyUnitService) {
public InterrogationController(SurveyUnitApiPort surveyUnitService) {
this.surveyUnitService = surveyUnitService;
}


@Operation(summary = "Retrieve all IdUEs for a given questionnaire")
@Operation(summary = "Retrieve all interrogations for a given questionnaire")
@GetMapping(path = "/by-questionnaire")
public ResponseEntity<List<SurveyUnitId>> getAllIdUEsByQuestionnaire(@RequestParam("idQuestionnaire") String idQuestionnaire) {
List<SurveyUnitId> responses = surveyUnitService.findDistinctIdUEsByIdQuestionnaire(idQuestionnaire);
public ResponseEntity<List<InterrogationId>> getAllInterrogationIdsByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) {
List<InterrogationId> responses = surveyUnitService.findDistinctInterrogationIdsByQuestionnaireId(questionnaireId);
return ResponseEntity.ok(responses);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ public ModeController(SurveyUnitApiPort surveyUnitService) {

@Operation(summary = "List sources/modes used for a given questionnaire")
@GetMapping(path = "/by-questionnaire")
public ResponseEntity<List<Mode>> getModesByQuestionnaire(@RequestParam("idQuestionnaire") String idQuestionnaire) {
List<Mode> modes = surveyUnitService.findModesByIdQuestionnaire(idQuestionnaire);
public ResponseEntity<List<Mode>> getModesByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) {
List<Mode> modes = surveyUnitService.findModesByQuestionnaireId(questionnaireId);
return ResponseEntity.ok(modes);
}

@Operation(summary = "List sources/modes used for a given campaign")
@GetMapping(path = "/by-campaign")
public ResponseEntity<List<Mode>> getModesByCampaign(@RequestParam("idCampaign") String idCampaign) {
List<Mode> modes = surveyUnitService.findModesByIdCampaign(idCampaign);
public ResponseEntity<List<Mode>> getModesByCampaign(@RequestParam("campaignId") String campaignId) {
List<Mode> modes = surveyUnitService.findModesByCampaignId(campaignId);
return ResponseEntity.ok(modes);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public QuestionnaireController(SurveyUnitApiPort surveyUnitService) {
@Operation(summary = "List questionnaires in database")
@GetMapping(path = "/")
public ResponseEntity<Set<String>> getQuestionnaires() {
Set<String> questionnaires = surveyUnitService.findDistinctIdQuestionnaires();
Set<String> questionnaires = surveyUnitService.findDistinctQuestionnaireIds();
return ResponseEntity.ok(questionnaires);
}

Expand All @@ -45,8 +45,8 @@ public ResponseEntity<List<QuestionnaireWithCampaign>> getQuestionnairesWithCamp

@Operation(summary = "List questionnaires used for a given campaign")
@GetMapping(path = "/by-campaign")
public ResponseEntity<Set<String>> getQuestionnairesByCampaign(@RequestParam("idCampaign") String idCampaign) {
Set<String> questionnaires = surveyUnitService.findIdQuestionnairesByIdCampaign(idCampaign);
public ResponseEntity<Set<String>> getQuestionnairesByCampaign(@RequestParam("campaignId") String campaignId) {
Set<String> questionnaires = surveyUnitService.findQuestionnaireIdsByCampaignId(campaignId);
return ResponseEntity.ok(questionnaires);
}

Expand Down
Loading
Loading