From b8978cd44234d46691ca138af9c34ae890f096d2 Mon Sep 17 00:00:00 2001 From: tguless Date: Thu, 8 Dec 2011 16:20:06 -0500 Subject: [PATCH 01/10] Multi session compatible --- .../hablar/client/HablarGinjector.java | 5 ++ .../editbuddy/client/HablarEditBuddy.java | 5 ++ .../hablar/html/client/HablarHtml.java | 47 +++++++++++-------- .../hablar/html/client/HtmlConfig.java | 7 ++- 4 files changed, 44 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/calclab/hablar/client/HablarGinjector.java b/src/main/java/com/calclab/hablar/client/HablarGinjector.java index 831e7a2c..3f990b81 100644 --- a/src/main/java/com/calclab/hablar/client/HablarGinjector.java +++ b/src/main/java/com/calclab/hablar/client/HablarGinjector.java @@ -1,6 +1,9 @@ package com.calclab.hablar.client; +import java.util.HashMap; + import com.calclab.emite.browser.client.BrowserModule; +import com.calclab.emite.core.client.LoginXmpp; import com.calclab.emite.core.client.conn.XmppConnection; import com.calclab.emite.core.client.xmpp.session.XmppSession; import com.calclab.emite.im.client.chat.ChatManager; @@ -45,5 +48,7 @@ public interface HablarGinjector extends Ginjector { SubscriptionHandler getSubscriptionHandler(); PrivateStorageManager getPrivateStorageManager(); + + HashMap getLoginXmppMap(); } diff --git a/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java b/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java index ffddba0e..ca1dda16 100644 --- a/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java +++ b/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java @@ -1,8 +1,11 @@ package com.calclab.hablar.editbuddy.client; +import java.util.HashMap; import java.util.List; +import com.calclab.emite.core.client.LoginXmpp; import com.calclab.emite.im.client.roster.XmppRoster; +import com.calclab.hablar.client.HablarGinjector; import com.calclab.hablar.core.client.Hablar; import com.calclab.hablar.core.client.container.overlay.OverlayContainer; import com.calclab.hablar.core.client.page.Page; @@ -12,6 +15,7 @@ import com.calclab.hablar.editbuddy.client.ui.EditBuddyWidget; import com.calclab.hablar.roster.client.groups.RosterItemPresenter; import com.calclab.hablar.roster.client.page.RosterPage; +import com.google.gwt.core.client.GWT; /** * Adds the ability to edit a buddy in the roster @@ -29,6 +33,7 @@ public void execute(final RosterItemPresenter target) { } public HablarEditBuddy(final Hablar hablar, final XmppRoster roster) { + final EditBuddyPage editBuddy = new EditBuddyPage(roster, hablar.getEventBus(), new EditBuddyWidget()); hablar.addPage(editBuddy, OverlayContainer.ROL); final List> rosters = hablar.getPagesOfType(RosterPage.TYPE); diff --git a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java index 1821bece..e4c0e7f3 100644 --- a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java +++ b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java @@ -1,9 +1,16 @@ package com.calclab.hablar.html.client; +import java.util.HashMap; + +import com.calclab.emite.core.client.LoginXmpp; 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.XmppRoster; +import com.calclab.emite.xep.chatstate.client.StateManager; import com.calclab.emite.xep.muc.client.RoomManager; +import com.calclab.emite.xep.mucchatstate.client.MUCChatStateManager; +import com.calclab.emite.xep.mucdisco.client.RoomDiscoveryManager; import com.calclab.hablar.chat.client.HablarChat; import com.calclab.hablar.client.HablarConfig; import com.calclab.hablar.client.HablarGinjector; @@ -72,43 +79,45 @@ public void onModuleLoad() { final HablarWidget widget = new HablarWidget(config.layout, config.tabHeaderSize); final Hablar hablar = widget.getHablar(); - final XmppSession session = ginjector.getXmppSession(); - final XmppRoster roster = ginjector.getXmppRoster(); - final ChatManager chatManager = ginjector.getChatManager(); - final RoomManager roomManager = ginjector.getRoomManager(); - + + //final HablarGinjector ginjector = GWT.create(HablarGinjector.class); + HashMap loginXmppMap = ginjector.getLoginXmppMap(); + String loginId=htmlConfig.loginId; + + LoginXmpp loginXmpp = loginXmppMap.get(loginId); + new HablarCore(hablar); - new HablarChat(hablar, config.chatConfig, roster, chatManager, ginjector.getStateManager()); - new HablarRooms(hablar, config.roomsConfig, session, roster, roomManager, ginjector.getRoomDiscoveryManager(), ginjector.getMUCChatStateManager()); - new HablarGroupChat(hablar, config.roomsConfig, session, roster, chatManager, roomManager); + new HablarChat(hablar, config.chatConfig, loginXmpp.xmppRoster, loginXmpp.chatManager, loginXmpp.stateManager); + new HablarRooms(hablar, config.roomsConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, loginXmpp.roomManager, loginXmpp.roomDiscoveryManager, loginXmpp.mucChatStateManager); + new HablarGroupChat(hablar, config.roomsConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, loginXmpp.chatManager, loginXmpp.roomManager); new HablarDock(hablar, config.dockConfig); - new HablarUser(hablar, session, ginjector.getPresenceManager(), ginjector.getPrivateStorageManager()); + new HablarUser(hablar, loginXmpp.xmppSession, loginXmpp.presenceManager, loginXmpp.privateStorageManager); RosterPage rosterPage = null; HablarRoster hablarRoster = null; if (config.hasRoster) { - hablarRoster = new HablarRoster(hablar, config.rosterConfig, session, roster, chatManager, ginjector.getSubscriptionHandler()); + hablarRoster = new HablarRoster(hablar, config.rosterConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, loginXmpp.chatManager, loginXmpp.subscriptionHandler); rosterPage = hablarRoster.getRosterPage(); } if (config.hasVCard) { - new HablarVCard(hablar, config.vcardConfig, session, roster, ginjector.getVCardManager()); + new HablarVCard(hablar, config.vcardConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, ginjector.getVCardManager()); } if (config.hasRoster) { - new HablarOpenChat(hablar, session, roster, chatManager); - new HablarEditBuddy(hablar, roster); - new HablarUserGroups(rosterPage, hablar, roster); - new HablarGroup(hablar, session, roster); + new HablarOpenChat(hablar, loginXmpp.xmppSession, loginXmpp.xmppRoster, loginXmpp.chatManager); + new HablarEditBuddy(hablar, loginXmpp.xmppRoster); + new HablarUserGroups(rosterPage, hablar, loginXmpp.xmppRoster); + new HablarGroup(hablar, loginXmpp.xmppSession, loginXmpp.xmppRoster); hablarRoster.addLowPriorityActions(); } if (config.hasSearch) { - new HablarSearch(hablar, config.searchConfig, session, roster, chatManager, ginjector.getSearchManager()); + new HablarSearch(hablar, config.searchConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, loginXmpp.chatManager, loginXmpp.searchManager); } if (config.hasSignals) { - new HablarSignals(hablar, session, ginjector.getPrivateStorageManager()); + new HablarSignals(hablar, loginXmpp.xmppSession, loginXmpp.privateStorageManager); } if (config.hasSound) { @@ -120,11 +129,11 @@ public void onModuleLoad() { } if (htmlConfig.hasLogger) { - new HablarConsole(hablar, ginjector.getXmppConnection(), session); + new HablarConsole(hablar, ginjector.getXmppConnection(), loginXmpp.xmppSession); } if (htmlConfig.hasLogin) { - new HablarLogin(hablar, LoginConfig.getFromMeta(), session); + new HablarLogin(hablar, LoginConfig.getFromMeta(), loginXmpp.xmppSession); } if (htmlConfig.inline == null) { diff --git a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java index d0201718..f7386d27 100644 --- a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java +++ b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java @@ -4,12 +4,17 @@ public class HtmlConfig { - public static HtmlConfig getFromMeta() { + public String loginId; + + public static HtmlConfig getFromMeta() { final HtmlConfig config = new HtmlConfig(); config.hasLogin = PageAssist.isMetaTrue("hablar.login"); config.inline = PageAssist.getMeta("hablar.inline"); config.width = PageAssist.getMeta("hablar.width"); config.height = PageAssist.getMeta("hablar.height"); + //This needs to match the loginId supplied to Emite + config.loginId = PageAssist.getMeta("hablar.loginId"); + if (config.width == null) { config.width = "400px"; } From 6d1fd1b6a2c2d178d179c8285cca59d0aacd9222 Mon Sep 17 00:00:00 2001 From: tguless Date: Thu, 8 Dec 2011 16:22:01 -0500 Subject: [PATCH 02/10] Removed unnecessary imports --- .../calclab/hablar/editbuddy/client/HablarEditBuddy.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java b/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java index ca1dda16..1ce03cac 100644 --- a/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java +++ b/src/main/java/com/calclab/hablar/editbuddy/client/HablarEditBuddy.java @@ -1,11 +1,7 @@ package com.calclab.hablar.editbuddy.client; -import java.util.HashMap; import java.util.List; - -import com.calclab.emite.core.client.LoginXmpp; import com.calclab.emite.im.client.roster.XmppRoster; -import com.calclab.hablar.client.HablarGinjector; import com.calclab.hablar.core.client.Hablar; import com.calclab.hablar.core.client.container.overlay.OverlayContainer; import com.calclab.hablar.core.client.page.Page; @@ -15,7 +11,7 @@ import com.calclab.hablar.editbuddy.client.ui.EditBuddyWidget; import com.calclab.hablar.roster.client.groups.RosterItemPresenter; import com.calclab.hablar.roster.client.page.RosterPage; -import com.google.gwt.core.client.GWT; + /** * Adds the ability to edit a buddy in the roster From 34ac7b6d5d9fedeb4db72d1fff32b4ff99df7844 Mon Sep 17 00:00:00 2001 From: tguless Date: Thu, 8 Dec 2011 16:24:49 -0500 Subject: [PATCH 03/10] Removed unnecessary imports --- .../java/com/calclab/hablar/html/client/HablarHtml.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java index e4c0e7f3..32e11489 100644 --- a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java +++ b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java @@ -3,14 +3,6 @@ import java.util.HashMap; import com.calclab.emite.core.client.LoginXmpp; -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.XmppRoster; -import com.calclab.emite.xep.chatstate.client.StateManager; -import com.calclab.emite.xep.muc.client.RoomManager; -import com.calclab.emite.xep.mucchatstate.client.MUCChatStateManager; -import com.calclab.emite.xep.mucdisco.client.RoomDiscoveryManager; import com.calclab.hablar.chat.client.HablarChat; import com.calclab.hablar.client.HablarConfig; import com.calclab.hablar.client.HablarGinjector; From 0b84d88f1d09a2bac9334c4b7fb9b219982f9724 Mon Sep 17 00:00:00 2001 From: tguless Date: Thu, 8 Dec 2011 17:15:49 -0500 Subject: [PATCH 04/10] Some comments to clarify how Hablar can find the proper instance of Emite session and connection. --- src/main/java/com/calclab/hablar/html/client/HtmlConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java index f7386d27..ea48411e 100644 --- a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java +++ b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java @@ -12,7 +12,7 @@ public static HtmlConfig getFromMeta() { config.inline = PageAssist.getMeta("hablar.inline"); config.width = PageAssist.getMeta("hablar.width"); config.height = PageAssist.getMeta("hablar.height"); - //This needs to match the loginId supplied to Emite + //This needs to match the loginId supplied to Emite emite.user config.loginId = PageAssist.getMeta("hablar.loginId"); if (config.width == null) { From 1beddc26d8c810f28278edc61f14b597699cc7a1 Mon Sep 17 00:00:00 2001 From: Ted Gulesserian Date: Fri, 9 Dec 2011 14:27:31 -0500 Subject: [PATCH 05/10] Added getter for loginXmpp --- src/main/java/com/calclab/hablar/client/HablarGinjector.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/calclab/hablar/client/HablarGinjector.java b/src/main/java/com/calclab/hablar/client/HablarGinjector.java index 3f990b81..91620dee 100644 --- a/src/main/java/com/calclab/hablar/client/HablarGinjector.java +++ b/src/main/java/com/calclab/hablar/client/HablarGinjector.java @@ -51,4 +51,6 @@ public interface HablarGinjector extends Ginjector { HashMap getLoginXmppMap(); + LoginXmpp getLoginXmpp(); + } From 3b054a3f3ade415e88484bfa05f47b72fc141eb6 Mon Sep 17 00:00:00 2001 From: Ted Gulesserian Date: Sat, 10 Dec 2011 07:36:04 -0500 Subject: [PATCH 06/10] Additional fixes. --- .../java/com/calclab/hablar/client/HablarGinjector.java | 3 ++- .../java/com/calclab/hablar/html/client/HablarHtml.java | 9 +++++---- .../java/com/calclab/hablar/html/client/HtmlConfig.java | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/calclab/hablar/client/HablarGinjector.java b/src/main/java/com/calclab/hablar/client/HablarGinjector.java index 91620dee..9d5117bf 100644 --- a/src/main/java/com/calclab/hablar/client/HablarGinjector.java +++ b/src/main/java/com/calclab/hablar/client/HablarGinjector.java @@ -4,6 +4,7 @@ import com.calclab.emite.browser.client.BrowserModule; import com.calclab.emite.core.client.LoginXmpp; +import com.calclab.emite.core.client.LoginXmppMap; import com.calclab.emite.core.client.conn.XmppConnection; import com.calclab.emite.core.client.xmpp.session.XmppSession; import com.calclab.emite.im.client.chat.ChatManager; @@ -49,7 +50,7 @@ public interface HablarGinjector extends Ginjector { PrivateStorageManager getPrivateStorageManager(); - HashMap getLoginXmppMap(); + @LoginXmppMap HashMap getLoginXmppMap(); LoginXmpp getLoginXmpp(); diff --git a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java index 32e11489..8ef9599b 100644 --- a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java +++ b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java @@ -70,12 +70,12 @@ public void onModuleLoad() { htmlConfig.hasLogger = true; final HablarWidget widget = new HablarWidget(config.layout, config.tabHeaderSize); final Hablar hablar = widget.getHablar(); - + String loginId=htmlConfig.loginId; + + if (loginId != null) { //final HablarGinjector ginjector = GWT.create(HablarGinjector.class); HashMap loginXmppMap = ginjector.getLoginXmppMap(); - String loginId=htmlConfig.loginId; - LoginXmpp loginXmpp = loginXmppMap.get(loginId); new HablarCore(hablar); @@ -121,7 +121,7 @@ public void onModuleLoad() { } if (htmlConfig.hasLogger) { - new HablarConsole(hablar, ginjector.getXmppConnection(), loginXmpp.xmppSession); + new HablarConsole(hablar, loginXmpp.xmppConnection, loginXmpp.xmppSession); } if (htmlConfig.hasLogin) { @@ -133,6 +133,7 @@ public void onModuleLoad() { } else { addHablarToDiv(widget, htmlConfig); } + } } private void setSize(final Widget widget, final HtmlConfig htmlConfig) { diff --git a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java index ea48411e..27fbea8e 100644 --- a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java +++ b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java @@ -4,8 +4,6 @@ public class HtmlConfig { - public String loginId; - public static HtmlConfig getFromMeta() { final HtmlConfig config = new HtmlConfig(); config.hasLogin = PageAssist.isMetaTrue("hablar.login"); @@ -24,6 +22,8 @@ public static HtmlConfig getFromMeta() { return config; } + public String loginId =""; + /** * Width */ From 6409b9976554afd4a9aa89b8c0b025f0723f936f Mon Sep 17 00:00:00 2001 From: Ted Gulesserian Date: Sat, 10 Dec 2011 07:50:28 -0500 Subject: [PATCH 07/10] Some clarification on how to continue using the browser module with multi instance support. --- .../com/calclab/hablar/html/client/HablarHtml.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java index 8ef9599b..bed6acb2 100644 --- a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java +++ b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java @@ -1,8 +1,10 @@ package com.calclab.hablar.html.client; import java.util.HashMap; +import java.util.logging.Logger; import com.calclab.emite.core.client.LoginXmpp; +import com.calclab.emite.core.client.events.GwtEmiteEventBus; import com.calclab.hablar.chat.client.HablarChat; import com.calclab.hablar.client.HablarConfig; import com.calclab.hablar.client.HablarGinjector; @@ -39,6 +41,8 @@ * embed it within another GWT application */ public class HablarHtml implements EntryPoint { + private static final Logger logger = Logger.getLogger(HablarHtml.class.getName()); + private void addHablarToDiv(final HablarWidget hablar, final HtmlConfig htmlConfig) { setSize(hablar, htmlConfig); final RootPanel rootPanel = RootPanel.get(htmlConfig.inline); @@ -72,6 +76,12 @@ public void onModuleLoad() { final Hablar hablar = widget.getHablar(); String loginId=htmlConfig.loginId; + + if (loginId == null) { + logger.info("Trying to use the browser module outside of GWT apps without setting is not supported"); + logger.info(" should match otherwise this instance of hablar will not know which instance of Emite to use."); + } + if (loginId != null) { //final HablarGinjector ginjector = GWT.create(HablarGinjector.class); From d98b9eb72b054547920a17156e85cc7aa5b58308 Mon Sep 17 00:00:00 2001 From: Ted Gulesserian Date: Sun, 11 Dec 2011 11:40:42 -0500 Subject: [PATCH 08/10] Browser Module fixes so that it continues working with Hablar. --- .../hablar/client/HablarGinjector.java | 3 ++ .../hablar/html/client/HablarHtml.java | 28 +++++++++++-------- .../hablar/html/client/HtmlConfig.java | 4 +-- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/calclab/hablar/client/HablarGinjector.java b/src/main/java/com/calclab/hablar/client/HablarGinjector.java index 9d5117bf..01a282ee 100644 --- a/src/main/java/com/calclab/hablar/client/HablarGinjector.java +++ b/src/main/java/com/calclab/hablar/client/HablarGinjector.java @@ -7,6 +7,7 @@ import com.calclab.emite.core.client.LoginXmppMap; import com.calclab.emite.core.client.conn.XmppConnection; import com.calclab.emite.core.client.xmpp.session.XmppSession; +import com.calclab.emite.im.client.ImComponents; import com.calclab.emite.im.client.chat.ChatManager; import com.calclab.emite.im.client.presence.PresenceManager; import com.calclab.emite.im.client.roster.SubscriptionHandler; @@ -54,4 +55,6 @@ public interface HablarGinjector extends Ginjector { LoginXmpp getLoginXmpp(); + ImComponents getImComponents(); + } diff --git a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java index bed6acb2..d54dbdce 100644 --- a/src/main/java/com/calclab/hablar/html/client/HablarHtml.java +++ b/src/main/java/com/calclab/hablar/html/client/HablarHtml.java @@ -3,8 +3,9 @@ import java.util.HashMap; import java.util.logging.Logger; +import com.calclab.emite.browser.client.PageAssist; import com.calclab.emite.core.client.LoginXmpp; -import com.calclab.emite.core.client.events.GwtEmiteEventBus; +import com.calclab.emite.im.client.ImComponents; import com.calclab.hablar.chat.client.HablarChat; import com.calclab.hablar.client.HablarConfig; import com.calclab.hablar.client.HablarGinjector; @@ -41,6 +42,7 @@ * embed it within another GWT application */ public class HablarHtml implements EntryPoint { + private static final Logger logger = Logger.getLogger(HablarHtml.class.getName()); private void addHablarToDiv(final HablarWidget hablar, final HtmlConfig htmlConfig) { @@ -64,25 +66,27 @@ private DialogBox createDialog(final HablarWidget widget, final HtmlConfig htmlC @Override public void onModuleLoad() { + + final HtmlConfig htmlConfig = HtmlConfig.getFromMeta(); + String loginId=PageAssist.getMeta("emite.user"); + + if (loginId == null) { + logger.info("Trying to use the browser module outside of GWT apps without setting is not supported"); + } + + if (loginId != null) { final HablarGinjector ginjector = GWT.create(HablarGinjector.class); + ImComponents imComponents = ginjector.getImComponents(); + imComponents.setInstanceId(loginId); + // We will instantiate the BrowserFocusHandler singleton so that it // starts tracking focus events as soon as possible. BrowserFocusHandler.getInstance(); final HablarConfig config = HablarConfig.getFromMeta(); - final HtmlConfig htmlConfig = HtmlConfig.getFromMeta(); htmlConfig.hasLogger = true; final HablarWidget widget = new HablarWidget(config.layout, config.tabHeaderSize); final Hablar hablar = widget.getHablar(); - String loginId=htmlConfig.loginId; - - - if (loginId == null) { - logger.info("Trying to use the browser module outside of GWT apps without setting is not supported"); - logger.info(" should match otherwise this instance of hablar will not know which instance of Emite to use."); - } - - if (loginId != null) { //final HablarGinjector ginjector = GWT.create(HablarGinjector.class); HashMap loginXmppMap = ginjector.getLoginXmppMap(); @@ -103,7 +107,7 @@ public void onModuleLoad() { } if (config.hasVCard) { - new HablarVCard(hablar, config.vcardConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, ginjector.getVCardManager()); + new HablarVCard(hablar, config.vcardConfig, loginXmpp.xmppSession, loginXmpp.xmppRoster, loginXmpp.vCardManager); } if (config.hasRoster) { diff --git a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java index 27fbea8e..80f417c4 100644 --- a/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java +++ b/src/main/java/com/calclab/hablar/html/client/HtmlConfig.java @@ -10,8 +10,7 @@ public static HtmlConfig getFromMeta() { config.inline = PageAssist.getMeta("hablar.inline"); config.width = PageAssist.getMeta("hablar.width"); config.height = PageAssist.getMeta("hablar.height"); - //This needs to match the loginId supplied to Emite emite.user - config.loginId = PageAssist.getMeta("hablar.loginId"); + if (config.width == null) { config.width = "400px"; @@ -22,7 +21,6 @@ public static HtmlConfig getFromMeta() { return config; } - public String loginId =""; /** * Width From 90845148ac61ab113d5099220f6520c6d481c388 Mon Sep 17 00:00:00 2001 From: Ted Gulesserian Date: Sun, 11 Dec 2011 13:51:50 -0500 Subject: [PATCH 09/10] Hablar multi-instance enabled by removing some static fields. --- .../hablar/core/client/container/main/MainLayout.java | 10 +++++++++- .../core/client/pages/accordion/AccordionLayout.java | 4 ++-- .../hablar/core/client/pages/tabs/TabsLayout.java | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/calclab/hablar/core/client/container/main/MainLayout.java b/src/main/java/com/calclab/hablar/core/client/container/main/MainLayout.java index 1ff2f149..8f7e9d7e 100644 --- a/src/main/java/com/calclab/hablar/core/client/container/main/MainLayout.java +++ b/src/main/java/com/calclab/hablar/core/client/container/main/MainLayout.java @@ -8,9 +8,17 @@ import com.google.gwt.user.client.ui.Widget; public abstract class MainLayout { - private final Widget container; + private Widget container; public MainLayout(Widget container, HablarDisplay parent) { + initialize(container, parent); + } + + public MainLayout(){ + + } + + public void initialize(Widget container, HablarDisplay parent) { this.container = container; parent.add(container); parent.setWidgetLeftRight(container, 0, PX, 0, PX); diff --git a/src/main/java/com/calclab/hablar/core/client/pages/accordion/AccordionLayout.java b/src/main/java/com/calclab/hablar/core/client/pages/accordion/AccordionLayout.java index 2745e0bf..4b345ed3 100644 --- a/src/main/java/com/calclab/hablar/core/client/pages/accordion/AccordionLayout.java +++ b/src/main/java/com/calclab/hablar/core/client/pages/accordion/AccordionLayout.java @@ -8,10 +8,10 @@ public class AccordionLayout extends MainLayout { private static final double HEAD_SIZE = 24; - private static AccordionPanel accordion; + private AccordionPanel accordion = new AccordionPanel(); public AccordionLayout(HablarDisplay display) { - super(accordion = new AccordionPanel(), display); + initialize(accordion,display); } @Override diff --git a/src/main/java/com/calclab/hablar/core/client/pages/tabs/TabsLayout.java b/src/main/java/com/calclab/hablar/core/client/pages/tabs/TabsLayout.java index d17237da..db34c6cc 100644 --- a/src/main/java/com/calclab/hablar/core/client/pages/tabs/TabsLayout.java +++ b/src/main/java/com/calclab/hablar/core/client/pages/tabs/TabsLayout.java @@ -57,7 +57,7 @@ public String getWidth() { } private static final double BAR_SIZE = 24; - private static TabsPanel tabs; + private TabsPanel tabs = new TabsPanel(BAR_SIZE, PX); private final TabsMenuPresenter tabsMenuPresenter; @@ -68,7 +68,7 @@ public TabsLayout(final HablarDisplay parent) { } public TabsLayout(final HablarDisplay parent, final TabHeaderSize tabHeaderSize) { - super(tabs = new TabsPanel(BAR_SIZE, PX), parent); + initialize(tabs, parent); tabsMenuPresenter = new TabsMenuPresenter(tabs.getMenu()); this.tabHeaderSize = tabHeaderSize; } From a8def45f680173bd79f6c430f6c63020135f7f3b Mon Sep 17 00:00:00 2001 From: Ted Gulesserian Date: Sun, 11 Dec 2011 14:02:02 -0500 Subject: [PATCH 10/10] Temporarily putting these dependencies here - otherwise the browser module breaks. --- src/main/resources/com/calclab/hablar/html/HablarHtml.gwt.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/resources/com/calclab/hablar/html/HablarHtml.gwt.xml b/src/main/resources/com/calclab/hablar/html/HablarHtml.gwt.xml index dd83960c..d3e1b18e 100644 --- a/src/main/resources/com/calclab/hablar/html/HablarHtml.gwt.xml +++ b/src/main/resources/com/calclab/hablar/html/HablarHtml.gwt.xml @@ -5,6 +5,10 @@ + + + +