From b56a8253fd6799b5827bca6ef032219798528211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Fri, 24 May 2024 12:08:12 +0200 Subject: [PATCH] RED-8833: Remove old rules versions in drools inmemory maven repository when updating rules --- .../server/service/drools/KieContainerCreationService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java index c83ca4a2..810274ac 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java @@ -85,8 +85,12 @@ public class KieContainerCreationService { public KieBuilder registerNewKieContainerVersion(String dossierTemplateId, long version, String rules, RuleFileType ruleFileType) { KieServices kieServices = KieServices.Factory.get(); + + var releaseId = getReleaseId(dossierTemplateId, version, ruleFileType); + kieServices.getRepository().removeKieModule(releaseId); + KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); - kieFileSystem.generateAndWritePomXML(getReleaseId(dossierTemplateId, version, ruleFileType)); + kieFileSystem.generateAndWritePomXML(releaseId); InputStream input = new ByteArrayInputStream(rules.getBytes(StandardCharsets.UTF_8)); kieFileSystem.write("src/main/resources/drools/rules" + dossierTemplateId + ".drl", kieServices.getResources().newInputStreamResource(input)); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem); -- 2.47.2