package org.ovirt.engine.ui.webadmin.gin; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.auth.CurrentUser; import org.ovirt.engine.ui.webadmin.auth.LoggedInGatekeeper; import org.ovirt.engine.ui.webadmin.place.ApplicationPlaceManager; import org.ovirt.engine.ui.webadmin.place.ApplicationPlaces; import org.ovirt.engine.ui.webadmin.section.login.DefaultLoginSectionPlace; import org.ovirt.engine.ui.webadmin.section.main.DefaultMainSectionPlace; import org.ovirt.engine.ui.webadmin.system.ApplicationInit; import org.ovirt.engine.ui.webadmin.system.AsyncCallFailureHandler; import org.ovirt.engine.ui.webadmin.system.ErrorPopupManager; import org.ovirt.engine.ui.webadmin.system.InternalConfiguration; import org.ovirt.engine.ui.webadmin.uicommon.ClientAgentType; import com.google.gwt.event.shared.EventBus; import com.google.gwt.event.shared.SimpleEventBus; import com.google.gwt.inject.client.AbstractGinModule; import com.google.inject.Singleton; import com.gwtplatform.mvp.client.RootPresenter; import com.gwtplatform.mvp.client.proxy.ParameterTokenFormatter; import com.gwtplatform.mvp.client.proxy.PlaceManager; import com.gwtplatform.mvp.client.proxy.TokenFormatter; /** * GIN module containing general infrastructure and configuration bindings. */ public class SystemModule extends AbstractGinModule { @Override protected void configure() { bindInfrastructure(); bindConfiguration(); } void bindInfrastructure() { bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class); bind(PlaceManager.class).to(ApplicationPlaceManager.class).in(Singleton.class); bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class); bind(RootPresenter.class).asEagerSingleton(); bind(ApplicationInit.class).asEagerSingleton(); bind(CurrentUser.class).in(Singleton.class); bind(LoggedInGatekeeper.class).in(Singleton.class); bind(ErrorPopupManager.class).in(Singleton.class); bind(AsyncCallFailureHandler.class).asEagerSingleton(); bind(InternalConfiguration.class).asEagerSingleton(); bind(ClientAgentType.class).in(Singleton.class); } void bindConfiguration() { bindConstant().annotatedWith(DefaultLoginSectionPlace.class).to(ApplicationPlaces.loginPlace); bindConstant().annotatedWith(DefaultMainSectionPlace.class).to(ApplicationPlaces.clusterMainTabPlace); bind(ApplicationConstants.class).in(Singleton.class); bind(ApplicationMessages.class).in(Singleton.class); bind(ApplicationResources.class).in(Singleton.class); bind(ApplicationTemplates.class).in(Singleton.class); } }