RED-8833: Remove old rules versions in drools inmemory maven repository when updating rules #409

Merged
dominique.eiflaender1 merged 1 commits from RED-8833 into master 2024-05-24 12:32:44 +02:00

View File

@ -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);