public void clear() { clearForSave(); getReal().references = null; } }
public void merge(ODirtyManager toMerge) { if (isSame(toMerge)) return; this.newRecords = mergeSet(this.newRecords, toMerge.getNewRecords()); this.updateRecords = mergeSet(this.updateRecords, toMerge.getUpdateRecords()); if (toMerge.getReferences() != null) { if (references == null) references = new IdentityHashMap<ODocument, List<OIdentifiable>>(); for (Entry<ODocument, List<OIdentifiable>> entry : toMerge.getReferences().entrySet()) { List<OIdentifiable> refs = references.get(entry.getKey()); if (refs == null) references.put(entry.getKey(), entry.getValue()); else refs.addAll(entry.getValue()); } } toMerge.override(this); }
public void track(ORecord pointing, OIdentifiable pointed) { getReal().internalTrack(pointing, pointed); }
public void unTrack(ORecord pointing, OIdentifiable pointed) { getReal().internalUnTrack(pointing, pointed); }
private void reSave(ORecord record) { final ODirtyManager manager = ORecordInternal.getDirtyManager(record); final Set<ORecord> newRecords = manager.getNewRecords(); final Set<ORecord> updatedRecords = manager.getUpdateRecords(); manager.clearForSave(); if (newRecords != null) { for (ORecord newRecord : newRecords) { if (newRecord != record) saveRecord(newRecord, null, ODatabase.OPERATION_MODE.SYNCHRONOUS, false, null, null); } } if (updatedRecords != null) { for (ORecord updatedRecord : updatedRecords) { if (updatedRecord != record) saveRecord(updatedRecord, null, ODatabase.OPERATION_MODE.SYNCHRONOUS, false, null, null); } } }
final ODirtyManager dirtyManager = ORecordInternal.getDirtyManager(iRecord); do { Set<ORecord> newRecord = dirtyManager.getNewRecords(); Set<ORecord> updatedRecord = dirtyManager.getUpdateRecords(); dirtyManager.clear(); if (newRecord != null) { for (ORecord rec : newRecord) { } while (dirtyManager.getNewRecords() != null || dirtyManager.getUpdateRecords() != null);
public void clearForSave() { ODirtyManager real = getReal(); real.newRecords = null; real.updateRecords = null; }
protected ODirtyManager getDirtyManager() { if (this._dirtyManager == null) { this._dirtyManager = new ODirtyManager(); if (this.getIdentity().isNew() && getOwner() == null) this._dirtyManager.setDirty(this); } return this._dirtyManager; }
public ODatabaseDocument delete(final ORecord iRecord, final OPERATION_MODE iMode) { checkIfActive(); ODirtyManager dirtyManager = ORecordInternal.getDirtyManager(iRecord); if (iRecord instanceof OElement && dirtyManager != null && dirtyManager.getReferences() != null && !dirtyManager.getReferences() .isEmpty()) { if (((OElement) iRecord).isEdge() || ((OElement) iRecord).isVertex() && !getTransaction().isActive()) { begin(); try { currentTx.deleteRecord(iRecord, iMode); return this; } finally { commit(); } } } currentTx.deleteRecord(iRecord, iMode); return this; }
List<OIdentifiable> point = ORecordInternal.getDirtyManager((ORecord) pointed).getPointed((ORecord) pointed); if (point != null && point.size() > 0) { if (references == null) {
Set<ORecord> newRecord = dirtyManager.getNewRecords(); Set<ORecord> updatedRecord = dirtyManager.getUpdateRecords(); dirtyManager.clearForSave(); if (newRecord != null) { for (ORecord rec : newRecord) {
public Set<ORecord> getUpdateRecords() { return getReal().updateRecords; }
if (iRecord instanceof OElement && dirtyManager != null && dirtyManager.getReferences() != null && !dirtyManager.getReferences() .isEmpty()) { if ((((OElement) iRecord).isVertex() || ((OElement) iRecord).isEdge()) && !getTransaction().isActive() && inHook.isEmpty()) {
if (next instanceof ODocument) { ORecord nextToInspect = null; List<OIdentifiable> toSave = manager.getPointed(next); if (toSave != null) { for (OIdentifiable oIdentifiable : toSave) {
public Set<ORecord> getNewRecords() { return getReal().newRecords; }
public Map<ODocument, List<OIdentifiable>> getReferences() { return getReal().references; }
public List<OIdentifiable> getPointed(ORecord rec) { ODirtyManager real = getReal(); if (real.references == null) return null; return real.references.get(rec); }
public void removeNew(ORecord record) { ODirtyManager real = getReal(); if (real.newRecords != null) real.newRecords.remove(record); }