Merge branch 'RED-7962' into 'master'
RED-7962 Fix wrong CSV mapping active flag and error 500 for rule endpoints Closes RED-7962 See merge request redactmanager/persistence-service!234
This commit is contained in:
commit
fa8a5cf61f
@ -80,6 +80,9 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource {
|
||||
@Schema(type = "string", format = "binary", name = "file") @RequestPart(name = "file") MultipartFile file,
|
||||
@Parameter(name = DRY_RUN_PARAM, description = "If true rules will be only validated not stored.") @RequestParam(value = DRY_RUN_PARAM, required = false, defaultValue = "false") boolean dryRun) {
|
||||
|
||||
// Try to get dossier template to return 404 if it does not exist
|
||||
getDossierTemplate(dossierTemplateId);
|
||||
|
||||
return uploadRules(dossierTemplateId, RuleFileType.ENTITY, file, dryRun);
|
||||
}
|
||||
|
||||
@ -87,6 +90,9 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource {
|
||||
@PreAuthorize("hasAuthority('" + READ_RULES + "')")
|
||||
public ResponseEntity<InputStreamResource> downloadEntityRules(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId) {
|
||||
|
||||
// Try to get dossier template to return 404 if it does not exist
|
||||
getDossierTemplate(dossierTemplateId);
|
||||
|
||||
return downloadRules(dossierTemplateId, RuleFileType.ENTITY);
|
||||
}
|
||||
|
||||
@ -96,6 +102,9 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource {
|
||||
@Schema(type = "string", format = "binary", name = "file") @RequestPart(name = "file") MultipartFile file,
|
||||
@Parameter(name = DRY_RUN_PARAM, description = "If true rules will be only validated not stored.") @RequestParam(value = DRY_RUN_PARAM, required = false, defaultValue = "false") boolean dryRun) {
|
||||
|
||||
// Try to get dossier template to return 404 if it does not exist
|
||||
getDossierTemplate(dossierTemplateId);
|
||||
|
||||
return uploadRules(dossierTemplateId, RuleFileType.COMPONENT, file, dryRun);
|
||||
}
|
||||
|
||||
@ -103,12 +112,19 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource {
|
||||
@PreAuthorize("hasAuthority('" + READ_RULES + "')")
|
||||
public ResponseEntity<InputStreamResource> downloadComponentRules(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId) {
|
||||
|
||||
// Try to get dossier template to return 404 if it does not exist
|
||||
getDossierTemplate(dossierTemplateId);
|
||||
|
||||
return downloadRules(dossierTemplateId, RuleFileType.COMPONENT);
|
||||
}
|
||||
|
||||
|
||||
@PreAuthorize("hasAuthority('" + READ_FILE_ATTRIBUTES_CONFIG + "')")
|
||||
public FileAttributeDefinitionList getFileAttributeDefinitions(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId) {
|
||||
|
||||
// Try to get dossier template to return 404 if it does not exist
|
||||
getDossierTemplate(dossierTemplateId);
|
||||
|
||||
var fileAttributeConfigs = fileAttributesController.getFileAttributesConfiguration(dossierTemplateId);
|
||||
|
||||
var csvImportSettings = FileAttributeDefinitionList.CsvImportSettings.builder()
|
||||
@ -136,6 +152,7 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource {
|
||||
return new FileAttributeDefinitionList(csvImportSettings, fileAttributeDefinitions);
|
||||
}
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
private ResponseEntity<RulesValidationResponse> uploadRules(String dossierTemplateId, RuleFileType ruleFileType, MultipartFile file, boolean dryRun) {
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ public class FileAttributeDefinitionList {
|
||||
// TODO: make csvMappingActive a persistent value instead of a transient one when implementing the endpoint to set the csv mapping
|
||||
@JsonProperty("csvMappingActive")
|
||||
public boolean isCsvMappingActive() {
|
||||
return StringUtils.isBlank(filenameMappingCsvColumnHeader);
|
||||
return StringUtils.isNotBlank(filenameMappingCsvColumnHeader);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ public interface DossierTemplateResource {
|
||||
@ResponseStatus(value = HttpStatus.NO_CONTENT)
|
||||
@PostMapping(value = PATH + DOSSIER_TEMPLATE_ID_PATH_VARIABLE + ENTITY_RULES_PATH, consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@Operation(summary = "Upload a component or entity rules file in drools format for a specific DossierTemplate.")
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "Rules upload successful."), @ApiResponse(responseCode = "400", description = "Uploaded rules could not be verified.")})
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "Rules upload successful."), @ApiResponse(responseCode = "404", description = "The DossierTemplate is not found."), @ApiResponse(responseCode = "422", description = "Uploaded rules could not be verified.")})
|
||||
ResponseEntity<RulesValidationResponse> uploadEntityRules(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
||||
@Schema(type = "string", format = "binary", name = "file") @RequestPart(name = "file") MultipartFile file,
|
||||
@Parameter(name = DRY_RUN_PARAM, description = "If true rules will be only validated not stored.") @RequestParam(value = DRY_RUN_PARAM, required = false ,defaultValue = "false") boolean dryRun);
|
||||
@ -68,7 +68,7 @@ public interface DossierTemplateResource {
|
||||
@ResponseBody
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
@Operation(summary = "Returns file containing the currently used entity rules.")
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")})
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "The DossierTemplate is not found.")})
|
||||
@GetMapping(value = PATH + DOSSIER_TEMPLATE_ID_PATH_VARIABLE + ENTITY_RULES_PATH, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
||||
ResponseEntity<InputStreamResource> downloadEntityRules(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId);
|
||||
|
||||
@ -77,7 +77,7 @@ public interface DossierTemplateResource {
|
||||
@ResponseStatus(value = HttpStatus.NO_CONTENT)
|
||||
@PostMapping(value = PATH + DOSSIER_TEMPLATE_ID_PATH_VARIABLE + COMPONENT_RULES_PATH, consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@Operation(summary = "Upload a component or entity rules file in drools format for a specific DossierTemplate.")
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "Rules upload successful."), @ApiResponse(responseCode = "400", description = "Uploaded rules could not be verified.")})
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "Rules upload successful."), @ApiResponse(responseCode = "404", description = "The DossierTemplate is not found."), @ApiResponse(responseCode = "422", description = "Uploaded rules could not be verified.")})
|
||||
ResponseEntity<RulesValidationResponse> uploadComponentRules(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
||||
@Schema(type = "string", format = "binary", name = "file") @RequestPart(name = "file") MultipartFile file,
|
||||
@Parameter(name = DRY_RUN_PARAM, description = "If true rules will be only validated not stored.") @RequestParam(value = DRY_RUN_PARAM, required = false ,defaultValue = "false") boolean dryRun);
|
||||
@ -85,7 +85,7 @@ public interface DossierTemplateResource {
|
||||
@ResponseBody
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
@Operation(summary = "Returns file containing the currently used component rules.")
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")})
|
||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "The DossierTemplate is not found.")})
|
||||
@GetMapping(value = PATH + DOSSIER_TEMPLATE_ID_PATH_VARIABLE + COMPONENT_RULES_PATH, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
||||
ResponseEntity<InputStreamResource> downloadComponentRules(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user