@Override public void shutdown() { baseGraph.commit(); baseGraph.shutdown(); currentEdge = null; currentEdgeCached = null; }
@Override public boolean isApplied() { TransactionalGraph graph = db.rawTx(); setGraph(graph); ChangelogRootWrapper changelogRoot = changelogRoot(); boolean hasChange = changelogRoot.hasChange(getUuid()); graph.shutdown(); setGraph(null); return hasChange; }
@Override public void markAsComplete() { TransactionalGraph graph = db.rawTx(); setGraph(graph); changelogRoot().add(this); setGraph(null); graph.commit(); graph.shutdown(); }
@Override public void apply() { applyOutsideTx(); TransactionalGraph graph = db.rawTx(); setGraph(graph); try { applyInTx(); } catch (Throwable e) { log.error("Invoking rollback due to error", e); graph.rollback(); throw e; } finally { graph.shutdown(); } }
/** * Mark all changelog entries as applied. This is useful if you resolved issues manually or if you want to create a fresh mesh database dump. */ public void markAllAsApplied(List<Change> list) { TransactionalGraph graph = db.rawTx(); try { for (Change change : list) { change.setGraph(graph); change.setDb(db); change.markAsComplete(); log.info("Marking change {" + change.getUuid() + "/" + change.getName() + "} as completed."); } } finally { graph.shutdown(); } }
/** * Update the internally stored database version and mesh version in the mesh root vertex. */ public void setCurrentVersionAndRev() { log.info("Updating stored database revision and mesh version."); // Version is okay. So lets store the version and the updated revision. String currentVersion = Mesh.getPlainVersion(); TransactionalGraph graph = db.rawTx(); try { Vertex root = MeshGraphHelper.getMeshRootVertex(graph); String rev = db.getDatabaseRevision(); root.setProperty(MESH_VERSION, currentVersion); root.setProperty(MESH_DB_REV, rev); graph.commit(); } finally { graph.shutdown(); } } }
public void testVertexReattachment() { TransactionalGraph graph = (TransactionalGraph) graphTest.generateGraph(); Vertex a = graph.addVertex(null); Vertex b = graph.addVertex(null); Edge e = graph.addEdge(null, a, b, "friend"); graph.commit(); a = graph.getVertex(a); Assert.assertNotNull(a); Assert.assertEquals(1, BaseTest.count(a.getVertices(Direction.OUT))); graph.shutdown(); }
public void testVertexReattachment() { TransactionalGraph graph = (TransactionalGraph) graphTest.generateGraph(); Vertex a = graph.addVertex(null); Vertex b = graph.addVertex(null); Edge e = graph.addEdge(null, a, b, "friend"); graph.commit(); a = graph.getVertex(a); Assert.assertNotNull(a); Assert.assertEquals(1, BaseTest.count(a.getVertices(Direction.OUT))); graph.shutdown(); }