private boolean lockCapacity() { if (primaryStorageUuid != null) { capacityVO = dbf.getEntityManager().find(PrimaryStorageCapacityVO.class, primaryStorageUuid, LockModeType.PESSIMISTIC_WRITE); } else if (query != null) { query.setLockMode(LockModeType.PESSIMISTIC_WRITE); List<PrimaryStorageCapacityVO> caps = query.getResultList(); capacityVO = caps.isEmpty() ? null : caps.get(0); } if (capacityVO != null) { totalForLog = capacityVO.getTotalCapacity(); availForLog = capacityVO.getAvailableCapacity(); totalPhysicalForLog = capacityVO.getTotalPhysicalCapacity(); availPhysicalForLog = capacityVO.getAvailablePhysicalCapacity(); originalCopy = new PrimaryStorageCapacityVO(); originalCopy.setAvailableCapacity(capacityVO.getAvailableCapacity()); originalCopy.setTotalCapacity(capacityVO.getTotalCapacity()); originalCopy.setAvailablePhysicalCapacity(capacityVO.getAvailablePhysicalCapacity()); originalCopy.setTotalPhysicalCapacity(capacityVO.getTotalPhysicalCapacity()); originalCopy.setSystemUsedCapacity(capacityVO.getSystemUsedCapacity()); } return capacityVO != null; }
@Override public PrimaryStorageInventory createPrimaryStorage(PrimaryStorageVO vo, APIAddPrimaryStorageMsg msg) { String mountPath = PathUtil.join("/primarystoragesimulator", vo.getUuid()); vo.setMountPath(mountPath); vo = dbf.persistAndRefresh(vo); APIAddSimulatorPrimaryStorageMsg smsg = (APIAddSimulatorPrimaryStorageMsg) msg; PrimaryStorageCapacityVO cvo = new PrimaryStorageCapacityVO(); cvo.setUuid(vo.getUuid()); cvo.setAvailableCapacity(smsg.getAvailableCapacity()); cvo.setTotalCapacity(smsg.getTotalCapacity()); cvo.setAvailablePhysicalCapacity(smsg.getAvailablePhysicalCapacity()); cvo.setTotalPhysicalCapacity(smsg.getTotalPhysicalCapacity()); dbf.persist(cvo); return PrimaryStorageInventory.valueOf(vo); }
primaryStorageCapacityVO = new PrimaryStorageCapacityVO(); primaryStorageCapacityVO.setUuid(primaryStorageVO.getUuid()); dbf.persist(primaryStorageCapacityVO);