package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.pool; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.ui.common.system.ClientStorage; import org.ovirt.engine.ui.common.widget.popup.AbstractVmBasedPopupPresenterWidget; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.gin.AssetProvider; import com.google.gwt.event.shared.EventBus; public abstract class BasePoolPopupPresenterWidget<V extends AbstractVmBasedPopupPresenterWidget.ViewDef> extends AbstractVmBasedPopupPresenterWidget<V> { private static final ApplicationMessages messages = AssetProvider.getMessages(); public BasePoolPopupPresenterWidget(EventBus eventBus, V view, ClientStorage clientStorage) { super(eventBus, view, clientStorage); } @Override public void init(final UnitVmModel model) { super.init(model); model.getDataCenterWithClustersList().getSelectedItemChangedEvent().addListener((ev, sender, args) -> { if (model.getSelectedCluster() != null) { setSpiceProxyOverrideExplanation(model.getSelectedCluster()); } }); } private void setSpiceProxyOverrideExplanation(Cluster selectedCluster) { String spiceProxyInConfig = (String) AsyncDataProvider.getInstance().getConfigValuePreConverted(ConfigurationValues.SpiceProxyDefault); String spiceProxyOnCluster = selectedCluster.getSpiceProxy(); if (!StringHelper.isNullOrEmpty(spiceProxyOnCluster)) { getView().setSpiceProxyOverrideExplanation(messages.consoleOverrideSpiceProxyMessage(messages.consoleOverrideDefinedOnCluster(), spiceProxyOnCluster)); } else if (!StringHelper.isNullOrEmpty(spiceProxyInConfig)) { getView().setSpiceProxyOverrideExplanation(messages.consoleOverrideSpiceProxyMessage(messages.consoleOverrideDefinedInGlobalConfig(), spiceProxyInConfig)); } else { getView().setSpiceProxyOverrideExplanation(messages.consoleOverrideSpiceProxyMessage( messages.or( messages.consoleOverrideDefinedInGlobalConfig(), messages.consoleOverrideDefinedOnCluster() ), messages.noSpiceProxyDefined() )); } } }