package org.ovirt.engine.ui.uicommonweb.models.storage; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; public class ImportCloneModel extends ConfirmationModel { EntityModel<Boolean> noClone; EntityModel<Boolean> clone; EntityModel<Boolean> applyToAll; EntityModel<String> suffix; EntityModel<String> name; private Object entity; public EntityModel<Boolean> getNoClone() { return noClone; } public void setNoClone(EntityModel<Boolean> noClone) { this.noClone = noClone; } public EntityModel<Boolean> getClone() { return clone; } public void setClone(EntityModel<Boolean> clone) { this.clone = clone; } public EntityModel<Boolean> getApplyToAll() { return applyToAll; } public void setApplyToAll(EntityModel<Boolean> applyToAll) { this.applyToAll = applyToAll; } public EntityModel<String> getName() { return name; } public void setName(EntityModel<String> name) { this.name = name; } public EntityModel<String> getSuffix() { return suffix; } public void setSuffix(EntityModel<String> suffix) { this.suffix = suffix; } public Object getEntity() { return entity; } public void setEntity(Object entity) { this.entity = entity; } public ImportCloneModel() { setNoClone(new EntityModel<Boolean>()); getNoClone().setEntity(false); setClone(new EntityModel<Boolean>()); getClone().setEntity(true); setName(new EntityModel<String>()); setApplyToAll(new EntityModel<Boolean>()); getApplyToAll().setEntity(false); setSuffix(new EntityModel<String>()); getSuffix().setIsChangeable(false); getSuffix().setEntity("_Copy"); //$NON-NLS-1$ getClone().getEntityChangedEvent().addListener((ev, sender, args) -> { boolean value = getClone().getEntity(); if (value) { getNoClone().setEntity(false); if (getApplyToAll().getEntity()) { getSuffix().setIsChangeable(true); } else { getName().setIsChangeable(true); } } }); getNoClone().getEntityChangedEvent().addListener((ev, sender, args) -> { boolean value = getNoClone().getEntity(); if (value) { getClone().setEntity(false); getName().setIsChangeable(false); getSuffix().setIsChangeable(false); } }); getApplyToAll().getEntityChangedEvent().addListener((ev, sender, args) -> { if (!getNoClone().getEntity()) { Boolean value = getApplyToAll().getEntity(); getSuffix().setIsChangeable(value); getName().setIsChangeable(!value); } }); } }