package org.ovirt.engine.ui.uicommonweb.models.vms; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType; import org.ovirt.engine.core.common.businessentities.storage.ScsiGenericIO; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback; public class ReadOnlyDiskModel extends EditDiskModel { @Override public void initialize() { commonInitialize(); getSizeExtend().setIsAvailable(false); getAlias().setEntity(getDisk().getDiskAlias()); getDescription().setEntity(getDisk().getDiskDescription()); getIsShareable().setEntity(getDisk().isShareable()); getIsWipeAfterDelete().setEntity(getDisk().isWipeAfterDelete()); getIsScsiPassthrough().setEntity(getDisk().isScsiPassthrough()); getIsSgIoUnfiltered().setEntity(getDisk().getSgio() == ScsiGenericIO.UNFILTERED); getIsReadOnly().setEntity(getVm() != null && getDiskVmElement().isReadOnly()); switch (getDisk().getDiskStorageType()) { case IMAGE: DiskImage diskImage = (DiskImage) getDisk(); getDiskStorageType().setEntity(DiskStorageType.IMAGE); getSize().setEntity((int) diskImage.getSizeInGigabytes()); getVolumeType().setSelectedItem(diskImage.getVolumeType()); break; } } @Override protected void datacenter_SelectedItemChanged() { super.datacenter_SelectedItemChanged(); getIsModelDisabled().setEntity(true); getDataCenter().setIsChangeable(false); } @Override public void store(IFrontendActionAsyncCallback callback) { // do nothing } @Override public boolean validate() { return true; } @Override protected void updateStorageDomains(final StoragePool datacenter) { AsyncDataProvider.getInstance().getStorageDomainById(new AsyncQuery<>(storageDomain -> getStorageDomain().setSelectedItem(storageDomain)), getStorageDomainId()); } }