use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class ImportVmFromOvaModel method buildImportVmFromOvaParameters.
private List<ActionParametersBase> buildImportVmFromOvaParameters() {
ImportVmData importVmData = (ImportVmData) getItems().iterator().next();
VM vm = importVmData.getVm();
ImportVmFromOvaParameters prm = new ImportVmFromOvaParameters(vm, getStorage().getSelectedItem().getId(), getStoragePool().getId(), getCluster().getSelectedItem().getId());
prm.setOvaPath(ovaPath);
prm.setProxyHostId(hostId);
prm.setVirtioIsoName(getIso().getIsChangable() && getIso().getSelectedItem() != null ? getIso().getSelectedItem().getRepoImageId() : null);
prm.setExternalName(importVmData.getName());
if (getClusterQuota().getSelectedItem() != null && getClusterQuota().getIsAvailable()) {
prm.setQuotaId(getClusterQuota().getSelectedItem().getId());
}
CpuProfile cpuProfile = getCpuProfiles().getSelectedItem();
if (cpuProfile != null) {
prm.setCpuProfileId(cpuProfile.getId());
}
prm.setForceOverride(true);
prm.setCopyCollapse(importVmData.getCollapseSnapshots().getEntity());
for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) {
DiskImage disk = (DiskImage) entry.getValue();
ImportDiskData importDiskData = getDiskImportData(disk.getDiskAlias());
disk.setVolumeType(getAllocation().getSelectedItem());
disk.setVolumeFormat(AsyncDataProvider.getInstance().getDiskVolumeFormat(disk.getVolumeType(), getStorage().getSelectedItem().getStorageType()));
if (getDiskImportData(disk.getDiskAlias()).getSelectedQuota() != null) {
disk.setQuotaId(importDiskData.getSelectedQuota().getId());
}
}
updateNetworkInterfacesForVm(vm);
if (importVmData.isExistsInSystem() || importVmData.getClone().getEntity()) {
prm.setImportAsNewEntity(true);
prm.setCopyCollapse(true);
}
return Collections.singletonList(prm);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class InstanceImageLineModel method updateName.
private void updateName(DiskModel diskModel) {
Disk disk = diskModel.getDisk();
if (disk == null) {
return;
}
String diskName = disk.getDiskAlias();
String size = Long.toString(disk.getSize());
if (disk.getDiskStorageType() == DiskStorageType.IMAGE || disk.getDiskStorageType() == DiskStorageType.CINDER) {
size = Long.toString(((DiskImage) disk).getSizeInGigabytes());
}
String type;
if (diskExists) {
type = constants.existingDisk();
} else if (getDiskModel().getEntity() instanceof InstanceImagesAttachDiskModel) {
type = constants.attachingDisk();
} else {
type = constants.creatingDisk();
}
name.setEntity(messages.vmDialogDisk(diskName, size, type, diskModel.getIsBootable().getEntity() ? constants.bootDisk() : ""));
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class InstanceImageLineModel method attachDisk.
public void attachDisk() {
if (parentModel.getUnitVmModel().getSelectedCluster() == null || parentModel.getUnitVmModel().getSelectedDataCenter() == null) {
return;
}
InstanceImagesAttachDiskModel model = new InstanceImagesAttachDiskModel() {
@Override
public void onSave() {
if (validate()) {
flush();
List<EntityModel<DiskModel>> selectedDisks = getSelectedDisks();
if (selectedDisks.size() == 1) {
// only 0 or 1 is allowed
setDisk(selectedDisks.iterator().next().getEntity().getDisk());
}
getDiskModel().setEntity(this);
InstanceImageLineModel.this.setChanged(true);
setDiskModel(null);
// from now on only editing is possible
attachCommand.setIsAvailable(false);
fillData();
}
}
@Override
public void updateInterface(Version clusterVersion) {
InstanceImageLineModel.this.updateInterface(clusterVersion, this);
}
@Override
protected void updateBootableDiskAvailable() {
updateBootableFrom(parentModel.getAllCurrentDisksModels());
}
@Override
protected List<Disk> getAttachedNotSubmittedDisks() {
return parentModel.getNotYetAttachedNotAttachableDisks();
}
};
VM realOrFakeVm = vm;
Version compatibilityVersion = parentModel.getUnitVmModel().getSelectedCluster().getCompatibilityVersion();
if (realOrFakeVm == null) {
realOrFakeVm = new VM();
realOrFakeVm.setId(null);
realOrFakeVm.setClusterId(parentModel.getUnitVmModel().getSelectedCluster().getId());
realOrFakeVm.setStoragePoolId(parentModel.getUnitVmModel().getSelectedDataCenter().getId());
realOrFakeVm.setClusterCompatibilityVersion(compatibilityVersion);
}
model.setVm(realOrFakeVm);
setupModelAsDialog(model, ConstantsManager.getInstance().getConstants().attachVirtualDiskTitle(), HelpTag.attach_virtual_disk, // $NON-NLS-1$
"attach_virtual_disk");
setDiskModel(model);
model.initialize(parentModel.getAllCurrentDisksModels());
maybeLoadAttachableDisks(model);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class InstanceImageLineModel method showNewDialog.
private void showNewDialog() {
final AbstractDiskModel model = new NewDiskModel() {
@Override
public void onSave() {
if (validate()) {
flush();
getDiskModel().setEntity(this);
InstanceImageLineModel.this.setChanged(true);
setDiskModel(null);
// the "new" turns into "edit" - no need for attach anymore
attachCommand.setIsAvailable(false);
fillData();
Disk disk = super.getDisk();
if (disk.getDiskStorageType() == DiskStorageType.IMAGE || disk.getDiskStorageType() == DiskStorageType.CINDER) {
((DiskImage) disk).setActive(true);
}
}
}
@Override
public void updateInterface(Version clusterVersion) {
InstanceImageLineModel.this.updateInterface(clusterVersion, this);
}
@Override
protected void updateBootableDiskAvailable() {
updateBootableFrom(parentModel.getAllCurrentDisksModels());
}
};
VM vm = new VM();
vm.setClusterId(parentModel.getUnitVmModel().getSelectedCluster().getId());
vm.setStoragePoolId(parentModel.getUnitVmModel().getSelectedDataCenter().getId());
vm.setClusterCompatibilityVersion(parentModel.getUnitVmModel().getSelectedCluster().getCompatibilityVersion());
Quota selectedQuota = parentModel.getUnitVmModel().getQuota().getSelectedItem();
vm.setQuotaId(selectedQuota == null ? null : selectedQuota.getId());
model.setVm(vm);
model.getSizeExtend().setIsAvailable(false);
setupModelAsDialog(model, ConstantsManager.getInstance().getConstants().newVirtualDiskTitle(), HelpTag.new_virtual_disk, // $NON-NLS-1$
"new_virtual_disk");
setDiskModel(model);
model.initialize(parentModel.getAllCurrentDisksModels());
if (model.getIsBootable().getIsChangable()) {
model.getIsBootable().setEntity(true);
}
if (getVm() != null) {
model.setVm(getVm());
((NewDiskModel) model).updateSuggestedDiskAliasFromServer();
} else {
String currentVmName = parentModel.getUnitVmModel().getName().getEntity();
if (StringHelper.isNotNullOrEmpty(currentVmName)) {
// if already set the VM name on the new VM dialog, suggest the name according to the name
model.getAlias().setEntity(suggestAliasForNewVm(currentVmName));
}
}
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class VmDiskListModel method edit.
private void edit() {
final Disk disk = getSelectedItem();
if (getWindow() != null) {
return;
}
EditDiskModel model = new EditDiskModel();
model.setTitle(ConstantsManager.getInstance().getConstants().editVirtualDiskTitle());
model.setHelpTag(HelpTag.edit_virtual_disk);
// $NON-NLS-1$
model.setHashName("edit_virtual_disk");
model.setVm(getEntity());
model.setDisk(disk);
setWindow(model);
// $NON-NLS-1$
UICommand cancelCommand = UICommand.createCancelUiCommand("Cancel", this);
model.setCancelCommand(cancelCommand);
model.initialize();
}
Aggregations