private DbBulkOperation createDbBulkOperation(Class<? extends DbEntity> entityType, String statement, Object parameter, DbOperationType operationType) { // create operation DbBulkOperation bulkOperation = new DbBulkOperation(); // configure operation bulkOperation.setOperationType(operationType); bulkOperation.setEntityType(entityType); bulkOperation.setStatement(statement); bulkOperation.setParameter(parameter); return bulkOperation; }
@Override public void recycle() { statement = null; parameter = null; super.recycle(); }
protected void initializeOperationManager() { dbOperationManager = new DbOperationManager(); }
protected void performEntityOperation(CachedDbEntity cachedDbEntity, DbOperationType type) { DbEntityOperation dbOperation = new DbEntityOperation(); dbOperation.setEntity(cachedDbEntity.getEntity()); dbOperation.setFlushRelevantEntityReferences(cachedDbEntity.getFlushRelevantEntityReferences()); dbOperation.setOperationType(type); dbOperationManager.addOperation(dbOperation); }
public boolean addOperation(DbEntityOperation newOperation) { if(newOperation.getOperationType() == INSERT) { return getInsertsForType(newOperation.getEntityType(), true) .add(newOperation); } else if(newOperation.getOperationType() == DELETE) { return getDeletesByType(newOperation.getEntityType(), true) .add(newOperation); } else { // UPDATE return getUpdatesByType(newOperation.getEntityType(), true) .add(newOperation); } }
public int compare(DbBulkOperation firstOperation, DbBulkOperation secondOperation) { if(firstOperation.equals(secondOperation)) { return 0; } // order by statement int statementOrder = firstOperation.getStatement().compareTo(secondOperation.getStatement()); if(statementOrder == 0) { return firstOperation.hashCode() < secondOperation.hashCode() ? -1 : 1; } else { return statementOrder; } }
public List<DbOperation> calculateFlush() { List<DbOperation> flush = new ArrayList<DbOperation>(); // first INSERTs addSortedInserts(flush); // then UPDATEs + DELETEs addSortedModifications(flush); return flush; }
protected int indexOfEntity(DbEntity entity, List<DbOperation> operations) { for (int i = 0; i < operations.size(); i++) { if(entity == ((DbEntityOperation) operations.get(i)).getEntity()) { return i; } } return -1; }
protected DbBulkOperation performBulkOperationPreserveOrder(Class<? extends DbEntity> entityType, String statement, Object parameter, DbOperationType operationType) { DbBulkOperation bulkOperation = createDbBulkOperation(entityType, statement, parameter, operationType); // schedule operation dbOperationManager.addOperationPreserveOrder(bulkOperation); return bulkOperation; }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((entity == null) ? 0 : entity.hashCode()); result = prime * result + ((operationType == null) ? 0 : operationType.hashCode()); return result; }
protected DbBulkOperation performBulkOperation(Class<? extends DbEntity> entityType, String statement, Object parameter, DbOperationType operationType) { // create operation DbBulkOperation bulkOperation = createDbBulkOperation(entityType, statement, parameter, operationType); // schedule operation dbOperationManager.addOperation(bulkOperation); return bulkOperation; }
protected void performEntityOperation(CachedDbEntity cachedDbEntity, DbOperationType type) { DbEntityOperation dbOperation = new DbEntityOperation(); dbOperation.setEntity(cachedDbEntity.getEntity()); dbOperation.setFlushRelevantEntityReferences(cachedDbEntity.getFlushRelevantEntityReferences()); dbOperation.setOperationType(type); dbOperationManager.addOperation(dbOperation); }
public boolean addOperation(DbEntityOperation newOperation) { if(newOperation.getOperationType() == INSERT) { return getInsertsForType(newOperation.getEntityType(), true) .add(newOperation); } else if(newOperation.getOperationType() == DELETE) { return getDeletesByType(newOperation.getEntityType(), true) .add(newOperation); } else { // UPDATE return getUpdatesByType(newOperation.getEntityType(), true) .add(newOperation); } }
private DbBulkOperation createDbBulkOperation(Class<? extends DbEntity> entityType, String statement, Object parameter, DbOperationType operationType) { // create operation DbBulkOperation bulkOperation = new DbBulkOperation(); // configure operation bulkOperation.setOperationType(operationType); bulkOperation.setEntityType(entityType); bulkOperation.setStatement(statement); bulkOperation.setParameter(parameter); return bulkOperation; }
public List<DbOperation> calculateFlush() { List<DbOperation> flush = new ArrayList<DbOperation>(); // first INSERTs addSortedInserts(flush); // then UPDATEs + DELETEs addSortedModifications(flush); return flush; }
@Override public void recycle() { statement = null; parameter = null; super.recycle(); }
protected void initializeOperationManager() { dbOperationManager = new DbOperationManager(); }
protected DbBulkOperation performBulkOperationPreserveOrder(Class<? extends DbEntity> entityType, String statement, Object parameter, DbOperationType operationType) { DbBulkOperation bulkOperation = createDbBulkOperation(entityType, statement, parameter, operationType); // schedule operation dbOperationManager.addOperationPreserveOrder(bulkOperation); return bulkOperation; }
public void recycle() { entity = null; super.recycle(); }
public void recycle() { entity = null; super.recycle(); }