r1234 - in trunk: . src/main/java/cc/kune/chat/client src/main/java/cc/kune/chat/public src/main/java/cc/kune/common/client/noti src/main/java/cc/kune/common/public src/main/java/cc/kune/core/client/resources/icons src/main/java/cc/kune/core/public src/main/java/org/ourproject/kune/chat/client src/main/webapp/WEB-INF
Author: vjrj_ Date: 2011-02-05 23:25:09 +0100 (Sat, 05 Feb 2011) New Revision: 1234 Added: trunk/src/main/java/cc/kune/chat/client/ChatOptions.java trunk/src/main/java/cc/kune/chat/client/KuneChatNotifier.java trunk/src/main/java/cc/kune/chat/client/KuneHablarSignals.java trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java trunk/src/main/java/cc/kune/core/client/resources/icons/e-icon-a.gif Modified: trunk/.classpath trunk/pom.xml trunk/src/main/java/cc/kune/chat/client/ChatClient.java trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java trunk/src/main/java/cc/kune/chat/public/kune-chat.css trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java trunk/src/main/java/cc/kune/common/public/kune-common.css trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java trunk/src/main/java/cc/kune/core/client/resources/icons/kicon.css trunk/src/main/java/cc/kune/core/public/ws.css trunk/src/main/java/cc/kune/core/public/ws.html trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java trunk/src/main/webapp/WEB-INF/web.xml Log: CLOSED - # 17: emite chat update http://kune.ourproject.org/issues/ticket/17 Modified: trunk/.classpath =================================================================== --- trunk/.classpath 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/.classpath 2011-02-05 22:25:09 UTC (rev 1234) @@ -25,6 +25,7 @@ <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/> <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/> + <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/> <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/> <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/> <classpathentry kind="var" path="M2_REPO/com/googlecode/gwt/inject/gin/r137/gin-r137.jar"/> Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/pom.xml 2011-02-05 22:25:09 UTC (rev 1234) @@ -307,6 +307,11 @@ </dependency> <dependency> <groupId>com.calclab.emite</groupId> + <artifactId>emite-proxy</artifactId> + <version>0.1</version> + </dependency> + <dependency> + <groupId>com.calclab.emite</groupId> <artifactId>hablar</artifactId> <version>r1694</version> </dependency> Modified: trunk/src/main/java/cc/kune/chat/client/ChatClient.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/ChatClient.java 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/chat/client/ChatClient.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -6,14 +6,8 @@ void addNewBuddie(String shortName); - // - // void addOnRosterChanged(Listener0 slot); - void chat(XmppURI jid); - // - // ChatConnectionOptions getChatOptions(); - boolean isBuddie(String localUserName); boolean isBuddie(XmppURI jid); @@ -24,7 +18,7 @@ void joinRoom(String roomName, String subject, String userAlias); - void login(String jid, String passwd); + void login(XmppURI uri, String passwd); void logout(); @@ -32,6 +26,4 @@ void show(); - void stop(); - } Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -1,5 +1,7 @@ package cc.kune.chat.client; +import java.util.Date; + import cc.kune.chat.client.ShowChatDialogEvent.ShowChatDialogHandler; import cc.kune.chat.client.ToggleShowChatDialogEvent.ToggleShowChatDialogHandler; import cc.kune.common.client.actions.AbstractExtendedAction; @@ -11,9 +13,14 @@ import cc.kune.common.client.actions.ui.descrip.IconLabelDescriptor; import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor; import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor.Type; +import cc.kune.common.client.noti.NotifyUser; import cc.kune.common.client.shortcuts.GlobalShortcutRegister; import cc.kune.common.client.ui.PopupTopPanel; +import cc.kune.common.client.utils.TextUtils; +import cc.kune.common.client.utils.WindowUtils; import cc.kune.core.client.init.AppStartEvent; +import cc.kune.core.client.init.AppStopEvent; +import cc.kune.core.client.logs.Log; import cc.kune.core.client.resources.icons.IconResources; import cc.kune.core.client.sitebar.SitebarActionsPresenter; import cc.kune.core.client.state.Session; @@ -21,10 +28,19 @@ import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler; import cc.kune.core.client.state.UserSignOutEvent; import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler; +import cc.kune.core.shared.dto.UserInfoDTO; import cc.kune.core.shared.i18n.I18nTranslationService; import com.calclab.emite.browser.client.PageAssist; +import com.calclab.emite.core.client.xmpp.session.XmppSession; import com.calclab.emite.core.client.xmpp.stanzas.XmppURI; +import com.calclab.emite.im.client.chat.ChatManager; +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.Room; +import com.calclab.emite.xep.muc.client.RoomManager; +import com.calclab.emite.xep.muc.client.subject.RoomSubject; import com.calclab.hablar.HablarComplete; import com.calclab.hablar.HablarConfig; import com.calclab.hablar.console.client.HablarConsole; @@ -36,8 +52,8 @@ import com.calclab.hablar.icons.ie6gif.client.IE6GifIcons; import com.calclab.hablar.login.client.HablarLogin; import com.calclab.hablar.login.client.LoginConfig; +import com.calclab.suco.client.Suco; import com.google.gwt.event.shared.EventBus; -import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -46,11 +62,16 @@ public static class ChatClientAction extends AbstractExtendedAction { private final EventBus eventBus; + private final IconResources res; @Inject - public ChatClientAction(final EventBus eventBus) { + public ChatClientAction(final EventBus eventBus, final IconResources res) { super(); this.eventBus = eventBus; + this.res = res; + res.css().ensureInjected(); + putValue(Action.SMALL_ICON, res.chatBlink()); + } @Override @@ -58,46 +79,56 @@ eventBus.fireEvent(new ToggleShowChatDialogEvent()); } + public void setBlink(final boolean blink) { + putValue(Action.SMALL_ICON, blink ? res.chatBlink() : res.chat()); + } + } protected static final String CHAT_CLIENT_ICON_ID = "k-chat-icon-id"; private final ChatClientAction action; protected IconLabelDescriptor chatIcon; + private final ChatManager chatManager; + private final ChatOptions chatOptions; private final I18nTranslationService i18n; - private PopupTopPanel popup; - - private final IconResources res; - + private final RoomManager roomManager; + private final XmppRoster roster; private final Session session; - private final GlobalShortcutRegister shorcutRegister; - private final SitebarActionsPresenter siteActions; + private final XmppSession xmppSession; @Inject public ChatClientDefault(final EventBus eventBus, final I18nTranslationService i18n, final ChatClientAction action, - final SitebarActionsPresenter siteActions, final IconResources res, final Session session, - final GlobalShortcutRegister shorcutRegister) { + final SitebarActionsPresenter siteActions, final Session session, + final GlobalShortcutRegister shorcutRegister, final ChatOptions chatOptions) { this.i18n = i18n; this.action = action; this.siteActions = siteActions; - this.res = res; this.session = session; this.shorcutRegister = shorcutRegister; + this.chatOptions = chatOptions; + roster = Suco.get(XmppRoster.class); + xmppSession = Suco.get(XmppSession.class); + chatManager = Suco.get(ChatManager.class); + roomManager = Suco.get(RoomManager.class); + Suco.get(SessionReconnect.class); eventBus.addHandler(AppStartEvent.getType(), new AppStartEvent.AppStartHandler() { @Override public void onAppStart(final AppStartEvent event) { + chatOptions.domain = event.getInitData().getChatDomain(); + chatOptions.httpBase = event.getInitData().getChatHttpBase(); + chatOptions.roomHost = event.getInitData().getChatRoomHost(); + checkChatDomain(chatOptions.domain); if (session.isLogged()) { - createActionIfNeeded(); + doLogin(session.getCurrentUserInfo()); } eventBus.addHandler(UserSignInEvent.getType(), new UserSignInHandler() { @Override public void onUserSignIn(final UserSignInEvent event) { - createActionIfNeeded(); - createDialogIfNeeded(); - chatIcon.setVisible(true); + doLogin(event.getUserInfo()); } }); eventBus.addHandler(UserSignOutEvent.getType(), new UserSignOutHandler() { @@ -105,6 +136,7 @@ public void onUserSignOut(final UserSignOutEvent event) { createActionIfNeeded(); chatIcon.setVisible(false); + logout(); } }); eventBus.addHandler(ShowChatDialogEvent.getType(), new ShowChatDialogHandler() { @@ -122,29 +154,41 @@ }); } }); + eventBus.addHandler(AppStopEvent.getType(), new AppStopEvent.AppStopHandler() { + @Override + public void onAppStop(final AppStopEvent event) { + logout(); + } + }); } @Override public void addNewBuddie(final String shortName) { - // TODO Auto-generated method stub - + roster.requestAddItem(XmppURI.jid(shortName + "@" + chatOptions.domain), shortName, ""); } @Override public void chat(final XmppURI jid) { - // TODO Auto-generated method stub + chatManager.open(jid); } + // Put this in Panel object + private void checkChatDomain(final String chatDomain) { + final String httpDomain = WindowUtils.getLocation().getHostName(); + if (!chatDomain.equals(httpDomain)) { + Log.error("Your http domain (" + httpDomain + ") is different from the chat domain (" + chatDomain + + "). This will cause problems with the chat functionality. " + + "Please check kune.properties on the server."); + } + } + private void createActionIfNeeded() { if (chatIcon == null) { - res.css().ensureInjected(); chatIcon = new IconLabelDescriptor(action); - // chatIcon.setParent(SitebarActionsPresenter.LEFT_TOOLBAR); - chatIcon.putValue(Action.SMALL_ICON, res.chat()); - chatIcon.putValue(Action.NAME, i18n.t("Chat ;)")); chatIcon.setId(CHAT_CLIENT_ICON_ID); chatIcon.setStyles("k-no-backimage, k-btn-sitebar, k-chat-icon"); - action.putValue(Action.SHORT_DESCRIPTION, i18n.t("Show/hide the chat window")); + chatIcon.putValue(Action.NAME, i18n.t("Chat ;)")); + chatIcon.putValue(Action.SHORT_DESCRIPTION, i18n.t("Show/hide the chat window")); final KeyStroke shortcut = Shortcut.getShortcut(false, true, true, false, Character.valueOf('C')); shorcutRegister.put(shortcut, action); action.setShortcut(shortcut); @@ -160,28 +204,39 @@ } private void createDialog(final HablarWidget widget, final HtmlConfig htmlConfig) { - // popup.setSize(htmlConfig.width, htmlConfig.height); widget.addStyleName("k-chat-panel"); setSize(widget, htmlConfig); popup.add(widget); } - private DialogBox createDialog2(final HablarWidget widget, final HtmlConfig htmlConfig) { - final DialogBox dialog = new DialogBox(); - dialog.setText("Hablar"); - setSize(dialog, htmlConfig); - dialog.show(); - dialog.center(); - return dialog; - } - private void createDialogIfNeeded() { if (popup == null) { popup = new PopupTopPanel(); + popup.setStyleName("k-popup-top-centered"); + popup.addStyleName("k-bottom-10corners"); + popup.addStyleName("k-box-10shadow"); + popup.addStyleName("k-chat-window"); initEmite(); } } + private boolean dialogVisible() { + return popup != null && popup.isShowing(); + } + + private void doLogin(final UserInfoDTO user) { + createActionIfNeeded(); + createDialogIfNeeded(); + chatOptions.username = user.getChatName(); + chatOptions.passwd = user.getChatPassword(); + chatOptions.resource = "emite-" + new Date().getTime() + "-kune"; + chatOptions.useruri = XmppURI.uri(chatOptions.username, chatOptions.domain, chatOptions.resource); + createActionIfNeeded(); + createDialogIfNeeded(); + chatIcon.setVisible(true); + login(chatOptions.useruri, chatOptions.passwd); + } + private void initEmite() { final String icons = PageAssist.getMeta("hablar.icons"); if ("alt".equals(icons)) { @@ -194,12 +249,11 @@ 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(); HablarComplete.install(hablar, config); - + new KuneHablarSignals(hablar, action); if (htmlConfig.hasLogger) { new HablarConsole(hablar); } @@ -212,50 +266,60 @@ @Override public boolean isBuddie(final String localUserName) { - // TODO Auto-generated method stub - return false; + return isBuddie(XmppURI.jid(localUserName + "@" + chatOptions.domain)); } @Override public boolean isBuddie(final XmppURI jid) { - // TODO Auto-generated method stub + if (roster.isRosterReady()) { + if (roster.getItemByJID(jid) != null) { + return true; + } + } return false; } @Override public boolean isLoggedIn() { - // TODO Auto-generated method stub - return false; + return xmppSession.isReady(); } @Override public void joinRoom(final String roomName, final String userAlias) { - // TODO Auto-generated method stub - + joinRoom(roomName, null, userAlias); } @Override public void joinRoom(final String roomName, final String subject, final String userAlias) { - // TODO Auto-generated method stub - + if (xmppSession.isReady()) { + final XmppURI roomURI = XmppURI.uri(roomName + "@" + chatOptions.roomHost + "/" + chatOptions.username); + final Room room = roomManager.open(roomURI, roomManager.getDefaultHistoryOptions()); + if (TextUtils.notEmpty(subject)) { + RoomSubject.requestSubjectChange(room, subject); + } + } else { + NotifyUser.error(i18n.t("Error"), i18n.t("To join a chatroom you need to be 'online'"), true); + } } @Override - public void login(final String jid, final String passwd) { - // TODO Auto-generated method stub - + public void login(final XmppURI uri, final String passwd) { + xmppSession.login(uri, passwd); } @Override public void logout() { - // TODO Auto-generated method stub - + if (dialogVisible()) { + popup.hide(); + } + if (isLoggedIn()) { + xmppSession.logout(); + } } @Override public void setAvatar(final String photoBinary) { - // TODO Auto-generated method stub - + Suco.get(AvatarManager.class).setVCardAvatar(photoBinary); } private void setSize(final Widget widget, final HtmlConfig htmlConfig) { @@ -265,14 +329,11 @@ if (htmlConfig.height != null) { widget.setHeight(htmlConfig.height); } - widget.setWidth("450px"); - widget.setHeight("300px"); } @Override public void show() { - // TODO Auto-generated method stub - + showDialog(true); } private void showDialog(final boolean show) { @@ -286,14 +347,7 @@ } } - @Override - public void stop() { - // TODO Auto-generated method stub - - } - private void toggleShowDialog() { showDialog(popup == null ? true : !popup.isShowing()); } - } Added: trunk/src/main/java/cc/kune/chat/client/ChatOptions.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/ChatOptions.java (rev 0) +++ trunk/src/main/java/cc/kune/chat/client/ChatOptions.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -0,0 +1,13 @@ +package cc.kune.chat.client; + +import com.calclab.emite.core.client.xmpp.stanzas.XmppURI; + +public class ChatOptions { + public String domain; + public String httpBase; + public String passwd; + public String resource; + public String roomHost; + public String username; + public XmppURI useruri; +} \ No newline at end of file Property changes on: trunk/src/main/java/cc/kune/chat/client/ChatOptions.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/chat/client/KuneChatNotifier.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/KuneChatNotifier.java (rev 0) +++ trunk/src/main/java/cc/kune/chat/client/KuneChatNotifier.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -0,0 +1,24 @@ +package cc.kune.chat.client; + +import cc.kune.common.client.noti.NotifyUser; + +import com.calclab.hablar.signals.client.notifications.HablarNotifier; + +public class KuneChatNotifier implements HablarNotifier { + + @Override + public String getDisplayName() { + return "Bottom notifier"; + } + + @Override + public String getId() { + return "kuneChatNotifier"; + } + + @Override + public void show(final String userMessage, final String messageType) { + NotifyUser.info(userMessage); + } + +} Property changes on: trunk/src/main/java/cc/kune/chat/client/KuneChatNotifier.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/chat/client/KuneHablarSignals.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/KuneHablarSignals.java (rev 0) +++ trunk/src/main/java/cc/kune/chat/client/KuneHablarSignals.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -0,0 +1,89 @@ +package cc.kune.chat.client; + +import cc.kune.chat.client.ChatClientDefault.ChatClientAction; + +import com.calclab.emite.core.client.xmpp.session.XmppSession; +import com.calclab.emite.xep.storage.client.PrivateStorageManager; +import com.calclab.hablar.core.client.Hablar; +import com.calclab.hablar.core.client.browser.BrowserFocusHandler; +import com.calclab.hablar.core.client.mvp.HablarEventBus; +import com.calclab.hablar.signals.client.SignalMessages; +import com.calclab.hablar.signals.client.SignalPreferences; +import com.calclab.hablar.signals.client.browserfocus.BrowserFocusManager; +import com.calclab.hablar.signals.client.notifications.NotificationManager; +import com.calclab.hablar.signals.client.preferences.SignalsPreferencesPresenter; +import com.calclab.hablar.signals.client.preferences.SignalsPreferencesWidget; +import com.calclab.hablar.signals.client.unattended.UnattendedPagesManager; +import com.calclab.hablar.signals.client.unattended.UnattendedPresenter; +import com.calclab.hablar.user.client.UserContainer; +import com.calclab.suco.client.Suco; +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.HasText; + +/** + * Install the signals module into Hablar + */ +public class KuneHablarSignals { + + public static SignalMessages signalMessages; + + /** + * Gets the {@link SignalMessages} object containing the internationalised + * messages + * + * @return the SignalMessages object containing the internationalised + * messages + */ + public static SignalMessages i18n() { + return signalMessages; + } + + /** + * Sets the {@link SignalMessages} object containing the internationalised + * messages + * + * @param t + * the messages object + */ + public static void setMessages(final SignalMessages t) { + KuneHablarSignals.signalMessages = t; + } + + // FIXME: move to gin + @SuppressWarnings("deprecation") + public KuneHablarSignals(final Hablar hablar, final ChatClientAction action) { + final HablarEventBus eventBus = hablar.getEventBus(); + final XmppSession session = Suco.get(XmppSession.class); + final PrivateStorageManager storageManager = Suco.get(PrivateStorageManager.class); + + final HasText titleDisplay = new HasText() { + @Override + public String getText() { + return Window.getTitle(); + } + + @Override + public void setText(final String text) { + Window.setTitle(text); + } + }; + final SignalPreferences preferences = new SignalPreferences(); + + final UnattendedPagesManager manager = new UnattendedPagesManager(eventBus, BrowserFocusHandler.getInstance()); + new BrowserFocusManager(eventBus, manager, BrowserFocusHandler.getInstance()); + new UnattendedPresenter(eventBus, preferences, manager, titleDisplay); + new KuneUnattendedPresenter(eventBus, preferences, manager, action); + final NotificationManager notificationManager = new NotificationManager(eventBus, preferences); + + // notificationManager.addNotifier((BrowserPopupHablarNotifier) + // GWT.create(BrowserPopupHablarNotifier.class), + // true); + notificationManager.addNotifier((KuneChatNotifier) GWT.create(KuneChatNotifier.class), true); + + final SignalsPreferencesPresenter preferencesPage = new SignalsPreferencesPresenter(session, storageManager, + eventBus, preferences, new SignalsPreferencesWidget(), notificationManager); + hablar.addPage(preferencesPage, UserContainer.ROL); + } + +} Property changes on: trunk/src/main/java/cc/kune/chat/client/KuneHablarSignals.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java (rev 0) +++ trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -0,0 +1,35 @@ +package cc.kune.chat.client; + +import cc.kune.chat.client.ChatClientDefault.ChatClientAction; + +import com.calclab.hablar.core.client.mvp.HablarEventBus; +import com.calclab.hablar.signals.client.SignalPreferences; +import com.calclab.hablar.signals.client.unattended.UnattendedChatsChangedEvent; +import com.calclab.hablar.signals.client.unattended.UnattendedChatsChangedHandler; +import com.calclab.hablar.signals.client.unattended.UnattendedPagesManager; + +/** + * Handles the presentation of unattended chats + */ +public class KuneUnattendedPresenter { + private boolean active; + + public KuneUnattendedPresenter(final HablarEventBus hablarEventBus, final SignalPreferences preferences, + final UnattendedPagesManager unattendedManager, final ChatClientAction action) { + active = false; + hablarEventBus.addHandler(UnattendedChatsChangedEvent.TYPE, new UnattendedChatsChangedHandler() { + @Override + public void handleUnattendedChatChange(final UnattendedChatsChangedEvent event) { + final int unattendedChatsCount = unattendedManager.getSize(); + if (unattendedChatsCount > 0 && active == false) { + active = true; + action.setBlink(true); + } else if (unattendedChatsCount == 0 && active == true) { + action.setBlink(false); + active = false; + } + } + + }); + } +} Property changes on: trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/chat/public/kune-chat.css =================================================================== --- trunk/src/main/java/cc/kune/chat/public/kune-chat.css 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/chat/public/kune-chat.css 2011-02-05 22:25:09 UTC (rev 1234) @@ -1,3 +1,63 @@ +/* hablar: Examples.css */ +/* html {border: 0; padding: 0; height: 100%; width: 100%; overflow: hidden;} */ + +#center { + position: absolute; + left: 50%; + top: 50%; +} + +#playground { + position: absolute; + width: 900px; + height: 500px; + left: -450px; + top: -250px; + background-color: #e9e9e9; + border: 1px solid #bbbbbb; + padding: 5px; +} + +.hablar { + padding: 1px; + background-color: #bBBBBB; +} + +#vertical_div { + position: absolute; + left: -150px; + width: 300px; + top: 5%; + height: 90%; +} + +#hablar_complete { + position: fixed; overflow: hidden; + left: 5px; + top: 5px; + right: 5px; + bottom: 5px; + background-color: #BBBBBB; +} + +#vertical_dock_div { + position: absolute; + left: -250px; + width: 500px; + top: 5%; + height: 90%; +} + +#horizontal_div { + position: absolute; + left: -350px; + width: 700px; + top: 15%; + height: 70%; +} + +/* End of hablar: Examples.css */ + .k-chat-icon { } @@ -2,4 +62,84 @@ +.k-chat-window { + background-color: #FFF; +} + .k-chat-panel { - margin: 10px; -} \ No newline at end of file + margin: 5px; + background-color: #FFF; /* !important;*/ + /* kfilter: alpha(opacity = 88) !important;*/ + /* -moz-opacity: 0.88 !important;*/ + /* -khtml-opacity: 0.88 !important;*/ /* opacity: 0.88 !important;*/ +} + +.hablar-HablarWidget { + background-color: #888; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +.gwt-Button { + text-shadow: 1px 1px 1px #FFFFFF; + font-weight: bold; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +.gwt-TextBox,.gwt-TextArea { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} + +.hablar-defaultBackground,.hablar-UserWidget,.hablar-defaultBordered { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +.hablar-Header { +/* -webkit-border-top-right-radius: 5px;*/ +/* -moz-border-radius-topright: 5px;*/ +/* border-top-right-radius: 5px;*/ +/* -webkit-border-top-left-radius: 5px;*/ +/* -moz-border-radius-topleft: 5px;*/ +/* border-top-left-radius: 5px;*/ +} + +.hablar-errorColor { + line-height: 2.5em; +} + +.form h2 { + font-size: 22px; + font-weight: bold; +} + +.gwt-TabLayoutPanel,.gwt-TabLayoutPanelTab,.hablar-TabsHeaderWidget { + -webkit-border-top-right-radius: 5px; + -moz-border-radius-topright: 5px; + border-top-right-radius: 5px; + -webkit-border-top-left-radius: 5px; + -moz-border-radius-topleft: 5px; + border-top-left-radius: 5px; +} + +.hablar-ChatWidget { + -webkit-border-bottom-right-radius: 5px; + -moz-border-radius-bottomright: 5px; + border-bottom-right-radius: 5px; +} + +.ellipsis { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + -ms-text-overflow: ellipsis; + -moz-binding: url('/ws/ellipsis.xml#ellipsis'); + width: 100% +} + + Modified: trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -19,10 +19,16 @@ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, message, closeable)); } - public static void error(final String message, final String id, final boolean closeable) { - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, message, id, closeable)); + public static void error(final String message, final String title, final boolean closeable) { + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, message, title, closeable)); } + public static void error(final String message, final String title, final String id, final boolean closeable) { + final UserNotifyEvent event = new UserNotifyEvent(NotifyLevel.error, message, id, closeable); + event.setId(id); + eventBus.fireEvent(event); + } + public static void hideProgress() { eventBus.fireEvent(new ProgressHideEvent()); } Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css =================================================================== --- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-02-05 22:25:09 UTC (rev 1234) @@ -126,11 +126,11 @@ padding: 22px 4px 3px 4px; } -.k-dialog-title { +.k-dialog-title span { color: #552200; font-size: 20px; font-weight: bold; - margin: 5px 0 0 12px; + margin: 0 0 0 6px; } .k-dialog-innerp { Modified: trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -14,8 +14,10 @@ @Source("e-icon.gif") ImageResource chat(); + @Source("e-icon-a.gif") + ImageResource chatBlink(); + @Source("kicon.css") - // @Strict IconBorrarCssResource css(); @Source("del-green.png") Added: trunk/src/main/java/cc/kune/core/client/resources/icons/e-icon-a.gif =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/cc/kune/core/client/resources/icons/e-icon-a.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/main/java/cc/kune/core/client/resources/icons/kicon.css =================================================================== --- trunk/src/main/java/cc/kune/core/client/resources/icons/kicon.css 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/core/client/resources/icons/kicon.css 2011-02-05 22:25:09 UTC (rev 1234) @@ -1,41 +1,44 @@ @external k-icon-info,k-icon-language,k-icon-kuneIcon16,k-icon-bug,k-icon-prefs,k-icon-groupHome,k-icon-addGreen,k-icon-maximize,k-icon-minimize,k-*; - @sprite div .k-icon-info { - gwt-image: "info"; + gwt-image: "info"; } @sprite div .k-icon-language { - gwt-image: "language"; + gwt-image: "language"; } @sprite div .k-icon-kuneIcon16 { - gwt-image: "kuneIcon16"; + gwt-image: "kuneIcon16"; } @sprite div .k-icon-bug { - gwt-image: "bug"; + gwt-image: "bug"; } @sprite div .k-icon-prefs { - gwt-image: "prefs"; + gwt-image: "prefs"; } @sprite div .k-icon-groupHome { - gwt-image: "groupHome"; + gwt-image: "groupHome"; } @sprite div .k-icon-addGreen { - gwt-image: "addGreen"; + gwt-image: "addGreen"; } @sprite div .k-icon-maximize { - gwt-image: "maximize"; + gwt-image: "maximize"; } +@sprite div .k-icon-chatBlink { + gwt-image: "chatBlink"; +} + @sprite div .k-icon-chat { - gwt-image: "chat"; + gwt-image: "chat"; } @sprite div .k-icon-minimize { - gwt-image: "minimize"; + gwt-image: "minimize"; } \ No newline at end of file Modified: trunk/src/main/java/cc/kune/core/public/ws.css =================================================================== --- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-05 22:25:09 UTC (rev 1234) @@ -713,4 +713,14 @@ -moz-opacity: 0.78 !important; -khtml-opacity: 0.78 !important; opacity: 0.78 !important; -} \ No newline at end of file +} + +.x-form-item-label { + font-size: 16px; + font-weight: bold; +} + +.x-form-text { + font-size: 14px; +} + \ No newline at end of file Modified: trunk/src/main/java/cc/kune/core/public/ws.html =================================================================== --- trunk/src/main/java/cc/kune/core/public/ws.html 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-02-05 22:25:09 UTC (rev 1234) @@ -5,21 +5,24 @@ <title>Kune</title> <script type="text/javascript" language="javascript" src="/ws/ws.nocache.js"></script> -<meta name="emite.httpBase" content="/http-bind" /> +<meta name="emite.httpBase" content="/http-bind/" /> <meta name="emite.host" content="localhost" /> <meta name="emite.searchHost" content="search.localhost" /> <meta name="emite.session" content="login" /> -<meta name="emite.user" content="admin@localhost" /> -<meta name="emite.password" content="easyeasy" /> <meta name="hablar.roomService" content="rooms.localhost" /> <meta name="hablar.login" content="false" /> +<meta name="hablar.hasVCard" content="false" /> +<meta name="hablar.search" content="false" /> +<meta name="hablar.hasCopyToClipboard" content="false" /> +<meta name="hablar.hasLogger" content="true" /> +<meta name="hablar.hasSignals" content="false" /> <meta name="hablar.roster" content="true" /> <meta name="hablar.dockRoster" content="left" /> <meta name="hablar.icons" content="alt" /> <meta name="hablar.layout" content="tabs" /> <meta name="hablar.inline" content="vertical_dock_div" /> -<meta name="hablar.width" content="100%" /> -<meta name="hablar.height" content="100%" /> +<meta name="hablar.width" content="550px" /> +<meta name="hablar.height" content="300px" /> <link rel="shortcut icon" href="favicon.ico" /> <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css"> @@ -49,8 +52,8 @@ rel='stylesheet' type='text/css'> --> <link type="text/css" rel="stylesheet" href="gxt/css/gxt-all.css"> <link type="text/css" rel="stylesheet" href="gxt/css/gxt-gray.css"> +<link type="text/css" rel="stylesheet" href="kune-hablar.css"> <link type="text/css" rel="stylesheet" href="kune-chat.css"> -<link type="text/css" rel="stylesheet" href="kune-hablar.css"> <link type="text/css" rel="stylesheet" href="kune-common.css"> <link type="text/css" rel="stylesheet" href="fontface/ubuntufontface.css"> @@ -70,6 +73,9 @@ margin: 30px; } </style> +<!--[if IE 6]> + <link type="text/css" rel="stylesheet" href="ie6.css"> +<![endif]--> </head> <body> <!-- Banner for wave errors --> Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2011-02-05 22:25:09 UTC (rev 1234) @@ -19,103 +19,17 @@ */ package org.ourproject.kune.chat.client; -import com.calclab.emite.core.client.xmpp.stanzas.XmppURI; -import com.calclab.suco.client.events.Listener0; - -class ChatEngineDefault implements ChatEngine { - - @Override - public void addNewBuddie(final String shortName) { - // TODO Auto-generated method stub - - } - - @Override - public void addOnRosterChanged(final Listener0 slot) { - // TODO Auto-generated method stub - - } - - @Override - public void chat(final XmppURI jid) { - // TODO Auto-generated method stub - - } - - @Override - public ChatConnectionOptions getChatOptions() { - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean isBuddie(final String localUserName) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isBuddie(final XmppURI jid) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isLoggedIn() { - // TODO Auto-generated method stub - return false; - } - - @Override - public void joinRoom(final String roomName, final String userAlias) { - // TODO Auto-generated method stub - - } - - @Override - public void joinRoom(final String roomName, final String subject, final String userAlias) { - // TODO Auto-generated method stub - - } - - @Override - public void login(final String jid, final String passwd) { - // TODO Auto-generated method stub - - } - - @Override - public void logout() { - // TODO Auto-generated method stub - - } - - @Override - public void setAvatar(final String photoBinary) { - // TODO Auto-generated method stub - - } - - @Override - public void show() { - // TODO Auto-generated method stub - - } - - @Override - public void stop() { - // TODO Auto-generated method stub - - } +class ChatEngineDefault { // implements ChatEngine { + // // private ChatConnectionOptions chatOptions; - // private final I18nTranslationService i18n; - // private final WorkspaceSkeleton wskel; - // private ToolbarButton traybarButton; + // private final Provider<FileDownloadUtils> downloadUtils; // private final Provider<EmiteUIDialog> emiteUIProvider; - // private Collection<RosterItem> roster; + // private final I18nTranslationService i18n; // private final Event0 onRosterChanged; + // private Collection<RosterItem> roster; // private final KeyStroke shortcut; - // private final Provider<FileDownloadUtils> downloadUtils; + // private ToolbarButton traybarButton; + // private final WorkspaceSkeleton wskel; // // public ChatEngineDefault(final I18nTranslationService i18n, final // WorkspaceSkeleton wskel, @@ -140,14 +54,6 @@ // } // }); // session.onInitDataReceived(new Listener<InitDataDTO>() { - // @Override - // public void onEvent(final InitDataDTO initData) { - // checkChatDomain(initData.getChatDomain()); - // chatOptions = new ChatConnectionOptions(initData.getChatHttpBase(), - // initData.getChatDomain(), - // initData.getChatRoomHost()); - // } - // // private void checkChatDomain(final String chatDomain) { // final String httpDomain = WindowUtils.getLocation().getHostName(); // if (!chatDomain.equals(httpDomain)) { @@ -157,6 +63,14 @@ // + "Please check kune.properties on the server."); // } // } + // + // @Override + // public void onEvent(final InitDataDTO initData) { + // checkChatDomain(initData.getChatDomain()); + // chatOptions = new ChatConnectionOptions(initData.getChatHttpBase(), + // initData.getChatDomain(), + // initData.getChatRoomHost()); + // } // }); // session.onUserSignOut(new Listener0() { // @Override @@ -179,18 +93,18 @@ // // @Override // public void addNewBuddie(final String shortName) { - // emiteUIProvider.get().addBuddie(getLocalUserJid(shortName), shortName, + // // emiteUIProvider.get().addBuddie(getLocalUserJid(shortName), shortName, // ""); // } // // @Override // public void addOnRosterChanged(final Listener0 slot) { - // onRosterChanged.add(slot); + // // onRosterChanged.add(slot); // } // // @Override // public void chat(final XmppURI jid) { - // emiteUIProvider.get().chat(jid); + // // emiteUIProvider.get().chat(jid); // } // // @Override @@ -198,6 +112,20 @@ // return chatOptions; // } // + // private XmppURI getLocalUserJid(final String shortName) { + // return XmppURI.jid(shortName + "@" + chatOptions.domain); + // } + // + // private UserChatOptions getUserChatOptions(final String jid, final String + // passwd) { + // final String resource = "emiteui-" + new Date().getTime() + "-kune"; // + + // // getGwtMetaProperty(GWT_PROPERTY_RELEASE); + // // FIXME, get this from user profile + // return new UserChatOptions(jid + "@" + chatOptions.domain, passwd, + // resource, "blue", SubscriptionMode.manual, + // true); + // } + // // @Override // public boolean isBuddie(final String shortName) { // return isBuddie(getLocalUserJid(shortName)); @@ -216,12 +144,12 @@ // } // // public boolean isDialogStarted() { - // return !emiteUIProvider.get().isDialogNotStarted(); + // // return !emiteUIProvider.get().isDialogNotStarted(); // } // // @Override // public boolean isLoggedIn() { - // return emiteUIProvider.get().isLoggedIn(); + // // return emiteUIProvider.get().isLoggedIn(); // } // // @Override @@ -232,27 +160,27 @@ // @Override // public void joinRoom(final String roomName, final String subject, final // String userAlias) { - // if (emiteUIProvider.get().isLoggedIn()) { - // final XmppURI roomURI = XmppURI.uri(roomName + "@" + chatOptions.roomHost - // + "/" - // + chatOptions.userOptions.getUserJid().getNode()); - // final Room room = (Room) emiteUIProvider.get().joinRoom(roomURI); - // if (subject != null) { - // Scheduler.get().scheduleDeferred(new ScheduledCommand() { - // @Override - // public void execute() { - // final RoomUI roomUI = (RoomUI) room.getData(ChatUI.class); - // if (roomUI != null) { - // roomUI.setSubject(subject); - // } - // } - // }); - // } - // } else { - // NotifyUser.showAlertMessage(i18n.t("Error"), + // // if (emiteUIProvider.get().isLoggedIn()) { + // // final XmppURI roomURI = XmppURI.uri(roomName + "@" + + // chatOptions.roomHost + "/" + // // + chatOptions.userOptions.getUserJid().getNode()); + // // final Room room = (Room) emiteUIProvider.get().joinRoom(roomURI); + // // if (subject != null) { + // // Scheduler.get().scheduleDeferred(new ScheduledCommand() { + // // @Override + // // public void execute() { + // // final RoomUI roomUI = (RoomUI) room.getData(ChatUI.class); + // // if (roomUI != null) { + // // roomUI.setSubject(subject); + // // } + // // } + // // }); + // // } + // // } else { + // // NotifyUser.showAlertMessage(i18n.t("Error"), // i18n.t("To join a chatroom you need to be 'online'")); + // // } // } - // } // // @Override // public void login(final String jid, final String passwd) { @@ -369,18 +297,4 @@ // emiteUIProvider.get().show(); // } // } - // - // private XmppURI getLocalUserJid(final String shortName) { - // return XmppURI.jid(shortName + "@" + chatOptions.domain); - // } - // - // private UserChatOptions getUserChatOptions(final String jid, final String - // passwd) { - // final String resource = "emiteui-" + new Date().getTime() + "-kune"; // + - // // getGwtMetaProperty(GWT_PROPERTY_RELEASE); - // // FIXME, get this from user profile - // return new UserChatOptions(jid + "@" + chatOptions.domain, passwd, - // resource, "blue", SubscriptionMode.manual, - // true); - // } } Modified: trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- trunk/src/main/webapp/WEB-INF/web.xml 2011-02-04 20:52:27 UTC (rev 1233) +++ trunk/src/main/webapp/WEB-INF/web.xml 2011-02-05 22:25:09 UTC (rev 1234) @@ -4,6 +4,10 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> + + <!-- NOTE: if you modify this, cp for rapid testing: cp src/main/webapp/WEB-INF/web.xml + target/kune-PUT_HERE_VERSION/WEB-INF/web.xml --> + <!-- TODO: Add <servlet> tags for each servlet here. --> <!-- TODO: Add <servlet-mapping> tags for each <servlet> here. --> <!-- TODO: Optionally add a <welcome-file-list> tag to display a welcome @@ -16,43 +20,43 @@ </welcome-file-list> <!-- JRuby servlets ======================================================================================= --> <!-- Note: this gives problems depending on the version of jetty or tomcat --> - <!-- <context-param> --> - <!-- <param-name>jruby.standalone</param-name> --> - <!-- <param-value>true</param-value> --> - <!-- </context-param> --> - <!-- <context-param> --> - <!-- <param-name>rails.root</param-name> --> - <!-- <param-value>/WEB-INF/publicspace/ --> - <!-- </param-value> --> - <!-- </context-param> --> - <!-- <context-param> --> - <!-- <param-name>files.prefix</param-name> --> - <!-- <param-value>/WEB-INF/publicspace/public --> - <!-- </param-value> --> - <!-- </context-param> --> - <!-- <context-param> --> - <!-- <param-name>rails.env</param-name> --> - <!-- <param-value>production</param-value> --> - <!-- </context-param> --> - <!-- <context-param> --> - <!-- <param-name>jruby.max.runtimes</param-name> --> - <!-- <param-value>1</param-value> --> - <!-- </context-param> --> - <!-- <context-param> --> - <!-- <param-name>public.root</param-name> --> - <!-- <param-value>/public/</param-value> --> - <!-- </context-param> --> - <!-- <filter> --> - <!-- <filter-name>RackFilter</filter-name> --> - <!-- <filter-class>org.jruby.rack.RackFilter</filter-class> --> - <!-- </filter> --> - <!-- <filter-mapping> --> - <!-- <filter-name>RackFilter</filter-name> --> - <!-- <url-pattern>/public/*</url-pattern> --> - <!-- </filter-mapping> --> - <!-- <listener> --> - <!-- <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class> --> - <!-- </listener> --> + <context-param> + <param-name>jruby.standalone</param-name> + <param-value>true</param-value> + </context-param> + <context-param> + <param-name>rails.root</param-name> + <param-value>/WEB-INF/publicspace/ + </param-value> + </context-param> + <context-param> + <param-name>files.prefix</param-name> + <param-value>/WEB-INF/publicspace/public + </param-value> + </context-param> + <context-param> + <param-name>rails.env</param-name> + <param-value>production</param-value> + </context-param> + <context-param> + <param-name>jruby.max.runtimes</param-name> + <param-value>1</param-value> + </context-param> + <context-param> + <param-name>public.root</param-name> + <param-value>/public/</param-value> + </context-param> + <filter> + <filter-name>RackFilter</filter-name> + <filter-class>org.jruby.rack.RackFilter</filter-class> + </filter> + <filter-mapping> + <filter-name>RackFilter</filter-name> + <url-pattern>/public/*</url-pattern> + </filter-mapping> + <listener> + <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class> + </listener> <!-- Kune normal guice configuration ======================================================================== --> <filter> <filter-name>rack</filter-name> @@ -69,21 +73,42 @@ <url-pattern>/*</url-pattern> </filter-mapping> <!-- Emite xmpp proxy ======================================================================================= --> + <!-- <servlet> --> + <!-- <servlet-name>HttpBind</servlet-name> --> + <!-- <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> --> + <!-- <init-param> --> + <!-- <param-name>ProxyTo</param-name> --> + <!-- <param-value>http://localhost:5280/</param-value> --> + <!-- </init-param> --> + <!-- <init-param> --> + <!-- <param-name>Prefix</param-name> --> + <!-- <param-value>/</param-value> --> + <!-- </init-param> --> + <!-- </servlet> --> + <!-- <servlet-mapping> --> + <!-- <servlet-name>HttpBind</servlet-name> --> + <!-- <url-pattern>/http-bind/</url-pattern> --> + <!-- </servlet-mapping> --> <servlet> - <servlet-name>HttpBind</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> + <servlet-name>Proxy</servlet-name> + <servlet-class>de.spieleck.servlets.ProxyServlet</servlet-class> <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://localhost:5280/http-bind/</param-value> + <param-name>remotePath</param-name> + <param-value>/http-bind/</param-value> </init-param> <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> + <param-name>remoteServer</param-name> + <param-value>localhost</param-value> </init-param> + <init-param> + <param-name>remotePort</param-name> + <param-value>5280</param-value> + </init-param> </servlet> <servlet-mapping> - <servlet-name>HttpBind</servlet-name> - <url-pattern>/http-bind</url-pattern> + <servlet-name>Proxy</servlet-name> + <url-pattern>/http-bind/ + </url-pattern> </servlet-mapping> <!-- Wave proxies with context / ====================================================================== --> <servlet>
participants (1)
-
Vicente J. Ruiz Jurado