From 935484a89b2bca145452b74f74a589df6215244f Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com> Date: Mon, 11 Sep 2017 13:18:48 -0400 Subject: [PATCH] feat: stores database on-disk now. --- .gitignore | 1 + .../java/com/syncleus/aethermud/Main.java | 2 +- .../storage/graphdb/GraphStorageFactory.java | 19 +++++++++++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 03fc2c78..6df7685b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ creeperDb* release.properties aethermud-graph.json aethermud-graph.json* +aethermud-graphdb-orientdb/ diff --git a/src/main/java/com/syncleus/aethermud/Main.java b/src/main/java/com/syncleus/aethermud/Main.java index b8bc4890..51dd3129 100644 --- a/src/main/java/com/syncleus/aethermud/Main.java +++ b/src/main/java/com/syncleus/aethermud/Main.java @@ -89,7 +89,7 @@ public class Main { Files.isDirectory().apply(new File("world/")); - GraphStorageFactory graphStorageFactory = new GraphStorageFactory(); + GraphStorageFactory graphStorageFactory = new GraphStorageFactory(true); PlayerManager playerManager = new PlayerManager(graphStorageFactory, new SessionManager()); playerManager.createAllGauges(); diff --git a/src/main/java/com/syncleus/aethermud/storage/graphdb/GraphStorageFactory.java b/src/main/java/com/syncleus/aethermud/storage/graphdb/GraphStorageFactory.java index 0e333bbb..6b136764 100644 --- a/src/main/java/com/syncleus/aethermud/storage/graphdb/GraphStorageFactory.java +++ b/src/main/java/com/syncleus/aethermud/storage/graphdb/GraphStorageFactory.java @@ -30,13 +30,28 @@ public class GraphStorageFactory { OrientGraphFactory graphFactory; OrientTransactionFactory txFactory; - public GraphStorageFactory() { - graphFactory = new OrientGraphFactory("memory:tinkerpop"); + public GraphStorageFactory(String connectUrl, String username, String password) { + graphFactory = new OrientGraphFactory(connectUrl, username, password); + txFactory = new OrientTransactionFactoryImpl(graphFactory, true, "com.syncleus.aethermud.storage.graphdb.model"); + txFactory.setupElementClasses(); + txFactory.addEdgeClass("ItemApplyStats"); + } + + public GraphStorageFactory(String connectUrl) { + graphFactory = new OrientGraphFactory(connectUrl); txFactory = new OrientTransactionFactoryImpl(graphFactory, true, "com.syncleus.aethermud.storage.graphdb.model"); txFactory.setupElementClasses(); txFactory.addEdgeClass("ItemApplyStats"); } + public GraphStorageFactory() { + this(false); + } + + public GraphStorageFactory(boolean onDisk) { + this(onDisk ? "plocal:./aethermud-graphdb-orientdb" : "memory:tinkerpop"); + } + public AetherMudTx beginTransaction() { return new AetherMudTx(txFactory.tx()); } -- GitLab