public AsyncSession(AbstractDaoSession daoSession) { this.daoSession = daoSession; this.executor = new AsyncOperationExecutor(); }
private AsyncOperation enqueueDatabaseOperation(OperationType type, Object param, int flags) { Database database = daoSession.getDatabase(); AsyncOperation operation = new AsyncOperation(type, null, database, param, flags | sessionFlags); executor.enqueue(operation); return operation; }
private void executeOperationAndPostCompleted(AsyncOperation operation) { executeOperation(operation); handleOperationCompleted(operation); }
if (operation2 != null) { if (operation.isMergeableWith(operation2)) { mergeTxAndExecute(operation, operation2); } else { executeOperationAndPostCompleted(operation); executeOperationAndPostCompleted(operation2); executeOperationAndPostCompleted(operation);
for (int i = 0; i < mergedOps.size(); i++) { AsyncOperation operation = mergedOps.get(i); executeOperation(operation); if (operation.isFailed()) { for (AsyncOperation asyncOperation : mergedOps) { asyncOperation.mergedOperationsCount = mergedCount; handleOperationCompleted(asyncOperation); for (AsyncOperation asyncOperation : mergedOps) { asyncOperation.reset(); executeOperationAndPostCompleted(asyncOperation);
break; case TransactionRunnable: executeTransactionRunnable(operation); break; case TransactionCallable: executeTransactionCallable(operation); break; case QueryList:
public int getMaxOperationCountToMerge() { return executor.getMaxOperationCountToMerge(); }
public int getWaitForMergeMillis() { return executor.getWaitForMergeMillis(); }
public AsyncOperationListener getListener() { return executor.getListener(); }
public AsyncOperationListener getListenerMainThread() { return executor.getListenerMainThread(); }
for (int i = 0; i < mergedOps.size(); i++) { AsyncOperation operation = mergedOps.get(i); executeOperation(operation); if (operation.isFailed()) { for (AsyncOperation asyncOperation : mergedOps) { asyncOperation.mergedOperationsCount = mergedCount; handleOperationCompleted(asyncOperation); for (AsyncOperation asyncOperation : mergedOps) { asyncOperation.reset(); executeOperationAndPostCompleted(asyncOperation);
if (operation2 != null) { if (operation.isMergeableWith(operation2)) { mergeTxAndExecute(operation, operation2); } else { executeOperationAndPostCompleted(operation); executeOperationAndPostCompleted(operation2); executeOperationAndPostCompleted(operation);
break; case TransactionRunnable: executeTransactionRunnable(operation); break; case TransactionCallable: executeTransactionCallable(operation); break; case QueryList:
public int getMaxOperationCountToMerge() { return executor.getMaxOperationCountToMerge(); }
public int getWaitForMergeMillis() { return executor.getWaitForMergeMillis(); }
public AsyncOperationListener getListener() { return executor.getListener(); }
public AsyncOperationListener getListenerMainThread() { return executor.getListenerMainThread(); }
private void executeOperationAndPostCompleted(AsyncOperation operation) { executeOperation(operation); handleOperationCompleted(operation); }
private <E> AsyncOperation enqueEntityOperation(OperationType type, Class<E> entityClass, Object param, int flags) { AbstractDao<?, ?> dao = daoSession.getDao(entityClass); AsyncOperation operation = new AsyncOperation(type, dao, null, param, flags | sessionFlags); executor.enqueue(operation); return operation; }
public AsyncSession(AbstractDaoSession daoSession) { this.daoSession = daoSession; this.executor = new AsyncOperationExecutor(); }