r1241 - in trunk: . src/main/java/cc/kune/core/client/auth src/main/java/cc/kune/core/client/groups/newgroup src/main/java/cc/kune/core/client/ui src/main/java/cc/kune/core/client/ui/dialogs src/main/java/cc/kune/core/public src/main/java/cc/kune/wave/client src/main/java/cc/kune/wave/server src/main/java/org/ourproject/kune/app/server src/main/java/org/ourproject/kune/rack src/main/webapp/WEB-INF
Author: vjrj_ Date: 2011-02-08 15:17:50 +0100 (Tue, 08 Feb 2011) New Revision: 1241 Added: trunk/src/main/java/cc/kune/wave/client/WaveClientTester.java trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java Modified: trunk/TODO trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java trunk/src/main/java/cc/kune/core/client/auth/UserPassAutocompleteManagerImpl.java trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java trunk/src/main/java/cc/kune/core/client/ui/DefaultForm.java trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java trunk/src/main/java/cc/kune/core/public/ws.css trunk/src/main/java/cc/kune/core/public/ws.html trunk/src/main/java/cc/kune/wave/server/WaveStarter.java trunk/src/main/java/org/ourproject/kune/app/server/AbstractExtendedModule.java trunk/src/main/java/org/ourproject/kune/app/server/KuneApplicationListener.java trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java trunk/src/main/java/org/ourproject/kune/app/server/NotInObject.java trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java trunk/src/main/webapp/WEB-INF/web.xml Log: WIAB integration updated Modified: trunk/TODO =================================================================== --- trunk/TODO 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/TODO 2011-02-08 14:17:50 UTC (rev 1241) @@ -11,6 +11,8 @@ Use org-mode in emacs to easy manage this file * SHORT-TERM (URGENT) +** TODO WIAB under proxies +https://groups.google.com/group/wave-protocol/browse_thread/thread/202dee4bf... ** TODO StateManager #signin while already signed in NPE ** TODO Testing Presenters via juckito: https://code.google.com/p/gwt-platform/wiki/UnitTesting @@ -255,6 +257,9 @@ ** vjrj <v> IconHyperlink.java and IconLabel.java to gwt1.5 * MID-TERM +** TODO start/stop init scripts +https://groups.google.com/group/wave-protocol/browse_thread/thread/d9cdcea0d... +./platforms/ubuntu/server-wrapper.sh ** TODO registration/general mask ** TODO sigin forms to uibinder (intro sing-in) ** TODO Use google-guice guicepersist (in 3.0) instead of warp-persist Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -36,6 +36,7 @@ import cc.kune.core.client.state.StateManager; import cc.kune.core.shared.dto.UserDTO; import cc.kune.core.shared.dto.UserInfoDTO; +import cc.kune.wave.client.WaveClientTester; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; @@ -59,18 +60,20 @@ private final Provider<Register> registerProvider; private final TimerWrapper timer; private final UserServiceAsync userService; + private final WaveClientTester waveClientTester; @Inject public SignInPresenter(final EventBus eventBus, final SignInView view, final SignInProxy proxy, final Session session, final StateManager stateManager, final I18nUITranslationService i18n, final UserServiceAsync userService, final Provider<Register> registerProvider, final CookiesManager cookiesManager, final UserPassAutocompleteManager autocomplete, - final TimerWrapper timeWrapper) { + final TimerWrapper timeWrapper, final WaveClientTester waveClientTester) { super(eventBus, view, proxy, session, stateManager, i18n, cookiesManager, autocomplete); this.eventBus = eventBus; this.userService = userService; this.registerProvider = registerProvider; this.timer = timeWrapper; + this.waveClientTester = waveClientTester; } @Override @@ -175,8 +178,10 @@ public void onSuccess(final UserInfoDTO userInfoDTO) { onSignIn(userInfoDTO); stateManager.restorePreviousToken(); + // waveClientTester.doLogin(nickOrEmail, passwd); getView().hide(); getView().unMask(); + } }; userService.login(user.getShortName(), user.getPassword(), callback); Modified: trunk/src/main/java/cc/kune/core/client/auth/UserPassAutocompleteManagerImpl.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/auth/UserPassAutocompleteManagerImpl.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/auth/UserPassAutocompleteManagerImpl.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -41,7 +41,7 @@ @Override public String getNickOrEmail() { - return getElementValue("username"); + return getElementValue("address"); } @Override @@ -51,7 +51,7 @@ @Override public void setNickOrEmail(final String username) { - DOM.getElementById("username").setAttribute(VALUE, username); + DOM.getElementById("address").setAttribute(VALUE, username); } @Override Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -77,8 +77,8 @@ @Inject public NewGroupPanel(final I18nTranslationService i18n, final NotifyLevelImages img, final MaskWidgetView mask) { - dialog = new BasicTopDialog(NEWGROUP_WIZARD, CoreMessages.REGISTER_A_NEW_GROUP_TITLE, true, true, false, 450, - 430, "k-newgroup-icon", i18n.t("Register"), REGISTER_BUTTON, i18n.t("Cancel"), CANCEL_BUTTON, 9); + dialog = new BasicTopDialog(NEWGROUP_WIZARD, CoreMessages.REGISTER_A_NEW_GROUP_TITLE, true, true, true, 450, + 420, "k-newgroup-icon", i18n.t("Register"), REGISTER_BUTTON, i18n.t("Cancel"), CANCEL_BUTTON, 9); this.i18n = i18n; this.mask = mask; // Field.setMsgTarget("side"); @@ -91,7 +91,6 @@ @Override public Widget asWidget() { - // TODO Auto-generated method stub return null; } @@ -106,14 +105,15 @@ form.setFrame(true); form.setPadding(10); form.setBorders(false); - form.setWidth(420); + form.setWidth(360); form.setLabelWidth(LABEL_WIDTH); form.setLabelAlign(LabelAlign.RIGHT); form.setButtonAlign(HorizontalAlignment.RIGHT); + form.setHeaderVisible(false); final Label intro = new Label(); - intro.setText(i18n.t("Please fill this form to register a new group:")); // + - // DefaultFormUtils.brbr()); + intro.setText(i18n.t("Please fill this form to register a new group:")); + intro.setStyleName("k-form-intro"); form.add(intro); shortNameField = new TextField<String>(); @@ -167,11 +167,9 @@ final FieldSet groupTypeFieldSet = new FieldSet(); groupTypeFieldSet.setHeading(i18n.t("Group type")); - groupTypeFieldSet.setCollapsible(false); - groupTypeFieldSet.setStyleName(MARGIN_LEFT_105PX); - groupTypeFieldSet.setWidth(BIG_FIELD_WIDTH); - // groupTypeFieldSet.setFrame(false); - groupTypeFieldSet.setCollapsible(false); + groupTypeFieldSet.addStyleName("k-form-fieldset"); + groupTypeFieldSet.setCollapsible(true); + groupTypeFieldSet.setWidth("210px"); groupTypeFieldSet.setAutoHeight(true); form.add(groupTypeFieldSet); @@ -200,6 +198,11 @@ } @Override + public void focusOnShorName() { + shortNameField.focus(); + } + + @Override public HasClickHandlers getFirstBtn() { return dialog.getFirstBtn(); Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -91,6 +91,7 @@ if (session.isLogged()) { NotifyUser.showProgressProcessing(); getView().show(); + getView().focusOnShorName(); NotifyUser.hideProgress(); } else { // stateManager.restorePreviousToken(); Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -28,6 +28,8 @@ void clearData(); + void focusOnShorName(); + HasClickHandlers getFirstBtn(); String getLongName(); Modified: trunk/src/main/java/cc/kune/core/client/ui/DefaultForm.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/ui/DefaultForm.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/ui/DefaultForm.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,7 @@ private final FormPanel form; public DefaultForm() { - this(HorizontalAlignment.RIGHT); + this(HorizontalAlignment.LEFT); } public DefaultForm(final HorizontalAlignment buttonAlign) { @@ -53,13 +53,13 @@ form.setPadding(10); form.setBorders(false); form.setLabelWidth(DEF_FIELD_LABEL_WITH); - form.setLabelAlign(LabelAlign.RIGHT); + form.setLabelAlign(LabelAlign.LEFT); form.setButtonAlign(buttonAlign); form.setHeaderVisible(false); } public DefaultForm(final String title) { - this(title, HorizontalAlignment.RIGHT); + this(title, HorizontalAlignment.LEFT); } public DefaultForm(final String title, final HorizontalAlignment buttonAlign) { Modified: trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -35,6 +35,7 @@ if (radioTip != null) { radio.setTitle(radioTip); + radio.setBoxLabel(radioLabel); // radio.setBoxLabel(KuneUiUtils.genQuickTipLabel(radioLabel, null, // radioTip)); // ToolTip tooltip = new ToolTip(); Modified: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify Modified: trunk/src/main/java/cc/kune/core/public/ws.css =================================================================== --- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,726 +1,741 @@ @CHARSET "UTF-8"; body { - background-color: white; - color: black; - font-family: 'Ubuntu', Arial; - font-size: small; - margin: 5px; - overflow: hidden; + background-color: white; + color: black; + font-family: 'Ubuntu', Arial; + font-size: small; + margin: 5px; + overflow: hidden; } * { - font-family: 'Ubuntu', Arial; + font-family: 'Ubuntu', Arial; } body.fontface { - font: 'Ubuntu', Arial; + font: 'Ubuntu', Arial; } a { - color: darkblue; + color: darkblue; } a:visited { - color: darkblue; + color: darkblue; } .gwt-DialogBox { - border: 2px solid #AAAAAA; - background-color: white; + border: 2px solid #AAAAAA; + background-color: white; } .gwt-DialogBox .Caption { - background-image: url(gray_gradient.gif); - background-repeat: repeat-x; - padding: 4px; - padding-bottom: 8px; - font-weight: bold; - cursor: default; + background-image: url(gray_gradient.gif); + background-repeat: repeat-x; + padding: 4px; + padding-bottom: 8px; + font-weight: bold; + cursor: default; } .gwt-MenuBar { - background-color: #C3D9FF; - cursor: default; + background-color: #C3D9FF; + cursor: default; } .gwt-MenuItem { - font-size: 80%; - margin: 1px; - cursor: default; + font-size: 80%; + margin: 1px; + cursor: default; } .gwt-MenuItem-selected { - background-color: #E8EEF7; + background-color: #E8EEF7; } .gwt-Tree { - + } .gwt-Tree .gwt-TreeItem { - font-size: 80%; - cursor: default; + font-size: 80%; + cursor: default; } .gwt-Tree .gwt-TreeItem-selected { - background-color: #C3D9FF; + background-color: #C3D9FF; } .gwt-StackPanel { - background-color: white; - border: 1px solid #AAAAAA; - width: 15em; + background-color: white; + border: 1px solid #AAAAAA; + width: 15em; } .gwt-StackPanel .gwt-StackPanelItem { - background-image: url(blue_gradient.gif); - background-repeat: repeat-x; - background-color: #EEEEEE; - cursor: pointer; - cursor: hand; + background-image: url(blue_gradient.gif); + background-repeat: repeat-x; + background-color: #EEEEEE; + cursor: pointer; + cursor: hand; } .gwt-StackPanel .gwt-StackPanelItem-selected { - + } .gwt-TabPanel { - + } .gwt-TabPanelBottom { - border-left: 1px solid #87b3ff; - border-right: 1px solid #87b3ff; - border-bottom: 1px solid #87b3ff; + border-left: 1px solid #87b3ff; + border-right: 1px solid #87b3ff; + border-bottom: 1px solid #87b3ff; } .gwt-TabBar { - font-size: smaller; + font-size: smaller; } .gwt-TabBar .gwt-TabBarFirst { - height: 100%; - border-bottom: 1px solid #87b3ff; - border-right: 1px solid #87b3ff; - padding-left: 3px; + height: 100%; + border-bottom: 1px solid #87b3ff; + border-right: 1px solid #87b3ff; + padding-left: 3px; } .gwt-TabBar .gwt-TabBarRest { - border-bottom: 1px solid #87b3ff; - padding-right: 3px; + border-bottom: 1px solid #87b3ff; + padding-right: 3px; } .gwt-TabBar .gwt-TabBarItem { - border-top: 1px solid #87b3ff; - border-bottom: 1px solid #87b3ff; - padding: 2px; - cursor: hand; - white-space: nowrap; - border-right: 1px solid #87b3ff; + border-top: 1px solid #87b3ff; + border-bottom: 1px solid #87b3ff; + padding: 2px; + cursor: hand; + white-space: nowrap; + border-right: 1px solid #87b3ff; } .gwt-TabBar .gwt-TabBarItem-selected { - font-weight: bold; - background-color: #e8eef7; - border-top: 1px solid #87b3ff; - border-right: 1px solid #87b3ff; - border-bottom: 1px solid #e8eef7; - padding: 2px; - cursor: default; - white-space: nowrap; + font-weight: bold; + background-color: #e8eef7; + border-top: 1px solid #87b3ff; + border-right: 1px solid #87b3ff; + border-bottom: 1px solid #e8eef7; + padding: 2px; + cursor: default; + white-space: nowrap; } .gwt-PushButton-up { - background-color: #C3D9FF; - padding: 2px; - border: 2px solid transparent; - border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) - rgb(232, 241, 255); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + border: 2px solid transparent; + border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) + rgb(232, 241, 255); + cursor: pointer; + cursor: hand; } .gwt-PushButton-up-hovering { - background-color: #C3D9FF; - padding: 2px; - border: 2px solid transparent; - border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) - rgb(232, 241, 255); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + border: 2px solid transparent; + border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) + rgb(232, 241, 255); + cursor: pointer; + cursor: hand; } .gwt-PushButton-down { - background-color: #C3D9FF; - padding: 2px; - border: 2px solid transparent; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + border: 2px solid transparent; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); + cursor: pointer; + cursor: hand; } .gwt-PushButton-down-hovering { - background-color: #C3D9FF; - padding: 2px; - border: 2px solid transparent; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + border: 2px solid transparent; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); + cursor: pointer; + cursor: hand; } .gwt-ToggleButton-up { - background-color: #C3D9FF; - padding: 2px; - border: 2px solid transparent; - border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) - rgb(232, 241, 255); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + border: 2px solid transparent; + border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) + rgb(232, 241, 255); + cursor: pointer; + cursor: hand; } .gwt-ToggleButton-up-hovering { - background-color: #C3D9FF; - padding: 2px; - border: 2px solid transparent; - border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) - rgb(232, 241, 255); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + border: 2px solid transparent; + border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) + rgb(232, 241, 255); + cursor: pointer; + cursor: hand; } .gwt-ToggleButton-down { - background-color: #C3D9FF; - padding: 2px; - background-color: #E8F1FF; - border: 2px solid transparent; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + background-color: #E8F1FF; + border: 2px solid transparent; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); + cursor: pointer; + cursor: hand; } .gwt-ToggleButton-down-hovering { - background-color: #C3D9FF; - padding: 2px; - background-color: #E8F1FF; - border: 2px solid transparent; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); - cursor: pointer; - cursor: hand; + background-color: #C3D9FF; + padding: 2px; + background-color: #E8F1FF; + border: 2px solid transparent; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); + cursor: pointer; + cursor: hand; } .gwt-RichTextArea { - border: 1px solid black; - background-color: white; + border: 1px solid black; + background-color: white; } .gwt-RichTextToolbar { - background-color: #C3D9FF; - padding: 2px; + background-color: #C3D9FF; + padding: 2px; } .gwt-RichTextToolbar .gwt-PushButton-up { - margin-right: 2px; - border: 1px solid #C3D9FF; + margin-right: 2px; + border: 1px solid #C3D9FF; } .gwt-RichTextToolbar .gwt-PushButton-up-hovering { - margin-right: 2px; - border: 1px solid #C3D9FF; - border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) - rgb(232, 241, 255); + margin-right: 2px; + border: 1px solid #C3D9FF; + border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) + rgb(232, 241, 255); } .gwt-RichTextToolbar .gwt-PushButton-down { - margin-right: 2px; - border: 1px solid #C3D9FF; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); + margin-right: 2px; + border: 1px solid #C3D9FF; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); } .gwt-RichTextToolbar .gwt-PushButton-down-hovering { - margin-right: 2px; - border: 1px solid #C3D9FF; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); + margin-right: 2px; + border: 1px solid #C3D9FF; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); } .gwt-RichTextToolbar .gwt-ToggleButton-up { - margin-right: 2px; - border: 1px solid #C3D9FF; + margin-right: 2px; + border: 1px solid #C3D9FF; } .gwt-RichTextToolbar .gwt-ToggleButton-up-hovering { - margin-right: 2px; - border: 1px solid #C3D9FF; - border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) - rgb(232, 241, 255); + margin-right: 2px; + border: 1px solid #C3D9FF; + border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) + rgb(232, 241, 255); } .gwt-RichTextToolbar .gwt-ToggleButton-down { - margin-right: 2px; - background-color: #E8F1FF; - border: 1px solid #C3D9FF; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); + margin-right: 2px; + background-color: #E8F1FF; + border: 1px solid #C3D9FF; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); } .gwt-RichTextToolbar .gwt-ToggleButton-down-hovering { - margin-right: 2px; - background-color: #E8F1FF; - border: 1px solid #C3D9FF; - border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) - rgb(157, 174, 205); + margin-right: 2px; + background-color: #E8F1FF; + border: 1px solid #C3D9FF; + border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) + rgb(157, 174, 205); } .gwt-HorizontalSplitPanel { - border: 8px solid #C3D9FF; + border: 8px solid #C3D9FF; } .gwt-HorizontalSplitPanel .splitter { - background-color: #C3D9FF; - cursor: move; + background-color: #C3D9FF; + cursor: move; } .gwt-HorizontalSplitPanel .left { - background-color: #E8EEF7; + background-color: #E8EEF7; } .gwt-VerticalSplitPanel { - border: 8px solid #C3D9FF; + border: 8px solid #C3D9FF; } .gwt-VerticalSplitPanel .splitter { - background-color: #C3D9FF; - height: 8px; - cursor: move; + background-color: #C3D9FF; + height: 8px; + cursor: move; } .gwt-SuggestBoxPopup { - border: 2px solid #C3D9FF; + border: 2px solid #C3D9FF; } .gwt-SuggestBoxPopup .item { - padding: 2px; + padding: 2px; } .gwt-SuggestBoxPopup .item-selected { - background-color: #C3D9FF; - padding: 2px; + background-color: #C3D9FF; + padding: 2px; } .gwt-DisclosurePanel { - border: 2px solid #C3D9FF; + border: 2px solid #C3D9FF; } .gwt-DisclosurePanel .header { - background-color: #e8eef7; - cursor: hand; + background-color: #e8eef7; + cursor: hand; } .gwt-SplitLayoutPanel { - + } .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { - background-color: white; - background: none; - cursor: col-resize; + background-color: white; + background: none; + cursor: col-resize; } .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { - background-color: white; - background: none; - cursor: row-resize; + background-color: white; + background: none; + cursor: row-resize; } .kLoadingPanel { - background-color: #FF9999; - -webkit-border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - border-bottom-right-radius: 4px; - padding: 0 1px 0 3px; - border-collapse: separate; - border-spacing: 2px; + background-color: #FF9999; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; + padding: 0 1px 0 3px; + border-collapse: separate; + border-spacing: 2px; } .kLoadingLabel { - font-size: 14px; - color: white; - font-weight: bold; - padding: 0 5px 0 5px; + font-size: 14px; + color: white; + font-weight: bold; + padding: 0 5px 0 5px; } .k-space-sel { - margin-right: 10px; - background-color: #F2F2F2; + margin-right: 10px; + background-color: #F2F2F2; } .k-space-sel-btn { - padding: 0 1px 0 1px; - margin: 0 0 -2px; + padding: 0 1px 0 1px; + margin: 0 0 -2px; } .k-sitebar-logo { - margin-top: 2px; + margin-top: 2px; } .x-btn button { - font: 18px/27px 'Ubuntu', arial; + font: 18px/27px 'Ubuntu', arial; } -.k-btn-sitebar, .k-btn-sitebar button { - font: 13px 'Ubuntu', arial; - color: #B3B3B3; - cursor: pointer; - text-decoration: underline; - white-space: nowrap; +.k-btn-sitebar,.k-btn-sitebar button { + font: 13px 'Ubuntu', arial; + color: #B3B3B3; + cursor: pointer; + text-decoration: underline; + white-space: nowrap; } .k-btn-sitebar button { - margin-top: -5px; + margin-top: -5px; } .k-sitebar { /* margin-top: -30px; */ - + } .k-link { - text-decoration: underline; - color: green; - cursor: pointer; + text-decoration: underline; + color: green; + cursor: pointer; } /* Margins */ .kune-Margin-40-trbl { - margin: 40px; + margin: 40px; } .kune-Margin-40-lr { - margin-left: 40px; - margin-right: 40px; + margin-left: 40px; + margin-right: 40px; } .kune-Margin-40-tl { - margin-top: 40px; - margin-left: 40px; + margin-top: 40px; + margin-left: 40px; } .kune-Margin-40-tb { - margin-top: 40px; - margin-bottom: 40px; + margin-top: 40px; + margin-bottom: 40px; } .kune-Margin-40-t { - margin-top: 40px; + margin-top: 40px; } .kune-Margin-40-r { - margin-right: 40px; + margin-right: 40px; } .kune-Margin-40-l { - margin-left: 40px; + margin-left: 40px; } .kune-Margin-20-trbl { - margin: 20px; + margin: 20px; } .kune-Margin-20-lr { - margin-left: 20px; - margin-right: 20px; + margin-left: 20px; + margin-right: 20px; } .kune-Margin-20-tl { - margin-top: 20px; - margin-left: 20px; + margin-top: 20px; + margin-left: 20px; } .kune-Margin-20-tb { - margin-top: 20px; - margin-bottom: 20px; + margin-top: 20px; + margin-bottom: 20px; } .kune-Margin-20-t { - margin-top: 20px; + margin-top: 20px; } .kune-Margin-20-r { - margin-right: 20px; + margin-right: 20px; } .kune-Margin-20-l { - margin-left: 20px; + margin-left: 20px; } .kune-Margin-Large-trbl { - margin: 10px; + margin: 10px; } .kune-Margin-Large-lr { - margin-left: 10px; - margin-right: 10px; + margin-left: 10px; + margin-right: 10px; } .kune-Margin-Large-tl { - margin-top: 10px; - margin-left: 10px; + margin-top: 10px; + margin-left: 10px; } .kune-Margin-Large-tb { - margin-top: 10px; - margin-bottom: 10px; + margin-top: 10px; + margin-bottom: 10px; } .kune-Margin-Large-t { - margin-top: 10px; + margin-top: 10px; } .kune-Margin-Large-r { - margin-right: 10px; + margin-right: 10px; } .kune-Margin-Large-l { - margin-left: 10px; + margin-left: 10px; } .kune-Margin-7-trbl { - margin: 7px; + margin: 7px; } .kune-Margin-7-lr { - margin-left: 7px; - margin-right: 7px; + margin-left: 7px; + margin-right: 7px; } .kune-Margin-7-tl { - margin-top: 7px; - margin-left: 7px; + margin-top: 7px; + margin-left: 7px; } .kune-Margin-7-tb { - margin-top: 7px; - margin-bottom: 7px; + margin-top: 7px; + margin-bottom: 7px; } .kune-Margin-7-t { - margin-top: 7px; + margin-top: 7px; } .kune-Margin-7-r { - margin-right: 7px; + margin-right: 7px; } .kune-Margin-7-b { - margin-bottom: 7px; + margin-bottom: 7px; } .kune-Margin-7-l { - margin-left: 7px; + margin-left: 7px; } .kune-Margin-Medium-trbl { - margin: 5px; + margin: 5px; } .kune-Margin-Medium-lr { - margin-left: 5px; - margin-right: 5px; + margin-left: 5px; + margin-right: 5px; } .kune-Margin-Medium-tl { - margin-top: 5px; - margin-left: 5px; + margin-top: 5px; + margin-left: 5px; } .kune-Margin-Medium-tb { - margin-top: 5px; - margin-bottom: 5px; + margin-top: 5px; + margin-bottom: 5px; } .kune-Margin-Medium-t { - margin-top: 5px; + margin-top: 5px; } .kune-Margin-Medium-r { - margin-right: 5px; + margin-right: 5px; } .kune-Margin-Medium-b { - margin-bottom: 5px; + margin-bottom: 5px; } .kune-Margin-Medium-l { - margin-left: 5px; + margin-left: 5px; } .kune-Margin-Small-trbl { - margin: 3px; + margin: 3px; } .kune-Margin-Small-lr { - margin-left: 3px; - margin-right: 3px; + margin-left: 3px; + margin-right: 3px; } .kune-Margin-Small-tl { - margin-top: 3px; - margin-left: 3px; + margin-top: 3px; + margin-left: 3px; } .kune-Margin-Small-tb { - margin-top: 3px; - margin-bottom: 3px; + margin-top: 3px; + margin-bottom: 3px; } .kune-Margin-Small-t { - margin-top: 3px; + margin-top: 3px; } .kune-Margin-Small-l { - margin-left: 3px; + margin-left: 3px; } .kune-Margin-Small-r { - margin-right: 3px; + margin-right: 3px; } .kune-Margin-Small-b { - margin-bottom: 3px; + margin-bottom: 3px; } .kune-Margin-Mini-trbl { - margin: 1px; + margin: 1px; } .kune-Margin-Mini-lr { - margin-left: 1px; - margin-right: 1px; + margin-left: 1px; + margin-right: 1px; } .kune-Margin-Mini-tl { - margin-top: 1px; - margin-left: 1px; + margin-top: 1px; + margin-left: 1px; } .kune-Margin-Mini-tb { - margin-top: 1px; - margin-bottom: 1px; + margin-top: 1px; + margin-bottom: 1px; } .kune-Margin-Mini-t { - margin-top: 1px; + margin-top: 1px; } .kune-Margin-Mini-r { - margin-right: 1px; + margin-right: 1px; } .kune-Margin-Mini-b { - margin-bottom: 1px; + margin-bottom: 1px; } .kune-Margin-Mini-l { - margin-left: 1px; + margin-left: 1px; } .k-publicspace-msg { - background-color: #E0E0E0; + background-color: #E0E0E0; } .k-publicspace-mask { /* background-color: #fff !important; - kfilter: alpha(opacity = 68) !important; - -moz-opacity: 0.68 !important; - -khtml-opacity: 0.68 !important; - opacity: 0.68 !important;*/ - + kfilter: alpha(opacity = 68) !important; + -moz-opacity: 0.68 !important; + -khtml-opacity: 0.68 !important; + opacity: 0.68 !important;*/ + } .k-publicspace-panel { - margin: 5px; - display: table-row; + margin: 5px; + display: table-row; } .k-publicspace-icon { - margin: 3px 3px 3px 0; - float: left; + margin: 3px 3px 3px 0; + float: left; } .k-publicspace-title { - font-weight: bold; - display: block; - margin-bottom: 5px; - font-size: 16px; - display: table-caption; + font-weight: bold; + display: block; + margin-bottom: 5px; + font-size: 16px; + display: table-caption; } .k-publicspace-description { - font-size: 14px; - display: table-cell; + font-size: 14px; + display: table-cell; } .k-publicspace-actions { - display: inline; + display: inline; } .k-message-panel { - margin: 5px; - display: table-row; + margin: 5px; + display: table-row; } .k-message-icon { - margin: 3px 3px 3px 0; - float: left; + margin: 3px 3px 3px 0; + float: left; } .k-message-title { - font-weight: bold; - display: block; - margin-bottom: 5px; - font-size: 16px; - display: table-caption; + font-weight: bold; + display: block; + margin-bottom: 5px; + font-size: 16px; + display: table-caption; } .k-message-description { - font-size: 14px; - display: table-cell; + font-size: 14px; + display: table-cell; } .k-error-tb { - background: #FFB380 none repeat scroll 0% 50%; - /* color: #250; */ - margin: 0 20px 0 10px; + background: #FFB380 none repeat scroll 0% 50%; + /* color: #250; */ + margin: 0 20px 0 10px; } .k-error-tb img { - margin: 15px 5px 5px 15px; + margin: 15px 5px 5px 15px; } .k-error-tb span { - position: relative; - top: -7px; - left: 9px; + position: relative; + top: -7px; + left: 9px; } .k-mask { - background-color: #F2F2F2 !important; - /* kfilter: alpha(opacity = 78) !important; */ - -moz-opacity: 0.78 !important; - -khtml-opacity: 0.78 !important; - opacity: 0.78 !important; + background-color: #F2F2F2 !important; + /* kfilter: alpha(opacity = 78) !important; */ + -moz-opacity: 0.78 !important; + -khtml-opacity: 0.78 !important; + opacity: 0.78 !important; } .x-form-item-label { - font-size: 16px; - font-weight: bold; + font-size: 14px; + font-weight: bold; + color: brown; } .x-form-text { - font-size: 14px; + font-size: 14px; } - \ No newline at end of file + +.x-fieldset-header-text,.x-form-group-label,.x-form-cb-label { + font-size: 14px; + font-family: 'Ubuntu', Arial; +} + +.k-form-intro { + font-size: 14px; + margin-bottom: 10px; +} + +.k-form-fieldset { + font-size: 16px; + margin-left: 105px; +} \ 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-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-02-08 14:17:50 UTC (rev 1241) @@ -4,7 +4,7 @@ <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Kune</title> <script type="text/javascript" language="javascript" - src="/ws/ws.nocache.js"></script> + src="/ws/ws.nocache.js"></script> <meta name="emite.httpBase" content="/http-bind/" /> <meta name="emite.host" content="localhost" /> <meta name="emite.searchHost" content="search.localhost" /> @@ -25,52 +25,52 @@ <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"> + href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css"> <!-- FIXME: make something local --> <script src="//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script> <script> - WebFont.load({ - google : { - families : [ 'Ubuntu' ] - } - }); + WebFont.load({ + google : { + families : [ 'Ubuntu' ] + } + }); </script> <!-- Only for wave testing --> <script type="text/javascript" language="javascript"> - var __session = { - "id" : "TK8O7UyqvT", - "address" : "[email protected]", - "domain" : "kune.beta.iepala.es" - }; - var __client_flags = {}; - var __useSocketIO = true; + var __session = { + "id" : "TK8O7UyqvT", + "address" : "[email protected]", + "domain" : "kune.beta.iepala.es" + }; + var __client_flags = {}; + var __useSocketIO = true; </script> <link - href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic' - rel='stylesheet' type='text/css'> + href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic' + rel='stylesheet' type='text/css'> <!-- <link href='http://fonts.googleapis.com/css?family=Inconsolata' - rel='stylesheet' type='text/css'> --> + 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-common.css"> <link type="text/css" rel="stylesheet" - href="fontface/ubuntufontface.css"> + href="fontface/ubuntufontface.css"> <link type="text/css" rel="stylesheet" href="kune-message.css"> <link type="text/css" rel="stylesheet" href="ws.css"> <style type="text/css"> body { - background-color: white; - color: black; - font-family: 'Ubuntu', Arial; - font-size: small; - margin: 5px; - overflow: hidden; + background-color: white; + color: black; + font-family: 'Ubuntu', Arial; + font-size: small; + margin: 5px; + overflow: hidden; } .banner { - margin: 30px; + margin: 30px; } </style> <!--[if IE 6]> @@ -82,13 +82,15 @@ <div class="banner" id="banner"></div> <!-- Autocomplete user/pass --> <form method="post" action="javascript:void(0)" style="display: none"> -<input type="text" id="username" name="username" value="" /> <input - type="password" id="password" name="password" value="" /> <input - type="submit" value="Login" id="login" /></form> +<input type="text" id="address" name="address" value="" /> <input + type="password" id="password" name="password" value="" /> <input + type="submit" value="Login" id="login" /> + <input type="submit" class="wiab le button" name="signIn" id="signIn" value="Sign in"> + </form> <!-- RECOMMENDED if your web app will not function without JavaScript enabled --> <noscript> <div - style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif"> + style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif"> Your web browser must have JavaScript enabled in order for this application to display correctly.</div> </noscript> Added: trunk/src/main/java/cc/kune/wave/client/WaveClientTester.java =================================================================== --- trunk/src/main/java/cc/kune/wave/client/WaveClientTester.java (rev 0) +++ trunk/src/main/java/cc/kune/wave/client/WaveClientTester.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -0,0 +1,43 @@ +package cc.kune.wave.client; + +import cc.kune.common.client.noti.NotifyUser; + +import com.google.gwt.http.client.Request; +import com.google.gwt.http.client.RequestBuilder; +import com.google.gwt.http.client.RequestCallback; +import com.google.gwt.http.client.RequestException; +import com.google.gwt.http.client.Response; +import com.google.gwt.http.client.URL; + +public class WaveClientTester { + + public WaveClientTester() { + } + + public void doLogin(final String userWithoutDomain, final String passwd) { + final RequestBuilder request = new RequestBuilder(RequestBuilder.POST, "/auth/signin/"); + final StringBuffer params = new StringBuffer(); + params.append("address="); + params.append(URL.encodeQueryString(userWithoutDomain)); + params.append("&password="); + params.append(URL.encodeQueryString(passwd)); + params.append("&signIn="); + params.append(URL.encodeQueryString("Sign in")); + try { + request.setHeader("Content-Type", "application/x-www-form-urlencoded"); + request.sendRequest(params.toString(), new RequestCallback() { + @Override + public void onError(final Request request, final Throwable exception) { + NotifyUser.error(exception.getStackTrace().toString(), true); + } + + @Override + public void onResponseReceived(final Request request, final Response response) { + NotifyUser.info(response.getText()); + } + }); + } catch (final RequestException e) { + NotifyUser.error(e.getStackTrace().toString(), true); + } + } +} Property changes on: trunk/src/main/java/cc/kune/wave/client/WaveClientTester.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java =================================================================== --- trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java (rev 0) +++ trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -0,0 +1,188 @@ +/** + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package cc.kune.wave.server; + +import java.io.IOException; +import java.lang.reflect.Method; +import java.util.Enumeration; +import java.util.HashMap; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.json.JSONException; +import org.json.JSONObject; +import org.waveprotocol.box.common.SessionConstants; +import org.waveprotocol.box.server.CoreSettings; +import org.waveprotocol.box.server.authentication.SessionManager; +import org.waveprotocol.box.server.gxp.TopBar; +import org.waveprotocol.box.server.gxp.WaveClientPage; +import org.waveprotocol.box.server.rpc.BaseUrlHelper; +import org.waveprotocol.box.server.util.RandomBase64Generator; +import org.waveprotocol.wave.client.util.ClientFlagsBase; +import org.waveprotocol.wave.common.bootstrap.FlagConstants; +import org.waveprotocol.wave.model.wave.ParticipantId; +import org.waveprotocol.wave.util.logging.Log; + +import com.google.common.collect.Maps; +import com.google.gxp.base.GxpContext; +import com.google.inject.Inject; +import com.google.inject.name.Named; + +/** + * The HTTP servlet for serving a wave client along with content generated on + * the server. + * + * @author [email protected] (Benjamin Kalman) + */ +public class CustomWaveClientServlet extends HttpServlet { + + private static final HashMap<String, String> FLAG_MAP = Maps.newHashMap(); + + private static final Log LOG = Log.get(CustomWaveClientServlet.class); + static { + // __NAME_MAPPING__ is a map of name to obfuscated id + for (int i = 0; i < FlagConstants.__NAME_MAPPING__.length; i += 2) { + FLAG_MAP.put(FlagConstants.__NAME_MAPPING__[i], FlagConstants.__NAME_MAPPING__[i + 1]); + } + } + + private final String baseUrl; + private final String domain; + private final SessionManager sessionManager; + private final Boolean useSocketIO; + + /** + * Creates a servlet for the wave client. + */ + @Inject + public CustomWaveClientServlet(@Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain, + @Named(CoreSettings.USE_SOCKETIO) final Boolean useSocketIO, + @Named(CoreSettings.HTTP_BASE_URL) final String baseUrl, final SessionManager sessionManager) { + this.domain = domain; + this.useSocketIO = useSocketIO; + this.baseUrl = BaseUrlHelper.removeLastSlash(baseUrl); + this.sessionManager = sessionManager; + } + + @Override + protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws IOException { + final ParticipantId id = sessionManager.getLoggedInUser(request.getSession(false)); + + // Eventually, it would be nice to show users who aren't logged in the + // public waves. + // However, public waves aren't implemented yet. For now, we'll just + // redirect users + // who haven't signed in to the sign in page. + // COMMENTED (vjrj) + if (id == null) { + response.sendRedirect(baseUrl + sessionManager.getLoginUrl(baseUrl + "/")); + return; + } + + String username = null; + String userDomain = null; + if (id != null) { + final String[] parts = id.getAddress().split("@"); + username = parts[0]; + userDomain = id.getDomain(); + } + + try { + WaveClientPage.write(response.getWriter(), new GxpContext(request.getLocale()), + getSessionJson(request.getSession(false)), getClientFlags(request), + TopBar.getGxpClosure(username, userDomain, baseUrl), useSocketIO, baseUrl); + } catch (final IOException e) { + LOG.warning("Failed to write GXP for request " + request, e); + response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + return; + } + + response.setContentType("text/html"); + response.setStatus(HttpServletResponse.SC_OK); + } + + private JSONObject getClientFlags(final HttpServletRequest request) { + try { + final JSONObject ret = new JSONObject(); + + final Enumeration<?> iter = request.getParameterNames(); + while (iter.hasMoreElements()) { + final String name = (String) iter.nextElement(); + final String value = request.getParameter(name); + + if (FLAG_MAP.containsKey(name)) { + // Set using the correct type of data in the json using + // reflection + try { + final Method getter = ClientFlagsBase.class.getMethod(name); + final Class<?> retType = getter.getReturnType(); + + if (retType.equals(String.class)) { + ret.put(FLAG_MAP.get(name), value); + } else if (retType.equals(Integer.class)) { + ret.put(FLAG_MAP.get(name), Integer.parseInt(value)); + } else if (retType.equals(Boolean.class)) { + ret.put(FLAG_MAP.get(name), Boolean.parseBoolean(value)); + } else if (retType.equals(Float.class)) { + ret.put(FLAG_MAP.get(name), Float.parseFloat(value)); + } else if (retType.equals(Double.class)) { + ret.put(FLAG_MAP.get(name), Double.parseDouble(value)); + } else { + // Flag exists, but its type is unknown, so it can + // not be + // properly encoded in JSON. + LOG.warning("Ignoring flag [" + name + "] with unknown return type: " + retType); + } + + // Ignore the flag on any exception + } catch (final SecurityException ex) { + } catch (final NoSuchMethodException ex) { + LOG.warning("Failed to find the flag [" + name + "] in ClientFlagsBase."); + } catch (final NumberFormatException ex) { + } + } + } + + return ret; + } catch (final JSONException ex) { + LOG.severe("Failed to create flags JSON"); + return new JSONObject(); + } + } + + private JSONObject getSessionJson(final HttpSession session) { + try { + final ParticipantId user = sessionManager.getLoggedInUser(session); + final String address = (user != null) ? user.getAddress() : null; + + // TODO(zdwang): Figure out a proper session id rather than + // generating a + // random number + final String sessionId = (new RandomBase64Generator()).next(10); + + return new JSONObject().put(SessionConstants.DOMAIN, domain).putOpt(SessionConstants.ADDRESS, address).putOpt( + SessionConstants.ID_SEED, sessionId); + } catch (final JSONException e) { + LOG.severe("Failed to create session JSON"); + return new JSONObject(); + } + } +} Property changes on: trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/wave/server/WaveStarter.java =================================================================== --- trunk/src/main/java/cc/kune/wave/server/WaveStarter.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/cc/kune/wave/server/WaveStarter.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -45,7 +45,6 @@ import org.waveprotocol.box.server.rpc.FetchServlet; import org.waveprotocol.box.server.rpc.ServerRpcProvider; import org.waveprotocol.box.server.rpc.SignOutServlet; -import org.waveprotocol.box.server.rpc.WaveClientServlet; import org.waveprotocol.box.server.waveserver.WaveBus; import org.waveprotocol.box.server.waveserver.WaveServerException; import org.waveprotocol.box.server.waveserver.WaveletProvider; @@ -140,7 +139,7 @@ final ServletHolder proxyServletHolder = server.addServlet("/gadgets/*", proxyServlet); proxyServletHolder.setInitParameter("HostHeader", gadgetServerHostname); - server.addServlet("/", injector.getInstance(WaveClientServlet.class)); + server.addServlet("/", injector.getInstance(CustomWaveClientServlet.class)); } public WaveStarter() { Modified: trunk/src/main/java/org/ourproject/kune/app/server/AbstractExtendedModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/AbstractExtendedModule.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/org/ourproject/kune/app/server/AbstractExtendedModule.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneApplicationListener.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/KuneApplicationListener.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/org/ourproject/kune/app/server/KuneApplicationListener.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/org/ourproject/kune/app/server/KuneContainerListener.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify @@ -99,12 +99,8 @@ builder.exclude("/javascripts/.*"); builder.exclude("/templates/.*"); - /* Wave with context '/wiab/' */ - // builder.exclude("/wiab.*"); - // builder.exclude("/socket.*"); - /* Wave with context '/' */ - builder.exclude("/"); + // builder.exclude("/*"); builder.exclude("/attachment/.*"); builder.exclude("/auth/signin"); builder.exclude("/auth/signout"); Modified: trunk/src/main/java/org/ourproject/kune/app/server/NotInObject.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/server/NotInObject.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/org/ourproject/kune/app/server/NotInObject.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) * This file is part of kune. * * This program is free software: you can redistribute it and/or modify Modified: trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-02-08 14:17:50 UTC (rev 1241) @@ -90,7 +90,6 @@ throws IOException, ServletException { final String relative = RackHelper.getRelativeURL(request); - LOG.debug("REQUEST: " + relative); for (final RequestMatcher matcher : excludes) { if (matcher.matches(relative)) { LOG.info("Excluded (from Guice): " + relative); @@ -98,7 +97,7 @@ return; } } - + LOG.debug("REQUEST: " + relative); final FilterChain newChain = new DockChain(docks.iterator()); newChain.doFilter(request, response); } Modified: trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- trunk/src/main/webapp/WEB-INF/web.xml 2011-02-07 21:14:53 UTC (rev 1240) +++ trunk/src/main/webapp/WEB-INF/web.xml 2011-02-08 14:17:50 UTC (rev 1241) @@ -18,7 +18,6 @@ <welcome-file-list> <welcome-file>ws.html</welcome-file> </welcome-file-list> - <!-- Wave proxies ========================================================================================= --> <filter> <filter-name>JettyContinuationFilter</filter-name> @@ -26,6 +25,23 @@ </filter> <filter-mapping> <filter-name>JettyContinuationFilter</filter-name> + <servlet-name>Wiab</servlet-name> + <!-- <url-pattern>/*</url-pattern> --> + </filter-mapping> + <servlet> + <servlet-name>Wiab</servlet-name> + <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> + <init-param> + <param-name>ProxyTo</param-name> + <param-value>http://127.0.0.1:9898/</param-value> + </init-param> + <init-param> + <param-name>Prefix</param-name> + <param-value>/</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>Wiab</servlet-name> <url-pattern>/attachment/*</url-pattern> <url-pattern>/auth/signin</url-pattern> <url-pattern>/auth/signout</url-pattern> @@ -43,8 +59,8 @@ <url-pattern>/static/*</url-pattern> <url-pattern>/webclient/*</url-pattern> <!-- <url-pattern>/*</url-pattern> --> - </filter-mapping> - + <!-- <load-on-startup>1</load-on-startup> --> + </servlet-mapping> <!-- JRuby servlets ======================================================================================= --> <!-- Note: this gives problems depending on the version of jetty or tomcat --> <context-param> @@ -84,7 +100,6 @@ <listener> <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class> </listener> - <!-- Emite xmpp proxy ======================================================================================= --> <!-- <servlet> --> <!-- <servlet-name>HttpBind</servlet-name> --> @@ -123,278 +138,6 @@ <url-pattern>/http-bind/ </url-pattern> </servlet-mapping> - <!-- Wave proxies with context / ====================================================================== --> - <servlet> - <servlet-name>WiabAttachs</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabAttachs</servlet-name> - <url-pattern>/attachment/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabSignIn</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabSignIn</servlet-name> - <url-pattern>/auth/signin</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabSignOut</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabSignOut</servlet-name> - <url-pattern>/auth/signout</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabRegister</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabRegister</servlet-name> - <url-pattern>/auth/register</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabFetch</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabFetch</servlet-name> - <url-pattern>/fetch/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabRobotDataApi</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabRobotDataApi</servlet-name> - <url-pattern>/robot/dataapi</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabRobotDataApiOauth</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabRobotDataApiOauth</servlet-name> - <url-pattern>/robot/dataapi/oauth/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabRobotDataApiRpc</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabRobotDataApiRpc</servlet-name> - <url-pattern>/robot/dataapi/rpc</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabRobotRegister</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabRobotRegister</servlet-name> - <url-pattern>/robot/register/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabRobotRpc</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabRobotRpc</servlet-name> - <url-pattern>/robot/rpc</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabGadgets</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabGadgets</servlet-name> - <url-pattern>/gadgets</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabGadgetsAst</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabGadgetsAst</servlet-name> - <url-pattern>/gadgets/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabSocketIO</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabSocketIO</servlet-name> - <url-pattern>/socket.io/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabSocket</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabSocket</servlet-name> - <url-pattern>/socket</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabStatic</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabStatic</servlet-name> - <url-pattern>/static/*</url-pattern> - </servlet-mapping> - <!-- ==================== --> - <servlet> - <servlet-name>WiabWebClient</servlet-name> - <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> - <init-param> - <param-name>ProxyTo</param-name> - <param-value>http://127.0.0.1:9898/</param-value> - </init-param> - <init-param> - <param-name>Prefix</param-name> - <param-value>/</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>WiabWebClient</servlet-name> - <url-pattern>/webclient/*</url-pattern> - </servlet-mapping> <!-- Kune normal guice configuration ======================================================================== --> <filter> <filter-name>rack</filter-name>
participants (1)
-
Vicente J. Ruiz Jurado