/* * x * Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under * one or more contributor license agreements (see COPYRIGHT for details). * The CA licenses this file to you under the GNU Affero General Public * License version 3, (the "License"); you may not use this file except in * compliance with the License. This file is part of kune. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package cc.kune.core.client; import cc.kune.client.KunePlaceManager; import cc.kune.common.client.actions.ui.DefaultGuiProvider; import cc.kune.common.client.actions.ui.GuiProvider; import cc.kune.common.client.events.EventBusInstance; import cc.kune.common.client.events.EventBusWithLogging; import cc.kune.common.client.msgs.UserMessagesPanel; import cc.kune.common.client.msgs.UserMessagesPresenter; import cc.kune.common.client.notify.NotifyUser; import cc.kune.common.client.notify.UserNotifierGrowl; import cc.kune.common.client.shortcuts.GlobalShortcutRegister; import cc.kune.common.client.shortcuts.GlobalShortcutRegisterDefault; import cc.kune.common.client.shortcuts.GlobalShortcuts; import cc.kune.common.client.shortcuts.GlobalShortcutsInstance; import cc.kune.common.client.ui.MaskWidgetView; import cc.kune.common.client.ui.PaperMask; import cc.kune.common.shared.i18n.HasRTL; import cc.kune.common.shared.i18n.I18n; import cc.kune.common.shared.i18n.I18nTranslationService; import cc.kune.core.client.actions.ActionRegistryByType; import cc.kune.core.client.actions.xml.XMLActionsParser; import cc.kune.core.client.auth.AnonUsersManager; import cc.kune.core.client.auth.LoginRememberManager; import cc.kune.core.client.auth.LoginRememberManagerImpl; import cc.kune.core.client.auth.Register; import cc.kune.core.client.auth.RegisterPanel; import cc.kune.core.client.auth.RegisterPresenter; import cc.kune.core.client.auth.RegisterPresenter.RegisterView; import cc.kune.core.client.auth.SignIn; import cc.kune.core.client.auth.SignInPanel; import cc.kune.core.client.auth.SignInPresenter; import cc.kune.core.client.auth.SignInPresenter.SignInView; import cc.kune.core.client.auth.UserFieldFactory; import cc.kune.core.client.cookies.CookiesManager; import cc.kune.core.client.cookies.CookiesManagerImpl; import cc.kune.core.client.dnd.KuneDragController; import cc.kune.core.client.dnd.NotImplementedDropManager; import cc.kune.core.client.errors.ErrorHandler; import cc.kune.core.client.groups.newgroup.GroupFieldFactory; import cc.kune.core.client.groups.newgroup.NewGroup; import cc.kune.core.client.groups.newgroup.NewGroupPanel; import cc.kune.core.client.groups.newgroup.NewGroupPresenter; import cc.kune.core.client.groups.newgroup.NewGroupView; import cc.kune.core.client.i18n.I18nUITranslationService; import cc.kune.core.client.init.AppStarter; import cc.kune.core.client.init.AppStarterDefault; import cc.kune.core.client.init.PrefetchUtilities; import cc.kune.core.client.invitation.GroupInviteUserSearchPanel; import cc.kune.core.client.invitation.ListInviteUserSearchPanel; import cc.kune.core.client.notify.confirm.UserConfirmPanel; import cc.kune.core.client.notify.confirm.UserConfirmPresenter; import cc.kune.core.client.notify.progress.ProgressNotificator; import cc.kune.core.client.registry.ContentCapabilitiesRegistry; import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry; import cc.kune.core.client.rpcservices.AsyncCallbackSimple; import cc.kune.core.client.rpcservices.ContentServiceHelper; import cc.kune.core.client.rpcservices.SocialNetServiceHelper; import cc.kune.core.client.services.ClientChangedLogosRegistry; import cc.kune.core.client.services.ClientFileDownloadUtils; import cc.kune.core.client.sitebar.AbstractSignInAction; import cc.kune.core.client.sitebar.AbstractSignOutAction; import cc.kune.core.client.sitebar.ErrorsDialog; import cc.kune.core.client.sitebar.MyGroupsMenu; import cc.kune.core.client.sitebar.SiteLanguageSelector; import cc.kune.core.client.sitebar.SiteUserOptions; import cc.kune.core.client.sitebar.SiteUserOptionsPresenter; import cc.kune.core.client.sitebar.SitebarActions; import cc.kune.core.client.sitebar.SitebarActionsPanel; import cc.kune.core.client.sitebar.SitebarActionsPresenter; import cc.kune.core.client.sitebar.SitebarNewGroupLink; import cc.kune.core.client.sitebar.SitebarSignInAction; import cc.kune.core.client.sitebar.SitebarSignInLink; import cc.kune.core.client.sitebar.SitebarSignOutAction; import cc.kune.core.client.sitebar.SitebarSignOutLink; import cc.kune.core.client.sitebar.SitebarSignOutLink.BeforeSignOut; import cc.kune.core.client.sitebar.spaces.SpaceSelectorPanel; import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter; import cc.kune.core.client.sn.GroupSNPanel; import cc.kune.core.client.sn.GroupSNPresenter; import cc.kune.core.client.sn.UserSNPanel; import cc.kune.core.client.sn.UserSNPresenter; import cc.kune.core.client.sn.actions.AddBuddieSearchPanel; import cc.kune.core.client.sn.actions.AddMemberSearchPanel; import cc.kune.core.client.sn.actions.registry.GroupSNAdminsMenuItemsRegistry; import cc.kune.core.client.sn.actions.registry.GroupSNCollabsMenuItemsRegistry; import cc.kune.core.client.sn.actions.registry.GroupSNConfActions; import cc.kune.core.client.sn.actions.registry.GroupSNPendingsMenuItemsRegistry; import cc.kune.core.client.sn.actions.registry.UserSNConfActions; import cc.kune.core.client.sn.actions.registry.UserSNMenuItemsRegistry; import cc.kune.core.client.state.AccessRightsClientManager; import cc.kune.core.client.state.ContentCache; import cc.kune.core.client.state.HistoryWrapper; import cc.kune.core.client.state.LinkInterceptor; import cc.kune.core.client.state.Session; import cc.kune.core.client.state.SessionExpirationManager; import cc.kune.core.client.state.SessionInstance; import cc.kune.core.client.state.SiteTokenListeners; import cc.kune.core.client.state.SiteTokens; import cc.kune.core.client.state.StateManager; import cc.kune.core.client.state.StateManagerInstance; import cc.kune.core.client.state.StateTokenUtils; import cc.kune.core.client.state.TokenMatcher; import cc.kune.core.client.state.impl.ContentCacheDefault; import cc.kune.core.client.state.impl.HistoryWrapperDefault; import cc.kune.core.client.state.impl.SessionChecker; import cc.kune.core.client.state.impl.SessionCheckerImpl; import cc.kune.core.client.state.impl.SessionDefault; import cc.kune.core.client.state.impl.StateManagerDefault; import cc.kune.core.client.sub.SubtitlesManager; import cc.kune.core.client.sub.SubtitlesWidget; import cc.kune.core.client.ws.CorePresenter; import cc.kune.core.client.ws.CoreViewImpl; import cc.kune.core.client.ws.entheader.EntityHeader; import cc.kune.core.client.ws.entheader.EntityHeaderPanel; import cc.kune.core.client.ws.entheader.EntityHeaderPresenter; import cc.kune.core.shared.dto.ReservedWordsRegistryDTO; import cc.kune.core.shared.utils.ChangedLogosRegistry; import cc.kune.lists.client.rpc.ListsServiceHelper; import com.google.inject.Singleton; import com.google.web.bindery.event.shared.EventBus; import com.gwtplatform.common.client.CommonGinModule; import com.gwtplatform.mvp.client.RootPresenter; import com.gwtplatform.mvp.client.proxy.PlaceManager; import com.gwtplatform.mvp.shared.proxy.ParameterTokenFormatter; import com.gwtplatform.mvp.shared.proxy.TokenFormatter; // TODO: Auto-generated Javadoc /** * The Class CoreGinModule. * * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ public class CoreGinModule extends ExtendedGinModule { /* * (non-Javadoc) * * @see com.google.gwt.inject.client.AbstractGinModule#configure() */ @Override protected void configure() { bind(EventBus.class).to(EventBusWithLogging.class).in(Singleton.class); requestStaticInjection(EventBusInstance.class); // gwtplatform install(new CommonGinModule()); bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class); bind(RootPresenter.class).asEagerSingleton(); bind(PlaceManager.class).to(KunePlaceManager.class).in(Singleton.class); // FIXME // http://code.google.com/p/gwt-platform/wiki/PortingV1?ts=1305893694&updated=PortingV1#No_more_FailureHandler // No more FailureHandler // The FailureHandler interface and its implementation, // DefaultFailureHandler have both been removed from GWTP. You will have to // remove the binding from your module. If you were using it, handle the new // and more versatile AsyncCallFailEvent instead. // bind(ProxyFailureHandler.class).to(DefaultProxyFailureHandler.class).in(Singleton.class); s(I18nUITranslationService.class); bind(HasRTL.class).to(I18nUITranslationService.class); bind(I18nTranslationService.class).to(I18nUITranslationService.class).in(Singleton.class); s(I18n.class); requestStaticInjection(I18n.class); bind(GlobalShortcutRegister.class).to(GlobalShortcutRegisterDefault.class).in(Singleton.class); bind(GlobalShortcuts.class).in(Singleton.class); requestStaticInjection(GlobalShortcutsInstance.class); s(AnonUsersManager.class); s(LinkInterceptor.class); // DnD s(KuneDragController.class); s(NotImplementedDropManager.class); s(UserFieldFactory.class); s(GroupFieldFactory.class); s(SiteLanguageSelector.class); s(MyGroupsMenu.class); s(SiteUserOptionsPresenter.class); s(SiteUserOptions.class, SiteUserOptionsPresenter.class); s(SitebarNewGroupLink.class); s(SitebarSignInLink.class); s(SitebarSignOutLink.class); // Presenters bindPresenter(CorePresenter.class, CorePresenter.CoreView.class, CoreViewImpl.class, CorePresenter.CoreProxy.class); // bindPresenter(SpinerPresenter.class, SpinerPresenter.SpinerView.class, // SpinerPanel.class, // SpinerPresenter.SpinerProxy.class); eagle(ProgressNotificator.class); // eagle(UserNotifierPopup.class); eagle(UserNotifierGrowl.class); requestStaticInjection(NotifyUser.class); bindPresenter(SpaceSelectorPresenter.class, SpaceSelectorPresenter.SpaceSelectorView.class, SpaceSelectorPanel.class, SpaceSelectorPresenter.SpaceSelectorProxy.class); bindPresenter(SitebarActionsPresenter.class, SitebarActionsPresenter.SitebarActionsView.class, SitebarActionsPanel.class, SitebarActionsPresenter.SitebarActionsProxy.class); bind(SitebarActions.class).to(SitebarActionsPresenter.class).in(Singleton.class); bindPresenter(NewGroupPresenter.class, NewGroupView.class, NewGroupPanel.class, NewGroupPresenter.NewGroupProxy.class); bindPresenter(GroupSNPresenter.class, GroupSNPresenter.GroupSNView.class, GroupSNPanel.class, GroupSNPresenter.GroupSNProxy.class); bindPresenter(UserSNPresenter.class, UserSNPresenter.UserSNView.class, UserSNPanel.class, UserSNPresenter.UserSNProxy.class); bindPresenter(EntityHeaderPresenter.class, EntityHeaderPresenter.EntityHeaderView.class, EntityHeaderPanel.class, EntityHeaderPresenter.EntityHeaderProxy.class); bindPresenter(SignInPresenter.class, SignInView.class, SignInPanel.class, SignInPresenter.SignInProxy.class); bindPresenter(RegisterPresenter.class, RegisterView.class, RegisterPanel.class, RegisterPresenter.RegisterProxy.class); bindPresenter(UserConfirmPresenter.class, UserConfirmPresenter.UserConfirmView.class, UserConfirmPanel.class, UserConfirmPresenter.UserConfirmProxy.class); bindPresenter(SubtitlesManager.class, SubtitlesManager.SubtitlesView.class, SubtitlesWidget.class, SubtitlesManager.SubtitlesProxy.class); bind(LoginRememberManager.class).to(LoginRememberManagerImpl.class).in(Singleton.class); bind(SignIn.class).to(SignInPresenter.class).in(Singleton.class); bind(AbstractSignInAction.class).to(SitebarSignInAction.class).in(Singleton.class); bind(AbstractSignOutAction.class).to(SitebarSignOutAction.class).in(Singleton.class); bind(Register.class).to(RegisterPresenter.class).in(Singleton.class); bind(NewGroup.class).to(NewGroupPresenter.class).in(Singleton.class); bind(EntityHeader.class).to(EntityHeaderPresenter.class).in(Singleton.class); s(UserMessagesPresenter.class); s(UserMessagesPanel.class); // bind(MessagePanelView.class).to(MessagePanel.class); // UI bind(GuiProvider.class).to(DefaultGuiProvider.class).in(Singleton.class); bind(MaskWidgetView.class).to(PaperMask.class).in(Singleton.class); // Core App bind(Session.class).to(SessionDefault.class).in(Singleton.class); requestStaticInjection(SessionInstance.class); requestStaticInjection(StateTokenUtils.class); bind(SessionChecker.class).to(SessionCheckerImpl.class).in(Singleton.class); s(SessionExpirationManager.class); s(ErrorHandler.class); requestStaticInjection(AsyncCallbackSimple.class); s(StateManagerDefault.class); bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class); requestStaticInjection(StateManagerInstance.class); s(AccessRightsClientManager.class); bind(ContentCache.class).to(ContentCacheDefault.class).in(Singleton.class); bind(HistoryWrapper.class).to(HistoryWrapperDefault.class).in(Singleton.class); s(PrefetchUtilities.class); bind(AppStarter.class).to(AppStarterDefault.class).in(Singleton.class); bind(CookiesManager.class).to(CookiesManagerImpl.class).in(Singleton.class); s(BeforeSignOut.class); eagle(SiteTokenListeners.class); s(SiteTokens.class); s(ReservedWordsRegistryDTO.class); eagle(TokenMatcher.class); s(ActionRegistryByType.class); s(ContentCapabilitiesRegistry.class); s(NewMenusForTypeIdsRegistry.class); eagle(CoreParts.class); bind(ChangedLogosRegistry.class).to(ClientChangedLogosRegistry.class).in(Singleton.class); s(ClientFileDownloadUtils.class); // SN s(GroupSNAdminsMenuItemsRegistry.class); s(GroupSNCollabsMenuItemsRegistry.class); s(GroupSNPendingsMenuItemsRegistry.class); s(UserSNMenuItemsRegistry.class); s(GroupSNConfActions.class); s(UserSNConfActions.class); s(AddBuddieSearchPanel.class); s(AddMemberSearchPanel.class); s(GroupInviteUserSearchPanel.class); s(ListInviteUserSearchPanel.class); s(ContentServiceHelper.class); s(SocialNetServiceHelper.class); s(ListsServiceHelper.class); s(ErrorsDialog.class); s(XMLActionsParser.class); } }