r1769 - in trunk/src/main/java/cc/kune: chat/client core/client/cookies core/shared
Author: vjrj_ Date: 2012-03-18 13:04:16 +0100 (Sun, 18 Mar 2012) New Revision: 1769 Added: trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java Modified: trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java trunk/src/main/java/cc/kune/chat/client/ChatInstances.java trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerImpl.java trunk/src/main/java/cc/kune/core/shared/SessionConstants.java Log: Cookie remove improved. Chat instances improved to avoid dups objects (Suco). Modified: trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java 2012-03-18 02:35:00 UTC (rev 1768) +++ trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java 2012-03-18 12:04:16 UTC (rev 1769) @@ -27,6 +27,20 @@ import cc.kune.core.client.avatar.SmallAvatarDecorator; import cc.kune.core.client.contacts.SimpleContactManager; +import com.calclab.emite.core.client.conn.XmppConnection; +import com.calclab.emite.core.client.xmpp.sasl.SASLManager; +import com.calclab.emite.core.client.xmpp.session.XmppSession; +import com.calclab.emite.im.client.chat.ChatManager; +import com.calclab.emite.im.client.presence.PresenceManager; +import com.calclab.emite.im.client.roster.SubscriptionHandler; +import com.calclab.emite.im.client.roster.SubscriptionManager; +import com.calclab.emite.im.client.roster.XmppRoster; +import com.calclab.emite.reconnect.client.SessionReconnect; +import com.calclab.emite.xep.avatar.client.AvatarManager; +import com.calclab.emite.xep.muc.client.RoomManager; +import com.calclab.emite.xep.storage.client.PrivateStorageManager; +import com.google.inject.Singleton; + public class ChatGinModule extends ExtendedGinModule { /* * (non-Javadoc) @@ -46,5 +60,24 @@ // bind(OpenGroupPublicChatRoomButton.class); s(ChatClientTool.class); s(ChatClientActions.class); + + // This is needed because of Suco use and to prevent object duplicates + bind(XmppSession.class).toProvider(ChatInstances.XmppSessionProvider.class).in(Singleton.class); + bind(XmppRoster.class).toProvider(ChatInstances.XmppRosterProvider.class).in(Singleton.class); + bind(ChatManager.class).toProvider(ChatInstances.ChatManagerProvider.class).in(Singleton.class); + bind(RoomManager.class).toProvider(ChatInstances.RoomManagerProvider.class).in(Singleton.class); + bind(SessionReconnect.class).toProvider(ChatInstances.SessionReconnectProvider.class).in( + Singleton.class); + bind(AvatarManager.class).toProvider(ChatInstances.AvatarManagerProvider.class).in(Singleton.class); + bind(PresenceManager.class).toProvider(ChatInstances.PresenceManagerProvider.class).in( + Singleton.class); + bind(PrivateStorageManager.class).toProvider(ChatInstances.PrivateStorageManagerProvider.class).in( + Singleton.class); + bind(SubscriptionManager.class).toProvider(ChatInstances.SubscriptionManagerProvider.class).in( + Singleton.class); + bind(SubscriptionHandler.class).toProvider(ChatInstances.SubscriptionHandlerProvider.class).in( + Singleton.class); + bind(XmppConnection.class).toProvider(ChatInstances.XmppConnectionProvider.class).in(Singleton.class); + bind(SASLManager.class).toProvider(ChatInstances.SASLManagerProvider.class).in(Singleton.class); } } Modified: trunk/src/main/java/cc/kune/chat/client/ChatInstances.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/ChatInstances.java 2012-03-18 02:35:00 UTC (rev 1768) +++ trunk/src/main/java/cc/kune/chat/client/ChatInstances.java 2012-03-18 12:04:16 UTC (rev 1769) @@ -19,6 +19,8 @@ */ package cc.kune.chat.client; +import com.calclab.emite.core.client.conn.XmppConnection; +import com.calclab.emite.core.client.xmpp.sasl.SASLManager; import com.calclab.emite.core.client.xmpp.session.XmppSession; import com.calclab.emite.im.client.chat.ChatManager; import com.calclab.emite.im.client.presence.PresenceManager; @@ -30,9 +32,92 @@ import com.calclab.emite.xep.muc.client.RoomManager; import com.calclab.emite.xep.storage.client.PrivateStorageManager; import com.calclab.suco.client.Suco; +import com.google.inject.Provider; public class ChatInstances { + public class AvatarManagerProvider implements Provider<AvatarManager> { + @Override + public AvatarManager get() { + return Suco.get(AvatarManager.class); + } + } + + public class ChatManagerProvider implements Provider<ChatManager> { + @Override + public ChatManager get() { + return Suco.get(ChatManager.class); + } + } + + public class PresenceManagerProvider implements Provider<PresenceManager> { + @Override + public PresenceManager get() { + return Suco.get(PresenceManager.class); + } + } + + public class PrivateStorageManagerProvider implements Provider<PrivateStorageManager> { + @Override + public PrivateStorageManager get() { + return Suco.get(PrivateStorageManager.class); + } + } + + public class RoomManagerProvider implements Provider<RoomManager> { + @Override + public RoomManager get() { + return Suco.get(RoomManager.class); + } + } + + public class SASLManagerProvider implements Provider<SASLManager> { + @Override + public SASLManager get() { + return Suco.get(SASLManager.class); + } + } + + public class SessionReconnectProvider implements Provider<SessionReconnect> { + @Override + public SessionReconnect get() { + return Suco.get(SessionReconnect.class); + } + } + + public class SubscriptionHandlerProvider implements Provider<SubscriptionHandler> { + @Override + public SubscriptionHandler get() { + return Suco.get(SubscriptionHandler.class); + } + } + + public class SubscriptionManagerProvider implements Provider<SubscriptionManager> { + @Override + public SubscriptionManager get() { + return Suco.get(SubscriptionManager.class); + } + } + public class XmppConnectionProvider implements Provider<XmppConnection> { + @Override + public XmppConnection get() { + return Suco.get(XmppConnection.class); + } + } + public class XmppRosterProvider implements Provider<XmppRoster> { + @Override + public XmppRoster get() { + return Suco.get(XmppRoster.class); + } + } + + public class XmppSessionProvider implements Provider<XmppSession> { + @Override + public XmppSession get() { + return Suco.get(XmppSession.class); + } + } + public final AvatarManager avatarManager; public final ChatManager chatManager; public final PresenceManager presenceManager; Added: trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java (rev 0) +++ trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java 2012-03-18 12:04:16 UTC (rev 1769) @@ -0,0 +1,14 @@ +package cc.kune.chat.client; + +import com.calclab.emite.core.client.xmpp.session.XmppSession; +import com.calclab.suco.client.Suco; +import com.google.inject.Provider; + +public class XmppSessionProvider implements Provider<XmppSession> { + + @Override + public XmppSession get() { + return Suco.get(XmppSession.class); + } + +} Modified: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerImpl.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerImpl.java 2012-03-18 02:35:00 UTC (rev 1768) +++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerImpl.java 2012-03-18 12:04:16 UTC (rev 1769) @@ -56,8 +56,10 @@ // http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/ded86... // http://code.google.com/p/google-web-toolkit/issues/detail?id=1735&q=removeCo... Cookies.removeCookie(SessionConstants.USERHASH); + Cookies.removeCookie(SessionConstants.JSESSIONID); // Workaround: Cookies.setCookie(SessionConstants.USERHASH, null, new Date(0), null, "/", false); + Cookies.setCookie(SessionConstants.JSESSIONID, null, new Date(0), null, "/", false); } @Override @@ -73,7 +75,7 @@ // http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ final Date expires = new Date(System.currentTimeMillis() + SessionConstants.SESSION_DURATION); Cookies.setCookie(SessionConstants.USERHASH, userHash, expires, null, "/", false); - Cookies.setCookie("JSESSIONID", userHash, expires, null, "/", false); + Cookies.setCookie(SessionConstants.JSESSIONID, userHash, expires, null, "/", false); Log.info("Received hash: " + userHash, null); } } Modified: trunk/src/main/java/cc/kune/core/shared/SessionConstants.java =================================================================== --- trunk/src/main/java/cc/kune/core/shared/SessionConstants.java 2012-03-18 02:35:00 UTC (rev 1768) +++ trunk/src/main/java/cc/kune/core/shared/SessionConstants.java 2012-03-18 12:04:16 UTC (rev 1769) @@ -6,8 +6,9 @@ public final static long A_DAY = _AN_HOUR * 24; public final static long ANON_SESSION_DURATION = A_DAY; public final static long ANON_SESSION_DURATION_AFTER_REG = A_DAY * 365; + public static final String JSESSIONID = "JSESSIONID"; + // session duration public final static long SESSION_DURATION = A_DAY * 30; // four weeks login - // session duration // public final static long SESSION_DURATION = 100; // For test public final static String USERHASH = "k007userHash";
participants (1)
-
Vicente J. Ruiz Jurado