package org.ovirt.engine.ui.common.system; import org.ovirt.engine.ui.common.presenter.popup.ErrorPopupPresenterWidget; import org.ovirt.engine.ui.uicommonweb.ErrorPopupManager; import com.google.gwt.event.shared.EventBus; import com.google.gwt.event.shared.GwtEvent; import com.google.gwt.event.shared.HasHandlers; import com.google.inject.Inject; import com.google.inject.Provider; import com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent; /** * Convenience class used to reveal {@link ErrorPopupPresenterWidget} as a global popup. */ public class ErrorPopupManagerImpl implements HasHandlers, ErrorPopupManager { private final EventBus eventBus; private final Provider<ErrorPopupPresenterWidget> errorPopupProvider; @Inject public ErrorPopupManagerImpl(EventBus eventBus, Provider<ErrorPopupPresenterWidget> errorPopupProvider) { this.eventBus = eventBus; this.errorPopupProvider = errorPopupProvider; } @Override public void fireEvent(GwtEvent<?> event) { eventBus.fireEvent(event); } @Override public void show(String errorMessage) { ErrorPopupPresenterWidget errorPopup = errorPopupProvider.get(); errorPopup.prepare(errorMessage); RevealRootPopupContentEvent.fire(this, errorPopup); } }