From d10e3f9b6900448270d0522b06387f260a75dffc Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Wed, 26 Jun 2024 10:12:15 +0300 Subject: [PATCH] RED-9349 - Add possibility to log stuff in the rules --- .../resources/drools/base_component_rules.drl | 2 ++ .../v1/server/logger/RulesLoggerTest.java | 4 +-- .../test/resources/drools/rules_logging.drl | 32 ------------------- 3 files changed, 4 insertions(+), 34 deletions(-) delete mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules_logging.drl diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/base_component_rules.drl b/redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/base_component_rules.drl index def6b462..560536a6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/base_component_rules.drl +++ b/redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/base_component_rules.drl @@ -17,6 +17,7 @@ import com.iqser.red.service.redaction.v1.server.logger.Context; import com.iqser.red.service.redaction.v1.server.model.component.Component; import com.iqser.red.service.redaction.v1.server.model.component.Entity; +import com.iqser.red.service.redaction.v1.server.service.components.ComponentMappingService; import com.iqser.red.service.redaction.v1.server.service.document.ComponentCreationService; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Change; @@ -29,6 +30,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttribute; global ComponentCreationService componentCreationService +global ComponentMappingService componentMappingService global RulesLogger logger global Context context diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/logger/RulesLoggerTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/logger/RulesLoggerTest.java index 9a27207b..3a01498f 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/logger/RulesLoggerTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/logger/RulesLoggerTest.java @@ -45,7 +45,7 @@ class RulesLoggerTest { KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); - kfs.write(new ClassPathResource("drools/rules_logging.drl")); + kfs.write(new ClassPathResource("logs/rules_logging.drl")); KieBuilder kieBuilder = ks.newKieBuilder(kfs).buildAll(); ReleaseId releaseId = kieBuilder.getKieModule().getReleaseId(); @@ -79,7 +79,7 @@ class RulesLoggerTest { assertEquals(argument.getAllValues().get(1).getLogLevel(), LogLevel.WARN); assertEquals(argument.getAllValues().get(1).getMessage(), "This is a warning log with multiple placeholders p1 p2 p3"); assertEquals(argument.getAllValues().get(2).getLogLevel(), LogLevel.ERROR); - assertEquals(argument.getAllValues().get(2).getMessage(), "Exception during rule execution Exception: Exception executing consequence for rule \"LOG.0.1: Test log error\" in drools: java.lang.NullPointerException: Cannot invoke \"String.toString()\" because \"result\" is null"); + assertEquals(argument.getAllValues().get(2).getMessage(), "Exception during rule execution Exception: Exception executing consequence for rule \"LOG.0.2: Test log error\" in drools: java.lang.NullPointerException: Cannot invoke \"String.toString()\" because \"result\" is null"); } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules_logging.drl b/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules_logging.drl deleted file mode 100644 index 49ef4924..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules_logging.drl +++ /dev/null @@ -1,32 +0,0 @@ -package drools - -import com.iqser.red.service.redaction.v1.server.logger.RulesLogger; -import com.iqser.red.service.redaction.v1.server.logger.Context; - -global RulesLogger logger -global Context context - - -rule "LOG.0.0: Test log info" -salience 1 - when - eval(true) - then - logger.info(context, "This is a test log {}", "placeholder"); - end - -rule "LOG.0.1: Test log warn" -salience 1 - when - eval(true) - then - logger.warn(context, "This is a warning log with multiple placeholders {} {} {}", "p1", "p2", "p3"); - end - -rule "LOG.0.2: Test log error" - when - eval(true) - then - String result = null; - result.toString(); - end \ No newline at end of file