@Transactional private boolean _update(Long total, Long avail) { if (!lockCapacity()) { logDeletedBackupStorage(); return false; } if (total != null) { capacityVO.setTotalCapacity(total); } if (avail != null) { capacityVO.setAvailableCapacity(avail); } merge(); return true; }
protected void updateCapacity(Long totalCapacity, Long availableCapacity) { if (totalCapacity == null || availableCapacity == null) { return; } BackupStorageVO vo = dbf.findByUuid(self.getUuid(), BackupStorageVO.class); vo.setTotalCapacity(totalCapacity); vo.setAvailableCapacity(availableCapacity); dbf.update(vo); }
@Override public BackupStorageInventory createBackupStorage(BackupStorageVO vo, APIAddBackupStorageMsg msg) { APIAddSimulatorBackupStorageMsg smsg = (APIAddSimulatorBackupStorageMsg) msg; vo.setTotalCapacity(smsg.getTotalCapacity()); vo.setAvailableCapacity(smsg.getAvailableCapacity()); vo = dbf.persistAndRefresh(vo); return BackupStorageInventory.valueOf(vo); }
private boolean lockCapacity() { if (backupStorageUuid != null) { capacityVO = dbf.getEntityManager().find(BackupStorageVO.class, backupStorageUuid, LockModeType.PESSIMISTIC_WRITE); } if (capacityVO != null) { totalForLog = capacityVO.getTotalCapacity(); availForLog = capacityVO.getAvailableCapacity(); originalCopy = new BackupStorageVO(); originalCopy.setAvailableCapacity(capacityVO.getAvailableCapacity()); originalCopy.setTotalCapacity(capacityVO.getTotalCapacity()); } return capacityVO != null; }
@Transactional private boolean _run(BackupStorageCapacityUpdaterRunnable runnable) { if (!lockCapacity()) { logDeletedBackupStorage(); return false; } BackupStorageCapacity cap = new BackupStorageCapacity(); cap.setUuid(capacityVO.getUuid()); cap.setAvailableCapacity(capacityVO.getAvailableCapacity()); cap.setTotalCapacity(capacityVO.getTotalCapacity()); cap = runnable.call(cap); if (cap != null) { capacityVO.setTotalCapacity(cap.getTotalCapacity()); capacityVO.setAvailableCapacity(cap.getAvailableCapacity()); merge(); return true; } return false; }
protected BackupStorageVO(BackupStorageVO vo) { this.setUuid(vo.getUuid()); this.setAttachedZoneRefs(vo.getAttachedZoneRefs()); this.setCreateDate(vo.getCreateDate()); this.setDescription(vo.getDescription()); this.setLastOpDate(vo.getLastOpDate()); this.setName(vo.getName()); this.setState(vo.getState()); this.setStatus(vo.getStatus()); this.setTotalCapacity(vo.getTotalCapacity()); this.setType(vo.getType()); this.setUrl(vo.getUrl()); this.setAvailableCapacity(vo.getAvailableCapacity()); }