diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2021-01-06 15:20:40 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2021-01-06 15:21:16 +0100 |
commit | e84ef1adb8ff0d3b121ea12b2d3e15fa52eb2f00 (patch) | |
tree | afb7c00c654c122a313acaba8630708a87ae4ffd /module/ri-engine | |
parent | 9504c7efb9b57aeacf5e2717a43c3cf178a65aee (diff) | |
download | rules-sandbox-e84ef1adb8ff0d3b121ea12b2d3e15fa52eb2f00.tar.gz rules-sandbox-e84ef1adb8ff0d3b121ea12b2d3e15fa52eb2f00.tar.bz2 rules-sandbox-e84ef1adb8ff0d3b121ea12b2d3e15fa52eb2f00.tar.xz rules-sandbox-e84ef1adb8ff0d3b121ea12b2d3e15fa52eb2f00.zip |
Splitting Main into two runs, Vpn and AcmeApps.
Diffstat (limited to 'module/ri-engine')
-rw-r--r-- | module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java | 13 | ||||
-rw-r--r-- | module/ri-engine/src/main/java/io/trygvis/rules/engine/Engine.java | 6 |
2 files changed, 8 insertions, 11 deletions
diff --git a/module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java b/module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java index b835da5..7f946d9 100644 --- a/module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java +++ b/module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java @@ -1,5 +1,6 @@ package io.trygvis.rules.engine; +import ch.qos.logback.core.util.FileUtil; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; @@ -41,7 +42,7 @@ public class DbIo { var x = mapper.treeToValue(object.data, type); items.add(x); } catch (ClassNotFoundException e) { - throw new IOException(e); + // ignore } } @@ -183,13 +184,9 @@ public class DbIo { } public void dump(String s, Collection<FactHandle> factHandles, Function<Object, Boolean> filter) throws IOException { - var out = new File("out"); + var yamlFile = new File("out", s + ".yaml"); - if (!out.isDirectory()) { - if (!out.mkdirs()) { - throw new IOException("Could not create directory: " + out); - } - } + FileUtil.createMissingParentDirectories(yamlFile); var facts = new TreeMap<Class<?>, FactCollection<Object>>(Comparator.comparing(Class::getName)); for (var handle : factHandles) { @@ -212,7 +209,7 @@ public class DbIo { } var factory = mapper.getFactory(); - try (var writer = new FileWriter(new File(out, s + ".yaml")); + try (var writer = new FileWriter(yamlFile); var g = factory.createGenerator(writer)) { for (var e : facts.entrySet()) { var name = e.getKey().getName(); diff --git a/module/ri-engine/src/main/java/io/trygvis/rules/engine/Engine.java b/module/ri-engine/src/main/java/io/trygvis/rules/engine/Engine.java index 2565112..f624603 100644 --- a/module/ri-engine/src/main/java/io/trygvis/rules/engine/Engine.java +++ b/module/ri-engine/src/main/java/io/trygvis/rules/engine/Engine.java @@ -13,15 +13,15 @@ public class Engine implements Closeable { public final DbIo io; public final KieSession session; - public Engine(String database) throws IOException { + public Engine(String k, String database) throws IOException { var services = KieServices.Factory.get(); var container = services.getKieClasspathContainer(); - var kieBase = container.getKieBase(); + var kieBase = container.getKieBase(k); io = new DbIo(kieBase); var objects = io.load(database); - session = container.newKieSession(); + session = container.newKieSession(k); session.setGlobal("te", new TemplateEngine()); |