summaryrefslogtreecommitdiff
path: root/module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java
diff options
context:
space:
mode:
Diffstat (limited to 'module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java')
-rw-r--r--module/ri-engine/src/main/java/io/trygvis/rules/engine/DbIo.java13
1 files changed, 5 insertions, 8 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();