diff --git a/.gitignore b/.gitignore index 03fc2c78d2c0dea0dbf8498a235e46893304b422..6df7685b8f007154333654eacd7351fe0de6fbf4 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 b8bc48901265a84f829ba393eba29ebe14f585ca..51dd3129c56d2a9f3c29d911377bf2464d3d6fa9 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 0e333bbb2747a350bbf45b80b7bbf7625c5aca43..6b13676402fd4e1e8b20b62357c9910d050c24eb 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()); }