diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java index 95b41d8f..d82a208a 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java @@ -9,7 +9,6 @@ import org.kie.api.builder.KieBuilder; import org.kie.api.builder.KieFileSystem; import org.kie.api.builder.KieModule; import org.kie.api.runtime.KieContainer; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -20,7 +19,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; import com.iqser.gin4.commons.spring.DefaultWebMvcConfiguration; -import com.iqser.red.service.configuration.v1.api.model.RulesResponse; import com.iqser.red.service.redaction.v1.server.client.RulesClient; import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettings; @@ -30,9 +28,6 @@ import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettin @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class}) public class Application { - @Autowired - private RulesClient rulesClient; - public static void main(String[] args) { SpringApplication.run(Application.class, args); } @@ -43,9 +38,8 @@ public class Application { KieServices kieServices = KieServices.Factory.get(); KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); - RulesResponse rules = rulesClient.getRules(); - InputStream input = new ByteArrayInputStream(rules.getRules().getBytes(StandardCharsets.UTF_8)); - kieFileSystem.write(kieServices.getResources().newInputStreamResource(input)); + InputStream input = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8)); + kieFileSystem.write("src/main/resources/drools/rules.drl", kieServices.getResources().newInputStreamResource(input)); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem); kieBuilder.buildAll(); KieModule kieModule = kieBuilder.getKieModule(); 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 aaf928ad..c84fe418 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 @@ -2,7 +2,6 @@ package com.iqser.red.service.redaction.v1.server.redaction.service; import java.io.ByteArrayInputStream; import java.io.InputStream; -import java.nio.charset.StandardCharsets; import org.apache.commons.lang3.StringUtils; import org.kie.api.KieServices; @@ -19,7 +18,9 @@ import com.iqser.red.service.redaction.v1.server.exception.RulesValidationExcept import com.iqser.red.service.redaction.v1.server.redaction.model.Section; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class DroolsExecutionService { @@ -54,22 +55,26 @@ public class DroolsExecutionService { } public void updateRules(String drlAsString) { - + log.info("Updating rules"); try { if (StringUtils.isEmpty(drlAsString)) { + log.info("Rules:" + drlAsString ); throw new RuntimeException("Rules cannot be empty."); } KieServices kieServices = KieServices.Factory.get(); - InputStream input = new ByteArrayInputStream(drlAsString.getBytes(StandardCharsets.UTF_8)); + InputStream input = new ByteArrayInputStream(drlAsString.getBytes("UTF-8")); KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); - kieFileSystem.write(kieServices.getResources().newInputStreamResource(input)); + kieFileSystem.write("src/main/resources/drools/rules.drl", + kieServices.getResources().newInputStreamResource(input)); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem); kieBuilder.buildAll(); KieModule kieModule = kieBuilder.getKieModule(); kieContainer.updateToVersion(kieModule.getReleaseId()); } catch (Exception e) { + log.error(e.getMessage(), e); throw new RulesValidationException("Could not update rules", e); } + log.info("Successfully updated rules"); }