diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RuleBuilderController.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RuleBuilderController.java index 5a57e521..09be0f0c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RuleBuilderController.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RuleBuilderController.java @@ -8,7 +8,6 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp import com.iqser.red.service.redaction.v1.model.RuleBuilderModel; import com.iqser.red.service.redaction.v1.model.RuleValidationModel; import com.iqser.red.service.redaction.v1.resources.RuleBuilderResource; -import com.iqser.red.service.redaction.v1.server.model.drools.RuleType; import com.iqser.red.service.redaction.v1.server.service.RuleBuilderService; import com.iqser.red.service.redaction.v1.server.service.drools.DroolsValidationService; import com.iqser.red.service.redaction.v1.server.utils.exception.RulesValidationException; @@ -38,9 +37,9 @@ public class RuleBuilderController implements RuleBuilderResource { RulesResponse rulesResponse = new RulesResponse(); String filteredRules = this.ruleBuilderService.cleanRuleFileOfSystemRules(systemRulesSeperationRequest.getRules(), true); try { - droolsValidationService.testRules(new RuleValidationModel("ENTITY", filteredRules)); + droolsValidationService.testRules(new RuleValidationModel(RuleFileType.ENTITY.name(), filteredRules)); } catch (Exception e) { - throw new RulesValidationException("Could not test rules: " + e.getMessage(), e); + throw new RulesValidationException("Error trying to compile the cleaned rule file: " + filteredRules + " with message: {} " + e.getMessage(), e); } rulesResponse.setRules(filteredRules); return rulesResponse; @@ -49,15 +48,22 @@ public class RuleBuilderController implements RuleBuilderResource { @Override public RulesResponse getRuleFileWithSeperatedSystemRules(RulesUpdateRequest rulesUpdateRequest) { + RulesResponse rulesResponse = new RulesResponse(); String mergedRules = ruleBuilderService.getRuleFileWithSeperatedSystemRules(rulesUpdateRequest.getExistingRules(), rulesUpdateRequest.getUpdatedRules()); try { - droolsValidationService.testRules(new RuleValidationModel("ENTITY", mergedRules)); + droolsValidationService.testRules(new RuleValidationModel(RuleFileType.ENTITY.name(), mergedRules)); } catch (Exception e) { - throw new RulesValidationException("Could not test rules: " + e.getMessage(), e); + throw new RulesValidationException("Error trying to compile the cleaned rule file: " + mergedRules + " with message: {} " + e.getMessage(), e); } rulesResponse.setRules(mergedRules); return rulesResponse; } + + private enum RuleFileType { + ENTITY, + COMPONENT + } + } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/RuleBuilderService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/RuleBuilderService.java index 9e5f180e..65b17db3 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/RuleBuilderService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/RuleBuilderService.java @@ -41,7 +41,7 @@ public class RuleBuilderService { } ruleFileBluePrint.dropQueries(); if (removeImports) { - ruleFileBluePrint.dropQueries(); + ruleFileBluePrint.dropImports(); } log.info("Finished removing system rules for ruleFile"); @@ -62,9 +62,7 @@ public class RuleBuilderService { } ruleFileBluePrintExisting.setImports(ruleFileBluePrintUpdate.getImports()); ruleFileBluePrintUpdate.getRuleClasses() - .forEach(ruleClass -> { - ruleFileBluePrintExisting.addRuleClass(ruleClass); - }); + .forEach(ruleFileBluePrintExisting::addRuleClass); return RuleFileParser.buildRulesStringFromBluePrint(ruleFileBluePrintExisting); }