package org.ovirt.engine.ui.uicommonweb.models.vms; import org.ovirt.engine.core.common.businessentities.ArchitectureType; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; public class ImportVmData extends ImportEntityData<VM> { private boolean templateExistsInSetup = true; private EntityModel<Boolean> collapseSnapshots; private String warning; private String error; private boolean nameExistsInTheSystem; private String vmName; public ImportVmData(VM vm) { setCollapseSnapshots(new EntityModel<>(true)); setEntity(vm); vmName = vm.getName(); getClone().getEntityChangedEvent().addListener((ev, sender, args) -> { if (templateExistsInSetup) { if (((EntityModel<Boolean>) sender).getEntity()) { getCollapseSnapshots().setEntity(true); getCollapseSnapshots().setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants() .importCloneVMMustCollapseSnapshots()); getCollapseSnapshots().setIsChangeable(false); } else { getCollapseSnapshots().setIsChangeable(true); } } }); } public boolean isTemplateExistsInSetup() { return templateExistsInSetup; } public void setTemplateExistsInSetup(boolean templateExistsInSetup) { if (!templateExistsInSetup) { getCollapseSnapshots().setEntity(true); getCollapseSnapshots().setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants().importVMWithTemplateNotInSystemMustCollapseSnapshots()); getCollapseSnapshots().setIsChangeable(false); } this.templateExistsInSetup = templateExistsInSetup; } public VM getVm() { return getEntity(); } public EntityModel<Boolean> getCollapseSnapshots() { return collapseSnapshots; } public void setCollapseSnapshots(EntityModel<Boolean> collapseSnapshots) { this.collapseSnapshots = collapseSnapshots; } @Override public ArchitectureType getArchType() { return getEntity().getClusterArch(); } @Override public String getName() { return vmName; } public String getWarning() { return warning; } public void setWarning(String warning) { this.warning = warning; } public String getError() { return error; } public void setError(String error) { this.error = error; } public boolean isNameExistsInTheSystem() { return nameExistsInTheSystem; } public void setNameExistsInTheSystem(boolean nameExistsInTheSystem) { this.nameExistsInTheSystem = nameExistsInTheSystem; } }