@Override public int compare(Disk x, Disk y) { String xAlias = x.getDiskAlias(); String yAlias = y.getDiskAlias(); if (xAlias == null) { return 1; } if (yAlias == null) { return -1; } return xAlias.compareTo(yAlias); }
private boolean checkCanPerformRegularUpdate() { boolean retValue = true; if (_oldDisk.getDiskInterface() != getParameters().getDiskInfo().getDiskInterface()) { List<VmNetworkInterface> allVmInterfaces = DbFacade.getInstance().getVmNetworkInterfaceDao().getAllForVm(getVmId()); List<Disk> allVmDisks = getDiskDao().getAllForVm(getVmId()); allVmDisks.removeAll( LinqUtils.filter( allVmDisks, new Predicate<Disk>() { @Override public boolean eval(Disk o) { return o.getId().equals(_oldDisk.getId()); } })); allVmDisks.add(getParameters().getDiskInfo()); if (!checkPciAndIdeLimit( getVm().getnum_of_monitors(), allVmInterfaces, allVmDisks, getReturnValue().getCanDoActionMessages())) { retValue = false; } } // Validate update boot disk. if (retValue && getParameters().getDiskInfo().isBoot()) { VmHandler.updateDisksFromDb(getVm()); for (Disk disk : getVm().getDiskMap().values()) { if (disk.isBoot() && !disk.getId().equals(_oldDisk.getId())) { retValue = false; addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_DISK_BOOT_IN_USE); getReturnValue() .getCanDoActionMessages() .add(String.format("$DiskName %1$s", disk.getDiskAlias())); break; } } } // Set disk alias name in the disk retrieved from the parameters. ImagesHandler.setDiskAlias(getParameters().getDiskInfo(), getVm()); return retValue && validateShareableDisk(); }
public static DiskModel DiskToModel(Disk disk) { DiskModel diskModel = new DiskModel(); diskModel.setIsNew(true); diskModel.getAlias().setEntity(disk.getDiskAlias()); if (disk.getDiskStorageType() == DiskStorageType.IMAGE) { DiskImage diskImage = (DiskImage) disk; EntityModel sizeEntity = new EntityModel(); sizeEntity.setEntity(diskImage.getSizeInGigabytes()); diskModel.setSize(sizeEntity); ListModel volumeList = new ListModel(); volumeList.setItems( (diskImage.getvolume_type() == VolumeType.Preallocated ? new ArrayList<VolumeType>(Arrays.asList(new VolumeType[] {VolumeType.Preallocated})) : DataProvider.GetVolumeTypeList())); volumeList.setSelectedItem(diskImage.getvolume_type()); diskModel.setVolumeType(volumeList); } diskModel.setDisk(disk); return diskModel; }
@Override public String getDiskAlias() { return _oldDisk.getDiskAlias(); }