@@ -105,18 +105,11 @@ public DataProcessResult processRawData(String campaignName, List<String> interr
105105 int dataCount =0 ;
106106 int formattedDataCount =0 ;
107107 DataProcessingContextModel dataProcessingContext =
108- dataProcessingContextService .getContextByPartitionId (campaignName );
108+ dataProcessingContextService .getContextByCollectionInstrumentId (campaignName );
109109 List <Mode > modesList = controllerUtils .getModesList (campaignName , null );
110110 for (Mode mode : modesList ) {
111111 //Load and save metadata into database, throw exception if none
112- VariablesMap variablesMap = metadataService .loadAndSaveIfNotExists (campaignName , campaignName , mode , fileUtils ,
113- errors ).getVariables ();
114- if (variablesMap == null ) {
115- throw new GenesisException (400 ,
116- "Error during metadata parsing for mode %s :%n%s"
117- .formatted (mode , errors .getLast ().getMessage ())
118- );
119- }
112+ VariablesMap variablesMap = getVariablesMap (campaignName , mode , errors );
120113 int totalBatchs = Math .ceilDiv (interrogationIdList .size () , config .getRawDataProcessingBatchSize ());
121114 int batchNumber = 1 ;
122115 List <String > interrogationIdListForMode = new ArrayList <>(interrogationIdList );
@@ -165,36 +158,28 @@ public DataProcessResult processRawData(String questionnaireId) throws GenesisEx
165158 int dataCount =0 ;
166159 int formattedDataCount =0 ;
167160 DataProcessingContextModel dataProcessingContext =
168- dataProcessingContextService .getContextByPartitionId (questionnaireId );
161+ dataProcessingContextService .getContextByCollectionInstrumentId (questionnaireId );
169162 List <GenesisError > errors = new ArrayList <>();
170163
171164 List <Mode > modesList = controllerUtils .getModesList (questionnaireId , null );
172165 for (Mode mode : modesList ) {
173166 //Load and save metadata into database, throw exception if none
174- VariablesMap variablesMap = metadataService .loadAndSaveIfNotExists (questionnaireId , questionnaireId , mode , fileUtils ,
175- errors ).getVariables ();
176- if (variablesMap == null ) {
177- throw new GenesisException (400 ,
178- "Error during metadata parsing for mode %s :%n%s"
179- .formatted (mode , errors .getLast ().getMessage ())
180- );
181- }
167+ VariablesMap variablesMap = getVariablesMap (questionnaireId , mode , errors );
182168 Set <String > interrogationIds =
183- lunaticJsonRawDataPersistencePort .findUnprocessedInterrogationIdsByQuestionnaire (questionnaireId );
184-
169+ lunaticJsonRawDataPersistencePort .findUnprocessedInterrogationIdsByCollectionInstrumentId (questionnaireId );
185170
186171 int totalBatchs = Math .ceilDiv (interrogationIds .size () , config .getRawDataProcessingBatchSize ());
187172 int batchNumber = 1 ;
188173 List <String > interrogationIdListForMode = new ArrayList <>(interrogationIds );
189174 while (!interrogationIdListForMode .isEmpty ()){
190175 log .info ("Processing raw data batch {}/{}" , batchNumber , totalBatchs );
191- int maxIndex = Math .min (interrogationIdListForMode .size (), config .getRawDataProcessingBatchSize ());
192- List <String > interrogationIdToProcess = interrogationIdListForMode .subList (0 , maxIndex );
193176
194- List <LunaticJsonRawDataModel > rawData = getRawData (questionnaireId , mode , interrogationIdToProcess );
195-
196- List <SurveyUnitModel > surveyUnitModels = convertRawData (
197- rawData ,
177+ int maxIndex = Math .min (interrogationIdListForMode .size (), config .getRawDataProcessingBatchSize ());
178+ List <SurveyUnitModel > surveyUnitModels = getConvertedSurveyUnits (
179+ questionnaireId ,
180+ mode ,
181+ interrogationIdListForMode ,
182+ maxIndex ,
198183 variablesMap
199184 );
200185
@@ -219,13 +204,33 @@ public DataProcessResult processRawData(String questionnaireId) throws GenesisEx
219204
220205 //Remove processed ids from list
221206 interrogationIdListForMode = interrogationIdListForMode .subList (maxIndex , interrogationIdListForMode .size ());
222-
223207 batchNumber ++;
224208 }
225209 }
226210 return new DataProcessResult (dataCount , formattedDataCount , errors );
227211 }
228212
213+ private VariablesMap getVariablesMap (String questionnaireId , Mode mode , List <GenesisError > errors ) throws GenesisException {
214+ VariablesMap variablesMap = metadataService .loadAndSaveIfNotExists (questionnaireId , questionnaireId , mode , fileUtils ,
215+ errors ).getVariables ();
216+ if (variablesMap == null ) {
217+ throw new GenesisException (400 ,
218+ "Error during metadata parsing for mode %s :%n%s"
219+ .formatted (mode , errors .getLast ().getMessage ())
220+ );
221+ }
222+ return variablesMap ;
223+ }
224+
225+ private List <SurveyUnitModel > getConvertedSurveyUnits (String questionnaireId , Mode mode , List <String > interrogationIdListForMode , int maxIndex , VariablesMap variablesMap ) {
226+ List <String > interrogationIdToProcess = interrogationIdListForMode .subList (0 , maxIndex );
227+ List <LunaticJsonRawDataModel > rawData = getRawData (questionnaireId , mode , interrogationIdToProcess );
228+ return convertRawData (
229+ rawData ,
230+ variablesMap
231+ );
232+ }
233+
229234 private void sendProcessedIdsToQualityTool (List <SurveyUnitModel > surveyUnitModels ) {
230235 try {
231236 ResponseEntity <Object > response =
0 commit comments