package org.ovirt.engine.ui.uicommonweb.models.clusters; import java.util.ArrayList; import java.util.List; import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; import org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; public class GlusterSwiftServiceModel extends EntityModel<GlusterServerService> { private List<GlusterServerService> internalServiceList; private EntityModel<Boolean> startSwift; private EntityModel<Boolean> stopSwift; private EntityModel<Boolean> restartSwift; public GlusterSwiftServiceModel() { this(null); } public GlusterSwiftServiceModel(GlusterServerService service) { this(service, new ArrayList<GlusterServerService>()); } public GlusterSwiftServiceModel(GlusterServerService service, List<GlusterServerService> internalServiceList) { setStartSwift(new EntityModel<>(Boolean.FALSE)); setStopSwift(new EntityModel<>(Boolean.FALSE)); setRestartSwift(new EntityModel<>(Boolean.FALSE)); setEntity(service); setInternalServiceList(internalServiceList); } @Override protected void onEntityChanged() { super.onEntityChanged(); GlusterServerService service = getEntity(); if (service == null || service.getStatus() == GlusterServiceStatus.NOT_AVAILABLE) { getStartSwift().setIsChangeable(false); getStopSwift().setIsChangeable(false); getRestartSwift().setIsChangeable(false); } else { getStartSwift().setIsChangeable(service.getStatus() != GlusterServiceStatus.RUNNING); getStopSwift().setIsChangeable(service.getStatus() != GlusterServiceStatus.STOPPED); getRestartSwift().setIsChangeable(true); } } public List<GlusterServerService> getInternalServiceList() { return internalServiceList; } public void setInternalServiceList(List<GlusterServerService> internalServiceList) { this.internalServiceList = internalServiceList; } public EntityModel<Boolean> getStartSwift() { return startSwift; } public void setStartSwift(EntityModel<Boolean> startSwift) { this.startSwift = startSwift; } public EntityModel<Boolean> getStopSwift() { return stopSwift; } public void setStopSwift(EntityModel<Boolean> stopSwift) { this.stopSwift = stopSwift; } public EntityModel<Boolean> getRestartSwift() { return restartSwift; } public void setRestartSwift(EntityModel<Boolean> restartSwift) { this.restartSwift = restartSwift; } }