@Override public ImageResource getValue(Disk object) { if (object.getDiskVmElements().size() == 1) { return object.getDiskVmElements().iterator().next().isReadOnly() ? getDefaultImage() : null; } return null; }
@Override public SafeHtml getTooltip(Disk object) { if (object.getDiskVmElements().size() == 1) { return object.getDiskVmElements().iterator().next().isReadOnly() ? SafeHtmlUtils.fromSafeConstant(constants.readOnly()) : null; } return null; } };
private static void copyProperties(DiskVmElement source, DiskVmElement dest) { dest.setBoot(source.isBoot()); dest.setPassDiscard(source.isPassDiscard()); dest.setDiskInterface(source.getDiskInterface()); dest.setUsingScsiReservation(source.isUsingScsiReservation()); dest.setPlugged(source.isPlugged()); dest.setLogicalName(source.getLogicalName()); dest.setReadOnly(source.isReadOnly()); }
@Override protected void writeDisk(DiskImage image) { DiskVmElement dve = image.getDiskVmElementForVm(vmBase.getId()); _writer.writeAttributeString(getOvfUri(), "diskId", image.getImageId().toString()); _writer.writeAttributeString(getOvfUri(), "size", String.valueOf(bytesToGigabyte(image.getSize()))); _writer.writeAttributeString(getOvfUri(), "actual_size", String.valueOf(bytesToGigabyte(image.getActualSizeInBytes()))); _writer.writeAttributeString(getOvfUri(), "vm_snapshot_id", (image.getVmSnapshotId() != null) ? image .getVmSnapshotId().toString() : ""); writeDiskParentRef(image); _writer.writeAttributeString(getOvfUri(), "fileRef", OvfParser.createImageFile(image)); _writer.writeAttributeString(getOvfUri(), "format", getVolumeImageFormat(image.getVolumeFormat())); _writer.writeAttributeString(getOvfUri(), "volume-format", image.getVolumeFormat().toString()); _writer.writeAttributeString(getOvfUri(), "volume-type", image.getVolumeType().toString()); _writer.writeAttributeString(getOvfUri(), "disk-interface", dve.getDiskInterface().toString()); _writer.writeAttributeString(getOvfUri(), "read-only", String.valueOf(dve.isReadOnly())); _writer.writeAttributeString(getOvfUri(), "shareable", String.valueOf(image.isShareable())); _writer.writeAttributeString(getOvfUri(), "boot", String.valueOf(dve.isBoot())); _writer.writeAttributeString(getOvfUri(), "pass-discard", String.valueOf(dve.isPassDiscard())); if (image.getDiskAlias() != null) { _writer.writeAttributeString(getOvfUri(), "disk-alias", image.getDiskAlias()); } if (image.getDiskDescription() != null) { _writer.writeAttributeString(getOvfUri(), "disk-description", image.getDiskDescription()); } _writer.writeAttributeString(getOvfUri(), "wipe-after-delete", String.valueOf(image.isWipeAfterDelete())); }
_writer.writeAttributeString(getOvfUri(), "boot", String.valueOf(dve.isBoot())); _writer.writeAttributeString(getOvfUri(), "disk-interface", dve.getDiskInterface().toString()); _writer.writeAttributeString(getOvfUri(), "read-only", String.valueOf(dve.isReadOnly())); _writer.writeAttributeString(getOvfUri(), "scsi_reservation", String.valueOf(dve.isUsingScsiReservation())); _writer.writeAttributeString(getOvfUri(), "plugged", String.valueOf(dve.isPlugged()));
@Mapping(from = org.ovirt.engine.core.common.businessentities.storage.DiskVmElement.class, to = DiskAttachment.class) public static DiskAttachment map(org.ovirt.engine.core.common.businessentities.storage.DiskVmElement entity, DiskAttachment template) { DiskAttachment model = template != null ? template : new DiskAttachment(); Guid vmId = entity.getVmId(); if (vmId != null) { Vm vm = new Vm(); vm.setId(vmId.toString()); model.setVm(vm); } Guid diskId = entity.getDiskId(); if (diskId != null) { Disk disk = new Disk(); disk.setId(diskId.toString()); model.setDisk(disk); } model.setId(entity.getDiskId().toString()); model.setBootable(entity.isBoot()); model.setPassDiscard(entity.isPassDiscard()); model.setInterface(DiskMapper.mapInterface(entity.getDiskInterface())); model.setActive(entity.isPlugged()); model.setLogicalName(entity.getLogicalName()); model.setUsesScsiReservation(entity.isUsingScsiReservation()); model.setReadOnly(entity.isReadOnly()); return model; } }
protected void updateReadOnlyChangeability() { if (getVm() == null) { // read-only is a characteristic of a VM device, not a disk getIsReadOnly().setIsAvailable(false); getIsReadOnly().setEntity(false); getIsReadOnly().setIsChangeable(false); return; } DiskInterface diskInterface = getDiskInterface().getSelectedItem(); if (diskInterface == DiskInterface.IDE) { getIsReadOnly().setEntity(false); return; } boolean isDirectLUN = getDiskStorageType().getEntity() == DiskStorageType.LUN; boolean isScsiPassthrough = getIsScsiPassthrough().getEntity(); if (diskInterface == DiskInterface.VirtIO_SCSI && isDirectLUN && isScsiPassthrough) { getIsReadOnly().setIsChangeable(false, constants.cannotEnableReadonlyWhenScsiPassthroughEnabled()); getIsReadOnly().setEntity(false); return; } if (isVmAttachedToPool() && !getIsNew()) { getIsReadOnly().setIsChangeable(false); } else { getIsReadOnly().setIsChangeable(isEditEnabled()); } if (!getIsNew()) { getIsReadOnly().setEntity(getDiskVmElement().isReadOnly()); } }
@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; } }
getIsScsiPassthrough().setEntity(getDisk().isScsiPassthrough()); getIsSgIoUnfiltered().setEntity(getDisk().getSgio() == ScsiGenericIO.UNFILTERED); getIsReadOnly().setEntity(getDiskVmElement().isReadOnly()); getIsBootable().setEntity(getDiskVmElement().isBoot()); getPassDiscard().setEntity(getDiskVmElement().isPassDiscard());