diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java index 62a2144f..9bcf78d8 100644 --- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java +++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java @@ -29,4 +29,7 @@ public interface RedactionResource { @PostMapping(value = "/rules/update"+RULE_SET_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) void updateRules(@PathVariable(RULE_SET_PARAMETER_NAME) String ruleSetId); + @PostMapping(value = "/rules/test", consumes = MediaType.APPLICATION_JSON_VALUE) + void testRules(@RequestBody String rules); + } \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java index f3f1a425..66ac57dd 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java @@ -139,6 +139,11 @@ public class RedactionController implements RedactionResource { droolsExecutionService.updateRules(ruleSetId); } + @Override + public void testRules(@RequestBody String rules) { + droolsExecutionService.testRules(rules); + } + private RedactionResult convert(PDDocument document, int numberOfPages, String ruleSetId) throws IOException { diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java index 7ff62cde..7ef0dade 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java @@ -103,4 +103,11 @@ public class DroolsExecutionService { } + public void testRules(String rules) { + KieServices kieServices = KieServices.Factory.get(); + KieModule kieModule = getKieModule("test-rules", rules, kieServices); + var container = kieServices.newKieContainer(kieModule.getReleaseId()); + container.newKieSession(); + container.dispose(); + } } \ No newline at end of file