1010import io .swagger .v3 .oas .annotations .Operation ;
1111import lombok .AllArgsConstructor ;
1212import lombok .extern .slf4j .Slf4j ;
13+ import org .springframework .http .HttpStatus ;
1314import org .springframework .http .HttpStatusCode ;
1415import org .springframework .http .ResponseEntity ;
1516import org .springframework .security .access .prepost .PreAuthorize ;
@@ -50,12 +51,16 @@ public ResponseEntity<Object> getContextualVariables(
5051 @ PreAuthorize ("hasAnyRole('USER_PLATINE','SCHEDULER')" )
5152 public ResponseEntity <Object > saveContextualVariables (
5253 @ RequestParam ("questionnaireId" ) String questionnaireId
53- ){
54+ ) {
5455 try {
5556 FileUtils fileUtils = new FileUtils (config );
56- int fileCount = contextualVariableApiPort .saveContextualVariableFiles (questionnaireId , fileUtils );
57+
58+ String contextualFolderPath = fileUtils .getDataFolder (questionnaireId , "WEB" , null ) + "/contextual" ;
59+
60+ int fileCount = contextualVariableApiPort .saveContextualVariableFiles (questionnaireId , fileUtils ,contextualFolderPath );
61+
5762 return ResponseEntity .ok ("%d file(s) processed for questionnaire %s !" .formatted (fileCount , questionnaireId ));
58- }catch (GenesisException ge ){
63+ } catch (GenesisException ge ) {
5964 return ResponseEntity .status (HttpStatusCode .valueOf (ge .getStatus ())).body (ge .getMessage ());
6065 }
6166 }
@@ -72,7 +77,9 @@ public ResponseEntity<Object> readContextualPreviousJson(
7277 try {
7378 FileUtils fileUtils = new FileUtils (config );
7479
75- String filePath = "%s/%s" .formatted (
80+ fileUtils .ensureContextualFolderExists (questionnaireId , mode );
81+
82+ String filePath = "%s/contextual/%s" .formatted (
7683 fileUtils .getDataFolder (questionnaireId , mode .getFolder (), null ),
7784 jsonFileName
7885 );
@@ -84,7 +91,8 @@ public ResponseEntity<Object> readContextualPreviousJson(
8491 return ResponseEntity .ok ("Contextual previous variable file %s saved !" .formatted (filePath ));
8592 }catch (GenesisException ge ){
8693 return ResponseEntity .status (HttpStatusCode .valueOf (ge .getStatus ())).body (ge .getMessage ());
87- }
94+ } catch (IOException ioe ) {
95+ return ResponseEntity .status (HttpStatus .INTERNAL_SERVER_ERROR ).body ("Erreur IO : " + ioe .getMessage ()); }
8896 }
8997
9098 @ Operation (summary = "Add contextual external json file" )
@@ -98,7 +106,9 @@ public ResponseEntity<Object> readContextualExternalJson(
98106 try {
99107 FileUtils fileUtils = new FileUtils (config );
100108
101- String filePath = "%s/%s" .formatted (
109+ fileUtils .ensureContextualFolderExists (questionnaireId , mode );
110+
111+ String filePath = "%s/contextual/%s" .formatted (
102112 fileUtils .getDataFolder (questionnaireId , mode .getFolder (), null ),
103113 jsonFileName
104114 );
@@ -110,6 +120,8 @@ public ResponseEntity<Object> readContextualExternalJson(
110120 return ResponseEntity .ok ("Contextual external variable file %s saved !" .formatted (filePath ));
111121 }catch (GenesisException ge ){
112122 return ResponseEntity .status (HttpStatusCode .valueOf (ge .getStatus ())).body (ge .getMessage ());
123+ } catch (IOException ioe ) {
124+ return ResponseEntity .status (HttpStatus .INTERNAL_SERVER_ERROR ).body ("Erreur IO : " + ioe .getMessage ());
113125 }
114126 }
115127
0 commit comments