/** * {@inheritDoc} */ @Override public void clear() { if (nestedUnitOfWork != null) { nestedUnitOfWork.clear(); } else { clearPendingOperations(); cleanup(); } }
/** * {@inheritDoc} */ @Override public void beginNested() { if (nestedUnitOfWork != null) { nestedUnitOfWork.beginNested(); } else { nestedUnitOfWork = new BasicEntityUnitOfWork(); nestedUnitOfWork.parentUnitOfWork = this; nestedUnitOfWork.begin(); } }
Set<IEntity> nestedUnitOfWorkUpdatedEntities = nestedUnitOfWork.getUpdatedEntities(); Set<IEntity> nestedUnitOfWorkDeletedEntities = nestedUnitOfWork.getDeletedEntities(); List<IEntity> nestedUnitOfWorkRegisteredForUpdateEntities = nestedUnitOfWork.getEntitiesRegisteredForUpdate(); Set<IEntity> nestedUnitOfWorkRegisteredForDeletionEntities = nestedUnitOfWork.getEntitiesRegisteredForDeletion(); nestedUnitOfWork.commit(); addUpdatedEntity(updatedEntity); clearDirtyState(updatedEntity); addDeletedEntity(deletedEntity); registerForUpdate(toUpdateEntity); registerForDeletion(toDeleteEntity); cleanup();
/** * {@inheritDoc} */ public boolean isDirty(IEntity entity) { Map<String, Object> entityDirtyProperties = getDirtyProperties(entity); return (entityDirtyProperties != null && entityDirtyProperties.size() > 0); }
/** * {@inheritDoc} */ public void rollback() { cleanup(); }
/** * Creates a "Unit of Work" to be used by this controller. * * @return the created UOW. */ protected IEntityUnitOfWork createUnitOfWork() { return new BasicEntityUnitOfWork(); }
/** * Clears the pending operations. * <p/> * {@inheritDoc} */ @Override public void clearPendingOperations() { if (nestedUnitOfWork != null) { nestedUnitOfWork.clearPendingOperations(); } else { entitiesRegisteredForUpdate = null; entitiesRegisteredForDeletion = null; } }
/** * {@inheritDoc} */ @Override public void addDeletedEntity(IEntity entity) { if (nestedUnitOfWork != null) { nestedUnitOfWork.addDeletedEntity(entity); } else { if (deletedEntities == null) { deletedEntities = new LinkedHashSet<>(); } deletedEntities.add(entity); } }
/** * {@inheritDoc} */ @Override public void addUpdatedEntity(IEntity entity) { if (nestedUnitOfWork != null) { nestedUnitOfWork.addUpdatedEntity(entity); } else { if (updatedEntities == null) { updatedEntities = new LinkedHashSet<>(); } updatedEntities.add(entity); } }
/** * {@inheritDoc} */ @Override public void clearDirtyState(IEntity flushedEntity) { if (nestedUnitOfWork != null) { nestedUnitOfWork.clearDirtyState(flushedEntity); } else { dirtRecorder.resetChangedProperties(flushedEntity, null); } }
/** * {@inheritDoc} */ public boolean isDirty(IEntity entity, String propertyName) { Map<String, Object> entityDirtyProperties = getDirtyProperties(entity); return (entityDirtyProperties != null && entityDirtyProperties .containsKey(propertyName)); }
/** * {@inheritDoc} */ public void commit() { cleanup(); }
/** * {@inheritDoc} */ @Override public Map<String, Object> getDirtyProperties(IEntity entity) { if (nestedUnitOfWork != null) { return nestedUnitOfWork.getDirtyProperties(entity); } return dirtRecorder.getChangedProperties(entity); }