@Override public OLiveQueryMonitor live(String query, OLiveQueryResultListener listener, Map<String, ?> args) { checkOpenness(); checkIfActive(); OLiveQueryListenerV2 queryListener = new LiveQueryListenerImpl(listener, query, this, (Map) args); ODatabaseDocumentInternal dbCopy = this.copy(); this.activateOnCurrentThread(); OLiveQueryMonitor monitor = new OLiveQueryMonitorEmbedded(queryListener.getToken(), dbCopy); return monitor; }
@Override public OLiveQueryMonitor live(String query, OLiveQueryResultListener listener, Object... args) { checkOpenness(); checkIfActive(); OLiveQueryListenerV2 queryListener = new LiveQueryListenerImpl(listener, query, this, args); ODatabaseDocumentInternal dbCopy = this.copy(); this.activateOnCurrentThread(); OLiveQueryMonitor monitor = new OLiveQueryMonitorEmbedded(queryListener.getToken(), dbCopy); return monitor; }
@Override protected void doRollback() throws TransactionException { tx().doRollback(); ODatabaseDocumentEmbedded db = (ODatabaseDocumentEmbedded) g.graph().getRawDatabase(); db.internalClose(true); db.activateOnCurrentThread(); db.setStatus(ODatabase.STATUS.OPEN); }
@Override protected void doCommit() throws TransactionException { tx().doCommit(); ODatabaseDocumentEmbedded db = (ODatabaseDocumentEmbedded) g.graph().getRawDatabase(); db.internalClose(true); db.activateOnCurrentThread(); db.setStatus(ODatabase.STATUS.OPEN); }
public ODatabaseDocumentEmbedded(final OStorage storage) { activateOnCurrentThread(); try { status = STATUS.CLOSED; // OVERWRITE THE URL url = storage.getURL(); this.storage = storage; this.componentsFactory = storage.getComponentsFactory(); unmodifiableHooks = Collections.unmodifiableMap(hooks); localCache = new OLocalRecordCache(); init(); databaseOwner = this; } catch (Exception t) { ODatabaseRecordThreadLocal.instance().remove(); throw OException.wrapException(new ODatabaseException("Error on opening database "), t); } }
/** * Returns a copy of current database if it's open. The returned instance can be used by another thread without affecting current * instance. The database copy is not set in thread local. */ public ODatabaseDocumentInternal copy() { ODatabaseDocumentEmbedded database = new ODatabaseDocumentEmbedded(storage); database.init(config); String user; if (getUser() != null) { user = getUser().getName(); } else { user = null; } database.internalOpen(user, null, false); database.callOnOpenListeners(); this.activateOnCurrentThread(); return database; }
try { final ODatabaseDocumentEmbedded newDb = new ODatabaseDocumentEmbedded(storage); newDb.activateOnCurrentThread(); newDb.init(null); newDb.internalOpen("admin", "nopass", false);
public void init(OrientDBConfig config) { activateOnCurrentThread(); this.config = config; applyAttributes(config);