protected OTransaction tx() { return graph.getRawDatabase().getTransaction(); }
private static boolean autoTxStartRequired(ODatabaseDocument database) { return !database.getTransaction().isActive(); }
@Override public void rollback(ODatabaseDocument db) { if (tx) { if (db.getTransaction().isActive()) db.rollback(); } }
protected boolean isTransactionActive() { return getRawDatabase().getTransaction().isActive(); }
public OrientGraph acquireGraph(final ODatabaseDocument database) { return new OrientGraph(null, database, new BaseConfiguration() { { setProperty(OrientGraph.CONFIG_TRANSACTIONAL, database.getTransaction().isActive()); } }, null, null); }
@Override public void end(RequestCycle cycle) { ODatabaseDocument db = ODatabaseRecordThreadLocal.INSTANCE.getIfDefined(); if(db!=null && db.getTransaction().isActive()) db.commit(); }
@Override public void save(TransientObject... objects) throws DAOException { System.out.println("save: " + Arrays.asList(objects)); checkDb(); OTransaction transaction = db.getTransaction(); transaction.begin(); for(TransientObject t : objects){ db.save(new ODocumentWrapper(t)); } transaction.commit(); transaction.close(); }
@Override public void setObject(V object) { ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); boolean isActiveTransaction = db.getTransaction().isActive(); if(isActiveTransaction) db.commit(); // Schema changes should be done outside of transaction try { setValue(objectModel.getObject(), parameterModel.getObject(), object); } finally { if(isActiveTransaction) db.begin(); } }
@Override public void setObject(V object) { ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); boolean isActiveTransaction = db.getTransaction().isActive(); if(isActiveTransaction) db.commit(); // Schema changes should be done outside of transaction try { setValue(objectModel.getObject(), parameterModel.getObject(), object); } finally { if(isActiveTransaction) db.begin(); } }
@Override public void end(RequestCycle cycle) { ODatabaseDocument db = ODatabaseRecordThreadLocal.instance().getIfDefined(); if(db!=null && db.getTransaction().isActive()) db.commit(); }
@Override protected void beforeUpdateFormComponentModels() { super.beforeUpdateFormComponentModels(); ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); isTransactionActive = db.getTransaction().isActive(); if(isTransactionActive) db.commit(); }
@Override public void onDetach(RequestCycle cycle) { ODatabaseDocument db = ODatabaseRecordThreadLocal.INSTANCE.getIfDefined(); if(db!=null) { if(db.getTransaction().isActive()) db.commit(true); db.close(); ODatabaseRecordThreadLocal.INSTANCE.remove(); } }
@Override protected void beforeUpdateFormComponentModels() { super.beforeUpdateFormComponentModels(); ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); isTransactionActive = db.getTransaction().isActive(); if(isTransactionActive) db.commit(); }
protected boolean checkDeletedInTx() { ODatabaseDocument db = getDatabase(); if (db == null) return false; ORID id; if (getRecord() != null) id = getRecord().getIdentity(); else return false; final ORecordOperation oper = db.getTransaction().getRecordEntry(id); if (oper == null) return id.isTemporary(); else return oper.type == ORecordOperation.DELETED; }
protected boolean checkDeletedInTx() { ODatabaseDocument db = getDatabase(); if (db == null) return false; ORID id; if (getRecord() != null) id = getRecord().getIdentity(); else return false; final ORecordOperation oper = db.getTransaction().getRecordEntry(id); if (oper == null) return id.isTemporary(); else return oper.type == ORecordOperation.DELETED; }
@Override public void onDetach(RequestCycle cycle) { ODatabaseDocument db = ODatabaseRecordThreadLocal.instance().getIfDefined(); if(db!=null) { if(db.getTransaction().isActive()) db.commit(true); db.close(); ODatabaseRecordThreadLocal.instance().remove(); } }
public static <T> T runInTx(final OrientGraph graph, final GraphCallBack<T> callBack) { final ODatabaseDocument databaseRecord = getDatabase(); final boolean txWasActive = databaseRecord.getTransaction().isActive(); if (!txWasActive) graph.getRawGraph().begin(); try { final T result = callBack.call(graph); if (!txWasActive) graph.commit(); return result; } catch (RuntimeException e) { if (!txWasActive) graph.rollback(); throw e; } }
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { boolean isActiveTransaction = getDatabase().getTransaction().isActive(); if(isActiveTransaction) getDatabase().commit(); // Schema changes should be done outside of transaction try { super.onClick(targetOptional); getDatabase().getMetadata().reload(); } finally { if(isActiveTransaction) getDatabase().begin(); } }
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { ODocument doc = getModelObject(); if(doc.getIdentity().isNew()) realizeMandatory(doc); doc.save(); if(forceCommit) { ODatabaseDocument db = getDatabase(); boolean active = db.getTransaction().isActive(); db.commit(); if(active) db.begin(); } super.onClick(targetOptional); }
protected void initGraph(OrientGraph g) { final ODatabaseDocument db = g.getRawDatabase(); boolean txActive = db.getTransaction().isActive(); if (txActive) // COMMIT TX BEFORE ANY SCHEMA CHANGES db.commit(); OSchema schema = db.getMetadata().getSchema(); if (!schema.existsClass(OClass.VERTEX_CLASS_NAME)) schema.createClass(OClass.VERTEX_CLASS_NAME).setOverSize(2); if (!schema.existsClass(OClass.EDGE_CLASS_NAME)) schema.createClass(OClass.EDGE_CLASS_NAME); if (txActive) { // REOPEN IT AGAIN db.begin(); } }