kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1587 discussions
Author: vjrj_
Date: 2011-01-10 05:43:49 +0100 (Mon, 10 Jan 2011)
New Revision: 1179
Added:
trunk/src/main/java/cc/kune/common/
trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
trunk/src/main/java/cc/kune/common/client/
trunk/src/main/java/cc/kune/common/client/noti/
trunk/src/main/java/cc/kune/common/client/noti/AlertEvent.java
trunk/src/main/java/cc/kune/common/client/noti/ConfirmAskEvent.java
trunk/src/main/java/cc/kune/common/client/noti/NotifyLevel.java
trunk/src/main/java/cc/kune/common/client/noti/SimpleCallback.java
trunk/src/main/java/cc/kune/common/client/ui/
trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java
trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java
trunk/src/main/java/cc/kune/common/client/utils/
trunk/src/main/java/cc/kune/common/client/utils/Location.java
trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java
trunk/src/main/java/cc/kune/common/client/utils/WindowUtils.java
trunk/src/main/java/cc/kune/common/public/
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl2.java
trunk/src/main/java/cc/kune/core/client/ui/
trunk/src/main/java/cc/kune/core/client/ui/dialogs/
trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.java
trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.ui.xml
trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsView.java
trunk/src/main/java/cc/kune/msgs/client/CloseCallback.java
trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml
trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.ui.xml
trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java
Removed:
trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java
trunk/src/main/java/cc/kune/core/client/utils/
trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml
trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java
trunk/src/main/java/cc/kune/msgs/client/msgs/
trunk/src/main/java/cc/kune/msgs/client/panel/
Modified:
trunk/img/webtemplate/web_template-2011.svg
trunk/pom.xml
trunk/script/css-update.sh
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/core/Core.gwt.xml
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java
trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java
trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml
trunk/src/main/java/cc/kune/msgs/public/kune-message.css
trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java
trunk/src/main/java/org/ourproject/kune/chat/client/ctx/room/AddRoomPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/KuneStringUtils.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/noti/ConfirmationAsk.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertimg/ext/InsertImageExtPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertmedia/ExternalMediaRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertspecialchar/utf8/InsertSpecialUTF8CharPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/inserttable/InsertTableDialogPanel.java
trunk/src/main/java/org/ourproject/kune/platf/server/i18n/I18nTranslationServiceDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java
trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/upload/FileUploaderDialog.java
trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java
trunk/src/test/java/org/ourproject/kune/platf/client/ui/KuneStringUtilsTest.java
trunk/src/test/java/org/ourproject/kune/platf/client/ui/TextUtilsTest.java
Log:
NEW - # 11: New messages widget
http://kune.ourproject.org/issues/ticket/11
Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/img/webtemplate/web_template-2011.svg 2011-01-10 04:43:49 UTC (rev 1179)
@@ -53,15 +53,15 @@
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="475.0028"
- inkscape:cy="695.87654"
- inkscape:current-layer="layer1"
+ inkscape:cy="455.87654"
+ inkscape:current-layer="g8450"
inkscape:document-units="px"
showgrid="false"
- inkscape:window-width="1280"
- inkscape:window-height="745"
+ inkscape:window-width="1278"
+ inkscape:window-height="1007"
inkscape:window-x="0"
- inkscape:window-y="1024"
- inkscape:window-maximized="1"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
@@ -2197,7 +2197,8 @@
id="layer1"
inkscape:label="normal"
inkscape:groupmode="layer"
- style="display:inline">
+ style="display:inline"
+ sodipodi:insensitive="true">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect5037"
@@ -2305,7 +2306,7 @@
id="g5365">
<path
transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)"
- d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
+ d="m 277.35793,332.62314 a 26.82268,26.82268 0 1 1 -53.64536,0 26.82268,26.82268 0 1 1 53.64536,0 z"
sodipodi:ry="26.82268"
sodipodi:rx="26.82268"
sodipodi:cy="332.62314"
@@ -2315,7 +2316,7 @@
sodipodi:type="arc" />
<path
transform="matrix(0.05245387,0,0,0.05245387,400.1808,-0.554549)"
- d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
+ d="m 277.35793,332.62314 a 26.82268,26.82268 0 1 1 -53.64536,0 26.82268,26.82268 0 1 1 53.64536,0 z"
sodipodi:ry="26.82268"
sodipodi:rx="26.82268"
sodipodi:cy="332.62314"
@@ -2640,7 +2641,7 @@
transform="translate(-751,-12)">
<path
transform="translate(0,-3)"
- d="m 333,232 c 0,6.07513 -4.92487,11 -11,11 -6.07513,0 -11,-4.92487 -11,-11 0,-6.07513 4.92487,-11 11,-11 6.07513,0 11,4.92487 11,11 z"
+ d="m 333,232 a 11,11 0 1 1 -22,0 11,11 0 1 1 22,0 z"
sodipodi:ry="11"
sodipodi:rx="11"
sodipodi:cy="232"
@@ -4468,136 +4469,7 @@
height="3.7137473"
x="130.07883"
y="111.25339" />
- <rect
- style="color:#000000;fill:#501616;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect4526"
- width="13"
- height="6"
- x="17"
- y="139" />
<g
- id="g4532"
- style="fill:#892c00;fill-opacity:1;opacity:0.85">
- <rect
- rx="5"
- ry="5"
- y="110.34837"
- x="4.9808998"
- height="182.65163"
- width="322.0191"
- id="rect4520"
- style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <rect
- y="110.5"
- x="5"
- height="45"
- width="71"
- id="rect4522"
- style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <rect
- style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect4528"
- width="71"
- height="45"
- x="5"
- y="247.5" />
- <rect
- y="110.5"
- x="256"
- height="45"
- width="71"
- id="rect4530"
- style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </g>
- <rect
- style="opacity:0.79000004999999984;color:#000000;fill:#fff0e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect4538"
- width="294.9017"
- height="42"
- x="17"
- y="141"
- ry="3"
- rx="3" />
- <use
- x="0"
- y="0"
- xlink:href="#rect4538"
- id="use4540"
- transform="translate(0,49)"
- width="1024"
- height="768" />
- <use
- x="0"
- y="0"
- xlink:href="#use4540"
- id="use4542"
- transform="translate(0,49)"
- width="1024"
- height="768" />
- <text
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
- xml:space="preserve"
- style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffe9da;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- x="15.226257"
- y="133.22296"
- id="text4548"
- sodipodi:linespacing="100%"><tspan
- id="tspan4550"
- sodipodi:role="line"
- x="15.226257"
- y="133.22296">Messages</tspan></text>
- <image
- y="140"
- x="17"
- id="image5750"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAWpJREFU
-OI3V07svw1EUB/Bv65FqtKrUY0A8QjQIaRCbgUZSoQkSiSYSj8mASEgHg8dfYDWRWjvUahAj0QRD
-k9+AySAsIvq7j985tqYJ9UgtTnJyh5v7Od/hHhszI5+y5/X6L4DCXBf3p7NTTLTGxGNNQ7HHXyW4
-PYm4SamtsvrxflJq/asEnwKk1Iq7LtTuru2BFmo+FQ/3/hgwEpN+LdSyq9ID6yWB6q4FjyXk5k1s
-pOhbIBUP27WQUZ9/xgszifPDI5R60tCmHNWmHPsWsIQMOiu6Iq7yN5C4A5hgvV6gcXDNpoXYOd8b
-cOUErg6CxdqUu576btDbNZjSCEy0geQDHA4D1Z3T7VrI1ZyAJeSityUUcLqewPoZsBXgMm4AIJBp
-wNfaAEuopbPtDn82kPkH2hRRn38csN/D7vYBYPTNhTNzCkqa0TS8UWUcb28BmPoICOlI7k+kmRhM
-lNWcOUEEZq7JTmD7/8v0DkyzqBlaCormAAAAAElFTkSuQmCC
-"
- height="40"
- width="40" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot5765"
- style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- transform="translate(4.170296,-7.003638)"><flowRegion
- id="flowRegion5767"><rect
- id="rect5769"
- width="272.94324"
- height="32.526917"
- x="51.618793"
- y="156.35263"
- style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu" /></flowRegion><flowPara
- id="flowPara5771">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</flowPara></flowRoot> <image
- y="171.03604"
- x="303.15076"
- id="image8263"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAsNJREFU
-OI1tk7tPk1EUwH/fow+0NRIjg48YGgOt4KOp4aWk2iBqYkLixmJw8T9w6cBgpHFwMHEwLsRBB/AB
-MbiYUDSasIjBxA4OKLXUFkppsR/C1373uw6UCupNbm5ykt/vnHtOjsK28zgc1tNv344IuMp/jgaT
-Ai5HobIVU/6Cnzb5fJcu3rjhVjQNACklCIG0LN49emR+mpt7I+BKFKyaoAo/9/t8vZHr192LU1OY
-+fyO7E6vl4bOTt6NjpqJZHJSQF8ULG04FHJkp6dfBI4e7Y0MDGzCa2tgWTsEQlVZT6cJRCL62sLC
-4ZVS6fRAOPxM68pkXh5rauo5f+2aOxuPYzU0oMdikEwis9nNvx8/zt5796gkEhifP3MsHNaNVOrI
-t0QiqPWo6pP+mzf1zOvXlAsF1L4+1NZWlM5O+PoVdd8+9gwN4aqvR5GS0tQUvwoFWsJhfebjx4Cu
-KApISblQ2Cx1eBhcLly9vbgHB9EVBafHgxmPk797FxvYMAykECiA+s+spEQ8eICcmcG5axdOrxdr
-dpZcLIawbWzABmS1R/8KAK2lBXcohK7rOBwOdgeD1IVCyCosymXEwsIfgRSiBqutrXhv38bp9bIR
-j7M2MYHT48F3/z6ejg7MXA7jyxfkz58A6FLKTZthICyLuvZ2XFV4eWgI2zTRgP39/dSdPMnGw4eg
-adjVpNoFKbsrxeKhQHu7VkokKI2PU/n+naVbtyhnMpSXl8mNjbE+P0/yzh0UTcPn95NeWbG/ra7m
-lRg4NXh1orGxuy0YdKXicdaLxVqztl/F4aCxuZl0oSDep9NLNnRpkyAiMJIrFs+ahnEw0NamlxYX
-qZjmDlh1OGj0+5nP58X0jx8pGzqikKot01Yl/gMHus+cOuVShMC2LKRl1d5EMml9yGbnbDgbheUd
-27hdIqDnf+NVYdaGc1FY3Yr9BsdNUva1UTzZAAAAAElFTkSuQmCC
-"
- height="16"
- width="16"
- style="fill:#cccccc;opacity:0.81" />
- <g
transform="translate(804.21116,-270.59772)"
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
@@ -4656,7 +4528,7 @@
id="layer3"
inkscape:label="overlay"
sodipodi:insensitive="true"
- style="display:none">
+ style="display:inline">
<rect
style="opacity:0.68399999;color:#000000;fill:#f7ebe3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3865"
@@ -4672,74 +4544,6 @@
inkscape:label="dialogs"
style="display:none">
<rect
- transform="matrix(0,1,1,0,0,0)"
- ry="5"
- rx="5.0000005"
- y="138.96637"
- x="375.22134"
- height="343"
- width="63"
- id="rect3248"
- style="opacity:0.5;color:#000000;fill:#666666;stroke:#808080;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <rect
- style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect3460"
- width="60.841721"
- height="341.04489"
- x="376.37964"
- y="139.96637"
- rx="5"
- ry="5"
- transform="matrix(0,1,1,0,0,0)" />
- <image
- style="display:inline"
- y="383.22137"
- x="148.96637"
- id="image3210"
- xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
- height="44"
- width="44" />
- <text
- xml:space="preserve"
- style="font-size:13px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffe6d5;fill-opacity:1;stroke:none;display:inline;font-family:Handmedown;-inkscape-font-specification:Verdana Bold"
- x="200.2027"
- y="393.09833"
- id="text3213"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3215"
- x="200.2027"
- y="393.09833"
- style="font-size:13px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffe6d5;font-family:Verdana;-inkscape-font-specification:Verdana Bold">Some notice/info/alert title</tspan></text>
- <text
- sodipodi:linespacing="125%"
- id="text3217"
- y="411.09833"
- x="200.2027"
- style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;font-family:Verdana;-inkscape-font-specification:Verdana"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- id="tspan3221"
- x="200.2027"
- y="411.09833">Lorem ipsum dolor sit amet, consectetuer</tspan><tspan
- sodipodi:role="line"
- x="200.2027"
- y="427.34833"
- id="tspan3223">adipiscing elit.</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:11.34050751px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff7f2a;fill-opacity:1;stroke:none;display:inline;font-family:Handmedown;-inkscape-font-specification:Verdana Bold"
- x="480.7074"
- y="377.68677"
- id="text3213-2"
- sodipodi:linespacing="125%"
- transform="scale(0.96997425,1.0309552)"><tspan
- sodipodi:role="line"
- id="tspan3215-7"
- x="480.7074"
- y="377.68677"
- style="font-size:11.34050751px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ff7f2a;font-family:Verdana;-inkscape-font-specification:Verdana Bold">x</tspan></text>
- <rect
style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect24748"
width="646.41687"
@@ -4883,5 +4687,242 @@
x="722.03516"
id="tspan3972"
sodipodi:role="line">Cancelar</tspan></text>
+ <path
+ style="opacity:0.81000001;color:#000000;fill:#ac9393;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 795,144 211,-25"
+ id="path8441"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#6c5353;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:transform-center-x="-5.9580116"
+ inkscape:transform-center-y="-0.62993359"
+ d="m 862.37995,145.60404 -26.67151,29.29513 -1.53827,-47.36987 z"
+ id="path8447"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
</g>
+ <g
+ style="display:inline"
+ inkscape:label="confirmation"
+ id="g8450"
+ inkscape:groupmode="layer">
+ <rect
+ ry="10"
+ rx="10"
+ y="113.49999"
+ x="277.29156"
+ height="205.09827"
+ width="476.85486"
+ id="rect8452"
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#e7caba;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8454"
+ width="371.33139"
+ height="100.00001"
+ x="324.55331"
+ y="148" />
+ <rect
+ y="112.08939"
+ x="277.29156"
+ height="19.354607"
+ width="476.85486"
+ id="rect8456"
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="434.16895"
+ y="184.81694"
+ id="text8468"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8470"
+ x="434.16895"
+ y="184.81694">Confirm please</tspan></text>
+ <rect
+ ry="7"
+ rx="6.9999995"
+ y="280"
+ x="299"
+ height="26"
+ width="103.29102"
+ id="rect8472"
+ style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text8474"
+ y="298.10547"
+ x="312.03516"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="298.10547"
+ x="312.03516"
+ id="tspan8476"
+ sodipodi:role="line">Continuar</tspan></text>
+ <rect
+ style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8488"
+ width="103.29102"
+ height="26"
+ x="619"
+ y="280"
+ rx="6.9999995"
+ ry="7" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="636.03516"
+ y="298.10547"
+ id="text8490"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8492"
+ x="636.03516"
+ y="298.10547">Cancelar</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ id="path8494"
+ d="m 795,144 211,-25"
+ style="opacity:0.81000001;color:#000000;fill:#ac9393;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text8498"
+ y="222.14001"
+ x="434.08438"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ sodipodi:role="line"
+ id="tspan8502"
+ x="434.08438"
+ y="222.14001">Are you sure?</tspan></text>
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path8496"
+ d="m 819.54682,-91.528118 -26.67151,29.29513 -1.53827,-47.369872 z"
+ inkscape:transform-center-y="-0.62993359"
+ inkscape:transform-center-x="-5.9580116"
+ style="color:#000000;fill:#6c5353;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="notify"
+ style="display:none">
+ <g
+ style="display:inline"
+ id="g8344"
+ transform="translate(0,323)">
+ <g
+ transform="matrix(1,0,0,-0.84861,315.32544,35.16246)"
+ style="opacity:0.85;fill:#892c00;fill-opacity:1"
+ id="g4532">
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4520"
+ width="322.0191"
+ height="182.65163"
+ x="4.9808998"
+ y="110.34837"
+ ry="5.8919883"
+ rx="5" />
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4522"
+ width="71"
+ height="45"
+ x="5"
+ y="247.1942" />
+ <rect
+ y="247.5"
+ x="5"
+ height="45"
+ width="71"
+ id="rect4528"
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4530"
+ width="71"
+ height="45"
+ x="256"
+ y="248.37251" />
+ </g>
+ <rect
+ rx="3"
+ ry="3"
+ y="-206.48027"
+ x="332.32544"
+ height="42"
+ width="294.9017"
+ id="rect4538"
+ style="opacity:0.79000005;color:#000000;fill:#fff0e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <use
+ height="768"
+ width="1024"
+ transform="translate(0,49)"
+ id="use4540"
+ xlink:href="#rect4538"
+ y="0"
+ x="0" />
+ <use
+ height="768"
+ width="1024"
+ transform="translate(0,49)"
+ id="use4542"
+ xlink:href="#use4540"
+ y="0"
+ x="0" />
+ <image
+ width="40"
+ height="40"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAWpJREFU
+OI3V07svw1EUB/Bv65FqtKrUY0A8QjQIaRCbgUZSoQkSiSYSj8mASEgHg8dfYDWRWjvUahAj0QRD
+k9+AySAsIvq7j985tqYJ9UgtTnJyh5v7Od/hHhszI5+y5/X6L4DCXBf3p7NTTLTGxGNNQ7HHXyW4
+PYm4SamtsvrxflJq/asEnwKk1Iq7LtTuru2BFmo+FQ/3/hgwEpN+LdSyq9ID6yWB6q4FjyXk5k1s
+pOhbIBUP27WQUZ9/xgszifPDI5R60tCmHNWmHPsWsIQMOiu6Iq7yN5C4A5hgvV6gcXDNpoXYOd8b
+cOUErg6CxdqUu576btDbNZjSCEy0geQDHA4D1Z3T7VrI1ZyAJeSityUUcLqewPoZsBXgMm4AIJBp
+wNfaAEuopbPtDn82kPkH2hRRn38csN/D7vYBYPTNhTNzCkqa0TS8UWUcb28BmPoICOlI7k+kmRhM
+lNWcOUEEZq7JTmD7/8v0DkyzqBlaCormAAAAAElFTkSuQmCC
+"
+ id="image5750"
+ x="332.32544"
+ y="-207.48027" />
+ <flowRoot
+ transform="translate(319.49574,-354.48391)"
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ id="flowRoot5765"
+ xml:space="preserve"><flowRegion
+ id="flowRegion5767"><rect
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ y="156.35263"
+ x="51.618793"
+ height="32.526917"
+ width="272.94324"
+ id="rect5769" /></flowRegion><flowPara
+ id="flowPara5771">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</flowPara></flowRoot> <image
+ style="opacity:0.81000001;fill:#cccccc"
+ width="16"
+ height="16"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAsNJREFU
+OI1tk7tPk1EUwH/fow+0NRIjg48YGgOt4KOp4aWk2iBqYkLixmJw8T9w6cBgpHFwMHEwLsRBB/AB
+MbiYUDSasIjBxA4OKLXUFkppsR/C1373uw6UCupNbm5ykt/vnHtOjsK28zgc1tNv344IuMp/jgaT
+Ai5HobIVU/6Cnzb5fJcu3rjhVjQNACklCIG0LN49emR+mpt7I+BKFKyaoAo/9/t8vZHr192LU1OY
++fyO7E6vl4bOTt6NjpqJZHJSQF8ULG04FHJkp6dfBI4e7Y0MDGzCa2tgWTsEQlVZT6cJRCL62sLC
+4ZVS6fRAOPxM68pkXh5rauo5f+2aOxuPYzU0oMdikEwis9nNvx8/zt5796gkEhifP3MsHNaNVOrI
+t0QiqPWo6pP+mzf1zOvXlAsF1L4+1NZWlM5O+PoVdd8+9gwN4aqvR5GS0tQUvwoFWsJhfebjx4Cu
+KApISblQ2Cx1eBhcLly9vbgHB9EVBafHgxmPk797FxvYMAykECiA+s+spEQ8eICcmcG5axdOrxdr
+dpZcLIawbWzABmS1R/8KAK2lBXcohK7rOBwOdgeD1IVCyCosymXEwsIfgRSiBqutrXhv38bp9bIR
+j7M2MYHT48F3/z6ejg7MXA7jyxfkz58A6FLKTZthICyLuvZ2XFV4eWgI2zTRgP39/dSdPMnGw4eg
+adjVpNoFKbsrxeKhQHu7VkokKI2PU/n+naVbtyhnMpSXl8mNjbE+P0/yzh0UTcPn95NeWbG/ra7m
+lRg4NXh1orGxuy0YdKXicdaLxVqztl/F4aCxuZl0oSDep9NLNnRpkyAiMJIrFs+ahnEw0NamlxYX
+qZjmDlh1OGj0+5nP58X0jx8pGzqikKot01Yl/gMHus+cOuVShMC2LKRl1d5EMml9yGbnbDgbheUd
+27hdIqDnf+NVYdaGc1FY3Yr9BsdNUva1UTzZAAAAAElFTkSuQmCC
+"
+ id="image8263"
+ x="618.4762"
+ y="-176.44423" />
+ </g>
+ </g>
</svg>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/pom.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -224,7 +224,7 @@
<dependency>
<groupId>org.ourproject.common</groupId>
<artifactId>gwt-common</artifactId>
- <version>0.0.3</version>
+ <version>0.0.4</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -246,7 +246,7 @@
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp</artifactId>
- <version>0.4</version>
+ <version>0.5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.adamtacy</groupId>
@@ -749,7 +749,8 @@
<goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
</executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
<version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
- <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
+ <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
+ <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
<plugin>
<!-- =roo -->
<groupId>org.codehaus.mojo</groupId>
@@ -936,4 +937,4 @@
</plugin>
</plugins>
</reporting>
-</project>
\ No newline at end of file
+</project>
Modified: trunk/script/css-update.sh
===================================================================
--- trunk/script/css-update.sh 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/script/css-update.sh 2011-01-10 04:43:49 UTC (rev 1179)
@@ -10,3 +10,5 @@
#rsync -aC $APPPUB/images/ $WEBAPP/images
cp src/main/java/cc/kune/msgs/public/kune-message.css target/kune-0.0.7/ws/
+cp src/main/java/cc/kune/common/public/kune-common.css target/kune-0.0.7/ws/
+cp src/main/java/cc/kune/core/public/ws.css target/kune-0.0.7/ws/
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -5,7 +5,7 @@
<inherits name='com.google.gwt.logging.Logging' />
<inherits name="cc.kune.core.Core" />
<inherits name="com.calclab.suco.Suco" />
- <inherits name="org.adamtacy.GWTEffects"></inherits>
+ <inherits name="org.adamtacy.GWTEffects"></inherits>
<source path='client'
excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
<!-- <source path='shared'/> -->
@@ -30,4 +30,6 @@
<!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
<!-- <set-property name="user.agent" value="gecko1_8" /> -->
<set-property name="user.agent" value="safari,gecko1_8" />
+ <!-- Entrypoint =============================================== -->
+ <entry-point class="cc.kune.core.client.KuneEntryPoint" />
</module>
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module>
+ <!-- Inherit the core Web Toolkit stuff. -->
+ <inherits name='com.google.gwt.user.User' />
+ <!-- Inherit the default GWT style sheet. You can change -->
+ <!-- the theme of your GWT application by uncommenting -->
+ <!-- any one of the following lines. -->
+ <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
+ <!-- Other module inherits -->
+ <!-- Specify the app entry point class. -->
+<!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />-->
+ <!-- Specify the paths for translatable code -->
+ <source path='client' />
+ <public path="public" />
+ <stylesheet src="kune-common.css" />
+</module>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/common/client/noti/AlertEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/noti/AlertEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/noti/AlertEvent.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,119 @@
+package cc.kune.common.client.noti;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.google.gwt.event.shared.HasHandlers;
+
+public class AlertEvent extends GwtEvent<AlertEvent.AlertHandler> {
+
+ public interface HasAlertHandlers extends HasHandlers {
+ HandlerRegistration addAlertHandler(AlertHandler handler);
+ }
+
+ public interface AlertHandler extends EventHandler {
+ public void onAlert(AlertEvent event);
+ }
+
+ private static final Type<AlertHandler> TYPE = new Type<AlertHandler>();
+
+ public static void fire(HasHandlers source, java.lang.String title, java.lang.String message, cc.kune.common.client.noti.SimpleCallback onOk) {
+ source.fireEvent(new AlertEvent(title, message, onOk));
+ }
+
+ public static void fire(HasHandlers source, java.lang.String message) {
+ source.fireEvent(new AlertEvent(message));
+ }
+
+ public static Type<AlertHandler> getType() {
+ return TYPE;
+ }
+
+ java.lang.String title;
+ java.lang.String message;
+ cc.kune.common.client.noti.SimpleCallback onOk;
+
+ public AlertEvent(java.lang.String title, java.lang.String message, cc.kune.common.client.noti.SimpleCallback onOk) {
+ this.title = title;
+ this.message = message;
+ this.onOk = onOk;
+ }
+
+ public AlertEvent(java.lang.String message) {
+ this.message = message;
+ }
+
+ protected AlertEvent() {
+ // Possibly for serialization.
+ }
+
+ @Override
+ public Type<AlertHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public java.lang.String getTitle() {
+ return title;
+ }
+
+ public java.lang.String getMessage() {
+ return message;
+ }
+
+ public cc.kune.common.client.noti.SimpleCallback getOnOk() {
+ return onOk;
+ }
+
+ @Override
+ protected void dispatch(AlertHandler handler) {
+ handler.onAlert(this);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ AlertEvent other = (AlertEvent) obj;
+ if (title == null) {
+ if (other.title != null)
+ return false;
+ } else if (!title.equals(other.title))
+ return false;
+ if (message == null) {
+ if (other.message != null)
+ return false;
+ } else if (!message.equals(other.message))
+ return false;
+ if (onOk == null) {
+ if (other.onOk != null)
+ return false;
+ } else if (!onOk.equals(other.onOk))
+ return false;
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + (title == null ? 1 : title.hashCode());
+ hashCode = (hashCode * 37) + (message == null ? 1 : message.hashCode());
+ hashCode = (hashCode * 37) + (onOk == null ? 1 : onOk.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "AlertEvent["
+ + title
+ + ","
+ + message
+ + ","
+ + onOk
+ + "]";
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/noti/AlertEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/common/client/noti/ConfirmAskEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/noti/ConfirmAskEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/noti/ConfirmAskEvent.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,189 @@
+package cc.kune.common.client.noti;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.google.gwt.event.shared.HasHandlers;
+
+public class ConfirmAskEvent extends GwtEvent<ConfirmAskEvent.ConfirmAskHandler> {
+
+ public interface HasConfirmAskHandlers extends HasHandlers {
+ HandlerRegistration addConfirmAskHandler(ConfirmAskHandler handler);
+ }
+
+ public interface ConfirmAskHandler extends EventHandler {
+ public void onConfirmAsk(ConfirmAskEvent event);
+ }
+
+ private static final Type<ConfirmAskHandler> TYPE = new Type<ConfirmAskHandler>();
+
+ public static void fire(HasHandlers source, java.lang.String title, java.lang.String message, java.lang.String acceptBtnMsg, java.lang.String cancelBtnMsg, java.lang.String acceptBtnTooltip, java.lang.String cancelBtnTooltip, cc.kune.common.client.noti.SimpleCallback onAccept, cc.kune.common.client.noti.SimpleCallback onCancel) {
+ source.fireEvent(new ConfirmAskEvent(title, message, acceptBtnMsg, cancelBtnMsg, acceptBtnTooltip, cancelBtnTooltip, onAccept, onCancel));
+ }
+
+ public static void fire(HasHandlers source, java.lang.String message) {
+ source.fireEvent(new ConfirmAskEvent(message));
+ }
+
+ public static Type<ConfirmAskHandler> getType() {
+ return TYPE;
+ }
+
+ java.lang.String title;
+ java.lang.String message;
+ java.lang.String acceptBtnMsg;
+ java.lang.String cancelBtnMsg;
+ java.lang.String acceptBtnTooltip;
+ java.lang.String cancelBtnTooltip;
+ cc.kune.common.client.noti.SimpleCallback onAccept;
+ cc.kune.common.client.noti.SimpleCallback onCancel;
+
+ public ConfirmAskEvent(java.lang.String title, java.lang.String message, java.lang.String acceptBtnMsg, java.lang.String cancelBtnMsg, java.lang.String acceptBtnTooltip, java.lang.String cancelBtnTooltip, cc.kune.common.client.noti.SimpleCallback onAccept, cc.kune.common.client.noti.SimpleCallback onCancel) {
+ this.title = title;
+ this.message = message;
+ this.acceptBtnMsg = acceptBtnMsg;
+ this.cancelBtnMsg = cancelBtnMsg;
+ this.acceptBtnTooltip = acceptBtnTooltip;
+ this.cancelBtnTooltip = cancelBtnTooltip;
+ this.onAccept = onAccept;
+ this.onCancel = onCancel;
+ }
+
+ public ConfirmAskEvent(java.lang.String message) {
+ this.message = message;
+ }
+
+ protected ConfirmAskEvent() {
+ // Possibly for serialization.
+ }
+
+ @Override
+ public Type<ConfirmAskHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public java.lang.String getTitle() {
+ return title;
+ }
+
+ public java.lang.String getMessage() {
+ return message;
+ }
+
+ public java.lang.String getAcceptBtnMsg() {
+ return acceptBtnMsg;
+ }
+
+ public java.lang.String getCancelBtnMsg() {
+ return cancelBtnMsg;
+ }
+
+ public java.lang.String getAcceptBtnTooltip() {
+ return acceptBtnTooltip;
+ }
+
+ public java.lang.String getCancelBtnTooltip() {
+ return cancelBtnTooltip;
+ }
+
+ public cc.kune.common.client.noti.SimpleCallback getOnAccept() {
+ return onAccept;
+ }
+
+ public cc.kune.common.client.noti.SimpleCallback getOnCancel() {
+ return onCancel;
+ }
+
+ @Override
+ protected void dispatch(ConfirmAskHandler handler) {
+ handler.onConfirmAsk(this);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ConfirmAskEvent other = (ConfirmAskEvent) obj;
+ if (title == null) {
+ if (other.title != null)
+ return false;
+ } else if (!title.equals(other.title))
+ return false;
+ if (message == null) {
+ if (other.message != null)
+ return false;
+ } else if (!message.equals(other.message))
+ return false;
+ if (acceptBtnMsg == null) {
+ if (other.acceptBtnMsg != null)
+ return false;
+ } else if (!acceptBtnMsg.equals(other.acceptBtnMsg))
+ return false;
+ if (cancelBtnMsg == null) {
+ if (other.cancelBtnMsg != null)
+ return false;
+ } else if (!cancelBtnMsg.equals(other.cancelBtnMsg))
+ return false;
+ if (acceptBtnTooltip == null) {
+ if (other.acceptBtnTooltip != null)
+ return false;
+ } else if (!acceptBtnTooltip.equals(other.acceptBtnTooltip))
+ return false;
+ if (cancelBtnTooltip == null) {
+ if (other.cancelBtnTooltip != null)
+ return false;
+ } else if (!cancelBtnTooltip.equals(other.cancelBtnTooltip))
+ return false;
+ if (onAccept == null) {
+ if (other.onAccept != null)
+ return false;
+ } else if (!onAccept.equals(other.onAccept))
+ return false;
+ if (onCancel == null) {
+ if (other.onCancel != null)
+ return false;
+ } else if (!onCancel.equals(other.onCancel))
+ return false;
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + (title == null ? 1 : title.hashCode());
+ hashCode = (hashCode * 37) + (message == null ? 1 : message.hashCode());
+ hashCode = (hashCode * 37) + (acceptBtnMsg == null ? 1 : acceptBtnMsg.hashCode());
+ hashCode = (hashCode * 37) + (cancelBtnMsg == null ? 1 : cancelBtnMsg.hashCode());
+ hashCode = (hashCode * 37) + (acceptBtnTooltip == null ? 1 : acceptBtnTooltip.hashCode());
+ hashCode = (hashCode * 37) + (cancelBtnTooltip == null ? 1 : cancelBtnTooltip.hashCode());
+ hashCode = (hashCode * 37) + (onAccept == null ? 1 : onAccept.hashCode());
+ hashCode = (hashCode * 37) + (onCancel == null ? 1 : onCancel.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "ConfirmAskEvent["
+ + title
+ + ","
+ + message
+ + ","
+ + acceptBtnMsg
+ + ","
+ + cancelBtnMsg
+ + ","
+ + acceptBtnTooltip
+ + ","
+ + cancelBtnTooltip
+ + ","
+ + onAccept
+ + ","
+ + onCancel
+ + "]";
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/noti/ConfirmAskEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/common/client/noti/NotifyLevel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/noti/NotifyLevel.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/noti/NotifyLevel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,5 @@
+package cc.kune.common.client.noti;
+
+public enum NotifyLevel {
+ info, important, veryImportant, error
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/noti/NotifyLevel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/common/client/noti/SimpleCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/noti/SimpleCallback.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/noti/SimpleCallback.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,13 @@
+package cc.kune.common.client.noti;
+
+public interface SimpleCallback {
+ /**
+ * Notifies this callback of an accept response.
+ */
+ void onSuccess();
+
+ /**
+ * Notifies this callback of a cancel.
+ */
+ void onCancel();
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/noti/SimpleCallback.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,51 @@
+package cc.kune.common.client.ui;
+
+import com.google.gwt.event.logical.shared.ResizeEvent;
+import com.google.gwt.event.logical.shared.ResizeHandler;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class PopupPanelBottomCentered extends PopupPanel {
+
+ public PopupPanelBottomCentered() {
+ super();
+ init();
+ }
+
+ public PopupPanelBottomCentered(boolean autohide, boolean modal) {
+ super(autohide, modal);
+ init();
+ }
+
+ public PopupPanelBottomCentered(boolean autohide) {
+ super(autohide);
+ init();
+ }
+
+ private void init() {
+ setStyleName("k-popup-bottom-centered");
+ addStyleName("k-opacity80");
+ addStyleName("k-box-10shadow");
+ addStyleName("k-top-10corners");
+ Window.addResizeHandler(new ResizeHandler() {
+ @Override
+ public void onResize(ResizeEvent event) {
+ setCenterPosition();
+ }
+ });
+ }
+
+ public void setCenterPosition() {
+ Widget widget = getWidget();
+ int x = (Window.getClientWidth() - (widget != null ? getWidget().getOffsetWidth() : 0)) / 2;
+ int y = Window.getClientHeight() - (widget != null ? getWidget().getOffsetHeight() : 0);
+ setPopupPosition(x, y);
+ }
+
+ @Override
+ public void show() {
+ super.show();
+ setCenterPosition();
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,50 @@
+package cc.kune.common.client.ui;
+
+import com.google.gwt.event.logical.shared.ResizeEvent;
+import com.google.gwt.event.logical.shared.ResizeHandler;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class PopupPanelTopCentered extends PopupPanel {
+ public PopupPanelTopCentered() {
+ super();
+ init();
+ }
+
+ public PopupPanelTopCentered(boolean autohide, boolean modal) {
+ super(autohide, modal);
+ init();
+ }
+
+ public PopupPanelTopCentered(boolean autohide) {
+ super(autohide);
+ init();
+ }
+
+ private void init() {
+ setStyleName("k-popup-top-centered");
+ addStyleName("k-opacity80");
+ addStyleName("k-box-10shadow");
+ addStyleName("k-bottom-10corners");
+ Window.addResizeHandler(new ResizeHandler() {
+ @Override
+ public void onResize(ResizeEvent event) {
+ setCenterPosition();
+ }
+ });
+ }
+
+ public void setCenterPosition() {
+ Widget widget = getWidget();
+ int x = (Window.getClientWidth() - (widget != null ? getWidget().getOffsetWidth() : 0)) / 2;
+ int y = 0;
+ setPopupPosition(x, y);
+ }
+
+ @Override
+ public void show() {
+ super.show();
+ setCenterPosition();
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/common/client/utils/Location.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/utils/Location.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/utils/Location.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/utils/Location.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2006 Robert Hanson <iamroberthanson AT gmail.com>
+ *
+ * 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.common.client.utils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Location {
+ private String hash;
+ private String host;
+ private String hostName;
+ private String href;
+ private String path;
+ private String port;
+ private String protocol;
+ private String queryString;
+ private HashMap<String, String> paramMap;
+
+ /**
+ * sample: #site.docs.3.1
+ **/
+ public String getHash() {
+ return hash;
+ }
+
+ /**
+ * sample: locahost:8080
+ *
+ * @return
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * sample: locahost
+ *
+ * @return
+ */
+ public String getHostName() {
+ return hostName;
+ }
+
+ /**
+ * sample: http://localhost:8080/ws/#site.docs.3.1?locale=en&log_level=INFO
+ **/
+ public String getHref() {
+ return href;
+ }
+
+ public String getParameter(final String name) {
+ return paramMap.get(name);
+ }
+
+ public Map<String, String> getParameterMap() {
+ return paramMap;
+ }
+
+ /**
+ * sample: /ws/
+ *
+ * @return
+ */
+ public String getPath() {
+ return path;
+ }
+
+ public String getPort() {
+ return port;
+ }
+
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * sample: ?locale=en&log_level=INFO
+ *
+ * @return
+ */
+ public String getQueryString() {
+ return queryString;
+ }
+
+ protected void setHash(final String hash) {
+ this.hash = hash;
+ }
+
+ protected void setHost(final String host) {
+ this.host = host;
+ }
+
+ protected void setHostName(final String hostName) {
+ this.hostName = hostName;
+ }
+
+ protected void setHref(final String href) {
+ this.href = href;
+ }
+
+ protected void setPath(final String path) {
+ this.path = path;
+ }
+
+ protected void setPort(final String port) {
+ this.port = port;
+ }
+
+ protected void setProtocol(final String protocol) {
+ this.protocol = protocol;
+ }
+
+ protected void setQueryString(final String queryString) {
+ this.queryString = queryString;
+ paramMap = new HashMap<String, String>();
+
+ if (queryString != null && queryString.length() > 1) {
+ String qs = queryString.substring(1);
+ String[] kvPairs = qs.split("&");
+ for (String kvPair : kvPairs) {
+ String[] kv = kvPair.split("=");
+ if (kv.length > 1) {
+ paramMap.put(kv[0], unescape(kv[1]));
+ } else {
+ paramMap.put(kv[0], "");
+ }
+ }
+ }
+ }
+
+ private native String unescape(String val) /*-{
+ return unescape(val);
+ }-*/;
+
+}
\ No newline at end of file
Copied: trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/utils/TextUtils.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,99 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.common.client.utils;
+
+import java.util.ArrayList;
+
+public class TextUtils {
+
+ public static final String IN_DEVELOPMENT_P = " (in development)";
+ public static final String IN_DEVELOPMENT = "In development";
+
+ // Original regexp from http://snippets.dzone.com/posts/show/452
+ public static final String URL_REGEXP = "((ftp|http|https|mailto):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?)";
+
+ // Original regexp from http://www.regular-expressions.info/email.html
+ public static final String EMAIL_REGEXP = "[-!#$%&\'*+/=?_`{|}~a-z0-9^]+(\\.[-!#$%&\'*+/=?_`{|}~a-z0-9^]+)*@(localhost|([a-z0-9]([-a-z0-9]*[a-z0-9])?\\.)+[a-z0-9]([-a-z0-9]*[a-z0-9]))?";
+
+ public static final String UNIX_NAME = "^[a-z0-9_\\-]+$";
+
+ public static final String NUM_REGEXP = "^[0-9]+$";
+
+ /*
+ * This method escape only some dangerous html chars
+ */
+ public static String escapeHtmlLight(final String source) {
+ if (source == null) {
+ return null;
+ }
+ String result = source;
+ result = result.replaceAll("&", "&");
+ result = result.replaceAll("\"", """);
+ // text = text.replaceAll("\'", "'");
+ result = result.replaceAll("<", "<");
+ result = result.replaceAll(">", ">");
+ return result;
+ }
+
+ public static String generateHtmlLink(final String href, final String text) {
+ return "<a href=\"" + href + "\" target=\"_blank\">" + text + "</a>";
+ }
+
+ public static ArrayList<String> splitTags(final String tagsString) {
+ final ArrayList<String> tagsList = new ArrayList<String>();
+ String tagsCopy = tagsString;
+ // remove commas and quotes
+ if (tagsString == null) {
+ return tagsList;
+ }
+ tagsCopy = tagsCopy.replaceAll(",", " ");
+ tagsCopy = tagsCopy.replaceAll("\"", "");
+ tagsCopy = tagsCopy.replaceAll("\'", "");
+ final String[] splitted = tagsCopy.split("\\s+");
+ for (String tag : splitted) {
+ tag = tag.replaceAll("\\s$", "");
+ if (tag.length() > 0) {
+ tagsList.add(tag);
+ }
+ }
+ return tagsList;
+ }
+
+ /*
+ * This method unescape only some dangerous html chars for use in GWT Html
+ * widget for instance
+ */
+ public static String unescape(final String source) {
+ if (source == null) {
+ return null;
+ }
+ String result = source;
+ result = result.replaceAll("&", "&");
+ result = result.replaceAll(""", "\"");
+ result = result.replaceAll("'", "\'");
+ result = result.replaceAll("<", "<");
+ result = result.replaceAll(">", ">");
+ return result;
+ }
+
+ public TextUtils() {
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/cc/kune/common/client/utils/WindowUtils.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/utils/WindowUtils.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/utils/WindowUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/utils/WindowUtils.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2006 Robert Hanson <iamroberthanson AT gmail.com>
+ *
+ * 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.common.client.utils;
+
+public class WindowUtils {
+
+ public static Location getLocation() {
+ Location result = new Location();
+ result.setHash(getHash());
+ result.setHost(getHost());
+ result.setHostName(getHostName());
+ result.setHref(getHref());
+ result.setPath(getPath());
+ result.setPort(getPort());
+ result.setProtocol(getProtocol());
+ result.setQueryString(getQueryString());
+ return result;
+ }
+
+ private static native String getHash() /*-{
+ return $wnd.location.hash;
+ }-*/;
+
+ private static native String getHost() /*-{
+ return $wnd.location.host;
+ }-*/;
+
+ private static native String getHostName() /*-{
+ return $wnd.location.hostname;
+ }-*/;
+
+ private static native String getHref() /*-{
+ return $wnd.location.href;
+ }-*/;
+
+ private static native String getPath() /*-{
+ return $wnd.location.pathname;
+ }-*/;
+
+ private static native String getPort() /*-{
+ return $wnd.location.port;
+ }-*/;
+
+ private static native String getProtocol() /*-{
+ return $wnd.location.protocol;
+ }-*/;
+
+ private static native String getQueryString() /*-{
+ return $wnd.location.search;
+ }-*/;
+
+}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css (rev 0)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,130 @@
+.k-popup-top-centered {
+
+}
+
+.k-popup-bottom-centered {
+
+}
+
+.k-floatleft {
+ float: left;
+}
+
+.k-floatright {
+ float: right;
+}
+
+.k-pointer {
+ cursor: pointer;
+ cursor: hand;
+}
+
+.k-opacity80 {
+ kfilter: alpha(opacity = 80);
+ -moz-opacity: 0.80;
+ -khtml-opacity: 0.80;
+ opacity: 0.80;
+}
+
+.k-box-5shadow {
+ -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+}
+
+.k-box-10shadow {
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+}
+
+.k-bottom-5corners {
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+}
+
+.k-bottom-10corners {
+ -webkit-border-bottom-right-radius: 10px;
+ -moz-border-radius-bottomright: 10px;
+ border-bottom-right-radius: 10px;
+ -webkit-border-bottom-left-radius: 10px;
+ -moz-border-radius-bottomleft: 10px;
+ border-bottom-left-radius: 10px;
+}
+
+.k-top-5corners {
+ -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;
+}
+
+.k-top-10corners {
+ -webkit-border-top-right-radius: 10px;
+ -moz-border-radius-topright: 10px;
+ border-top-right-radius: 10px;
+ -webkit-border-top-left-radius: 10px;
+ -moz-border-radius-topleft: 10px;
+ border-top-left-radius: 10px;
+}
+
+.k-2corners {
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.k-3corners {
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+
+.k-5corners {
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+.k-10corners {
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+}
+
+.k-dialog-outerp {
+ background-color: #552200;
+}
+
+.k-dialog-title {
+ color: #552200;
+ font-size: 20px;
+ font-weight: bold;
+}
+
+.k-dialog-innerp {
+ background-color: #e7caba;
+ border: solid 1px #F2F2F2;
+}
+
+.k-dialog-firstBtn {
+ float: left;
+}
+
+.k-dialog-secondBtn {
+ float: right;
+}
+
+.k-z10000 {
+ z-index: 10000;
+}
+
+.k-z1000 {
+ z-index: 1000;
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/common/public/kune-common.css
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/Core.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/Core.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/Core.gwt.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,30 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module rename-to="ws">
- <!-- source / public / etc ==================================== -->
- <!-- excluding test sources for this module workaround for open issue 4454
- see http://code.google.com/p/google-web-toolkit/issues/detail?id=4454 -->
- <source path='client'
- excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
- <source path="shared" />
- <public path="public" />
- <!-- Dependencies ============================================= -->
- <inherits name="com.google.gwt.user.User" />
- <!-- <inherits name='com.mvp4g.Mvp4gModule' /> -->
- <inherits name="cc.kune.core.ws.armor.WsArmor" />
- <inherits name="cc.kune.msgs.KuneMsgs" />
- <inherits name="org.ourproject.common.Common" />
- <inherits name="com.extjs.gxt.ui.GXT" />
- <inherits name="com.calclab.suco.Suco" />
- <!-- gwt-platform ============================================= -->
- <inherits name='com.gwtplatform.mvp.Mvp' />
- <define-configuration-property name="gin.ginjector"
- is-multi-valued="false" />
- <set-configuration-property name="gin.ginjector"
- value="cc.kune.core.client.CoreGinjector" />
- <!-- Styles =================================================== -->
- <stylesheet src="ws.css" />
- <stylesheet src="fontface/stylesheet.css" />
- <!-- Entrypoint =============================================== -->
- <entry-point class="cc.kune.core.client.KuneEntryPoint" />
+ <!-- source / public / etc ==================================== -->
+ <!-- excluding test sources for this module workaround for open issue 4454
+ see http://code.google.com/p/google-web-toolkit/issues/detail?id=4454 -->
+ <source path='client'
+ excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
+ <source path="shared" />
+ <public path="public" />
+ <!-- Dependencies ============================================= -->
+ <inherits name="com.google.gwt.user.User" />
+ <!-- <inherits name='com.mvp4g.Mvp4gModule' /> -->
+ <inherits name="cc.kune.core.ws.armor.WsArmor" />
+ <inherits name="cc.kune.msgs.KuneMsgs" />
+ <inherits name="cc.kune.common.KuneCommon" />
+ <inherits name="org.ourproject.common.Common" />
+ <inherits name="com.extjs.gxt.ui.GXT" />
+ <inherits name="com.calclab.suco.Suco" />
+ <!-- gwt-platform ============================================= -->
+ <inherits name='com.gwtplatform.mvp.Mvp' />
+ <define-configuration-property name="gin.ginjector"
+ is-multi-valued="false" />
+ <set-configuration-property name="gin.ginjector"
+ value="cc.kune.core.client.CoreGinjector" />
+ <!-- Styles =================================================== -->
+ <stylesheet src="ws.css" />
+ <stylesheet src="fontface/stylesheet.css" />
</module>
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -28,13 +28,13 @@
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.core.ws.armor.client.WsArmor;
import cc.kune.core.ws.armor.client.WsArmorImpl;
-import cc.kune.msgs.client.panel.UserMessagesPanel;
-import cc.kune.msgs.client.panel.UserMessagesPresenter;
+import cc.kune.msgs.client.UserMessagesPanel;
+import cc.kune.msgs.client.UserMessagesPresenter;
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.SimpleEventBus;
import com.google.inject.Singleton;
-import com.gwtplatform.mvp.client.DefaultEventBus;
import com.gwtplatform.mvp.client.DefaultProxyFailureHandler;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.RootPresenter;
import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
import com.gwtplatform.mvp.client.proxy.ParameterTokenFormatter;
@@ -51,7 +51,7 @@
*/
@Override
protected void configure() {
- bind(EventBus.class).to(DefaultEventBus.class).in(Singleton.class);
+ bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
bind(PlaceManager.class).to(CorePlaceManager.class).in(Singleton.class);
bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class);
bind(RootPresenter.class).asEagerSingleton();
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -9,10 +9,10 @@
import cc.kune.core.client.ws.CorePresenter;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.inject.client.AsyncProvider;
import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.proxy.PlaceManager;
import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
Modified: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,7 +1,7 @@
package cc.kune.core.client.cookies;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -19,8 +19,7 @@
*/
package cc.kune.core.client.errors;
-import org.ourproject.common.client.notify.NotifyLevel;
-
+import cc.kune.common.client.noti.NotifyLevel;
import cc.kune.core.client.notify.alerts.AlertEvent;
import cc.kune.core.client.notify.msgs.UserNotifyEvent;
import cc.kune.core.client.notify.spiner.ProgressHideEvent;
@@ -31,9 +30,9 @@
import com.calclab.suco.client.events.Event0;
import com.calclab.suco.client.events.Listener0;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.proxy.PlaceManager;
public class ErrorHandler {
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -19,7 +19,7 @@
*/
package cc.kune.core.client.i18n;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
public class I18nTranslationServiceMocked extends I18nTranslationService {
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -22,20 +22,20 @@
import java.util.Date;
import java.util.HashMap;
+import cc.kune.common.client.utils.Location;
+import cc.kune.common.client.utils.TextUtils;
+import cc.kune.common.client.utils.WindowUtils;
import cc.kune.core.client.rpcservices.I18nServiceAsync;
import cc.kune.core.client.state.Session;
-import cc.kune.core.client.utils.Location;
-import cc.kune.core.client.utils.TextUtils;
-import cc.kune.core.client.utils.WindowUtils;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.allen_sauer.gwt.log.client.Log;
import com.calclab.suco.client.events.Listener0;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
public class I18nUITranslationService extends I18nTranslationService {
private HashMap<String, String> lexicon;
Modified: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -19,8 +19,11 @@
*/
package cc.kune.core.client.init;
-import org.ourproject.common.client.notify.NotifyLevel;
+import org.adamtacy.client.ui.effects.events.EffectCompletedEvent;
+import org.adamtacy.client.ui.effects.events.EffectCompletedHandler;
+import org.adamtacy.client.ui.effects.examples.Fade;
+import cc.kune.common.client.noti.NotifyLevel;
import cc.kune.core.client.notify.msgs.UserNotifyEvent;
import cc.kune.core.client.notify.spiner.ProgressHideEvent;
import cc.kune.core.client.rpcservices.SiteServiceAsync;
@@ -30,6 +33,7 @@
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.Window.ClosingEvent;
@@ -37,7 +41,6 @@
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
public class AppStarterDefault implements AppStarter {
private final Session session;
@@ -85,8 +88,18 @@
}
private void hideInitialPanels() {
- RootPanel.get("kuneinitialcurtain").setVisible(false);
- RootPanel.get("kuneloading").setVisible(false);
+ final RootPanel curtain = RootPanel.get("kuneinitialcurtain");
+ Fade anim = new Fade(curtain.getElement());
+ anim.setDuration(3);
+ anim.addEffectCompletedHandler(new EffectCompletedHandler() {
+ @Override
+ public void onEffectCompleted(EffectCompletedEvent event) {
+ curtain.setVisible(false);
+ RootPanel.get("kuneloading").setVisible(false);
+ }
+ });
+ anim.play();
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, "Starting"));
}
@Override
@@ -98,9 +111,7 @@
@Override
public void execute() {
hideInitialPanels();
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, "Started"));
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
- "Started closeable. Started closeable. Started closeable. Started closeable", true));
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, "Success", "App Started.", true));
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -3,84 +3,79 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
-import com.gwtplatform.mvp.client.HasEventBus;
import com.google.gwt.event.shared.HasHandlers;
-public class AlertEvent extends GwtEvent<AlertEvent.AlertHandler> {
+@Deprecated
+public class AlertEvent extends GwtEvent<AlertEvent.AlertHandler> {
- public interface HasAlertHandlers extends HasHandlers {
- HandlerRegistration addAlertHandler(AlertHandler handler);
- }
+ public interface HasAlertHandlers extends HasHandlers {
+ HandlerRegistration addAlertHandler(AlertHandler handler);
+ }
- public interface AlertHandler extends EventHandler {
- public void onAlert(AlertEvent event);
- }
+ public interface AlertHandler extends EventHandler {
+ public void onAlert(AlertEvent event);
+ }
- private static final Type<AlertHandler> TYPE = new Type<AlertHandler>();
+ private static final Type<AlertHandler> TYPE = new Type<AlertHandler>();
- public static void fire(HasEventBus source, java.lang.String title, java.lang.String message) {
- source.fireEvent(new AlertEvent(title, message));
- }
+ public static void fire(HasHandlers source, java.lang.String title, java.lang.String message) {
+ source.fireEvent(new AlertEvent(title, message));
+ }
- public static Type<AlertHandler> getType() {
- return TYPE;
- }
+ public static Type<AlertHandler> getType() {
+ return TYPE;
+ }
- private final java.lang.String title;
- private final java.lang.String message;
+ private final java.lang.String title;
+ private final java.lang.String message;
- public AlertEvent(java.lang.String title, java.lang.String message) {
- this.title = title;
- this.message = message;
- }
+ public AlertEvent(java.lang.String title, java.lang.String message) {
+ this.title = title;
+ this.message = message;
+ }
- @Override
- public Type<AlertHandler> getAssociatedType() {
- return TYPE;
- }
+ @Override
+ public Type<AlertHandler> getAssociatedType() {
+ return TYPE;
+ }
- public java.lang.String getTitle() {
- return title;
- }
+ public java.lang.String getTitle() {
+ return title;
+ }
- public java.lang.String getMessage() {
- return message;
- }
+ public java.lang.String getMessage() {
+ return message;
+ }
- @Override
- protected void dispatch(AlertHandler handler) {
- handler.onAlert(this);
- }
+ @Override
+ protected void dispatch(AlertHandler handler) {
+ handler.onAlert(this);
+ }
- @Override
- public boolean equals(Object other) {
- if (other != null && other.getClass().equals(this.getClass())) {
- AlertEvent o = (AlertEvent) other;
- return true
- && ((o.title == null && this.title == null) || (o.title != null && o.title.equals(this.title)))
- && ((o.message == null && this.message == null) || (o.message != null && o.message.equals(this.message)))
- ;
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ AlertEvent o = (AlertEvent) other;
+ return true
+ && (o.title == null && this.title == null || o.title != null && o.title.equals(this.title))
+ && (o.message == null && this.message == null || o.message != null
+ && o.message.equals(this.message));
+ }
+ return false;
}
- return false;
- }
- @Override
- public int hashCode() {
- int hashCode = 23;
- hashCode = (hashCode * 37) + getClass().hashCode();
- hashCode = (hashCode * 37) + (title == null ? 1 : title.hashCode());
- hashCode = (hashCode * 37) + (message == null ? 1 : message.hashCode());
- return hashCode;
- }
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = hashCode * 37 + getClass().hashCode();
+ hashCode = hashCode * 37 + (title == null ? 1 : title.hashCode());
+ hashCode = hashCode * 37 + (message == null ? 1 : message.hashCode());
+ return hashCode;
+ }
- @Override
- public String toString() {
- return "AlertEvent["
- + title
- + ","
- + message
- + "]";
- }
+ @Override
+ public String toString() {
+ return "AlertEvent[" + title + "," + message + "]";
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -3,9 +3,9 @@
import cc.kune.core.client.notify.alerts.UserAlerterPresenter.UserAlerterProxy;
import cc.kune.core.client.notify.alerts.UserAlerterPresenter.UserAlerterView;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
Modified: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,16 +1,16 @@
package cc.kune.core.client.notify.confirm;
-import org.ourproject.common.client.notify.ConfirmationAsk;
-
+import cc.kune.common.client.noti.ConfirmAskEvent;
import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmProxy;
import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmView;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
import com.gwtplatform.mvp.client.proxy.Proxy;
public class UserConfirmPresenter extends Presenter<UserConfirmView, UserConfirmProxy> {
@@ -19,8 +19,7 @@
}
public interface UserConfirmView extends View {
-
- public void confirmationAsk(ConfirmationAsk<?> ask);
+ public void confirmAsk(ConfirmAskEvent ask);
}
@Inject
@@ -28,6 +27,11 @@
super(eventBus, view, proxy);
}
+ @ProxyEvent
+ public void onConfirmAsk(ConfirmAskEvent event) {
+ getView().confirmAsk(event);
+ }
+
@Override
protected void revealInParent() {
RootPanel.get().add(getWidget());
Deleted: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,27 +0,0 @@
-package cc.kune.core.client.notify.confirm;
-
-import org.ourproject.common.client.notify.ConfirmationAsk;
-
-import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmView;
-
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.ViewImpl;
-
-public class UserConfirmViewImpl extends ViewImpl implements UserConfirmView {
- @Inject
- public UserConfirmViewImpl() {
- }
-
- @Override
- public Widget asWidget() {
- return null;
- }
-
- @Override
- public void confirmationAsk(final ConfirmationAsk<?> ask) {
- // TODO Auto-generated method stub
-
- }
-
-}
Copied: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl2.java (from rev 1178, trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl2.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl2.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,26 @@
+package cc.kune.core.client.notify.confirm;
+
+import cc.kune.common.client.noti.ConfirmAskEvent;
+import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmView;
+
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class UserConfirmViewImpl2 extends ViewImpl implements UserConfirmView {
+ @Inject
+ public UserConfirmViewImpl2() {
+ }
+
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
+
+ @Override
+ public void confirmAsk(final ConfirmAskEvent ask) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl2.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,12 +1,10 @@
package cc.kune.core.client.notify.msgs;
-import org.ourproject.common.client.notify.NotifyLevel;
-
import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierProxy;
import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierView;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.PopupView;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
@@ -20,7 +18,7 @@
}
public interface UserNotifierView extends PopupView {
- public void notify(NotifyLevel level, String message, Boolean closeable);
+ public void notify(UserNotifyEvent event);
}
@Inject
@@ -30,7 +28,7 @@
@ProxyEvent
public void onUserNotify(UserNotifyEvent event) {
- getView().notify(event.getLevel(), event.getMessage(), event.getCloseable());
+ getView().notify(event);
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,21 +1,19 @@
package cc.kune.core.client.notify.msgs;
-import org.ourproject.common.client.notify.NotifyLevel;
-
+import cc.kune.common.client.ui.PopupPanelBottomCentered;
import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierView;
-import cc.kune.msgs.client.msgs.UserMessageLevel;
-import cc.kune.msgs.client.panel.UserMessagesPanel;
-import cc.kune.msgs.client.panel.UserMessagesPresenter;
+import cc.kune.msgs.client.CloseCallback;
+import cc.kune.msgs.client.UserMessagesPanel;
+import cc.kune.msgs.client.UserMessagesPresenter;
-import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.PopupViewImpl;
public class UserNotifierViewImpl extends PopupViewImpl implements UserNotifierView {
private final UserMessagesPresenter msgs;
- private final PopupPanel popup;
+ private final PopupPanelBottomCentered popup;
@Inject
public UserNotifierViewImpl(EventBus eventBus, UserMessagesPresenter msgs, UserMessagesPanel panel) {
@@ -23,10 +21,9 @@
this.msgs = msgs;
msgs.init(panel);
panel.setWidth("370px");
- popup = new PopupPanel(false, false);
+ popup = new PopupPanelBottomCentered(false, false);
+ popup.addStyleName("k-z10000");
popup.add(panel);
- popup.setPopupPosition(0, 0);
- popup.setStyleName("k-user-notif-popup");
popup.show();
}
@@ -36,23 +33,14 @@
}
@Override
- public void notify(final NotifyLevel level, final String message, Boolean closeable) {
- switch (level) {
- case error:
- msgs.add(UserMessageLevel.error, message, closeable);
- break;
- case important:
- msgs.add(UserMessageLevel.important, message, closeable);
- break;
- case info:
- msgs.add(UserMessageLevel.info, message, closeable);
- break;
- case veryImportant:
- msgs.add(UserMessageLevel.veryImportant, message, false);
- break;
- default:
- break;
- }
+ public void notify(UserNotifyEvent event) {
+ msgs.add(event.getLevel(), event.getTitle(), event.getMessage(), event.getCloseable(), new CloseCallback() {
+ @Override
+ public void onClose() {
+ popup.setCenterPosition();
+ }
+ });
+ popup.setCenterPosition();
}
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,5 +1,7 @@
package cc.kune.core.client.notify.msgs;
+import cc.kune.common.client.noti.NotifyLevel;
+
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
@@ -18,41 +20,57 @@
private static final Type<UserNotifyHandler> TYPE = new Type<UserNotifyHandler>();
- public static void fire(HasEventBus source, org.ourproject.common.client.notify.NotifyLevel level,
- java.lang.String message, Boolean closeable) {
- source.fireEvent(new UserNotifyEvent(level, message, closeable));
+ public static void fire(HasEventBus source, NotifyLevel level, java.lang.String title, java.lang.String message,
+ Boolean closeable) {
+ source.fireEvent(new UserNotifyEvent(level, title, message, closeable));
}
- public static void fire(HasEventBus source, org.ourproject.common.client.notify.NotifyLevel level,
- java.lang.String message) {
- source.fireEvent(new UserNotifyEvent(level, message));
+ public static void fire(HasEventBus source, NotifyLevel level, java.lang.String title, java.lang.String message) {
+ source.fireEvent(new UserNotifyEvent(level, title, message));
}
+ public static void fire(HasEventBus source, NotifyLevel level, java.lang.String message, Boolean closeable) {
+ source.fireEvent(new UserNotifyEvent(level, "", message, closeable));
+ }
+
+ public static void fire(HasEventBus source, NotifyLevel level, java.lang.String message) {
+ source.fireEvent(new UserNotifyEvent(level, "", message));
+ }
+
public static Type<UserNotifyHandler> getType() {
return TYPE;
}
- private final org.ourproject.common.client.notify.NotifyLevel level;
+ private final NotifyLevel level;
private final java.lang.String message;
+ private final java.lang.String title;
private final Boolean closeable;
- public UserNotifyEvent(org.ourproject.common.client.notify.NotifyLevel level, java.lang.String message,
- Boolean closeable) {
+ public UserNotifyEvent(NotifyLevel level, java.lang.String title, java.lang.String message, Boolean closeable) {
this.level = level;
+ this.title = title;
this.message = message;
this.closeable = closeable;
}
- public UserNotifyEvent(org.ourproject.common.client.notify.NotifyLevel level, java.lang.String message) {
- this(level, message, false);
+ public UserNotifyEvent(NotifyLevel level, java.lang.String message) {
+ this(level, "", message, false);
}
+ public UserNotifyEvent(NotifyLevel level, java.lang.String title, java.lang.String message) {
+ this(level, title, message, false);
+ }
+
+ public UserNotifyEvent(NotifyLevel level, java.lang.String message, Boolean closeable) {
+ this(level, "", message, closeable);
+ }
+
@Override
public Type<UserNotifyHandler> getAssociatedType() {
return TYPE;
}
- public org.ourproject.common.client.notify.NotifyLevel getLevel() {
+ public NotifyLevel getLevel() {
return level;
}
@@ -60,6 +78,10 @@
return message;
}
+ public java.lang.String getTitle() {
+ return title;
+ }
+
@Override
protected void dispatch(UserNotifyHandler handler) {
handler.onUserNotify(this);
@@ -69,51 +91,4 @@
return closeable;
}
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (closeable == null ? 0 : closeable.hashCode());
- result = prime * result + (level == null ? 0 : level.hashCode());
- result = prime * result + (message == null ? 0 : message.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- UserNotifyEvent other = (UserNotifyEvent) obj;
- if (closeable == null) {
- if (other.closeable != null) {
- return false;
- }
- } else if (!closeable.equals(other.closeable)) {
- return false;
- }
- if (level != other.level) {
- return false;
- }
- if (message == null) {
- if (other.message != null) {
- return false;
- }
- } else if (!message.equals(other.message)) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return "UserNotifyEvent [level=" + level + ", message=" + message + ", closeable=" + closeable + "]";
- }
-
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -3,8 +3,8 @@
import cc.kune.core.client.i18n.I18nReadyEvent;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.PopupView;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
Modified: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -4,6 +4,7 @@
import cc.kune.core.ws.armor.client.WsArmor;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.HorizontalPanel;
@@ -12,7 +13,6 @@
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.PopupViewWithUiHandlers;
import com.gwtplatform.mvp.client.UiHandlers;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -5,8 +5,8 @@
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.HasUiHandlers;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
Modified: trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -26,9 +26,9 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateAbstractDTO;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
public class ContentProviderDefault implements ContentProvider {
private final ContentServiceAsync server;
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -44,9 +44,9 @@
import com.calclab.suco.client.events.Listener;
import com.calclab.suco.client.events.Listener0;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
import com.google.inject.Provider;
-import com.gwtplatform.mvp.client.EventBus;
public class SessionDefault implements Session {
private String userHash;
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -37,8 +37,8 @@
import com.calclab.suco.client.events.Listener2;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
private final ContentProvider contentProvider;
Copied: trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.java (from rev 1178, trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,79 @@
+package cc.kune.core.client.ui.dialogs;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HasDirectionalText;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.HasWidgets.ForIsWidget;
+import com.google.gwt.user.client.ui.InlineLabel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class TwoButtonsDialog extends Composite implements TwoButtonsView {
+
+ private static TwoButtonsDialogUiBinder uiBinder = GWT.create(TwoButtonsDialogUiBinder.class);
+ @UiField
+ InlineLabel title;
+ @UiField
+ Button firstBtn;
+ @UiField
+ Button secondBtn;
+ @UiField
+ VerticalPanel vp;
+
+ interface TwoButtonsDialogUiBinder extends UiBinder<Widget, TwoButtonsDialog> {
+ }
+
+ public TwoButtonsDialog() {
+ initWidget(uiBinder.createAndBindUi(this));
+ title.ensureDebugId("k-ucvi-title");
+ firstBtn.ensureDebugId("k-ucvi-accept-btn");
+ secondBtn.ensureDebugId("k-ucvi-cancel-btn");
+ }
+
+ public void setTitleId(String id) {
+ title.ensureDebugId(id);
+ }
+
+ public void setFirstBtnId(String id) {
+ firstBtn.ensureDebugId(id);
+ }
+
+ public void setSecondBtnId(String id) {
+ secondBtn.ensureDebugId(id);
+ }
+
+ @Override
+ public HasDirectionalText getTitleText() {
+ return title;
+ }
+
+ @Override
+ public HasClickHandlers getSecondBtn() {
+ return secondBtn;
+ }
+
+ @Override
+ public HasClickHandlers getFirstBtn() {
+ return firstBtn;
+ }
+
+ @Override
+ public ForIsWidget getInnerPanel() {
+ return vp;
+ }
+
+ @Override
+ public HasText getFirstBtnText() {
+ return firstBtn;
+ }
+
+ @Override
+ public HasText getSecondBtnText() {
+ return secondBtn;
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.ui.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,17 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:p1="urn:import:gxt.visual.ui.client.implementations">
+ <g:VerticalPanel spacing="12"
+ addStyleNames="k-dialog-outerp, k-bottom-10corners">
+ <g:SimplePanel>
+ <g:VerticalPanel ui:field="vp"
+ addStyleNames="k-dialog-innerp, k-3corners" spacing="10">
+ <g:InlineLabel ui:field="title" addStyleNames="k-dialog-title" />
+ </g:VerticalPanel>
+ </g:SimplePanel>
+ <g:FlowPanel>
+ <g:Button ui:field="firstBtn" addStyleNames="k-dialog-firstBtn" />
+ <g:Button ui:field="secondBtn" addStyleNames="k-dialog-secondBtn" />
+ </g:FlowPanel>
+ </g:VerticalPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsDialog.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsView.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsView.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,22 @@
+package cc.kune.core.client.ui.dialogs;
+
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.user.client.ui.HasDirectionalText;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.HasWidgets.ForIsWidget;
+
+public interface TwoButtonsView {
+
+ HasText getFirstBtnText();
+
+ HasText getSecondBtnText();
+
+ HasClickHandlers getSecondBtn();
+
+ HasClickHandlers getFirstBtn();
+
+ HasDirectionalText getTitleText();
+
+ ForIsWidget getInnerPanel();
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/ui/dialogs/TwoButtonsView.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,7 +1,7 @@
package cc.kune.core.client.ws;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.proxy.PlaceManagerImpl;
import com.gwtplatform.mvp.client.proxy.PlaceRequest;
import com.gwtplatform.mvp.client.proxy.TokenFormatter;
Modified: trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -3,8 +3,8 @@
import cc.kune.core.client.i18n.I18nReadyEvent;
import cc.kune.core.client.init.AppStarter;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.NameToken;
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-01-10 04:43:49 UTC (rev 1179)
@@ -6,6 +6,7 @@
font-family: 'Inconsolata', Arial;
font-size: small;
margin: 5px;
+ overflow: hidden;
}
* {
@@ -348,16 +349,3 @@
font-weight: bold;
padding: 0 5px 0 5px;
}
-
-.k-floatleft {
- float: left;
-}
-
-.k-floatright {
- float: right;
-}
-
-.k-pointer {
- cursor: pointer;
- cursor: hand;
-}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -2,7 +2,8 @@
<module>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
- <inherits name="org.adamtacy.GWTEffects"></inherits>
+ <inherits name="org.adamtacy.GWTEffects"></inherits>
+ <inherits name="cc.kune.common.KuneCommon" />
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
@@ -11,7 +12,8 @@
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<!-- Specify the app entry point class. -->
-<!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />-->
+ <!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint'
+ /> -->
<!-- Specify the paths for translatable code -->
<source path='client' />
<public path="public" />
Deleted: trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module rename-to='kune_messages'>
- <!-- Inherit the core Web Toolkit stuff. -->
- <inherits name='com.google.gwt.user.User' />
- <inherits name="org.adamtacy.GWTEffects"></inherits>
- <!-- Inherit the default GWT style sheet. You can change -->
- <!-- the theme of your GWT application by uncommenting -->
- <!-- any one of the following lines. -->
- <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
- <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
- <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
- <!-- Other module inherits -->
- <!-- Specify the app entry point class. -->
- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />
- <!-- Specify the paths for translatable code -->
- <source path='client' />
- <public path="public" />
- <stylesheet src="kune-message.css" />
-</module>
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/msgs/client/CloseCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/CloseCallback.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/CloseCallback.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,5 @@
+package cc.kune.msgs.client;
+
+public interface CloseCallback {
+ void onClose();
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/client/CloseCallback.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,54 +0,0 @@
-package cc.kune.msgs.client;
-
-import cc.kune.msgs.client.msgs.UserMessage;
-import cc.kune.msgs.client.msgs.UserMessageLevel;
-import cc.kune.msgs.client.panel.UserMessagesPanel;
-import cc.kune.msgs.client.panel.UserMessagesPresenter;
-
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.ui.PopupPanel;
-
-/**
- * Entry point classes define <code>onModuleLoad()</code>.
- */
-public class KuneMessagesSampleEntryPoint implements EntryPoint {
-
- /**
- * This is the entry point method.
- */
- @Override
- public void onModuleLoad() {
- UserMessagesPanel panel = new UserMessagesPanel();
- UserMessage.setFadeMills(3000);
- UserMessage.setCloseTitle("Close message");
- panel.setWidth("422px");
- final UserMessagesPresenter presenter = new UserMessagesPresenter();
- presenter.init(panel);
- presenter.add(UserMessageLevel.info, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", false);
- presenter.add(UserMessageLevel.error, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", false);
- Timer time = new Timer() {
- @Override
- public void run() {
- presenter.add(
- UserMessageLevel.error,
- "Lorem <a href='/'>ipsum</a> dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit",
- true);
- }
- };
- Timer time2 = new Timer() {
- @Override
- public void run() {
- presenter.add(UserMessageLevel.important, "Lorem ", false);
- presenter.add(UserMessageLevel.important, "Lorem ", true);
- }
- };
- time.schedule(1000);
- time2.schedule(2000);
- PopupPanel aPanel = new PopupPanel();
- aPanel.add(panel);
- aPanel.setPopupPosition(0, 0);
- aPanel.show();
- // RootPanel.get().add(aPanel);
- }
-}
Copied: trunk/src/main/java/cc/kune/msgs/client/UserMessage.java (from rev 1178, trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.java)
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessage.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessage.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,126 @@
+package cc.kune.msgs.client;
+
+import org.adamtacy.client.ui.effects.events.EffectCompletedEvent;
+import org.adamtacy.client.ui.effects.events.EffectCompletedHandler;
+import org.adamtacy.client.ui.effects.examples.Fade;
+import org.adamtacy.client.ui.effects.examples.Show;
+
+import cc.kune.common.client.noti.NotifyLevel;
+import cc.kune.msgs.client.resources.UserMessageImages;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.InlineHTML;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.Widget;
+
+public class UserMessage extends Composite implements HasText {
+
+ private static int fadeMills = 5000;
+ private static MessageUiBinder uiBinder = GWT.create(MessageUiBinder.class);
+ private static String closeTitle = "Close";
+
+ @UiField
+ Image icon;
+ @UiField
+ InlineHTML label;
+ @UiField
+ PushButton close;
+ private final CloseCallback closeCallback;
+
+ interface MessageUiBinder extends UiBinder<Widget, UserMessage> {
+ }
+
+ public static void setCloseTitle(String title) {
+ closeTitle = title;
+ }
+
+ public static void setFadeMills(int mills) {
+ fadeMills = mills;
+ }
+
+ public UserMessage(NotifyLevel level, String title, String message, boolean closeable, CloseCallback closeCallback) {
+ this.closeCallback = closeCallback;
+ initWidget(uiBinder.createAndBindUi(this));
+ label.setHTML((title != null && title.length() > 0 ? "<b>" + title + "</b><br/>" : "") + message);
+ close.setVisible(closeable);
+ close.setTitle(closeTitle);
+ if (!closeable) {
+ Timer time = new Timer() {
+ @Override
+ public void run() {
+ close();
+ }
+ };
+ time.schedule(fadeMills);
+ }
+ switch (level) {
+ case error:
+ icon.setResource(UserMessageImages.INST.error());
+ break;
+ case important:
+ icon.setResource(UserMessageImages.INST.important());
+ break;
+ case info:
+ icon.setResource(UserMessageImages.INST.info());
+ break;
+ case veryImportant:
+ icon.setResource(UserMessageImages.INST.warning());
+ break;
+ default:
+ break;
+ }
+ Show anim = new Show(this.getElement());
+ anim.setDuration(0.5);
+ anim.play();
+ }
+
+ public UserMessage(String message, CloseCallback closeCallback) {
+ this("", message, false, closeCallback);
+ }
+
+ public UserMessage(String title, String message, CloseCallback closeCallback) {
+ this(title, message, false, closeCallback);
+ }
+
+ public UserMessage(String title, String message, boolean closeable, CloseCallback closeCallback) {
+ this(NotifyLevel.info, title, message, closeable, closeCallback);
+ }
+
+ @Override
+ public void setText(String text) {
+ label.setText(text);
+ }
+
+ @Override
+ public String getText() {
+ return label.getText();
+ }
+
+ @UiHandler("close")
+ void handleClick(ClickEvent e) {
+ close();
+ }
+
+ private void close() {
+ Fade fade = new Fade(this.getElement());
+ fade.setDuration(0.7);
+ fade.play();
+ fade.addEffectCompletedHandler(new EffectCompletedHandler() {
+
+ @Override
+ public void onEffectCompleted(EffectCompletedEvent event) {
+ removeFromParent();
+ closeCallback.onClose();
+ }
+ });
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml (from rev 1178, trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.ui.xml)
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,22 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:with field='img'
+ type='cc.kune.msgs.client.resources.UserMessageImages' />
+ <g:HorizontalPanel verticalAlignment="ALIGN_MIDDLE"
+ height="42px" addStyleNames="k-msg, k-opacity80, k-3corners">
+ <g:SimplePanel addStyleNames="k-msg-icon">
+ <g:Image width="100%" ui:field="icon" height="100%" />
+ </g:SimplePanel>
+ <g:Cell width="100%">
+ <g:InlineHTML ui:field="label" width="100%"
+ styleName="k-msg-label" />
+ </g:Cell>
+ <g:PushButton ui:field="close" styleName="k-msg-close"
+ width="22px">
+ <g:upHoveringFace image='{img.removeGrey}' />
+ <g:downFace image='{img.removeOver}' />
+ <g:upFace image='{img.remove}' />
+ </g:PushButton>
+ </g:HorizontalPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/client/UserMessage.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java (from rev 1178, trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,36 @@
+package cc.kune.msgs.client;
+
+import org.adamtacy.client.ui.effects.examples.SlideUp;
+
+import cc.kune.common.client.noti.NotifyLevel;
+import cc.kune.msgs.client.UserMessagesPresenter.UserMessagesView;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class UserMessagesPanel extends Composite implements UserMessagesView {
+
+ private static MessagesPanelUiBinder uiBinder = GWT.create(MessagesPanelUiBinder.class);
+ @UiField
+ VerticalPanel vp;
+
+ interface MessagesPanelUiBinder extends UiBinder<Widget, UserMessagesPanel> {
+ }
+
+ public UserMessagesPanel() {
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ @Override
+ public void add(NotifyLevel level, String title, String message, boolean closeable, CloseCallback closeCallback) {
+ UserMessage msg = new UserMessage(level, title, message, closeable, closeCallback);
+ vp.add(msg);
+ SlideUp anim = new SlideUp(msg.getElement());
+ anim.setDuration(.5);
+ anim.play();
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.ui.xml (from rev 1178, trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.ui.xml)
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.ui.xml 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,9 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <g:VerticalPanel verticalAlignment="ALIGN_TOP"
+ ui:field="vp" width="100%" height=""
+ addStyleNames="k-msg-panel, k-opacity80, k-box-10shadow, k-top-10corners"
+ spacing="10">
+ </g:VerticalPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java (from rev 1178, trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -0,0 +1,23 @@
+package cc.kune.msgs.client;
+
+import cc.kune.common.client.noti.NotifyLevel;
+
+public class UserMessagesPresenter {
+
+ private UserMessagesView view;
+
+ public interface UserMessagesView {
+ void add(NotifyLevel level, String title, String message, boolean closable, CloseCallback callback);
+ }
+
+ public UserMessagesPresenter() {
+ }
+
+ public void init(UserMessagesView view) {
+ this.view = view;
+ }
+
+ public void add(NotifyLevel level, String title, String message, boolean closable, CloseCallback closeCallback) {
+ view.add(level, title, message, closable, closeCallback);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/msgs/public/kune-message.css
===================================================================
--- trunk/src/main/java/cc/kune/msgs/public/kune-message.css 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/cc/kune/msgs/public/kune-message.css 2011-01-10 04:43:49 UTC (rev 1179)
@@ -1,12 +1,5 @@
.k-msg-panel {
background-color: #892c00;
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- kfilter: alpha(opacity = 80);
- -moz-opacity: 0.80;
- -khtml-opacity: 0.80;
- opacity: 0.80;
}
.k-msg-panel-title {
@@ -18,28 +11,20 @@
.k-msg {
margin: 0 5px;
border: solid 1px #F2F2F2;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
background: #fff0e6;
- color: #280b0b;
- filter: alpha(opacity = 80);
- -moz-opacity: 0.80;
- -khtml-opacity: 0.80;
- opacity: 0.80;
- font-weight: bold;
+ color: #280b0b
}
.k-msg-close {
position: relative;
right: -14px;
- top: 30px;
+ top: 0px;
}
.k-msg-icon {
padding: 10px 10px 5px;
}
-.k-msg-label {
+.k-msg-label {
font-size: 17px;
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -31,9 +31,9 @@
import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import cc.kune.common.client.utils.WindowUtils;
import cc.kune.core.client.init.AppStarter;
import cc.kune.core.client.state.Session;
-import cc.kune.core.client.utils.WindowUtils;
import cc.kune.core.shared.dto.InitDataDTO;
import cc.kune.core.shared.dto.UserInfoDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -26,10 +26,10 @@
import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
import org.ourproject.kune.workspace.client.cnt.FoldableContentPresenter;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
-import cc.kune.core.client.utils.TextUtils;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateContainerDTO;
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ctx/room/AddRoomPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ctx/room/AddRoomPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ctx/room/AddRoomPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -20,7 +20,7 @@
package org.ourproject.kune.chat.client.ctx.room;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.emiteuimodule.client.dialog.BasicDialogExtended;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/KuneStringUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/KuneStringUtils.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/KuneStringUtils.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -19,7 +19,7 @@
*/
package org.ourproject.kune.platf.client.ui;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
/**
* Use TextUtils
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/noti/ConfirmationAsk.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/noti/ConfirmationAsk.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/noti/ConfirmationAsk.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -2,6 +2,7 @@
import com.calclab.suco.client.events.Listener0;
+@Deprecated
public class ConfirmationAsk {
private final String title;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertimg/ext/InsertImageExtPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertimg/ext/InsertImageExtPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertimg/ext/InsertImageExtPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -2,7 +2,7 @@
import org.ourproject.kune.platf.client.ui.rte.insertimg.abstractimg.InsertImageAbstractPanel;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.core.client.Scheduler;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -23,7 +23,7 @@
import org.ourproject.kune.platf.client.ui.rte.insertlink.LinkInfo;
import org.ourproject.kune.platf.client.ui.rte.insertlink.abstractlink.InsertLinkAbstractPanel;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.user.client.ui.Frame;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/ext/InsertLinkExtPresenter.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -22,7 +22,7 @@
import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog;
import org.ourproject.kune.platf.client.ui.rte.insertlink.abstractlink.InsertLinkAbstractPresenter;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
public class InsertLinkExtPresenter extends InsertLinkAbstractPresenter implements InsertLinkExt {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertmedia/ExternalMediaRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertmedia/ExternalMediaRegistry.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertmedia/ExternalMediaRegistry.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -5,7 +5,7 @@
import java.util.List;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.dto.ExtMediaDescripDTO;
public class ExternalMediaRegistry extends ArrayList<ExtMediaDescripDTO> {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertspecialchar/utf8/InsertSpecialUTF8CharPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertspecialchar/utf8/InsertSpecialUTF8CharPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertspecialchar/utf8/InsertSpecialUTF8CharPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -4,7 +4,7 @@
import org.ourproject.kune.platf.client.ui.rte.insertspecialchar.InsertSpecialCharDialog;
import org.ourproject.kune.platf.client.ui.rte.insertspecialchar.InsertSpecialCharDialogView;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.allen_sauer.gwt.log.client.Log;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/inserttable/InsertTableDialogPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/inserttable/InsertTableDialogPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/inserttable/InsertTableDialogPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -5,7 +5,7 @@
import org.ourproject.kune.platf.client.ui.palette.SimplePalette;
import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.events.Listener;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/i18n/I18nTranslationServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/i18n/I18nTranslationServiceDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/i18n/I18nTranslationServiceDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -22,7 +22,7 @@
import org.ourproject.kune.platf.server.UserSession;
import org.ourproject.kune.platf.server.manager.I18nTranslationManager;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.domain.I18nTranslation;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -9,7 +9,7 @@
import org.ourproject.kune.platf.server.manager.impl.DefaultManager;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.domain.TagCloudResult;
import cc.kune.core.shared.domain.TagCount;
import cc.kune.domain.Content;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -28,8 +28,8 @@
import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
import org.ourproject.kune.platf.server.manager.I18nTranslationManager;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.client.utils.TextUtils;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.I18nTranslation;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -27,7 +27,7 @@
import org.ourproject.kune.workspace.client.search.SiteBottomTrayButton;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -23,7 +23,7 @@
import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils;
import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardView;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.events.Event0;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -27,7 +27,7 @@
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsThemeSelector;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/upload/FileUploaderDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/upload/FileUploaderDialog.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/upload/FileUploaderDialog.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -22,8 +22,8 @@
import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.utils.TextUtils;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.Scheduler;
Modified: trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -14,8 +14,8 @@
import com.calclab.suco.testing.events.MockedListener;
import com.calclab.suco.testing.events.MockedListener0;
import com.calclab.suco.testing.events.MockedListener2;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.gwtplatform.mvp.client.EventBus;
public class StateManagerTest {
Modified: trunk/src/test/java/org/ourproject/kune/platf/client/ui/KuneStringUtilsTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/client/ui/KuneStringUtilsTest.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/test/java/org/ourproject/kune/platf/client/ui/KuneStringUtilsTest.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -6,7 +6,7 @@
import org.junit.Test;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
public class KuneStringUtilsTest {
Modified: trunk/src/test/java/org/ourproject/kune/platf/client/ui/TextUtilsTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/client/ui/TextUtilsTest.java 2011-01-09 04:44:25 UTC (rev 1178)
+++ trunk/src/test/java/org/ourproject/kune/platf/client/ui/TextUtilsTest.java 2011-01-10 04:43:49 UTC (rev 1179)
@@ -4,7 +4,7 @@
import org.junit.Test;
-import cc.kune.core.client.utils.TextUtils;
+import cc.kune.common.client.utils.TextUtils;
public class TextUtilsTest {
@Test
1
0
Author: vjrj_
Date: 2011-01-09 05:44:25 +0100 (Sun, 09 Jan 2011)
New Revision: 1178
Added:
trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
trunk/src/main/java/cc/kune/core/client/init/AppStartEvent.java
trunk/src/main/java/cc/kune/core/client/init/AppStopEvent.java
trunk/src/main/java/cc/kune/core/client/notify/alerts/
trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java
trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/confirm/
trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/
trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressHideEvent.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressShowEvent.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.ui.xml
trunk/src/main/java/cc/kune/core/client/state/UserSignInEvent.java
trunk/src/main/java/cc/kune/core/client/state/UserSignOutEvent.java
trunk/src/main/java/cc/kune/msgs/
trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml
trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml
trunk/src/main/java/cc/kune/msgs/client/
trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java
trunk/src/main/java/cc/kune/msgs/client/msgs/
trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.java
trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.ui.xml
trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessageLevel.java
trunk/src/main/java/cc/kune/msgs/client/panel/
trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.java
trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.ui.xml
trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPresenter.java
trunk/src/main/java/cc/kune/msgs/client/resources/
trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImages.java
trunk/src/main/java/cc/kune/msgs/client/resources/error.png
trunk/src/main/java/cc/kune/msgs/client/resources/important.png
trunk/src/main/java/cc/kune/msgs/client/resources/info.png
trunk/src/main/java/cc/kune/msgs/client/resources/remove-grey.png
trunk/src/main/java/cc/kune/msgs/client/resources/remove-over.png
trunk/src/main/java/cc/kune/msgs/client/resources/remove.png
trunk/src/main/java/cc/kune/msgs/client/resources/severe.png
trunk/src/main/java/cc/kune/msgs/client/resources/warning.png
trunk/src/main/java/cc/kune/msgs/public/
trunk/src/main/java/cc/kune/msgs/public/kune-message.css
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcControllerImpl.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProvider.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProviderSamePort.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/Trio.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveModule.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarter.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarterModule.java
Removed:
trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java
trunk/src/main/java/cc/kune/core/client/init/AppStart.java
trunk/src/main/java/cc/kune/core/client/init/AppStop.java
trunk/src/main/java/cc/kune/core/client/notify/Alert.java
trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/UserNotifierViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/UserNotify.java
trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java
trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java
Modified:
trunk/TODO
trunk/img/webtemplate/web_template-2011.svg
trunk/pom.xml
trunk/script/css-update.sh
trunk/script/mvn-eclipse.sh
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/core/Core.gwt.xml
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
trunk/src/main/java/cc/kune/core/public/ws.html
trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
trunk/src/main/java/org/ourproject/kune/rack/filters/AbstractInjectedFilter.java
trunk/src/main/java/org/ourproject/kune/rack/filters/servlet/ServletServiceFilter.java
trunk/src/main/resources/wave-server.properties
trunk/src/main/webapp/WEB-INF/web.xml
Log:
NEW - # 10: Wave server code update
http://kune.ourproject.org/issues/ticket/10
NEW - # 11: New messages widget
http://kune.ourproject.org/issues/ticket/11
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/TODO 2011-01-09 04:44:25 UTC (rev 1178)
@@ -231,6 +231,11 @@
** vjrj <v> IconHyperlink.java and IconLabel.java to gwt1.5
* MID-TERM
+** TODO junit + guice utils:
+https://code.google.com/p/guiceberry/
+https://code.google.com/p/atunit/
+** TODO Study OSGI + guice:
+https://code.google.com/p/peaberry/
** Use hibernate cache
http://ehcache.sourceforge.net/documentation/openjpa_provider.html
http://ehcache.sourceforge.net/documentation/hibernate.html
Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/img/webtemplate/web_template-2011.svg 2011-01-09 04:44:25 UTC (rev 1178)
@@ -52,15 +52,15 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1"
- inkscape:cx="174.00056"
- inkscape:cy="641.30184"
+ inkscape:cx="475.0028"
+ inkscape:cy="695.87654"
inkscape:current-layer="layer1"
inkscape:document-units="px"
showgrid="false"
inkscape:window-width="1280"
- inkscape:window-height="977"
+ inkscape:window-height="745"
inkscape:window-x="0"
- inkscape:window-y="20"
+ inkscape:window-y="1024"
inkscape:window-maximized="1"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
@@ -2209,7 +2209,7 @@
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
- style="color:#000000;fill:#feb295;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#a40603;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4635"
width="87.859406"
height="19.905512"
@@ -2305,7 +2305,7 @@
id="g5365">
<path
transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)"
- d="m 277.35793,332.62314 a 26.82268,26.82268 0 1 1 -53.64536,0 26.82268,26.82268 0 1 1 53.64536,0 z"
+ d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
sodipodi:ry="26.82268"
sodipodi:rx="26.82268"
sodipodi:cy="332.62314"
@@ -2315,7 +2315,7 @@
sodipodi:type="arc" />
<path
transform="matrix(0.05245387,0,0,0.05245387,400.1808,-0.554549)"
- d="m 277.35793,332.62314 a 26.82268,26.82268 0 1 1 -53.64536,0 26.82268,26.82268 0 1 1 53.64536,0 z"
+ d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
sodipodi:ry="26.82268"
sodipodi:rx="26.82268"
sodipodi:cy="332.62314"
@@ -2360,7 +2360,7 @@
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
y="132.04793"
- x="399.09167"
+ x="402.09167"
height="1"
width="122"
id="rect5387"
@@ -2371,7 +2371,7 @@
id="rect5389"
width="112.5"
height="1"
- x="536.09167"
+ x="541.09167"
y="-133.04793"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
inkscape:export-xdpi="90"
@@ -2640,7 +2640,7 @@
transform="translate(-751,-12)">
<path
transform="translate(0,-3)"
- d="m 333,232 a 11,11 0 1 1 -22,0 11,11 0 1 1 22,0 z"
+ d="m 333,232 c 0,6.07513 -4.92487,11 -11,11 -6.07513,0 -11,-4.92487 -11,-11 0,-6.07513 4.92487,-11 11,-11 6.07513,0 11,4.92487 11,11 z"
sodipodi:ry="11"
sodipodi:rx="11"
sodipodi:cy="232"
@@ -3347,7 +3347,7 @@
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
y="-133.04793"
- x="663.09167"
+ x="666.09167"
height="1"
width="48.90947"
id="rect23163"
@@ -3355,7 +3355,7 @@
transform="scale(1,-1)" />
<image
y="117.04793"
- x="710.00116"
+ x="715.00116"
id="image24737"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAJ1JREFU OI3dkjEKxCAQRX9EmWIOYJEu9opFyB28cU5hmVukFwW32rC7MWHZFIH93f/MPPjDdLXWigsSV5b/ BCA/g5QS5nlGKQWv9xVCIIQAIjoHEBH6vkeM8S333u+WgYMKzjkw8+aZGdbaZoUmQEqJaZo2P44j lFJNwK7CU8MwYFkWlFJgjDkaQ3f2ieu6IucMrfVvgG90/yPdD3gAkHQqk0hfw2IAAAAASUVORK5C YII= "
height="16"
@@ -4443,15 +4443,7 @@
y="112.88816"
x="135.45085"
id="image4632"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAV5JREFU
-OI2lk01OAkEQhb8axgGG30EiEEiMLoxuvK1X8ABewDsQdy4gBhNiJgg4IuhMl4vWAQSFxFp2+n2v
-XnW1mJsr5R/l/jyQSh3qbai1oVhFb6/3B0jnDDrnUArAcTZvOw4Ysx0grRM4uQTXQx/vkXAAk3CD
-IRkXTeJ1gJQC6FxAxoX+HfS6bB2MMeB5FvI+t00BELQg56PDPtrr/pmZJIaMi2TcJUArddteOPhb
-DKgaEAe83BIgfhmSD5huZt4aAyyE7yEakx7sVQcemGQlwssI1IBf3qkVL2fNkhWARCPbRdDc7Z7N
-W4CaJYDREH0dQ62JNI5/d/fLkC9Z8dczugA6myJPD2jrFI6OES8P09BGAyRXhKwPhbIVLmbpMqWb
-qOEASWI4bKGlGhSq0IgRk9i8SQzzCKIx+halXa39BX0eIvMIKVTtQL2sFc8msHiD2TTdwK0AwNJX
-HHbVJ0YdhWYwKlACAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAV5JREFU OI2lk01OAkEQhb8axgGG30EiEEiMLoxuvK1X8ABewDsQdy4gBhNiJgg4IuhMl4vWAQSFxFp2+n2v XnW1mJsr5R/l/jyQSh3qbai1oVhFb6/3B0jnDDrnUArAcTZvOw4Ysx0grRM4uQTXQx/vkXAAk3CD IRkXTeJ1gJQC6FxAxoX+HfS6bB2MMeB5FvI+t00BELQg56PDPtrr/pmZJIaMi2TcJUArddteOPhb DKgaEAe83BIgfhmSD5huZt4aAyyE7yEakx7sVQcemGQlwssI1IBf3qkVL2fNkhWARCPbRdDc7Z7N W4CaJYDREH0dQ62JNI5/d/fLkC9Z8dczugA6myJPD2jrFI6OES8P09BGAyRXhKwPhbIVLmbpMqWb qOEASWI4bKGlGhSq0IgRk9i8SQzzCKIx+halXa39BX0eIvMIKVTtQL2sFc8msHiD2TTdwK0AwNJX HHbVJ0YdhWYwKlACAAAAAElFTkSuQmCC "
height="16"
width="16" />
<text
@@ -4470,12 +4462,194 @@
sodipodi:role="line"
style="font-size:16px;font-weight:bold;-inkscape-font-specification:Ubuntu Bold">Loading</tspan></text>
<rect
- style="color:#000000;fill:#feb295;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#a40603;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4721"
width="87.663948"
height="3.7137473"
x="130.07883"
y="111.25339" />
+ <rect
+ style="color:#000000;fill:#501616;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4526"
+ width="13"
+ height="6"
+ x="17"
+ y="139" />
+ <g
+ id="g4532"
+ style="fill:#892c00;fill-opacity:1;opacity:0.85">
+ <rect
+ rx="5"
+ ry="5"
+ y="110.34837"
+ x="4.9808998"
+ height="182.65163"
+ width="322.0191"
+ id="rect4520"
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ y="110.5"
+ x="5"
+ height="45"
+ width="71"
+ id="rect4522"
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4528"
+ width="71"
+ height="45"
+ x="5"
+ y="247.5" />
+ <rect
+ y="110.5"
+ x="256"
+ height="45"
+ width="71"
+ id="rect4530"
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <rect
+ style="opacity:0.79000004999999984;color:#000000;fill:#fff0e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4538"
+ width="294.9017"
+ height="42"
+ x="17"
+ y="141"
+ ry="3"
+ rx="3" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#rect4538"
+ id="use4540"
+ transform="translate(0,49)"
+ width="1024"
+ height="768" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#use4540"
+ id="use4542"
+ transform="translate(0,49)"
+ width="1024"
+ height="768" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffe9da;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="15.226257"
+ y="133.22296"
+ id="text4548"
+ sodipodi:linespacing="100%"><tspan
+ id="tspan4550"
+ sodipodi:role="line"
+ x="15.226257"
+ y="133.22296">Messages</tspan></text>
+ <image
+ y="140"
+ x="17"
+ id="image5750"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAWpJREFU
+OI3V07svw1EUB/Bv65FqtKrUY0A8QjQIaRCbgUZSoQkSiSYSj8mASEgHg8dfYDWRWjvUahAj0QRD
+k9+AySAsIvq7j985tqYJ9UgtTnJyh5v7Od/hHhszI5+y5/X6L4DCXBf3p7NTTLTGxGNNQ7HHXyW4
+PYm4SamtsvrxflJq/asEnwKk1Iq7LtTuru2BFmo+FQ/3/hgwEpN+LdSyq9ID6yWB6q4FjyXk5k1s
+pOhbIBUP27WQUZ9/xgszifPDI5R60tCmHNWmHPsWsIQMOiu6Iq7yN5C4A5hgvV6gcXDNpoXYOd8b
+cOUErg6CxdqUu576btDbNZjSCEy0geQDHA4D1Z3T7VrI1ZyAJeSityUUcLqewPoZsBXgMm4AIJBp
+wNfaAEuopbPtDn82kPkH2hRRn38csN/D7vYBYPTNhTNzCkqa0TS8UWUcb28BmPoICOlI7k+kmRhM
+lNWcOUEEZq7JTmD7/8v0DkyzqBlaCormAAAAAElFTkSuQmCC
+"
+ height="40"
+ width="40" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5765"
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ transform="translate(4.170296,-7.003638)"><flowRegion
+ id="flowRegion5767"><rect
+ id="rect5769"
+ width="272.94324"
+ height="32.526917"
+ x="51.618793"
+ y="156.35263"
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu" /></flowRegion><flowPara
+ id="flowPara5771">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</flowPara></flowRoot> <image
+ y="171.03604"
+ x="303.15076"
+ id="image8263"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAsNJREFU
+OI1tk7tPk1EUwH/fow+0NRIjg48YGgOt4KOp4aWk2iBqYkLixmJw8T9w6cBgpHFwMHEwLsRBB/AB
+MbiYUDSasIjBxA4OKLXUFkppsR/C1373uw6UCupNbm5ykt/vnHtOjsK28zgc1tNv344IuMp/jgaT
+Ai5HobIVU/6Cnzb5fJcu3rjhVjQNACklCIG0LN49emR+mpt7I+BKFKyaoAo/9/t8vZHr192LU1OY
++fyO7E6vl4bOTt6NjpqJZHJSQF8ULG04FHJkp6dfBI4e7Y0MDGzCa2tgWTsEQlVZT6cJRCL62sLC
+4ZVS6fRAOPxM68pkXh5rauo5f+2aOxuPYzU0oMdikEwis9nNvx8/zt5796gkEhifP3MsHNaNVOrI
+t0QiqPWo6pP+mzf1zOvXlAsF1L4+1NZWlM5O+PoVdd8+9gwN4aqvR5GS0tQUvwoFWsJhfebjx4Cu
+KApISblQ2Cx1eBhcLly9vbgHB9EVBafHgxmPk797FxvYMAykECiA+s+spEQ8eICcmcG5axdOrxdr
+dpZcLIawbWzABmS1R/8KAK2lBXcohK7rOBwOdgeD1IVCyCosymXEwsIfgRSiBqutrXhv38bp9bIR
+j7M2MYHT48F3/z6ejg7MXA7jyxfkz58A6FLKTZthICyLuvZ2XFV4eWgI2zTRgP39/dSdPMnGw4eg
+adjVpNoFKbsrxeKhQHu7VkokKI2PU/n+naVbtyhnMpSXl8mNjbE+P0/yzh0UTcPn95NeWbG/ra7m
+lRg4NXh1orGxuy0YdKXicdaLxVqztl/F4aCxuZl0oSDep9NLNnRpkyAiMJIrFs+ahnEw0NamlxYX
+qZjmDlh1OGj0+5nP58X0jx8pGzqikKot01Yl/gMHus+cOuVShMC2LKRl1d5EMml9yGbnbDgbheUd
+27hdIqDnf+NVYdaGc1FY3Yr9BsdNUva1UTzZAAAAAElFTkSuQmCC
+"
+ height="16"
+ width="16"
+ style="fill:#cccccc;opacity:0.81" />
+ <g
+ transform="translate(804.21116,-270.59772)"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/kune-logo.png"
+ id="g8266"
+ style="opacity:0.5;display:inline">
+ <path
+ style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem"
+ d="m 206.0077,119.17481 c -0.23779,0 -0.46633,8.7e-4 -0.69567,0.0158 -0.0214,0.004 -0.0417,0.0118 -0.0632,0.0158 -0.21349,0.0399 -0.4241,0.0739 -0.6482,0.0791 -0.0311,0.004 -0.064,-0.005 -0.0949,0 -1.82915,0.27537 -3.37459,1.06959 -4.61662,2.38736 -1.45043,1.53186 -2.18178,3.36697 -2.18178,5.50197 0,2.15893 0.73135,4.00649 2.18178,5.53358 1.57013,1.64669 3.61017,2.46636 6.11859,2.46636 1.33077,0 2.61016,-0.33065 3.82604,-0.99601 1.21588,-0.64624 2.27312,-1.56093 3.1779,-2.71936 l -2.73518,-1.51778 c -1.17765,1.57013 -2.6245,2.35569 -4.34781,2.35569 -1.19676,0 -2.26981,-0.3882 -3.1937,-1.1541 -0.93824,-0.76596 -1.40711,-1.69889 -1.40711,-2.81422 l 12.5059,0 0,-0.63244 c 0,-2.70464 -0.91615,-4.8704 -2.73518,-6.49798 -1.53185,-1.35475 -3.22873,-2.02374 -5.09086,-2.02374 z m -58.15001,0.11067 0,6.0553 -2.1186,0 0,3.09885 2.1186,0 0,6.32407 3.22527,0 0,-6.32407 1.94464,0 3.96838,6.32407 3.82609,0 -5.32806,-8.03161 5.09091,-7.14623 -3.90514,0 -3.93676,5.75492 -1.66006,0 0,-6.0553 -3.22527,0 z m 39.573,0 c -0.55523,0.0991 -1.07256,0.26037 -1.5494,0.50596 -0.80423,0.43082 -1.43916,0.99904 -1.91307,1.7075 l 0,-1.91308 -3.24108,0 0,15.17784 3.24108,0 0,-8.5059 c 0,-1.21588 0.3431,-2.14881 1.02768,-2.81422 0.68934,-0.66536 1.5632,-0.99601 2.64032,-0.99607 1.13926,6e-5 2.02899,0.30575 2.65612,0.93283 0.62708,0.62713 0.93277,1.60993 0.93277,2.94069 l 0,8.44267 3.24113,0 0,-9.1541 c -5e-5,-1.86218 -0.56822,-3.40069 -1.70754,-4.61662 -0.85448,-0.91187 -1.84318,-1.4795 -2.97232,-1.7075 l -2.35569,0 z m -24.56913,0.30038 0,8.79053 c 0,2.0584 0.69395,3.72268 2.08698,4.99601 1.29249,1.19676 2.89338,1.80235 4.77467,1.80235 1.90046,0 3.49322,-0.60559 4.79053,-1.80235 1.39298,-1.27333 2.08693,-2.93761 2.08693,-4.99601 l 0,-8.79053 -3.24108,0 0,8.50591 c -6e-5,1.12015 -0.34316,2.03148 -1.02768,2.73517 -0.70851,0.72762 -1.56992,1.09092 -2.6087,1.09092 -1.0005,0 -1.86857,-0.36806 -2.57708,-1.09092 -0.70369,-0.72762 -1.04349,-1.63413 -1.04343,-2.73517 l 0,-8.50591 -3.24114,0 z m 42.73504,2.49803 c 1.05794,0 1.98172,0.2966 2.76679,0.8854 0.76114,0.60314 1.32167,1.48182 1.67593,2.64031 l -8.71148,0 c 0.25371,-1.11539 0.78014,-1.98162 1.5652,-2.60869 0.76114,-0.60797 1.66002,-0.91702 2.70356,-0.91702 z"
+ id="path8268"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-logo-16px.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g8270"
+ transform="matrix(0.1111494,0,0,0.111008,121.5678,22.515968)"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-logo-16px.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 60.321717,411.99998 377.014613,0"
+ id="path8272"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 252.61203,788.60332 0,-377.01178"
+ id="path8274"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 252.86937,597.15755 377.0124,0"
+ id="path8276"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 437.45588,596.97447 0,-377.01491"
+ id="path8278"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 372.87905,411.27704 64.93441,0"
+ id="path8280"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
</g>
<g
inkscape:groupmode="layer"
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/pom.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -10,7 +10,7 @@
<url>http://kune.ourproject.org</url>
<properties>
<!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
- <gwt.version>2.1.0</gwt.version>
+ <gwt.version>2.1.1</gwt.version>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -78,6 +78,10 @@
<url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
<name>Google Web Toolkit Repository</name>
</repository>
+ <repository>
+ <id>gwt-maven-rewraps</id>
+ <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
+ </repository>
<!-- cc -->
<repository>
<id>dyndns-repo</id>
@@ -244,6 +248,11 @@
<artifactId>gwtp</artifactId>
<version>0.4</version>
</dependency>
+ <dependency>
+ <groupId>org.adamtacy</groupId>
+ <artifactId>gwt-fx</artifactId>
+ <version>r464</version>
+ </dependency>
<!-- cc -->
<dependency>
<groupId>com.gwtext</groupId>
@@ -500,7 +509,7 @@
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>waveinabox-server</artifactId>
- <version>0.0.3.2</version>
+ <version>0.0.3.2</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
@@ -521,55 +530,55 @@
<!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>com.google.code.guice</groupId> -->
- <!-- <artifactId>guice-assistedinject</artifactId> -->
- <!-- <version>2.0</version> -->
+ <!-- <groupId>com.google.code.guice</groupId> -->
+ <!-- <artifactId>guice-assistedinject</artifactId> -->
+ <!-- <version>2.0</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>jline<!/groupId> -->
- <!-- <artifactId>jline</artifactId> -->
- <!-- <version>0.9.94</version> -->
- <!-- <type>jar</type> -->
+ <!-- <groupId>jline<!/groupId> -->
+ <!-- <artifactId>jline</artifactId> -->
+ <!-- <version>0.9.94</version> -->
+ <!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>org.gnu.inet</groupId> -->
- <!-- <artifactId>libidn</artifactId> -->
- <!-- <version>1.15</version> -->
- <!-- <type>jar</type> -->
+ <!-- <groupId>org.gnu.inet</groupId> -->
+ <!-- <artifactId>libidn</artifactId> -->
+ <!-- <version>1.15</version> -->
+ <!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>com.google.protobuf</groupId> -->
- <!-- <artifactId>protobuf-java</artifactId> -->
- <!-- <version>2.3.0</version> -->
- <!-- <type>jar</type> -->
+ <!-- <groupId>com.google.protobuf</groupId> -->
+ <!-- <artifactId>protobuf-java</artifactId> -->
+ <!-- <version>2.3.0</version> -->
+ <!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>xpp3</groupId> -->
- <!-- <artifactId>xpp3</artifactId> -->
- <!-- <version>1.1.4c</version> -->
- <!-- <type>jar</type> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>xpp3</groupId> -->
- <!-- <artifactId>xpp3_xpath</artifactId> -->
- <!-- <version>1.1.4c</version> -->
- <!-- <type>jar</type> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3_xpath</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>aopalliance</groupId> -->
- <!-- <artifactId>aopalliance</artifactId> -->
- <!-- <version>1.0</version> -->
- <!-- <type>jar</type> -->
+ <!-- <groupId>aopalliance</groupId> -->
+ <!-- <artifactId>aopalliance</artifactId> -->
+ <!-- <version>1.0</version> -->
+ <!-- <type>jar</type> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>org.wave-protocol</groupId> -->
- <!-- <artifactId>xmpp</artifactId> -->
- <!-- <version>1.0.0</version> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>xmpp</artifactId> -->
+ <!-- <version>1.0.0</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
- <!-- <groupId>org.wave-protocol</groupId> -->
- <!-- <artifactId>whack</artifactId> -->
- <!-- <version>1.0.0</version> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>whack</artifactId> -->
+ <!-- <version>1.0.0</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.google.guava</groupId>
@@ -580,8 +589,7 @@
<distributionManagement>
<repository>
<id>kune.ourproject.org</id>
- <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/
- </url>
+ <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ </url>
</repository>
</distributionManagement>
<issueManagement>
@@ -732,23 +740,17 @@
<scanIntervalSeconds>0</scanIntervalSeconds>
</configuration>
</plugin>
+ <!-- pensar/probar: openjpa-maven-plugin -->
+ <!-- gwtp & GenEvent need this plugin -->
+ <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
+ <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
+ <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
+ <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
+ <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
+ </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
+ <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
+ <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
<plugin>
- <!-- pensar/probar: openjpa-maven-plugin -->
- <!-- gwtp & GenEvent need this plugin -->
- <groupId>org.bsc.maven</groupId>
- <artifactId>maven-processor-plugin</artifactId>
- <version>1.3.7</version>
- <executions>
- <execution>
- <id>process</id>
- <goals>
- <goal>process</goal>
- </goals>
- <phase>generate-sources</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
<!-- =roo -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
@@ -934,4 +936,4 @@
</plugin>
</plugins>
</reporting>
-</project>
+</project>
\ No newline at end of file
Modified: trunk/script/css-update.sh
===================================================================
--- trunk/script/css-update.sh 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/script/css-update.sh 2011-01-09 04:44:25 UTC (rev 1178)
@@ -2,9 +2,11 @@
APPPUB=src/main/java/org/ourproject/kune/app/public
#WEBAPP=src/main/webapp/gwt/ws
-$PWD/script/css-compact-and-tidy.sh
+## > $PWD/script/css-compact-and-tidy.sh
#rsync -aC $APPPUB/ws.html $WEBAPP/ws.html
#rsync -aC $APPPUB/js/ $WEBAPP/js
#rsync -aC $APPPUB/css/ $WEBAPP/css
#rsync -aC $APPPUB/images/ $WEBAPP/images
+
+cp src/main/java/cc/kune/msgs/public/kune-message.css target/kune-0.0.7/ws/
Modified: trunk/script/mvn-eclipse.sh
===================================================================
--- trunk/script/mvn-eclipse.sh 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/script/mvn-eclipse.sh 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,3 +1,5 @@
mvn eclipse:eclipse -Dgwt.compiler.skip=true
perl -p -i -e 's/<\/classpath>//g' .classpath
+echo -en " <classpathentry kind=\"src\" path=\"target/generated-sources/apt\" including=\"**/*.java\"/>" >> .classpath
echo -en " <classpathentry kind=\"con\" path=\"com.google.gwt.eclipse.core.GWT_CONTAINER\"/>\n</classpath>" >> .classpath
+
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -5,6 +5,7 @@
<inherits name='com.google.gwt.logging.Logging' />
<inherits name="cc.kune.core.Core" />
<inherits name="com.calclab.suco.Suco" />
+ <inherits name="org.adamtacy.GWTEffects"></inherits>
<source path='client'
excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
<!-- <source path='shared'/> -->
Modified: trunk/src/main/java/cc/kune/core/Core.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/Core.gwt.xml 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/Core.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -12,6 +12,7 @@
<inherits name="com.google.gwt.user.User" />
<!-- <inherits name='com.mvp4g.Mvp4gModule' /> -->
<inherits name="cc.kune.core.ws.armor.WsArmor" />
+ <inherits name="cc.kune.msgs.KuneMsgs" />
<inherits name="org.ourproject.common.Common" />
<inherits name="com.extjs.gxt.ui.GXT" />
<inherits name="com.calclab.suco.Suco" />
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -7,11 +7,11 @@
import cc.kune.core.client.init.AppStarter;
import cc.kune.core.client.init.AppStarterDefault;
import cc.kune.core.client.init.PrefetchUtilities;
-import cc.kune.core.client.notify.SpinerPresenter;
-import cc.kune.core.client.notify.SpinerViewImpl;
-import cc.kune.core.client.notify.UserNotifierPresenter;
-import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierProxy;
-import cc.kune.core.client.notify.UserNotifierViewImpl;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierProxy;
+import cc.kune.core.client.notify.msgs.UserNotifierViewImpl;
+import cc.kune.core.client.notify.spiner.SpinerPresenter;
+import cc.kune.core.client.notify.spiner.SpinerViewImpl;
import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
import cc.kune.core.client.sitebar.logo.SiteLogoViewImpl;
import cc.kune.core.client.state.ContentProvider;
@@ -28,6 +28,8 @@
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.core.ws.armor.client.WsArmor;
import cc.kune.core.ws.armor.client.WsArmorImpl;
+import cc.kune.msgs.client.panel.UserMessagesPanel;
+import cc.kune.msgs.client.panel.UserMessagesPresenter;
import com.google.inject.Singleton;
import com.gwtplatform.mvp.client.DefaultEventBus;
@@ -67,6 +69,9 @@
bindPresenter(SiteLogoPresenter.class, SiteLogoPresenter.SiteLogoView.class, SiteLogoViewImpl.class,
SiteLogoPresenter.SiteLogoProxy.class);
+ bind(UserMessagesPresenter.class).in(Singleton.class);
+ bind(UserMessagesPanel.class).in(Singleton.class);
+
bind(WsArmorImpl.class).in(Singleton.class);
bind(WsArmor.class).to(WsArmorImpl.class);
bind(Session.class).to(SessionDefault.class).in(Singleton.class);
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -2,8 +2,8 @@
import cc.kune.core.client.cookies.CookiesManager;
import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.notify.SpinerPresenter;
-import cc.kune.core.client.notify.UserNotifierPresenter;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter;
+import cc.kune.core.client.notify.spiner.SpinerPresenter;
import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.client.ws.CorePresenter;
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -21,9 +21,9 @@
import org.ourproject.common.client.notify.NotifyLevel;
-import cc.kune.core.client.notify.AlertEvent;
-import cc.kune.core.client.notify.ProgressHideEvent;
-import cc.kune.core.client.notify.UserNotifyEvent;
+import cc.kune.core.client.notify.alerts.AlertEvent;
+import cc.kune.core.client.notify.msgs.UserNotifyEvent;
+import cc.kune.core.client.notify.spiner.ProgressHideEvent;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.i18n.I18nTranslationService;
Deleted: trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,7 +0,0 @@
-package cc.kune.core.client.i18n;
-
-import com.gwtplatform.annotation.GenEvent;
-
-@GenEvent
-public class I18nReady {
-}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,67 @@
+package cc.kune.core.client.i18n;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class I18nReadyEvent extends GwtEvent<I18nReadyEvent.I18nReadyHandler> {
+
+ public interface HasI18nReadyHandlers extends HasHandlers {
+ HandlerRegistration addI18nReadyHandler(I18nReadyHandler handler);
+ }
+
+ public interface I18nReadyHandler extends EventHandler {
+ public void onI18nReady(I18nReadyEvent event);
+ }
+
+ private static final Type<I18nReadyHandler> TYPE = new Type<I18nReadyHandler>();
+
+ public static void fire(HasEventBus source) {
+ source.fireEvent(new I18nReadyEvent());
+ }
+
+ public static Type<I18nReadyHandler> getType() {
+ return TYPE;
+ }
+
+
+ public I18nReadyEvent() {
+ }
+
+ @Override
+ public Type<I18nReadyHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(I18nReadyHandler handler) {
+ handler.onI18nReady(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ I18nReadyEvent o = (I18nReadyEvent) other;
+ return true
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "I18nReadyEvent["
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/init/AppStart.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStart.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStart.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,12 +0,0 @@
-package cc.kune.core.client.init;
-
-import cc.kune.core.shared.dto.InitDataDTO;
-
-import com.gwtplatform.annotation.GenEvent;
-import com.gwtplatform.annotation.Order;
-
-@GenEvent
-public class AppStart {
- @Order(1)
- InitDataDTO initData;
-}
Added: trunk/src/main/java/cc/kune/core/client/init/AppStartEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStartEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStartEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,76 @@
+package cc.kune.core.client.init;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class AppStartEvent extends GwtEvent<AppStartEvent.AppStartHandler> {
+
+ public interface HasAppStartHandlers extends HasHandlers {
+ HandlerRegistration addAppStartHandler(AppStartHandler handler);
+ }
+
+ public interface AppStartHandler extends EventHandler {
+ public void onAppStart(AppStartEvent event);
+ }
+
+ private static final Type<AppStartHandler> TYPE = new Type<AppStartHandler>();
+
+ public static void fire(HasEventBus source, cc.kune.core.shared.dto.InitDataDTO initData) {
+ source.fireEvent(new AppStartEvent(initData));
+ }
+
+ public static Type<AppStartHandler> getType() {
+ return TYPE;
+ }
+
+ private final cc.kune.core.shared.dto.InitDataDTO initData;
+
+ public AppStartEvent(cc.kune.core.shared.dto.InitDataDTO initData) {
+ this.initData = initData;
+ }
+
+ @Override
+ public Type<AppStartHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public cc.kune.core.shared.dto.InitDataDTO getInitData() {
+ return initData;
+ }
+
+ @Override
+ protected void dispatch(AppStartHandler handler) {
+ handler.onAppStart(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ AppStartEvent o = (AppStartEvent) other;
+ return true
+ && ((o.initData == null && this.initData == null) || (o.initData != null && o.initData.equals(this.initData)))
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ hashCode = (hashCode * 37) + (initData == null ? 1 : initData.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "AppStartEvent["
+ + initData
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/init/AppStartEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -21,8 +21,8 @@
import org.ourproject.common.client.notify.NotifyLevel;
-import cc.kune.core.client.notify.ProgressHideEvent;
-import cc.kune.core.client.notify.UserNotifyEvent;
+import cc.kune.core.client.notify.msgs.UserNotifyEvent;
+import cc.kune.core.client.notify.spiner.ProgressHideEvent;
import cc.kune.core.client.rpcservices.SiteServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.InitDataDTO;
@@ -78,7 +78,8 @@
@Override
public void onFailure(final Throwable error) {
eventBus.fireEvent(new ProgressHideEvent());
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, "Error fetching initial data"));
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ "Error fetching initial data from Kune server"));
Log.debug(error.getMessage());
hideInitialPanels();
}
@@ -97,6 +98,9 @@
@Override
public void execute() {
hideInitialPanels();
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, "Started"));
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ "Started closeable. Started closeable. Started closeable. Started closeable", true));
}
});
}
Deleted: trunk/src/main/java/cc/kune/core/client/init/AppStop.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStop.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStop.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,8 +0,0 @@
-package cc.kune.core.client.init;
-
-import com.gwtplatform.annotation.GenEvent;
-
-@GenEvent
-public class AppStop {
-
-}
Added: trunk/src/main/java/cc/kune/core/client/init/AppStopEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStopEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStopEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,67 @@
+package cc.kune.core.client.init;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class AppStopEvent extends GwtEvent<AppStopEvent.AppStopHandler> {
+
+ public interface HasAppStopHandlers extends HasHandlers {
+ HandlerRegistration addAppStopHandler(AppStopHandler handler);
+ }
+
+ public interface AppStopHandler extends EventHandler {
+ public void onAppStop(AppStopEvent event);
+ }
+
+ private static final Type<AppStopHandler> TYPE = new Type<AppStopHandler>();
+
+ public static void fire(HasEventBus source) {
+ source.fireEvent(new AppStopEvent());
+ }
+
+ public static Type<AppStopHandler> getType() {
+ return TYPE;
+ }
+
+
+ public AppStopEvent() {
+ }
+
+ @Override
+ public Type<AppStopHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(AppStopHandler handler) {
+ handler.onAppStop(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ AppStopEvent o = (AppStopEvent) other;
+ return true
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "AppStopEvent["
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/init/AppStopEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/notify/Alert.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/Alert.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/Alert.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,12 +0,0 @@
-package cc.kune.core.client.notify;
-
-import com.gwtplatform.annotation.GenEvent;
-import com.gwtplatform.annotation.Order;
-
-@GenEvent
-public class Alert {
- @Order(1)
- String title;
- @Order(2)
- String message;
-}
Deleted: trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,7 +0,0 @@
-package cc.kune.core.client.notify;
-
-import com.gwtplatform.annotation.GenEvent;
-
-@GenEvent
-public class ProgressHide {
-}
Deleted: trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,10 +0,0 @@
-package cc.kune.core.client.notify;
-
-import com.gwtplatform.annotation.GenEvent;
-import com.gwtplatform.annotation.Order;
-
-@GenEvent
-public class ProgressShow {
- @Order(1)
- String message;
-}
Deleted: trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,56 +0,0 @@
-package cc.kune.core.client.notify;
-
-import cc.kune.core.client.i18n.I18nReadyEvent;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
-import com.gwtplatform.mvp.client.PopupView;
-import com.gwtplatform.mvp.client.Presenter;
-import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
-import com.gwtplatform.mvp.client.annotations.ProxyEvent;
-import com.gwtplatform.mvp.client.proxy.Proxy;
-import com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent;
-
-public class SpinerPresenter extends Presenter<SpinerPresenter.SpinerView, SpinerPresenter.SpinerProxy> {
-
- private final I18nTranslationService i18n;
-
- @ProxyCodeSplit
- public interface SpinerProxy extends Proxy<SpinerPresenter> {
- }
-
- public interface SpinerView extends PopupView {
- void fade();
-
- void show(String message);
- }
-
- @Inject
- public SpinerPresenter(final EventBus eventBus, final SpinerView view, final SpinerProxy proxy,
- I18nTranslationService i18n) {
- super(eventBus, view, proxy);
- this.i18n = i18n;
- }
-
- @ProxyEvent
- public void onProgressShow(ProgressShowEvent event) {
- getView().show(event.getMessage());
- }
-
- @ProxyEvent
- public void onI18nReady(I18nReadyEvent event) {
- getView().show(i18n.t("Loading"));
- }
-
- @ProxyEvent
- public void onProgressHide(ProgressHideEvent event) {
- getView().fade();
- }
-
- @Override
- protected void revealInParent() {
- RevealRootPopupContentEvent.fire(this, this);
- // RevealRootContentEvent.fire(this, this);
- }
-}
Deleted: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,66 +0,0 @@
-package cc.kune.core.client.notify;
-
-import cc.kune.core.client.notify.SpinerPresenter.SpinerView;
-import cc.kune.core.ws.armor.client.WsArmor;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.InlineLabel;
-import com.google.gwt.user.client.ui.PopupPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
-import com.gwtplatform.mvp.client.PopupViewWithUiHandlers;
-import com.gwtplatform.mvp.client.UiHandlers;
-
-public class SpinerViewImpl extends PopupViewWithUiHandlers<UiHandlers> implements SpinerView {
-
- private final PopupPanel popup;
-
- @Inject
- protected SpinerViewImpl(EventBus eventBus, WsArmor armor) {
- super(eventBus);
- widget = uiBinder.createAndBindUi(this);
- popup = new PopupPanel(false, false);
- popup.add(widget);
- popup.setPopupPosition(0, 0);
- popup.setStyleName("k-spiner-popup");
- popup.show();
- }
-
- private static SpinerViewImplUiBinder uiBinder = GWT.create(SpinerViewImplUiBinder.class);
-
- interface SpinerViewImplUiBinder extends UiBinder<Widget, SpinerViewImpl> {
- }
-
- @UiField
- HorizontalPanel panel;
- @UiField
- InlineLabel label;
- @UiField
- Image img;
- Widget widget;
-
- @Override
- public Widget asWidget() {
- return popup;
- }
-
- @Override
- public void fade() {
- popup.hide();
- }
-
- @Override
- public void show(String message) {
- if (message == null || message.isEmpty()) {
- label.setText("");
- } else {
- label.setText(message);
- }
- popup.show();
- }
-}
Deleted: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,11 +0,0 @@
-<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
- xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:p1="urn:import:com.extjs.gxt.ui.client.widget">
- <ui:with field='res' type='cc.kune.core.client.resources.CoreResources' />
- <g:FlowPanel>
- <g:HorizontalPanel ui:field="panel" styleName="kLoadingPanel" verticalAlignment="ALIGN_MIDDLE" horizontalAlignment="ALIGN_CENTER" borderWidth="0">
- <g:Image ui:field="img" styleName="{res.css.loadingSpiner}" />
- <g:InlineLabel ui:field="label" styleName="kLoadingLabel" horizontalAlignment="ALIGN_CENTER" />
- </g:HorizontalPanel>
- </g:FlowPanel>
-</ui:UiBinder>
\ No newline at end of file
Deleted: trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,51 +0,0 @@
-package cc.kune.core.client.notify;
-
-import org.ourproject.common.client.notify.ConfirmationAsk;
-import org.ourproject.common.client.notify.NotifyLevel;
-
-import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierProxy;
-import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierView;
-
-import com.google.gwt.user.client.ui.RootPanel;
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.EventBus;
-import com.gwtplatform.mvp.client.Presenter;
-import com.gwtplatform.mvp.client.View;
-import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
-import com.gwtplatform.mvp.client.annotations.ProxyEvent;
-import com.gwtplatform.mvp.client.proxy.Proxy;
-
-public class UserNotifierPresenter extends Presenter<UserNotifierView, UserNotifierProxy> {
- @ProxyCodeSplit
- public interface UserNotifierProxy extends Proxy<UserNotifierPresenter> {
- }
-
- public interface UserNotifierView extends View {
- public void alert(String title, String message);
-
- public void confirmationAsk(ConfirmationAsk<?> ask);
-
- public void notify(NotifyLevel level, String message);
- }
-
- @Inject
- public UserNotifierPresenter(final EventBus eventBus, final UserNotifierView view, final UserNotifierProxy proxy) {
- super(eventBus, view, proxy);
- }
-
- @ProxyEvent
- public void onUserNotify(UserNotifyEvent event) {
- getView().notify(event.getLevel(), event.getMessage());
- }
-
- @ProxyEvent
- public void onAlert(AlertEvent event) {
- getView().alert(event.getTitle(), event.getMessage());
- }
-
- @Override
- protected void revealInParent() {
- RootPanel.get().add(getWidget());
- }
-
-}
\ No newline at end of file
Deleted: trunk/src/main/java/cc/kune/core/client/notify/UserNotifierViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/UserNotifierViewImpl.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/UserNotifierViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,43 +0,0 @@
-package cc.kune.core.client.notify;
-
-import org.ourproject.common.client.notify.ConfirmationAsk;
-import org.ourproject.common.client.notify.NotifyLevel;
-
-import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierView;
-
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.ViewImpl;
-
-public class UserNotifierViewImpl extends ViewImpl implements UserNotifierView {
- @Inject
- public UserNotifierViewImpl() {
- }
-
- @Override
- public void alert(final String title, final String message) {
- message(title, message);
- }
-
- @Override
- public Widget asWidget() {
- return null;
- }
-
- @Override
- public void confirmationAsk(final ConfirmationAsk<?> ask) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void notify(final NotifyLevel level, final String message) {
- message("", message);
- }
-
- private void message(final String title, final String message) {
- Window.alert(title + " " + message);
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/core/client/notify/UserNotify.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/UserNotify.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/notify/UserNotify.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,14 +0,0 @@
-package cc.kune.core.client.notify;
-
-import org.ourproject.common.client.notify.NotifyLevel;
-
-import com.gwtplatform.annotation.GenEvent;
-import com.gwtplatform.annotation.Order;
-
-@GenEvent
-public class UserNotify {
- @Order(1)
- NotifyLevel level;
- @Order(2)
- String message;
-}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,86 @@
+package cc.kune.core.client.notify.alerts;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class AlertEvent extends GwtEvent<AlertEvent.AlertHandler> {
+
+ public interface HasAlertHandlers extends HasHandlers {
+ HandlerRegistration addAlertHandler(AlertHandler handler);
+ }
+
+ public interface AlertHandler extends EventHandler {
+ public void onAlert(AlertEvent event);
+ }
+
+ private static final Type<AlertHandler> TYPE = new Type<AlertHandler>();
+
+ public static void fire(HasEventBus source, java.lang.String title, java.lang.String message) {
+ source.fireEvent(new AlertEvent(title, message));
+ }
+
+ public static Type<AlertHandler> getType() {
+ return TYPE;
+ }
+
+ private final java.lang.String title;
+ private final java.lang.String message;
+
+ public AlertEvent(java.lang.String title, java.lang.String message) {
+ this.title = title;
+ this.message = message;
+ }
+
+ @Override
+ public Type<AlertHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public java.lang.String getTitle() {
+ return title;
+ }
+
+ public java.lang.String getMessage() {
+ return message;
+ }
+
+ @Override
+ protected void dispatch(AlertHandler handler) {
+ handler.onAlert(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ AlertEvent o = (AlertEvent) other;
+ return true
+ && ((o.title == null && this.title == null) || (o.title != null && o.title.equals(this.title)))
+ && ((o.message == null && this.message == null) || (o.message != null && o.message.equals(this.message)))
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ hashCode = (hashCode * 37) + (title == null ? 1 : title.hashCode());
+ hashCode = (hashCode * 37) + (message == null ? 1 : message.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "AlertEvent["
+ + title
+ + ","
+ + message
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/alerts/AlertEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,39 @@
+package cc.kune.core.client.notify.alerts;
+
+import cc.kune.core.client.notify.alerts.UserAlerterPresenter.UserAlerterProxy;
+import cc.kune.core.client.notify.alerts.UserAlerterPresenter.UserAlerterView;
+
+import com.google.gwt.user.client.ui.RootPanel;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+
+public class UserAlerterPresenter extends Presenter<UserAlerterView, UserAlerterProxy> {
+ @ProxyCodeSplit
+ public interface UserAlerterProxy extends Proxy<UserAlerterPresenter> {
+ }
+
+ public interface UserAlerterView extends View {
+ public void alert(String title, String message);
+ }
+
+ @Inject
+ public UserAlerterPresenter(final EventBus eventBus, final UserAlerterView view, final UserAlerterProxy proxy) {
+ super(eventBus, view, proxy);
+ }
+
+ @ProxyEvent
+ public void onAlert(AlertEvent event) {
+ getView().alert(event.getTitle(), event.getMessage());
+ }
+
+ @Override
+ protected void revealInParent() {
+ RootPanel.get().add(getWidget());
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterViewImpl.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,29 @@
+package cc.kune.core.client.notify.alerts;
+
+import cc.kune.core.client.notify.alerts.UserAlerterPresenter.UserAlerterView;
+
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class UserAlerterViewImpl extends ViewImpl implements UserAlerterView {
+ @Inject
+ public UserAlerterViewImpl() {
+ }
+
+ @Override
+ public void alert(final String title, final String message) {
+ message(title, message);
+ }
+
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
+
+ private void message(final String title, final String message) {
+ Window.alert(title + " " + message);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/alerts/UserAlerterViewImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,36 @@
+package cc.kune.core.client.notify.confirm;
+
+import org.ourproject.common.client.notify.ConfirmationAsk;
+
+import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmProxy;
+import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmView;
+
+import com.google.gwt.user.client.ui.RootPanel;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+
+public class UserConfirmPresenter extends Presenter<UserConfirmView, UserConfirmProxy> {
+ @ProxyCodeSplit
+ public interface UserConfirmProxy extends Proxy<UserConfirmPresenter> {
+ }
+
+ public interface UserConfirmView extends View {
+
+ public void confirmationAsk(ConfirmationAsk<?> ask);
+ }
+
+ @Inject
+ public UserConfirmPresenter(final EventBus eventBus, final UserConfirmView view, final UserConfirmProxy proxy) {
+ super(eventBus, view, proxy);
+ }
+
+ @Override
+ protected void revealInParent() {
+ RootPanel.get().add(getWidget());
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,27 @@
+package cc.kune.core.client.notify.confirm;
+
+import org.ourproject.common.client.notify.ConfirmationAsk;
+
+import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmView;
+
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class UserConfirmViewImpl extends ViewImpl implements UserConfirmView {
+ @Inject
+ public UserConfirmViewImpl() {
+ }
+
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
+
+ @Override
+ public void confirmationAsk(final ConfirmationAsk<?> ask) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmViewImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,41 @@
+package cc.kune.core.client.notify.msgs;
+
+import org.ourproject.common.client.notify.NotifyLevel;
+
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierProxy;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierView;
+
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupView;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent;
+
+public class UserNotifierPresenter extends Presenter<UserNotifierView, UserNotifierProxy> {
+ @ProxyCodeSplit
+ public interface UserNotifierProxy extends Proxy<UserNotifierPresenter> {
+ }
+
+ public interface UserNotifierView extends PopupView {
+ public void notify(NotifyLevel level, String message, Boolean closeable);
+ }
+
+ @Inject
+ public UserNotifierPresenter(final EventBus eventBus, final UserNotifierView view, final UserNotifierProxy proxy) {
+ super(eventBus, view, proxy);
+ }
+
+ @ProxyEvent
+ public void onUserNotify(UserNotifyEvent event) {
+ getView().notify(event.getLevel(), event.getMessage(), event.getCloseable());
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootPopupContentEvent.fire(this, this);
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/notify/UserNotifierViewImpl.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,58 @@
+package cc.kune.core.client.notify.msgs;
+
+import org.ourproject.common.client.notify.NotifyLevel;
+
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierView;
+import cc.kune.msgs.client.msgs.UserMessageLevel;
+import cc.kune.msgs.client.panel.UserMessagesPanel;
+import cc.kune.msgs.client.panel.UserMessagesPresenter;
+
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupViewImpl;
+
+public class UserNotifierViewImpl extends PopupViewImpl implements UserNotifierView {
+ private final UserMessagesPresenter msgs;
+ private final PopupPanel popup;
+
+ @Inject
+ public UserNotifierViewImpl(EventBus eventBus, UserMessagesPresenter msgs, UserMessagesPanel panel) {
+ super(eventBus);
+ this.msgs = msgs;
+ msgs.init(panel);
+ panel.setWidth("370px");
+ popup = new PopupPanel(false, false);
+ popup.add(panel);
+ popup.setPopupPosition(0, 0);
+ popup.setStyleName("k-user-notif-popup");
+ popup.show();
+ }
+
+ @Override
+ public Widget asWidget() {
+ return popup;
+ }
+
+ @Override
+ public void notify(final NotifyLevel level, final String message, Boolean closeable) {
+ switch (level) {
+ case error:
+ msgs.add(UserMessageLevel.error, message, closeable);
+ break;
+ case important:
+ msgs.add(UserMessageLevel.important, message, closeable);
+ break;
+ case info:
+ msgs.add(UserMessageLevel.info, message, closeable);
+ break;
+ case veryImportant:
+ msgs.add(UserMessageLevel.veryImportant, message, false);
+ break;
+ default:
+ break;
+ }
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,119 @@
+package cc.kune.core.client.notify.msgs;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.HasHandlers;
+import com.gwtplatform.mvp.client.HasEventBus;
+
+public class UserNotifyEvent extends GwtEvent<UserNotifyEvent.UserNotifyHandler> {
+
+ public interface HasUserNotifyHandlers extends HasHandlers {
+ HandlerRegistration addUserNotifyHandler(UserNotifyHandler handler);
+ }
+
+ public interface UserNotifyHandler extends EventHandler {
+ public void onUserNotify(UserNotifyEvent event);
+ }
+
+ private static final Type<UserNotifyHandler> TYPE = new Type<UserNotifyHandler>();
+
+ public static void fire(HasEventBus source, org.ourproject.common.client.notify.NotifyLevel level,
+ java.lang.String message, Boolean closeable) {
+ source.fireEvent(new UserNotifyEvent(level, message, closeable));
+ }
+
+ public static void fire(HasEventBus source, org.ourproject.common.client.notify.NotifyLevel level,
+ java.lang.String message) {
+ source.fireEvent(new UserNotifyEvent(level, message));
+ }
+
+ public static Type<UserNotifyHandler> getType() {
+ return TYPE;
+ }
+
+ private final org.ourproject.common.client.notify.NotifyLevel level;
+ private final java.lang.String message;
+ private final Boolean closeable;
+
+ public UserNotifyEvent(org.ourproject.common.client.notify.NotifyLevel level, java.lang.String message,
+ Boolean closeable) {
+ this.level = level;
+ this.message = message;
+ this.closeable = closeable;
+ }
+
+ public UserNotifyEvent(org.ourproject.common.client.notify.NotifyLevel level, java.lang.String message) {
+ this(level, message, false);
+ }
+
+ @Override
+ public Type<UserNotifyHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public org.ourproject.common.client.notify.NotifyLevel getLevel() {
+ return level;
+ }
+
+ public java.lang.String getMessage() {
+ return message;
+ }
+
+ @Override
+ protected void dispatch(UserNotifyHandler handler) {
+ handler.onUserNotify(this);
+ }
+
+ public Boolean getCloseable() {
+ return closeable;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (closeable == null ? 0 : closeable.hashCode());
+ result = prime * result + (level == null ? 0 : level.hashCode());
+ result = prime * result + (message == null ? 0 : message.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ UserNotifyEvent other = (UserNotifyEvent) obj;
+ if (closeable == null) {
+ if (other.closeable != null) {
+ return false;
+ }
+ } else if (!closeable.equals(other.closeable)) {
+ return false;
+ }
+ if (level != other.level) {
+ return false;
+ }
+ if (message == null) {
+ if (other.message != null) {
+ return false;
+ }
+ } else if (!message.equals(other.message)) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "UserNotifyEvent [level=" + level + ", message=" + message + ", closeable=" + closeable + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressHideEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressHideEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressHideEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,67 @@
+package cc.kune.core.client.notify.spiner;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class ProgressHideEvent extends GwtEvent<ProgressHideEvent.ProgressHideHandler> {
+
+ public interface HasProgressHideHandlers extends HasHandlers {
+ HandlerRegistration addProgressHideHandler(ProgressHideHandler handler);
+ }
+
+ public interface ProgressHideHandler extends EventHandler {
+ public void onProgressHide(ProgressHideEvent event);
+ }
+
+ private static final Type<ProgressHideHandler> TYPE = new Type<ProgressHideHandler>();
+
+ public static void fire(HasEventBus source) {
+ source.fireEvent(new ProgressHideEvent());
+ }
+
+ public static Type<ProgressHideHandler> getType() {
+ return TYPE;
+ }
+
+
+ public ProgressHideEvent() {
+ }
+
+ @Override
+ public Type<ProgressHideHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(ProgressHideHandler handler) {
+ handler.onProgressHide(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ ProgressHideEvent o = (ProgressHideEvent) other;
+ return true
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "ProgressHideEvent["
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressHideEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressShowEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressShowEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressShowEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,76 @@
+package cc.kune.core.client.notify.spiner;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class ProgressShowEvent extends GwtEvent<ProgressShowEvent.ProgressShowHandler> {
+
+ public interface HasProgressShowHandlers extends HasHandlers {
+ HandlerRegistration addProgressShowHandler(ProgressShowHandler handler);
+ }
+
+ public interface ProgressShowHandler extends EventHandler {
+ public void onProgressShow(ProgressShowEvent event);
+ }
+
+ private static final Type<ProgressShowHandler> TYPE = new Type<ProgressShowHandler>();
+
+ public static void fire(HasEventBus source, java.lang.String message) {
+ source.fireEvent(new ProgressShowEvent(message));
+ }
+
+ public static Type<ProgressShowHandler> getType() {
+ return TYPE;
+ }
+
+ private final java.lang.String message;
+
+ public ProgressShowEvent(java.lang.String message) {
+ this.message = message;
+ }
+
+ @Override
+ public Type<ProgressShowHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public java.lang.String getMessage() {
+ return message;
+ }
+
+ @Override
+ protected void dispatch(ProgressShowHandler handler) {
+ handler.onProgressShow(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ ProgressShowEvent o = (ProgressShowEvent) other;
+ return true
+ && ((o.message == null && this.message == null) || (o.message != null && o.message.equals(this.message)))
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ hashCode = (hashCode * 37) + (message == null ? 1 : message.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "ProgressShowEvent["
+ + message
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/spiner/ProgressShowEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,56 @@
+package cc.kune.core.client.notify.spiner;
+
+import cc.kune.core.client.i18n.I18nReadyEvent;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupView;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent;
+
+public class SpinerPresenter extends Presenter<SpinerPresenter.SpinerView, SpinerPresenter.SpinerProxy> {
+
+ private final I18nTranslationService i18n;
+
+ @ProxyCodeSplit
+ public interface SpinerProxy extends Proxy<SpinerPresenter> {
+ }
+
+ public interface SpinerView extends PopupView {
+ void fade();
+
+ void show(String message);
+ }
+
+ @Inject
+ public SpinerPresenter(final EventBus eventBus, final SpinerView view, final SpinerProxy proxy,
+ I18nTranslationService i18n) {
+ super(eventBus, view, proxy);
+ this.i18n = i18n;
+ }
+
+ @ProxyEvent
+ public void onProgressShow(ProgressShowEvent event) {
+ getView().show(event.getMessage());
+ }
+
+ @ProxyEvent
+ public void onI18nReady(I18nReadyEvent event) {
+ getView().show(i18n.t("Loading"));
+ }
+
+ @ProxyEvent
+ public void onProgressHide(ProgressHideEvent event) {
+ getView().fade();
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootPopupContentEvent.fire(this, this);
+ // RevealRootContentEvent.fire(this, this);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java (from rev 1176, trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,66 @@
+package cc.kune.core.client.notify.spiner;
+
+import cc.kune.core.client.notify.spiner.SpinerPresenter.SpinerView;
+import cc.kune.core.ws.armor.client.WsArmor;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.InlineLabel;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupViewWithUiHandlers;
+import com.gwtplatform.mvp.client.UiHandlers;
+
+public class SpinerViewImpl extends PopupViewWithUiHandlers<UiHandlers> implements SpinerView {
+
+ private final PopupPanel popup;
+
+ @Inject
+ protected SpinerViewImpl(EventBus eventBus, WsArmor armor) {
+ super(eventBus);
+ widget = uiBinder.createAndBindUi(this);
+ popup = new PopupPanel(false, false);
+ popup.add(widget);
+ popup.setPopupPosition(0, 0);
+ popup.setStyleName("k-spiner-popup");
+ popup.show();
+ }
+
+ private static SpinerViewImplUiBinder uiBinder = GWT.create(SpinerViewImplUiBinder.class);
+
+ interface SpinerViewImplUiBinder extends UiBinder<Widget, SpinerViewImpl> {
+ }
+
+ @UiField
+ HorizontalPanel panel;
+ @UiField
+ InlineLabel label;
+ @UiField
+ Image img;
+ Widget widget;
+
+ @Override
+ public Widget asWidget() {
+ return popup;
+ }
+
+ @Override
+ public void fade() {
+ popup.hide();
+ }
+
+ @Override
+ public void show(String message) {
+ if (message == null || message.isEmpty()) {
+ label.setText("");
+ } else {
+ label.setText(message);
+ }
+ popup.show();
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.ui.xml (from rev 1176, trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.ui.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,11 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:p1="urn:import:com.extjs.gxt.ui.client.widget">
+ <ui:with field='res' type='cc.kune.core.client.resources.CoreResources' />
+ <g:FlowPanel>
+ <g:HorizontalPanel ui:field="panel" styleName="kLoadingPanel" verticalAlignment="ALIGN_MIDDLE" horizontalAlignment="ALIGN_CENTER" borderWidth="0">
+ <g:Image ui:field="img" styleName="{res.css.loadingSpiner}" />
+ <g:InlineLabel ui:field="label" styleName="kLoadingLabel" horizontalAlignment="ALIGN_CENTER" />
+ </g:HorizontalPanel>
+ </g:FlowPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/spiner/SpinerViewImpl.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -21,7 +21,7 @@
import java.util.HashMap;
-import cc.kune.core.client.notify.ProgressShowEvent;
+import cc.kune.core.client.notify.spiner.ProgressShowEvent;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateAbstractDTO;
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -23,7 +23,7 @@
import cc.kune.core.client.actions.BeforeActionCollection;
import cc.kune.core.client.actions.BeforeActionListener;
-import cc.kune.core.client.notify.ProgressHideEvent;
+import cc.kune.core.client.notify.spiner.ProgressHideEvent;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.SocialNetworkDataDTO;
Deleted: trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,12 +0,0 @@
-package cc.kune.core.client.state;
-
-import cc.kune.core.shared.dto.UserInfoDTO;
-
-import com.gwtplatform.annotation.GenEvent;
-import com.gwtplatform.annotation.Order;
-
-@GenEvent
-public class UserSignIn {
- @Order(1)
- UserInfoDTO userInfo;
-}
Added: trunk/src/main/java/cc/kune/core/client/state/UserSignInEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/UserSignInEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/state/UserSignInEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,76 @@
+package cc.kune.core.client.state;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class UserSignInEvent extends GwtEvent<UserSignInEvent.UserSignInHandler> {
+
+ public interface HasUserSignInHandlers extends HasHandlers {
+ HandlerRegistration addUserSignInHandler(UserSignInHandler handler);
+ }
+
+ public interface UserSignInHandler extends EventHandler {
+ public void onUserSignIn(UserSignInEvent event);
+ }
+
+ private static final Type<UserSignInHandler> TYPE = new Type<UserSignInHandler>();
+
+ public static void fire(HasEventBus source, cc.kune.core.shared.dto.UserInfoDTO userInfo) {
+ source.fireEvent(new UserSignInEvent(userInfo));
+ }
+
+ public static Type<UserSignInHandler> getType() {
+ return TYPE;
+ }
+
+ private final cc.kune.core.shared.dto.UserInfoDTO userInfo;
+
+ public UserSignInEvent(cc.kune.core.shared.dto.UserInfoDTO userInfo) {
+ this.userInfo = userInfo;
+ }
+
+ @Override
+ public Type<UserSignInHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public cc.kune.core.shared.dto.UserInfoDTO getUserInfo() {
+ return userInfo;
+ }
+
+ @Override
+ protected void dispatch(UserSignInHandler handler) {
+ handler.onUserSignIn(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ UserSignInEvent o = (UserSignInEvent) other;
+ return true
+ && ((o.userInfo == null && this.userInfo == null) || (o.userInfo != null && o.userInfo.equals(this.userInfo)))
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ hashCode = (hashCode * 37) + (userInfo == null ? 1 : userInfo.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "UserSignInEvent["
+ + userInfo
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/state/UserSignInEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -1,8 +0,0 @@
-package cc.kune.core.client.state;
-
-import com.gwtplatform.annotation.GenEvent;
-
-@GenEvent
-public class UserSignOut {
-
-}
Added: trunk/src/main/java/cc/kune/core/client/state/UserSignOutEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/UserSignOutEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/state/UserSignOutEvent.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,67 @@
+package cc.kune.core.client.state;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.gwtplatform.mvp.client.HasEventBus;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class UserSignOutEvent extends GwtEvent<UserSignOutEvent.UserSignOutHandler> {
+
+ public interface HasUserSignOutHandlers extends HasHandlers {
+ HandlerRegistration addUserSignOutHandler(UserSignOutHandler handler);
+ }
+
+ public interface UserSignOutHandler extends EventHandler {
+ public void onUserSignOut(UserSignOutEvent event);
+ }
+
+ private static final Type<UserSignOutHandler> TYPE = new Type<UserSignOutHandler>();
+
+ public static void fire(HasEventBus source) {
+ source.fireEvent(new UserSignOutEvent());
+ }
+
+ public static Type<UserSignOutHandler> getType() {
+ return TYPE;
+ }
+
+
+ public UserSignOutEvent() {
+ }
+
+ @Override
+ public Type<UserSignOutHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(UserSignOutHandler handler) {
+ handler.onUserSignOut(this);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other != null && other.getClass().equals(this.getClass())) {
+ UserSignOutEvent o = (UserSignOutEvent) other;
+ return true
+ ;
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + getClass().hashCode();
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "UserSignOutEvent["
+ + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/state/UserSignOutEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
===================================================================
(Binary files differ)
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-01-09 04:44:25 UTC (rev 1178)
@@ -52,6 +52,13 @@
</style>
<body>
+<!-- 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">
+Your web browser must have JavaScript enabled in order for this
+application to display correctly.</div>
+</noscript>
<iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
<iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
<div id="kuneinitialcurtain"></div>
Added: trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module>
+ <!-- Inherit the core Web Toolkit stuff. -->
+ <inherits name='com.google.gwt.user.User' />
+ <inherits name="org.adamtacy.GWTEffects"></inherits>
+ <!-- Inherit the default GWT style sheet. You can change -->
+ <!-- the theme of your GWT application by uncommenting -->
+ <!-- any one of the following lines. -->
+ <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
+ <!-- Other module inherits -->
+ <!-- Specify the app entry point class. -->
+<!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />-->
+ <!-- Specify the paths for translatable code -->
+ <source path='client' />
+ <public path="public" />
+ <stylesheet src="kune-message.css" />
+</module>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/KuneMsgs.gwt.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module rename-to='kune_messages'>
+ <!-- Inherit the core Web Toolkit stuff. -->
+ <inherits name='com.google.gwt.user.User' />
+ <inherits name="org.adamtacy.GWTEffects"></inherits>
+ <!-- Inherit the default GWT style sheet. You can change -->
+ <!-- the theme of your GWT application by uncommenting -->
+ <!-- any one of the following lines. -->
+ <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
+ <!-- Other module inherits -->
+ <!-- Specify the app entry point class. -->
+ <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />
+ <!-- Specify the paths for translatable code -->
+ <source path='client' />
+ <public path="public" />
+ <stylesheet src="kune-message.css" />
+</module>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/KuneMsgsTests.gwt.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,54 @@
+package cc.kune.msgs.client;
+
+import cc.kune.msgs.client.msgs.UserMessage;
+import cc.kune.msgs.client.msgs.UserMessageLevel;
+import cc.kune.msgs.client.panel.UserMessagesPanel;
+import cc.kune.msgs.client.panel.UserMessagesPresenter;
+
+import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.PopupPanel;
+
+/**
+ * Entry point classes define <code>onModuleLoad()</code>.
+ */
+public class KuneMessagesSampleEntryPoint implements EntryPoint {
+
+ /**
+ * This is the entry point method.
+ */
+ @Override
+ public void onModuleLoad() {
+ UserMessagesPanel panel = new UserMessagesPanel();
+ UserMessage.setFadeMills(3000);
+ UserMessage.setCloseTitle("Close message");
+ panel.setWidth("422px");
+ final UserMessagesPresenter presenter = new UserMessagesPresenter();
+ presenter.init(panel);
+ presenter.add(UserMessageLevel.info, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", false);
+ presenter.add(UserMessageLevel.error, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", false);
+ Timer time = new Timer() {
+ @Override
+ public void run() {
+ presenter.add(
+ UserMessageLevel.error,
+ "Lorem <a href='/'>ipsum</a> dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit",
+ true);
+ }
+ };
+ Timer time2 = new Timer() {
+ @Override
+ public void run() {
+ presenter.add(UserMessageLevel.important, "Lorem ", false);
+ presenter.add(UserMessageLevel.important, "Lorem ", true);
+ }
+ };
+ time.schedule(1000);
+ time2.schedule(2000);
+ PopupPanel aPanel = new PopupPanel();
+ aPanel.add(panel);
+ aPanel.setPopupPosition(0, 0);
+ aPanel.show();
+ // RootPanel.get().add(aPanel);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/KuneMessagesSampleEntryPoint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,119 @@
+package cc.kune.msgs.client.msgs;
+
+import org.adamtacy.client.ui.effects.events.EffectCompletedEvent;
+import org.adamtacy.client.ui.effects.events.EffectCompletedHandler;
+import org.adamtacy.client.ui.effects.examples.Fade;
+import org.adamtacy.client.ui.effects.examples.Show;
+
+import cc.kune.msgs.client.resources.UserMessageImages;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.InlineHTML;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.Widget;
+
+public class UserMessage extends Composite implements HasText {
+
+ private static int fadeMills = 5000;
+ private static MessageUiBinder uiBinder = GWT.create(MessageUiBinder.class);
+ private static String closeTitle = "Close";
+
+ @UiField
+ Image icon;
+ @UiField
+ InlineHTML label;
+ @UiField
+ PushButton close;
+
+ interface MessageUiBinder extends UiBinder<Widget, UserMessage> {
+ }
+
+ public static void setCloseTitle(String title) {
+ closeTitle = title;
+ }
+
+ public static void setFadeMills(int mills) {
+ fadeMills = mills;
+ }
+
+ public UserMessage(UserMessageLevel level, String message, boolean closeable) {
+ initWidget(uiBinder.createAndBindUi(this));
+ setStyleName("k-msg");
+ label.setHTML(message);
+ close.setVisible(closeable);
+ close.setTitle(closeTitle);
+ if (!closeable) {
+ Timer time = new Timer() {
+ @Override
+ public void run() {
+ close();
+ }
+ };
+ time.schedule(fadeMills);
+ }
+ switch (level) {
+ case error:
+ icon.setResource(UserMessageImages.INST.error());
+ break;
+ case important:
+ icon.setResource(UserMessageImages.INST.important());
+ break;
+ case info:
+ icon.setResource(UserMessageImages.INST.info());
+ break;
+ case veryImportant:
+ icon.setResource(UserMessageImages.INST.warning());
+ break;
+ default:
+ break;
+ }
+ Show anim = new Show(this.getElement());
+ anim.setDuration(0.5);
+ anim.play();
+ }
+
+ public UserMessage(String message) {
+ this(message, false);
+ }
+
+ public UserMessage(String message, boolean closeable) {
+ this(UserMessageLevel.info, message, closeable);
+ }
+
+ @Override
+ public void setText(String text) {
+ label.setText(text);
+ }
+
+ @Override
+ public String getText() {
+ return label.getText();
+ }
+
+ @UiHandler("close")
+ void handleClick(ClickEvent e) {
+ close();
+ }
+
+ private void close() {
+ Fade fade = new Fade(this.getElement());
+ fade.setDuration(0.7);
+ fade.play();
+ fade.addEffectCompletedHandler(new EffectCompletedHandler() {
+
+ @Override
+ public void onEffectCompleted(EffectCompletedEvent event) {
+ removeFromParent();
+ }
+ });
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.ui.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,20 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:with field='img' type='cc.kune.msgs.client.resources.UserMessageImages' />
+ <g:HorizontalPanel verticalAlignment="ALIGN_MIDDLE"
+ height="42px">
+ <g:SimplePanel addStyleNames="k-msg-icon">
+ <g:Image width="100%" ui:field="icon" height="100%" />
+ </g:SimplePanel>
+ <g:Cell width="100%">
+ <g:InlineHTML ui:field="label" width="100%" styleName="k-msg-label" />
+ </g:Cell>
+ <g:PushButton ui:field="close" styleName="k-msg-close"
+ width="22px">
+ <g:upHoveringFace image='{img.removeGrey}' />
+ <g:downFace image='{img.removeOver}'/>
+ <g:upFace image='{img.remove}' />
+ </g:PushButton>
+ </g:HorizontalPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessage.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessageLevel.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessageLevel.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessageLevel.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,5 @@
+package cc.kune.msgs.client.msgs;
+
+public enum UserMessageLevel {
+ info, important, veryImportant, error
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/client/msgs/UserMessageLevel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,40 @@
+package cc.kune.msgs.client.panel;
+
+import org.adamtacy.client.ui.effects.impl.SlideDown;
+
+import cc.kune.msgs.client.msgs.UserMessage;
+import cc.kune.msgs.client.msgs.UserMessageLevel;
+import cc.kune.msgs.client.panel.UserMessagesPresenter.MessagesView;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class UserMessagesPanel extends Composite implements MessagesView {
+
+ private static MessagesPanelUiBinder uiBinder = GWT.create(MessagesPanelUiBinder.class);
+ @UiField
+ VerticalPanel vp;
+ private final SlideDown anim;
+
+ interface MessagesPanelUiBinder extends UiBinder<Widget, UserMessagesPanel> {
+ }
+
+ public UserMessagesPanel() {
+ initWidget(uiBinder.createAndBindUi(this));
+ anim = new SlideDown(this.getElement());
+ anim.setDuration(2);
+ }
+
+ @Override
+ public void add(UserMessageLevel info, String message, boolean closeable) {
+ UserMessage msg = new UserMessage(info, message, closeable);
+ vp.add(msg);
+ if (anim.isFinished()) {
+ // anim.play();
+ }
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.ui.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,7 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <g:VerticalPanel verticalAlignment="ALIGN_TOP"
+ ui:field="vp" width="100%" height="" styleName="k-msg-panel" spacing="10">
+ </g:VerticalPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPanel.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPresenter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,23 @@
+package cc.kune.msgs.client.panel;
+
+import cc.kune.msgs.client.msgs.UserMessageLevel;
+
+public class UserMessagesPresenter {
+
+ private MessagesView view;
+
+ public interface MessagesView {
+ void add(UserMessageLevel info, String message, boolean closable);
+ }
+
+ public UserMessagesPresenter() {
+ }
+
+ public void init(MessagesView view) {
+ this.view = view;
+ }
+
+ public void add(UserMessageLevel info, String message, boolean closable) {
+ view.add(info, message, closable);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/panel/UserMessagesPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImages.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImages.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImages.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,28 @@
+package cc.kune.msgs.client.resources;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.ImageResource;
+
+public interface UserMessageImages extends ClientBundle {
+
+ public static final UserMessageImages INST = GWT.create(UserMessageImages.class);
+
+ ImageResource error();
+
+ ImageResource info();
+
+ ImageResource warning();
+
+ ImageResource important();
+
+ ImageResource severe();
+
+ ImageResource remove();
+
+ @Source("remove-grey.png")
+ ImageResource removeGrey();
+
+ @Source("remove-over.png")
+ ImageResource removeOver();
+}
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImages.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/msgs/client/resources/error.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/error.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/important.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/important.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/info.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/info.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/remove-grey.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/remove-grey.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/remove-over.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/remove-over.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/remove.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/remove.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/severe.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/severe.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/client/resources/warning.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/msgs/client/resources/warning.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/msgs/public/kune-message.css
===================================================================
--- trunk/src/main/java/cc/kune/msgs/public/kune-message.css (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/public/kune-message.css 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,45 @@
+.k-msg-panel {
+ background-color: #892c00;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ kfilter: alpha(opacity = 80);
+ -moz-opacity: 0.80;
+ -khtml-opacity: 0.80;
+ opacity: 0.80;
+}
+
+.k-msg-panel-title {
+ color: #ffe9da;
+ font-weight: bold;
+ margin-bottom: 10px;
+}
+
+.k-msg {
+ margin: 0 5px;
+ border: solid 1px #F2F2F2;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: #fff0e6;
+ color: #280b0b;
+ filter: alpha(opacity = 80);
+ -moz-opacity: 0.80;
+ -khtml-opacity: 0.80;
+ opacity: 0.80;
+ font-weight: bold;
+}
+
+.k-msg-close {
+ position: relative;
+ right: -14px;
+ top: 30px;
+}
+
+.k-msg-icon {
+ padding: 10px 10px 5px;
+}
+
+.k-msg-label {
+ font-size: 17px;
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/msgs/public/kune-message.css
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -99,6 +99,20 @@
builder.exclude("/stylesheets/.*");
builder.exclude("/javascripts/.*");
builder.exclude("/templates/.*");
+ // wave servlets (see RackServletFilter)
+ // builder.exclude("/gadget.*");
+ // builder.exclude("/attachment/*");
+ // builder.exclude("/auth/signin");
+ // builder.exclude("/auth/signout");
+ // builder.exclude("/auth/register");
+ // builder.exclude("/fetch/*");
+ // builder.exclude("/gadgets.*");
+ // // wave (from ServerRprcProvider)
+ // builder.exclude("/socket");
+ // builder.exclude("/socket.io/*");
+ // builder.exclude("/static/*");
+ // FIXME (add robots and / WaveClientServlet)
+
builder.at(".*").install(new LogFilter());
builder.at(".*").install(new GuiceFilter());
@@ -119,6 +133,7 @@
}
private void installGuiceModules(final RackBuilder builder) {
+ // https://code.google.com/p/google-guice/wiki/ServletModule
builder.use(new ServletModule());
builder.use(new PlatformServerModule());
builder.use(new DocumentServerModule());
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcControllerImpl.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcControllerImpl.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcControllerImpl.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,225 @@
+/**
+ * Copyright 2009 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 org.ourproject.kune.app.server.wave;
+
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+
+/**
+ * Implements the server end-point of a wave server RPC connection. This is a
+ * single-use RPC controller.
+ *
+ *
+ */
+public class CustomServerRpcControllerImpl implements ServerRpcController {
+ private final Message requestMessage;
+ private final Service backingService;
+ private final Descriptors.MethodDescriptor serviceMethod;
+ private final RpcCallback<Message> callback;
+ private final boolean isStreamingRpc;
+
+ // The following variables represent the current status of this instance,
+ // and
+ // must all only be accessed or modified while synchronised on statusLock.
+ private final Object statusLock = new Object();
+ private boolean complete = false;
+ private RpcCallback<Object> cancelCallback = null;
+ private boolean cancelled = false;
+ private final ParticipantId loggedInUser;
+
+ /**
+ * Instantiate a new ServerRpcController that may later be completely
+ * invoked by calling {#link run}.
+ *
+ * @param requestMessage
+ * the request being handled
+ * @param backingService
+ * the backing service type
+ * @param serviceMethod
+ * the specific method within the backing service type
+ * @param loggedInUser
+ * the currently logged in user
+ * @param callback
+ * the destination where responses may be passed - may be called
+ * once (normal RPC) or 1-n times (streaming RPC), and will pass
+ * instances of RpcFinished as required (error cases, or
+ * streaming RPC shutdown); is also always called under the
+ * ServerRpcController's statusLock to ensure that consecutive
+ * calls (in the streaming case) are called in series
+ */
+ public CustomServerRpcControllerImpl(Message requestMessage, Service backingService,
+ Descriptors.MethodDescriptor serviceMethod, ParticipantId loggedInUser, RpcCallback<Message> callback) {
+ this.requestMessage = requestMessage;
+ this.backingService = backingService;
+ this.serviceMethod = serviceMethod;
+ this.loggedInUser = loggedInUser;
+ this.isStreamingRpc = serviceMethod.getOptions().getExtension(Rpc.isStreamingRpc);
+ this.callback = callback;
+ }
+
+ @Override
+ public String errorText() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ @Override
+ public boolean failed() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ @Override
+ public boolean isCanceled() {
+ return cancelled;
+ }
+
+ /**
+ * Registers a cancellation callback. This will always be called as part of
+ * this RPC, and always at most once; either when the client asks to cancel
+ * it, or when the RPC finishes (regardless of error case).
+ *
+ * This callback will be called outside normal locks on ServerRpcController
+ * state, i.e., not within a block synchronised on statusLock.
+ */
+ @Override
+ public void notifyOnCancel(final RpcCallback<Object> callback) {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (cancelCallback != null) {
+ throw new IllegalStateException("Must only be called once per request.");
+ } else {
+ cancelCallback = callback;
+ if (cancelled || complete) {
+ runCallback = cancelCallback;
+ }
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+
+ @Override
+ public void reset() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ @Override
+ public void setFailed(String reason) {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (complete) {
+ throw new IllegalStateException("Can't fail this RPC, as it is already complete.");
+ } else {
+ complete = true;
+ callback.run(Rpc.RpcFinished.newBuilder().setFailed(true).setErrorText(reason).build());
+ if (cancelCallback != null && !cancelled) {
+ runCallback = cancelCallback;
+ }
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+
+ @Override
+ public void startCancel() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ @Override
+ public void cancel() {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (cancelled) {
+ throw new IllegalStateException("Can't cancel RPC, already cancelled.");
+ }
+ cancelled = true;
+ if (cancelCallback != null && !complete) {
+ runCallback = cancelCallback;
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+
+ /**
+ * Run this ServerRpcController in the current thread. This must only be
+ * invoked ONCE, and will throw an IllegalStateException otherwise.
+ */
+ @Override
+ public void run() {
+ RpcCallback<Message> messageCallback = new RpcCallback<Message>() {
+ @Override
+ public void run(Message result) {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (complete) {
+ throw new IllegalStateException("Can't send responses over this RPC, as it is"
+ + " already complete: " + result);
+ }
+ if (!isStreamingRpc || result == null) {
+ // This either completes the streaming RPC (by passing
+ // an instance
+ // of RpcFinished in place of null) or completes a
+ // normal RPC (by
+ // passing any other message).
+ if (result == null) {
+ result = Rpc.RpcFinished.newBuilder().setFailed(false).build();
+ }
+ callback.run(result);
+
+ // Now complete, mark as such and invoke the
+ // cancellation callback.
+ complete = true;
+ if (cancelCallback != null && !cancelled) {
+ runCallback = cancelCallback;
+ }
+ } else {
+ // Streaming RPC update.
+ callback.run(result);
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+ };
+ try {
+ backingService.callMethod(serviceMethod, this, requestMessage, messageCallback);
+ } catch (RuntimeException e) {
+ // Pass the description of any RuntimeException back to the caller.
+ e.printStackTrace();
+ if (!complete) {
+ setFailed(e.toString());
+ }
+ }
+ }
+
+ @Override
+ public ParticipantId getLoggedInUser() {
+ return loggedInUser;
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcControllerImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProvider.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProvider.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProvider.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,494 @@
+/**
+ * Copyright 2009 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 org.ourproject.kune.app.server.wave;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import javax.servlet.Servlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
+import org.waveprotocol.box.server.rpc.ProtoCallback;
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
+import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
+import org.waveprotocol.box.server.util.NetUtils;
+import org.waveprotocol.wave.model.util.Pair;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.glines.socketio.server.SocketIOInbound;
+import com.glines.socketio.server.SocketIOServlet;
+import com.glines.socketio.server.transport.FlashSocketTransport;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Descriptors.MethodDescriptor;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+import com.google.protobuf.UnknownFieldSet;
+
+/**
+ * ServerRpcProvider can provide instances of type Service over an incoming
+ * network socket and service incoming RPCs to these services and their methods.
+ *
+ *
+ */
+public class CustomServerRpcProvider {
+ private static final Log LOG = Log.get(CustomServerRpcProvider.class);
+
+ private final InetSocketAddress[] httpAddresses;
+ private final Integer flashsocketPolicyPort;
+ private final Set<Connection> incomingConnections = Sets.newHashSet();
+ private final ExecutorService threadPool;
+ private final SessionManager sessionManager;
+ private final org.eclipse.jetty.server.SessionManager jettySessionManager;
+ private Server httpServer = null;
+
+ // Mapping from incoming protocol buffer type -> specific handler.
+ private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
+
+ /**
+ * Internal, static container class for any specific registered service
+ * method.
+ */
+ static class RegisteredServiceMethod {
+ final Service service;
+ final MethodDescriptor method;
+
+ RegisteredServiceMethod(Service service, MethodDescriptor method) {
+ this.service = service;
+ this.method = method;
+ }
+ }
+
+ class WebSocketConnection extends Connection {
+ private final WebSocketServerChannel socketChannel;
+
+ WebSocketConnection(ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new WebSocketServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ @Override
+ protected void sendMessage(long sequenceNo, Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+
+ public WebSocketServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+ }
+
+ class SocketIOConnection extends Connection {
+ private final SocketIOServerChannel socketChannel;
+
+ SocketIOConnection(ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new SocketIOServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ @Override
+ protected void sendMessage(long sequenceNo, Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+
+ public SocketIOServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+ }
+
+ abstract class Connection implements ProtoCallback {
+ private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
+
+ // The logged in user.
+ // Note: Due to this bug:
+ // http://code.google.com/p/wave-protocol/issues/detail?id=119,
+ // the field may be null on first connect and then set later using an
+ // RPC.
+ private ParticipantId loggedInUser;
+
+ /**
+ * @param loggedInUser
+ * The currently logged in user, or null if no user is logged
+ * in.
+ */
+ public Connection(ParticipantId loggedInUser) {
+ this.loggedInUser = loggedInUser;
+ }
+
+ protected void expectMessages(MessageExpectingChannel channel) {
+ synchronized (registeredServices) {
+ for (RegisteredServiceMethod serviceMethod : registeredServices.values()) {
+ channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
+ LOG.fine("Expecting: " + serviceMethod.method.getFullName());
+ }
+ }
+ channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
+ }
+
+ protected abstract void sendMessage(long sequenceNo, Message message);
+
+ private ParticipantId authenticate(String token) {
+ HttpSession session = sessionManager.getSessionFromToken(token);
+ ParticipantId user = sessionManager.getLoggedInUser(session);
+ return user;
+ }
+
+ @Override
+ public void message(final long sequenceNo, Message message) {
+ if (message instanceof Rpc.CancelRpc) {
+ final ServerRpcController controller = activeRpcs.get(sequenceNo);
+ if (controller == null) {
+ throw new IllegalStateException("Trying to cancel an RPC that is not active!");
+ } else {
+ LOG.info("Cancelling open RPC " + sequenceNo);
+ controller.cancel();
+ }
+ } else if (message instanceof ProtocolAuthenticate) {
+ // Workaround for bug:
+ // http://codereview.waveprotocol.org/224001/
+
+ // When we get this message, either the connection will not be
+ // logged in
+ // (loggedInUser == null) or the connection will have been
+ // authenticated
+ // via cookies
+ // (in which case loggedInUser must match the authenticated
+ // user, and
+ // this message has no
+ // effect).
+
+ ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
+ ParticipantId authenticatedAs = authenticate(authMessage.getToken());
+
+ Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
+ Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
+ "Session already authenticated as a different user");
+
+ loggedInUser = authenticatedAs;
+ LOG.info("Session authenticated as " + loggedInUser);
+ sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
+ } else if (registeredServices.containsKey(message.getDescriptorForType())) {
+ if (activeRpcs.containsKey(sequenceNo)) {
+ throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
+ } else {
+ final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
+
+ // Create the internal ServerRpcController used to invoke
+ // the call.
+ final ServerRpcController controller = new CustomServerRpcControllerImpl(message,
+ serviceMethod.service, serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
+ @Override
+ synchronized public void run(Message message) {
+ if (message instanceof Rpc.RpcFinished
+ || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
+ // This RPC is over - remove it from the
+ // map.
+ boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
+ : false;
+ LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
+ if (failed) {
+ LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
+ }
+ activeRpcs.remove(sequenceNo);
+ }
+ sendMessage(sequenceNo, message);
+ }
+ });
+
+ // Kick off a new thread specific to this RPC.
+ activeRpcs.put(sequenceNo, controller);
+ threadPool.execute(controller);
+ }
+ } else {
+ // Sent a message type we understand, but don't expect -
+ // erronous case!
+ throw new IllegalStateException("Got expected but unknown message (" + message + ") for sequence: "
+ + sequenceNo);
+ }
+ }
+
+ @Override
+ public void unknown(long sequenceNo, String messageType, UnknownFieldSet message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+
+ @Override
+ public void unknown(long sequenceNo, String messageType, String message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+ }
+
+ /**
+ * Construct a new ServerRpcProvider, hosting on the specified WebSocket
+ * addresses.
+ *
+ * Also accepts an ExecutorService for spawning managing threads.
+ */
+ public CustomServerRpcProvider(InetSocketAddress[] httpAddresses, Integer flashsocketPolicyPort,
+ ExecutorService threadPool, SessionManager sessionManager,
+ org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this.httpAddresses = httpAddresses;
+ this.flashsocketPolicyPort = flashsocketPolicyPort;
+ this.threadPool = threadPool;
+ this.sessionManager = sessionManager;
+ this.jettySessionManager = jettySessionManager;
+ }
+
+ /**
+ * Constructs a new ServerRpcProvider with a default ExecutorService.
+ */
+ public CustomServerRpcProvider(InetSocketAddress[] httpAddresses, Integer flashsocketPolicyPort,
+ SessionManager sessionManager, org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(httpAddresses, flashsocketPolicyPort, Executors.newCachedThreadPool(), sessionManager, jettySessionManager);
+ }
+
+ @Inject
+ public CustomServerRpcProvider((a)Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) List<String> httpAddresses,
+ @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) Integer flashsocketPolicyPort, SessionManager sessionManager,
+ org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(parseAddressList(httpAddresses), flashsocketPolicyPort, sessionManager, jettySessionManager);
+ }
+
+ public void startWebSocketServer() {
+ httpServer = new Server();
+
+ List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
+ if (connectors.isEmpty()) {
+ LOG.severe("No valid http end point address provided!");
+ }
+ for (SelectChannelConnector connector : connectors) {
+ httpServer.addConnector(connector);
+ }
+
+ ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ if (jettySessionManager != null) {
+ context.getSessionHandler().setSessionManager(jettySessionManager);
+ }
+ context.setResourceBase("./war");
+
+ // Servlet where the websocket connection is served from.
+ ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
+ context.addServlet(wsholder, "/socket");
+ // TODO(zamfi): fix to let messages span frames.
+ wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+
+ // Servlet where the websocket connection is served from.
+ ServletHolder sioholder = new ServletHolder(new WaveSocketIOServlet());
+ context.addServlet(sioholder, "/socket.io/*");
+ // TODO(zamfi): fix to let messages span frames.
+ sioholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+ // Set flash policy server parameters
+ String flashPolicyServerHost = "localhost";
+ StringBuilder flashPolicyAllowedPorts = new StringBuilder();
+ /*
+ * Loop through addresses, collect list of ports, and determine if we
+ * are to use "localhost" of the AnyHost wildcard.
+ */
+ for (InetSocketAddress addr : httpAddresses) {
+ if (flashPolicyAllowedPorts.length() > 0) {
+ flashPolicyAllowedPorts.append(",");
+ }
+ flashPolicyAllowedPorts.append(addr.getPort());
+ if (!addr.getAddress().isLoopbackAddress()) {
+ // Until it's possible to pass a list of address, this is the
+ // only valid alternative.
+ flashPolicyServerHost = "0.0.0.0";
+ }
+ }
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
+ // TODO: Change to use the public http address and all other bound
+ // addresses.
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
+
+ // Serve the static content and GWT web client with the default servlet
+ // (acts like a standard file-based web server).
+ ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
+ context.addServlet(defaultServlet, "/static/*");
+ context.addServlet(defaultServlet, "/webclient/*");
+
+ for (Pair<String, ServletHolder> servlet : servletRegistry) {
+ context.addServlet(servlet.getSecond(), servlet.getFirst());
+ }
+
+ httpServer.setHandler(context);
+
+ try {
+ httpServer.start();
+ } catch (Exception e) { // yes, .start() throws "Exception"
+ LOG.severe("Fatal error starting http server.", e);
+ return;
+ }
+ LOG.fine("WebSocket server running.");
+ }
+
+ private static InetSocketAddress[] parseAddressList(List<String> addressList) {
+ if (addressList == null || addressList.size() == 0) {
+ return new InetSocketAddress[0];
+ } else {
+ Set<InetSocketAddress> addresses = Sets.newHashSet();
+ for (String str : addressList) {
+ if (str.length() == 0) {
+ LOG.warning("Encountered empty address in http addresses list.");
+ } else {
+ try {
+ InetSocketAddress address = NetUtils.parseHttpAddress(str);
+ if (!addresses.contains(address)) {
+ addresses.add(address);
+ } else {
+ LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
+ + "' resolved to " + address.getAddress().getHostAddress());
+ }
+ } catch (IOException e) {
+ LOG.severe("Unable to process address " + str, e);
+ }
+ }
+ }
+ return addresses.toArray(new InetSocketAddress[0]);
+ }
+ }
+
+ /**
+ * @return a list of {@link SelectChannelConnector} each bound to a
+ * host:port pair form the list addresses.
+ */
+ private List<SelectChannelConnector> getSelectChannelConnectors(InetSocketAddress[] httpAddresses) {
+ List<SelectChannelConnector> list = Lists.newArrayList();
+ for (InetSocketAddress address : httpAddresses) {
+ SelectChannelConnector connector = new SelectChannelConnector();
+ connector.setHost(address.getAddress().getHostAddress());
+ connector.setPort(address.getPort());
+ list.add(connector);
+ }
+
+ return list;
+ }
+
+ public class WaveWebSocketServlet extends WebSocketServlet {
+ @Override
+ protected WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
+ ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ WebSocketConnection connection = new WebSocketConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+
+ public class WaveSocketIOServlet extends SocketIOServlet {
+ @Override
+ protected SocketIOInbound doSocketIOConnect(HttpServletRequest request, String[] protocols) {
+ ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ SocketIOConnection connection = new SocketIOConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+
+ /**
+ * Returns the socket the WebSocket server is listening on.
+ */
+ public SocketAddress getWebSocketAddress() {
+ if (httpServer == null) {
+ return null;
+ } else {
+ Connector c = httpServer.getConnectors()[0];
+ return new InetSocketAddress(c.getHost(), c.getLocalPort());
+ }
+ }
+
+ /**
+ * Stops this server.
+ */
+ public void stopServer() throws IOException {
+ try {
+ httpServer.stop(); // yes, .stop() throws "Exception"
+ } catch (Exception e) {
+ LOG.warning("Fatal error stopping http server.", e);
+ }
+ LOG.fine("server shutdown.");
+ }
+
+ /**
+ * Register all methods provided by the given service type.
+ */
+ public void registerService(Service service) {
+ synchronized (registeredServices) {
+ for (MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
+ registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
+ methodDescriptor));
+ }
+ }
+ }
+
+ /**
+ * Set of servlets
+ */
+ List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
+
+ /**
+ * Add a servlet to the servlet registry. This servlet will be attached to
+ * the specified URL pattern when the server is started up.
+ *
+ * @param urlPattern
+ * URL pattern for paths. Eg, '/foo', '/foo/*'
+ * @param servlet
+ * The servlet object to bind to the specified paths
+ * @return the {@link ServletHolder} that holds the servlet.
+ */
+ public ServletHolder addServlet(String urlPattern, Servlet servlet) {
+ ServletHolder servletHolder = new ServletHolder(servlet);
+ servletRegistry.add(new Pair<String, ServletHolder>(urlPattern, servletHolder));
+ return servletHolder;
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProviderSamePort.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProviderSamePort.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProviderSamePort.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,564 @@
+/**
+ * Copyright 2009 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 org.ourproject.kune.app.server.wave;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
+import org.waveprotocol.box.server.rpc.ProtoCallback;
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
+import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
+import org.waveprotocol.box.server.util.NetUtils;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.glines.socketio.server.SocketIOInbound;
+import com.glines.socketio.server.SocketIOServlet;
+import com.glines.socketio.server.transport.FlashSocketTransport;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+import com.google.inject.servlet.ServletModule;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Descriptors.MethodDescriptor;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+import com.google.protobuf.UnknownFieldSet;
+
+/**
+ * ServerRpcProvider can provide instances of type Service over an incoming
+ * network socket and service incoming RPCs to these services and their methods.
+ *
+ *
+ */
+public class CustomServerRpcProviderSamePort extends ServletModule {
+ private static final Log LOG = Log.get(CustomServerRpcProviderSamePort.class);
+
+ private final InetSocketAddress[] httpAddresses;
+ private final Integer flashsocketPolicyPort;
+ private final Set<Connection> incomingConnections = Sets.newHashSet();
+ private final ExecutorService threadPool;
+ private final SessionManager sessionManager;
+ private final org.eclipse.jetty.server.SessionManager jettySessionManager;
+ // private Server httpServer = null;
+
+ // Mapping from incoming protocol buffer type -> specific handler.
+ private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
+
+ /**
+ * Internal, static container class for any specific registered service
+ * method.
+ */
+ static class RegisteredServiceMethod {
+ final Service service;
+ final MethodDescriptor method;
+
+ RegisteredServiceMethod(Service service, MethodDescriptor method) {
+ this.service = service;
+ this.method = method;
+ }
+ }
+
+ // SocketIO is a Generic Servlet then we use this workaround
+ // http://stackoverflow.com/questions/3597414/how-to-integrate-hessian-with-gu…
+ @Singleton
+ public class WaveSocketIOWrapperServlet extends HttpServlet {
+
+ private WaveSocketIOServlet waveSocketIOServlet;
+
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ LOG.info("init() in");
+ try {
+ if (waveSocketIOServlet == null) {
+ waveSocketIOServlet = new WaveSocketIOServlet();
+ }
+ waveSocketIOServlet.init(config);
+ } catch (Throwable t) {
+ LOG.severe("Error initialising waveSocketIO servlet", t);
+ throw new ServletException(t);
+ }
+ LOG.info("init() out");
+ }
+
+ @Override
+ public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
+
+ try {
+ waveSocketIOServlet.service(request, response);
+ } catch (Throwable t) {
+ LOG.severe("Error calling service()", t);
+ throw new ServletException(t);
+ }
+
+ }
+ }
+
+ class WebSocketConnection extends Connection {
+ private final WebSocketServerChannel socketChannel;
+
+ WebSocketConnection(ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new WebSocketServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ @Override
+ protected void sendMessage(long sequenceNo, Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+
+ public WebSocketServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+ }
+
+ class SocketIOConnection extends Connection {
+ private final SocketIOServerChannel socketChannel;
+
+ SocketIOConnection(ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new SocketIOServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ @Override
+ protected void sendMessage(long sequenceNo, Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+
+ public SocketIOServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+ }
+
+ abstract class Connection implements ProtoCallback {
+ private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
+
+ // The logged in user.
+ // Note: Due to this bug:
+ // http://code.google.com/p/wave-protocol/issues/detail?id=119,
+ // the field may be null on first connect and then set later using an
+ // RPC.
+ private ParticipantId loggedInUser;
+
+ /**
+ * @param loggedInUser
+ * The currently logged in user, or null if no user is logged
+ * in.
+ */
+ public Connection(ParticipantId loggedInUser) {
+ this.loggedInUser = loggedInUser;
+ }
+
+ protected void expectMessages(MessageExpectingChannel channel) {
+ synchronized (registeredServices) {
+ for (RegisteredServiceMethod serviceMethod : registeredServices.values()) {
+ channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
+ LOG.fine("Expecting: " + serviceMethod.method.getFullName());
+ }
+ }
+ channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
+ }
+
+ protected abstract void sendMessage(long sequenceNo, Message message);
+
+ private ParticipantId authenticate(String token) {
+ HttpSession session = sessionManager.getSessionFromToken(token);
+ ParticipantId user = sessionManager.getLoggedInUser(session);
+ return user;
+ }
+
+ @Override
+ public void message(final long sequenceNo, Message message) {
+ if (message instanceof Rpc.CancelRpc) {
+ final ServerRpcController controller = activeRpcs.get(sequenceNo);
+ if (controller == null) {
+ throw new IllegalStateException("Trying to cancel an RPC that is not active!");
+ } else {
+ LOG.info("Cancelling open RPC " + sequenceNo);
+ controller.cancel();
+ }
+ } else if (message instanceof ProtocolAuthenticate) {
+ // Workaround for bug:
+ // http://codereview.waveprotocol.org/224001/
+
+ // When we get this message, either the connection will not be
+ // logged in
+ // (loggedInUser == null) or the connection will have been
+ // authenticated
+ // via cookies
+ // (in which case loggedInUser must match the authenticated
+ // user, and
+ // this message has no
+ // effect).
+
+ ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
+ ParticipantId authenticatedAs = authenticate(authMessage.getToken());
+
+ Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
+ Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
+ "Session already authenticated as a different user");
+
+ loggedInUser = authenticatedAs;
+ LOG.info("Session authenticated as " + loggedInUser);
+ sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
+ } else if (registeredServices.containsKey(message.getDescriptorForType())) {
+ if (activeRpcs.containsKey(sequenceNo)) {
+ throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
+ } else {
+ final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
+
+ // Create the internal ServerRpcController used to invoke
+ // the call.
+ final ServerRpcController controller = new CustomServerRpcControllerImpl(message,
+ serviceMethod.service, serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
+ @Override
+ synchronized public void run(Message message) {
+ if (message instanceof Rpc.RpcFinished
+ || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
+ // This RPC is over - remove it from the
+ // map.
+ boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
+ : false;
+ LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
+ if (failed) {
+ LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
+ }
+ activeRpcs.remove(sequenceNo);
+ }
+ sendMessage(sequenceNo, message);
+ }
+ });
+
+ // Kick off a new thread specific to this RPC.
+ activeRpcs.put(sequenceNo, controller);
+ threadPool.execute(controller);
+ }
+ } else {
+ // Sent a message type we understand, but don't expect -
+ // erronous case!
+ throw new IllegalStateException("Got expected but unknown message (" + message + ") for sequence: "
+ + sequenceNo);
+ }
+ }
+
+ @Override
+ public void unknown(long sequenceNo, String messageType, UnknownFieldSet message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+
+ @Override
+ public void unknown(long sequenceNo, String messageType, String message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+ }
+
+ /**
+ * Construct a new ServerRpcProvider, hosting on the specified WebSocket
+ * addresses.
+ *
+ * Also accepts an ExecutorService for spawning managing threads.
+ */
+ public CustomServerRpcProviderSamePort(InetSocketAddress[] httpAddresses, Integer flashsocketPolicyPort,
+ ExecutorService threadPool, SessionManager sessionManager,
+ org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this.httpAddresses = httpAddresses;
+ this.flashsocketPolicyPort = flashsocketPolicyPort;
+ this.threadPool = threadPool;
+ this.sessionManager = sessionManager;
+ this.jettySessionManager = jettySessionManager;
+ }
+
+ /**
+ * Constructs a new ServerRpcProvider with a default ExecutorService.
+ */
+ public CustomServerRpcProviderSamePort(InetSocketAddress[] httpAddresses, Integer flashsocketPolicyPort,
+ SessionManager sessionManager, org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(httpAddresses, flashsocketPolicyPort, Executors.newCachedThreadPool(), sessionManager, jettySessionManager);
+ }
+
+ @Inject
+ public CustomServerRpcProviderSamePort((a)Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) List<String> httpAddresses,
+ @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) Integer flashsocketPolicyPort, SessionManager sessionManager,
+ org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(parseAddressList(httpAddresses), flashsocketPolicyPort, sessionManager, jettySessionManager);
+ }
+
+ @Override
+ protected void configureServlets() {
+ // public void startWebSocketServer() {
+ // httpServer = new Server();
+
+ List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
+ if (connectors.isEmpty()) {
+ LOG.severe("No valid http end point address provided!");
+ }
+ for (SelectChannelConnector connector : connectors) {
+ // httpServer.addConnector(connector);
+ }
+
+ // ServletContextHandler context = new
+ // ServletContextHandler(ServletContextHandler.SESSIONS);
+ // if (jettySessionManager != null) {
+ // context.getSessionHandler().setSessionManager(jettySessionManager);
+ // }
+ // context.setResourceBase("./war");
+
+ // Servlet where the websocket connection is served from.
+ // ServletHolder wsholder = new ServletHolder(new
+ // WaveWebSocketServlet());
+ // context.addServlet(wsholder, "/socket");
+ // TODO(zamfi): fix to let messages span frames.
+ // wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M
+ // buffer
+ Map<String, String> params = new HashMap<String, String>();
+ params.put("bufferSize", "" + 1024 * 1024);
+ serveRegex("/socket").with(WaveWebSocketServlet.class, params);
+ // Servlet where the websocket connection is served from.
+ // ServletHolder sioholder = new ServletHolder(new
+ // WaveSocketIOServlet());
+ // context.addServlet(sioholder, "/socket.io/*");
+ Map<String, String> sioParams = new HashMap<String, String>();
+ // TODO(zamfi): fix to let messages span frames.
+ sioParams.put("bufferSize", "" + 1024 * 1024); // 1M buffer
+
+ // Set flash policy server parameters
+ String flashPolicyServerHost = "localhost";
+ StringBuilder flashPolicyAllowedPorts = new StringBuilder();
+ /*
+ * Loop through addresses, collect list of ports, and determine if we
+ * are to use "localhost" of the AnyHost wildcard.
+ */
+ for (InetSocketAddress addr : httpAddresses) {
+ if (flashPolicyAllowedPorts.length() > 0) {
+ flashPolicyAllowedPorts.append(",");
+ }
+ flashPolicyAllowedPorts.append(addr.getPort());
+ if (!addr.getAddress().isLoopbackAddress()) {
+ // Until it's possible to pass a list of address, this is the
+ // only valid alternative.
+ flashPolicyServerHost = "0.0.0.0";
+ }
+ }
+ sioParams.put(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
+ sioParams.put(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
+ // TODO: Change to use the public http address and all other bound
+ // addresses.
+ sioParams.put(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
+ sioParams.put(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
+ serveRegex("/socket.io/*").with(WaveSocketIOWrapperServlet.class, sioParams);
+
+ // Serve the static content and GWT web client with the default servlet
+ // (acts like a standard file-based web server).
+ // ServletHolder defaultServlet = new ServletHolder(new
+ // DefaultServlet());
+ // context.addServlet(defaultServlet, "/static/*");
+ // context.addServlet(defaultServlet, "/webclient/*");
+ serveRegex("/static/*").with(DefaultServlet.class);
+ serveRegex("/webclient/*").with(DefaultServlet.class);
+
+ for (Trio<String, HttpServlet, Map<String, String>> servlet : servletNewRegistry) {
+ Map<String, String> sParams = servlet.getThird();
+ LOG.info("Configuring servlet for: " + servlet.getFirst());
+ if (sParams == null) {
+ serveRegex(servlet.getFirst()).with(servlet.getSecond().getClass());
+ } else {
+ serveRegex(servlet.getFirst()).with(servlet.getSecond().getClass(), sParams);
+ }
+ // context.addServlet(servlet.getSecond(), servlet.getFirst());
+ }
+
+ // httpServer.setHandler(context);
+
+ try {
+ // httpServer.start();
+ } catch (Exception e) { // yes, .start() throws "Exception"
+ LOG.severe("Fatal error starting http server.", e);
+ return;
+ }
+ LOG.fine("Wave WebSocket server running.");
+ }
+
+ private static InetSocketAddress[] parseAddressList(List<String> addressList) {
+ if (addressList == null || addressList.size() == 0) {
+ return new InetSocketAddress[0];
+ } else {
+ Set<InetSocketAddress> addresses = Sets.newHashSet();
+ for (String str : addressList) {
+ if (str.length() == 0) {
+ LOG.warning("Encountered empty address in http addresses list.");
+ } else {
+ try {
+ InetSocketAddress address = NetUtils.parseHttpAddress(str);
+ if (!addresses.contains(address)) {
+ addresses.add(address);
+ } else {
+ LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
+ + "' resolved to " + address.getAddress().getHostAddress());
+ }
+ } catch (IOException e) {
+ LOG.severe("Unable to process address " + str, e);
+ }
+ }
+ }
+ return addresses.toArray(new InetSocketAddress[0]);
+ }
+ }
+
+ /**
+ * @return a list of {@link SelectChannelConnector} each bound to a
+ * host:port pair form the list addresses.
+ */
+ private List<SelectChannelConnector> getSelectChannelConnectors(InetSocketAddress[] httpAddresses) {
+ List<SelectChannelConnector> list = Lists.newArrayList();
+ for (InetSocketAddress address : httpAddresses) {
+ SelectChannelConnector connector = new SelectChannelConnector();
+ connector.setHost(address.getAddress().getHostAddress());
+ connector.setPort(address.getPort());
+ list.add(connector);
+ }
+
+ return list;
+ }
+
+ public class WaveWebSocketServlet extends WebSocketServlet {
+ @Override
+ protected WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
+ ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ WebSocketConnection connection = new WebSocketConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+
+ public class WaveSocketIOServlet extends SocketIOServlet {
+ @Override
+ protected SocketIOInbound doSocketIOConnect(HttpServletRequest request, String[] protocols) {
+ ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ SocketIOConnection connection = new SocketIOConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+
+ /**
+ * Returns the socket the WebSocket server is listening on.
+ */
+ public SocketAddress getWebSocketAddress() {
+ // if (httpServer == null) {
+ // return null;
+ // } else {
+ // Connector c = httpServer.getConnectors()[0];
+ // return new InetSocketAddress(c.getHost(), c.getLocalPort());
+ // }
+ return null;
+ }
+
+ /**
+ * Stops this server.
+ */
+ public void stopServer() throws IOException {
+ try {
+ // httpServer.stop(); // yes, .stop() throws "Exception"
+ } catch (Exception e) {
+ LOG.warning("Fatal error stopping http server.", e);
+ }
+ LOG.fine("server shutdown.");
+ }
+
+ /**
+ * Register all methods provided by the given service type.
+ */
+ public void registerService(Service service) {
+ synchronized (registeredServices) {
+ for (MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
+ registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
+ methodDescriptor));
+ }
+ }
+ }
+
+ /**
+ * Set of servlets
+ */
+ // List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
+
+ List<Trio<String, HttpServlet, Map<String, String>>> servletNewRegistry = Lists.newArrayList();
+
+ /**
+ * Add a servlet to the servlet registry. This servlet will be attached to
+ * the specified URL pattern when the server is started up.
+ *
+ * @param urlPattern
+ * URL pattern for paths. Eg, '/foo', '/foo/*'
+ * @param servlet
+ * The servlet object to bind to the specified paths
+ * @return the {@link ServletHolder} that holds the servlet.
+ */
+ public Servlet addServlet(String urlPattern, HttpServlet servlet) {
+ // ServletHolder servletHolder = new ServletHolder(servlet);
+ servletNewRegistry.add(new Trio<String, HttpServlet, Map<String, String>>(urlPattern, servlet, null));
+ return servlet;
+ }
+
+ public Servlet addServlet(String urlPattern, HttpServlet servlet, Map<String, String> params) {
+ // ServletHolder servletHolder = new ServletHolder(servlet);
+ servletNewRegistry.add(new Trio<String, HttpServlet, Map<String, String>>(urlPattern, servlet, params));
+ return servlet;
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerRpcProviderSamePort.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/Trio.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/Trio.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/Trio.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,156 @@
+/**
+ * Copyright 2009 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 org.ourproject.kune.app.server.wave;
+
+/**
+ * An immutable ordered pair of typed objects.
+ *
+ * Essentially the same as com.google.common.base.Pair. (we avoid external
+ * dependencies from model/)
+ *
+ *
+ *
+ * @param <A>
+ * Type of value 1
+ * @param <B>
+ * Type of value 2
+ * @param <C>
+ * Type of value 3
+ */
+public class Trio<A, B, C> {
+
+ /**
+ * Static constructor to save typing on generic arguments.
+ */
+ public static <A, B, C> Trio<A, B, C> of(A a, B b, C c) {
+ return new Trio<A, B, C>(a, b, c);
+ }
+
+ /**
+ * The first element of the trio; see also {@link #getFirst}.
+ */
+ public final A first;
+
+ /**
+ * The second element of the trio; see also {@link #getSecond}.
+ */
+ public final B second;
+ /**
+ * The third element of the trio; see also {@link #getThird}.
+ */
+ public final C third;
+
+ /**
+ * Pair constructor
+ *
+ * @param first
+ * Value 1
+ * @param second
+ * Value 2
+ */
+ public Trio(A first, B second, C third) {
+ this.first = first;
+ this.second = second;
+ this.third = third;
+ }
+
+ /**
+ * Copy constructor
+ *
+ * @param trio
+ * Trio to shallow copy from
+ */
+ public Trio(Trio<? extends A, ? extends B, ? extends C> trio) {
+ first = trio.first;
+ second = trio.second;
+ third = trio.third;
+ }
+
+ /**
+ * Returns the first element of this pair; see also {@link #first}.
+ */
+ public A getFirst() {
+ return first;
+ }
+
+ /**
+ * Returns the second element of this pair; see also {@link #second}.
+ */
+ public B getSecond() {
+ return second;
+ }
+
+ /**
+ * Returns the third element of this pair; see also {@link #third}.
+ */
+ public C getThird() {
+ return third;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (first == null ? 0 : first.hashCode());
+ result = prime * result + (second == null ? 0 : second.hashCode());
+ result = prime * result + (third == null ? 0 : third.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ Trio<?, ?, ?> other = (Trio<?, ?, ?>) obj;
+ if (first == null) {
+ if (other.first != null) {
+ return false;
+ }
+ } else if (!first.equals(other.first)) {
+ return false;
+ }
+ if (second == null) {
+ if (other.second != null) {
+ return false;
+ }
+ } else if (!second.equals(other.second)) {
+ return false;
+ }
+ if (third == null) {
+ if (other.third != null) {
+ return false;
+ }
+ } else if (!third.equals(other.third)) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "Trio [first=" + first + ", second=" + second + ", third=" + third + "]";
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/Trio.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveModule.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveModule.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.app.server.wave;
+
+import java.io.IOException;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.waveprotocol.box.server.persistence.PersistenceException;
+
+import com.google.inject.Injector;
+import com.google.inject.servlet.ServletModule;
+
+public class WaveModule extends ServletModule {
+
+ private static final Log LOG = LogFactory.getLog(WaveModule.class);
+
+ @Override
+ protected void configureServlets() {
+ super.configureServlets();
+
+ }
+
+ public void runWaveServer(Injector settingsInjector) throws IOException, PersistenceException,
+ ConfigurationException {
+
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveModule.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarter.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,137 @@
+package org.ourproject.kune.app.server.wave;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.jetty.servlets.ProxyServlet;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolWaveClientRpc;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.AccountStoreHolder;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.persistence.AccountStore;
+import org.waveprotocol.box.server.persistence.PersistenceException;
+import org.waveprotocol.box.server.persistence.PersistenceModule;
+import org.waveprotocol.box.server.persistence.SignerInfoStore;
+import org.waveprotocol.box.server.robots.RobotApiModule;
+import org.waveprotocol.box.server.robots.passive.RobotsGateway;
+import org.waveprotocol.box.server.rpc.AuthenticationServlet;
+import org.waveprotocol.box.server.rpc.SignOutServlet;
+import org.waveprotocol.box.server.rpc.WaveClientServlet;
+import org.waveprotocol.box.server.waveserver.WaveBus;
+import org.waveprotocol.wave.crypto.CertPathStore;
+import org.waveprotocol.wave.federation.FederationSettings;
+import org.waveprotocol.wave.federation.FederationTransport;
+import org.waveprotocol.wave.federation.noop.NoOpFederationModule;
+import org.waveprotocol.wave.federation.xmpp.XmppFederationModule;
+
+import com.google.inject.Injector;
+import com.google.inject.Key;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+
+public class WaveStarter {
+
+ private static final Log LOG = LogFactory.getLog(WaveStarter.class);
+ private static final String PROPERTY_FILE = "wave-server.properties";
+
+ public WaveStarter() {
+ }
+
+ public void run(Injector settingsInjector) {
+
+ try {
+ Module coreSettings = CustomSettingsBinder.bindSettings(PROPERTY_FILE, CoreSettings.class);
+ settingsInjector = settingsInjector.createChildInjector(coreSettings);
+ // Injector settingsInjector = Guice.createInjector(coreSettings);
+ // settingsInjector.createChildInjector(coreSettings);
+
+ boolean enableFederation = settingsInjector.getInstance(Key.get(Boolean.class,
+ Names.named(CoreSettings.ENABLE_FEDERATION)));
+ Module federationModule;
+ if (enableFederation) {
+ Module federationSettings = CustomSettingsBinder.bindSettings(PROPERTY_FILE, FederationSettings.class);
+ settingsInjector = settingsInjector.createChildInjector(federationSettings);
+ federationModule = settingsInjector.getInstance(XmppFederationModule.class);
+ } else {
+ federationModule = settingsInjector.getInstance(NoOpFederationModule.class);
+ }
+
+ PersistenceModule persistenceModule = settingsInjector.getInstance(PersistenceModule.class);
+
+ Injector injector = settingsInjector.createChildInjector(new CustomServerModule(enableFederation),
+ new RobotApiModule(), federationModule, persistenceModule);
+
+ AccountStore accountStore = injector.getInstance(AccountStore.class);
+ accountStore.initializeAccountStore();
+ AccountStoreHolder.init(accountStore,
+ injector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN))));
+
+ // Initialize the SignerInfoStore
+ CertPathStore certPathStore = injector.getInstance(CertPathStore.class);
+ if (certPathStore instanceof SignerInfoStore) {
+ ((SignerInfoStore) certPathStore).initializeSignerInfoStore();
+ }
+
+ CustomServerRpcProvider server = injector.getInstance(CustomServerRpcProvider.class);
+
+ server.addServlet("/attachment/*", injector.getInstance(CustomAttachmentServlet.class));
+
+ server.addServlet(SessionManager.SIGN_IN_URL, injector.getInstance(AuthenticationServlet.class));
+ server.addServlet("/auth/signout", injector.getInstance(SignOutServlet.class));
+ server.addServlet("/auth/register", injector.getInstance(CustomUserRegistrationServlet.class));
+
+ server.addServlet("/fetch/*", injector.getInstance(CustomFetchServlet.class));
+
+ // server.addServlet("/robot/dataapi",
+ // injector.getInstance(DataApiServlet.class));
+ // server.addServlet(DataApiOAuthServlet.DATA_API_OAUTH_PATH + "/*",
+ // injector.getInstance(DataApiOAuthServlet.class));
+ // server.addServlet("/robot/dataapi/rpc",
+ // injector.getInstance(DataApiServlet.class));
+ // server.addServlet("/robot/register/*",
+ // injector.getInstance(RobotRegistrationServlet.class));
+ // server.addServlet("/robot/rpc",
+ // injector.getInstance(ActiveApiServlet.class));
+
+ String gadgetServerHostname = injector.getInstance(Key.get(String.class,
+ Names.named(CoreSettings.GADGET_SERVER_HOSTNAME)));
+ ProxyServlet.Transparent proxyServlet = new ProxyServlet.Transparent("/gadgets", "http",
+ gadgetServerHostname, injector.getInstance(Key.get(int.class,
+ Names.named(CoreSettings.GADGET_SERVER_PORT))), "/gadgets");
+ // FIXME ServletHolder proxyServletHolder =
+ Map<String, String> params = new HashMap<String, String>();
+ // proxyServletHolder.setInitParameter("HostHeader",
+ // gadgetServerHostname);
+ params.put("HostHeader", gadgetServerHostname);
+ // server.addServlet("/gadgets/*", proxyServlet, params);
+
+ server.addServlet("/", injector.getInstance(WaveClientServlet.class));
+
+ RobotsGateway robotsGateway = injector.getInstance(RobotsGateway.class);
+ WaveBus waveBus = injector.getInstance(WaveBus.class);
+ waveBus.subscribe(robotsGateway);
+
+ ProtocolWaveClientRpc.Interface rpcImpl = injector.getInstance(ProtocolWaveClientRpc.Interface.class);
+ server.registerService(ProtocolWaveClientRpc.newReflectiveService(rpcImpl));
+
+ FederationTransport federationManager = injector.getInstance(FederationTransport.class);
+ federationManager.startFederation();
+ // server.startWebSocketServer();
+ // injector.createChildInjector(new WaveStarterModule(server));
+ LOG.info("Starting wave server");
+ server.startWebSocketServer();
+ // } catch (IOException e) {
+ // LOG.error("IOException when running server:", e);
+ } catch (PersistenceException e) {
+ LOG.error("PersistenceException when running server:", e);
+ } catch (ConfigurationException e) {
+ LOG.error("ConfigurationException when running server:", e);
+ }
+ }
+
+ public void runCont(Injector settingsInjector) {
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarterModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarterModule.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarterModule.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -0,0 +1,18 @@
+package org.ourproject.kune.app.server.wave;
+
+import com.google.inject.AbstractModule;
+
+public class WaveStarterModule extends AbstractModule {
+
+ private final CustomServerRpcProviderSamePort rpc;
+
+ public WaveStarterModule(CustomServerRpcProviderSamePort rpc) {
+ this.rpc = rpc;
+ }
+
+ @Override
+ protected void configure() {
+ install(rpc);
+ // rpc.startWebSocketServer();
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveStarterModule.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -30,54 +30,16 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.servlets.ProxyServlet;
-import org.ourproject.kune.app.server.wave.CustomAttachmentServlet;
-import org.ourproject.kune.app.server.wave.CustomFetchServlet;
-import org.ourproject.kune.app.server.wave.CustomServerModule;
-import org.ourproject.kune.app.server.wave.CustomSettingsBinder;
-import org.ourproject.kune.app.server.wave.CustomUserRegistrationServlet;
import org.ourproject.kune.platf.server.ServerException;
import org.ourproject.kune.rack.dock.Dock;
import org.ourproject.kune.rack.dock.RequestMatcher;
-import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolWaveClientRpc;
-import org.waveprotocol.box.server.CoreSettings;
-import org.waveprotocol.box.server.authentication.AccountStoreHolder;
-import org.waveprotocol.box.server.authentication.SessionManager;
-import org.waveprotocol.box.server.persistence.AccountStore;
-import org.waveprotocol.box.server.persistence.PersistenceException;
-import org.waveprotocol.box.server.persistence.PersistenceModule;
-import org.waveprotocol.box.server.persistence.SignerInfoStore;
-import org.waveprotocol.box.server.robots.RobotApiModule;
-import org.waveprotocol.box.server.robots.passive.RobotsGateway;
-import org.waveprotocol.box.server.rpc.AuthenticationServlet;
-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.wave.crypto.CertPathStore;
-import org.waveprotocol.wave.federation.FederationSettings;
-import org.waveprotocol.wave.federation.FederationTransport;
-import org.waveprotocol.wave.federation.noop.NoOpFederationModule;
-import org.waveprotocol.wave.federation.xmpp.XmppFederationModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
-import com.google.inject.Key;
-import com.google.inject.Module;
-import com.google.inject.name.Names;
public class RackServletFilter implements Filter {
-
- /**
- * This is the name of the system property used to find the server config
- * file.
- */
- private static final String PROPERTY_FILE = "wave-server.properties";
-
public static class DockChain implements FilterChain {
private final Iterator<Dock> iterator;
@@ -107,6 +69,7 @@
filter.doFilter(request, response, this);
}
}
+
public static final String INJECTOR_ATTRIBUTE = Injector.class.getName();
private static final String MODULE_PARAMETER = RackModule.class.getName();
private static final Log LOG = LogFactory.getLog(RackServletFilter.class);
@@ -141,37 +104,19 @@
@Override
public void init(final FilterConfig filterConfig) throws ServletException {
- try {
- LOG.debug("INITIALIZING RackServletFilter...");
- final RackModule module = getModule(filterConfig);
- final RackBuilder builder = new RackBuilder();
- module.configure(builder);
+ LOG.debug("INITIALIZING RackServletFilter...");
+ final RackModule module = getModule(filterConfig);
+ final RackBuilder builder = new RackBuilder();
+ module.configure(builder);
- final Rack rack = builder.getRack();
- Module waveCoreSettings = CustomSettingsBinder.bindSettings(PROPERTY_FILE, CoreSettings.class);
- rack.add(waveCoreSettings);
- final Injector injector = installInjector(filterConfig, rack);
- startContainerListeners(rack.getListeners(), injector);
- docks = rack.getDocks();
- excludes = rack.getExcludes();
- initFilters(filterConfig);
-
- // This is a extract from Wave ServerMain.java don't integrate it
- // more
- // in our code to check for differences easily between this and the
- // WIAB
- // code
- try {
- runWaveServer(injector);
- return;
- } catch (IOException e) {
- LOG.fatal("IOException when running server:", e);
- } catch (PersistenceException e) {
- LOG.fatal("PersistenceException when running server:", e);
- }
- } catch (ConfigurationException e) {
- LOG.fatal("ConfigurationException when running server:", e);
- }
+ final Rack rack = builder.getRack();
+ // WaveStarter waveStarter = new WaveStarter();
+ final Injector injector = installInjector(filterConfig, rack);
+ // waveStarter.run(injector);
+ startContainerListeners(rack.getListeners(), injector);
+ docks = rack.getDocks();
+ excludes = rack.getExcludes();
+ initFilters(filterConfig);
LOG.debug("INITIALIZATION DONE!");
}
@@ -226,78 +171,4 @@
}
}
- public static void runWaveServer(Injector settingsInjector) throws IOException, PersistenceException,
- ConfigurationException {
- // Injector settingsInjector = Guice.createInjector(coreSettings);
- // settingsInjector.createChildInjector(coreSettings);
- boolean enableFederation = settingsInjector.getInstance(Key.get(Boolean.class,
- Names.named(CoreSettings.ENABLE_FEDERATION)));
- Module federationModule;
- if (enableFederation) {
- Module federationSettings = CustomSettingsBinder.bindSettings(PROPERTY_FILE, FederationSettings.class);
- settingsInjector = settingsInjector.createChildInjector(federationSettings);
- federationModule = settingsInjector.getInstance(XmppFederationModule.class);
- } else {
- federationModule = settingsInjector.getInstance(NoOpFederationModule.class);
- }
-
- PersistenceModule persistenceModule = settingsInjector.getInstance(PersistenceModule.class);
-
- Injector injector = settingsInjector.createChildInjector(new CustomServerModule(enableFederation),
- new RobotApiModule(), federationModule, persistenceModule);
-
- AccountStore accountStore = injector.getInstance(AccountStore.class);
- accountStore.initializeAccountStore();
- AccountStoreHolder.init(accountStore,
- injector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN))));
-
- // Initialize the SignerInfoStore
- CertPathStore certPathStore = injector.getInstance(CertPathStore.class);
- if (certPathStore instanceof SignerInfoStore) {
- ((SignerInfoStore) certPathStore).initializeSignerInfoStore();
- }
-
- ServerRpcProvider server = injector.getInstance(ServerRpcProvider.class);
-
- server.addServlet("/attachment/*", injector.getInstance(CustomAttachmentServlet.class));
-
- server.addServlet(SessionManager.SIGN_IN_URL, injector.getInstance(AuthenticationServlet.class));
- server.addServlet("/auth/signout", injector.getInstance(SignOutServlet.class));
- server.addServlet("/auth/register", injector.getInstance(CustomUserRegistrationServlet.class));
-
- server.addServlet("/fetch/*", injector.getInstance(CustomFetchServlet.class));
-
- // server.addServlet("/robot/dataapi",
- // injector.getInstance(DataApiServlet.class));
- // server.addServlet(DataApiOAuthServlet.DATA_API_OAUTH_PATH + "/*",
- // injector.getInstance(DataApiOAuthServlet.class));
- // server.addServlet("/robot/dataapi/rpc",
- // injector.getInstance(DataApiServlet.class));
- // server.addServlet("/robot/register/*",
- // injector.getInstance(RobotRegistrationServlet.class));
- // server.addServlet("/robot/rpc",
- // injector.getInstance(ActiveApiServlet.class));
-
- String gadgetServerHostname = injector.getInstance(Key.get(String.class,
- Names.named(CoreSettings.GADGET_SERVER_HOSTNAME)));
- ProxyServlet.Transparent proxyServlet = new ProxyServlet.Transparent("/gadgets", "http", gadgetServerHostname,
- injector.getInstance(Key.get(int.class, Names.named(CoreSettings.GADGET_SERVER_PORT))), "/gadgets");
- ServletHolder proxyServletHolder = server.addServlet("/gadgets/*", proxyServlet);
- proxyServletHolder.setInitParameter("HostHeader", gadgetServerHostname);
-
- server.addServlet("/", injector.getInstance(WaveClientServlet.class));
-
- RobotsGateway robotsGateway = injector.getInstance(RobotsGateway.class);
- WaveBus waveBus = injector.getInstance(WaveBus.class);
- waveBus.subscribe(robotsGateway);
-
- ProtocolWaveClientRpc.Interface rpcImpl = injector.getInstance(ProtocolWaveClientRpc.Interface.class);
- server.registerService(ProtocolWaveClientRpc.newReflectiveService(rpcImpl));
-
- FederationTransport federationManager = injector.getInstance(FederationTransport.class);
- federationManager.startFederation();
-
- LOG.info("Starting server");
- server.startWebSocketServer();
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/rack/filters/AbstractInjectedFilter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/rack/filters/AbstractInjectedFilter.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/org/ourproject/kune/rack/filters/AbstractInjectedFilter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -32,12 +32,14 @@
protected ServletContext ctx;
+ @Override
public abstract void destroy();
public <T> T getInstance(final Class<T> type) {
return getInjector().getInstance(type);
}
+ @Override
public void init(final FilterConfig filterConfig) throws ServletException {
this.ctx = filterConfig.getServletContext();
getInjector().injectMembers(this);
Modified: trunk/src/main/java/org/ourproject/kune/rack/filters/servlet/ServletServiceFilter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/rack/filters/servlet/ServletServiceFilter.java 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/java/org/ourproject/kune/rack/filters/servlet/ServletServiceFilter.java 2011-01-09 04:44:25 UTC (rev 1178)
@@ -45,6 +45,7 @@
public void destroy() {
}
+ @Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
throws IOException, ServletException {
log.debug("SERVICE: " + RackHelper.getURI(request) + " - " + servletClass.getSimpleName());
Modified: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/resources/wave-server.properties 2011-01-09 04:44:25 UTC (rev 1178)
@@ -2,7 +2,7 @@
#
# Domain name of the wave server
-wave_server_domain = local
+wave_server_domain = localhost
# A comma separated list of address on which to listen for connections.
# Each address is a comma separated host:port pair.
@@ -45,7 +45,7 @@
delta_store_directory = _deltas
# Set true to use Socket.IO instead of raw WebSockets in the webclient.
-use_socketio = false
+use_socketio = true
# To enable federation, edit the server.federation.config file and uncomment the line below
#include = server.federation.config
Modified: trunk/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/src/main/webapp/WEB-INF/web.xml 2010-12-29 03:43:22 UTC (rev 1177)
+++ trunk/src/main/webapp/WEB-INF/web.xml 2011-01-09 04:44:25 UTC (rev 1178)
@@ -85,4 +85,12 @@
<servlet-name>Proxy</servlet-name>
<url-pattern>/http-bind/</url-pattern>
</servlet-mapping>
+ <servlet>
+ <servlet-name>remoteLoggerServiceImpl</servlet-name>
+ <servlet-class>com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>remoteLoggerServiceImpl</servlet-name>
+ <url-pattern>/ws/gwt-log</url-pattern>
+ </servlet-mapping>
</web-app>
\ No newline at end of file
1
0
Author: vjrj_
Date: 2010-12-29 04:43:22 +0100 (Wed, 29 Dec 2010)
New Revision: 1177
Modified:
trunk/
Log:
remove war dir
Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
- pmd-eclipse.log
.pmd
www-test
screenlog.0
bin
client
public
target
Main-compile
bin
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
.classpath
gwt-out
synccss.sh
.externalToolBuilders
.project
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle
.classpath-bien
pom.xml.*
.gwt
+ pmd-eclipse.log
.pmd
www-test
screenlog.0
bin
client
public
target
Main-compile
bin
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
.classpath
gwt-out
synccss.sh
.externalToolBuilders
.project
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle
.classpath-bien
pom.xml.*
.gwt
.jdee_sources
.jdee_classpath
prj.el
.factorypath
1
0
Author: vjrj_
Date: 2010-12-29 04:43:07 +0100 (Wed, 29 Dec 2010)
New Revision: 1176
Removed:
trunk/war/
Log:
remove war dir
1
0
r1175 - in trunk/src/main: java/cc/kune/core/client/sitebar/logo java/org/ourproject/kune/app/server/wave resources
by Vicente J. Ruiz Jurado 29 Dec '10
by Vicente J. Ruiz Jurado 29 Dec '10
29 Dec '10
Author: vjrj_
Date: 2010-12-29 04:37:12 +0100 (Wed, 29 Dec 2010)
New Revision: 1175
Added:
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoUiHandlers.java
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.ui.xml
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomAttachmentServlet.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomFetchServlet.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerModule.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSessionManagerImpl.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSettingsBinder.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomUserRegistrationServlet.java
trunk/src/main/resources/wave-server.properties
Log:
NEW - # 10: Wave server code update
http://kune.ourproject.org/issues/ticket/10
NEW - # 9: Roo partial use/integration
http://kune.ourproject.org/issues/ticket/9
Added: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoUiHandlers.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoUiHandlers.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoUiHandlers.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,7 @@
+package cc.kune.core.client.sitebar.logo;
+
+import com.gwtplatform.mvp.client.UiHandlers;
+
+public interface SiteLogoUiHandlers extends UiHandlers {
+ void onClick();
+}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.ui.xml 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,10 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:style>
+ .important {
+ font-weight: bold;
+ }
+ </ui:style>
+ <g:Image ui:field="logo" addStyleNames="k-floatright k-pointer" />
+</ui:UiBinder>
\ No newline at end of file
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomAttachmentServlet.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomAttachmentServlet.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomAttachmentServlet.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,107 @@
+/**
+ * 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 org.ourproject.kune.app.server.wave;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.waveprotocol.box.server.persistence.AttachmentStore;
+import org.waveprotocol.box.server.persistence.AttachmentStore.AttachmentData;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.google.inject.Inject;
+
+/**
+ * An attachment servlet is a simple servlet that serves up attachments from a
+ * provided store.
+ */
+public class CustomAttachmentServlet extends HttpServlet {
+ private static final Log LOG = Log.get(CustomAttachmentServlet.class);
+
+ private final AttachmentStore store;
+
+ @Inject
+ public CustomAttachmentServlet(AttachmentStore store) {
+ this.store = store;
+ }
+
+ /**
+ * Get the attachment id from the URL in the request.
+ *
+ * @param request
+ * @return the id of the referenced attachment.
+ */
+ private static String getAttachmentIdFromRequest(HttpServletRequest request) {
+ if (request.getPathInfo().length() == 0) {
+ return "";
+ }
+
+ // Discard the leading '/' in the pathinfo. Whats left will be the
+ // attachment id.
+ return request.getPathInfo().substring(1);
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ // TODO: Authenticate that the user has permission to access the
+ // attachment.
+
+ String attachmentId = getAttachmentIdFromRequest(request);
+ if (attachmentId.length() == 0) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+ AttachmentData data = store.getAttachment(attachmentId);
+
+ if (data == null) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+ response.setContentType("text/html");
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentLength((int) data.getContentSize());
+ response.setDateHeader("Last-Modified", data.getLastModifiedDate().getTime());
+ data.writeDataTo(response.getOutputStream());
+
+ LOG.info("Fetched attachment with id '" + attachmentId + "'");
+ }
+
+ @Override
+ protected void doPut(final HttpServletRequest request, final HttpServletResponse response) throws IOException {
+ // TODO: Authenticate the attachment data
+
+ String attachmentId = getAttachmentIdFromRequest(request);
+ if (attachmentId.length() == 0) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+ store.storeAttachment(attachmentId, request.getInputStream());
+
+ response.setContentType("text/html");
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.getWriter().write("<html><body><h1>Data written</h1></body></html>");
+
+ LOG.info("Added attachment with id '" + attachmentId + "'");
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomFetchServlet.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomFetchServlet.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomFetchServlet.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,186 @@
+/**
+ * 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 org.ourproject.kune.app.server.wave;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.waveprotocol.box.common.comms.WaveClientRpc.DocumentSnapshot;
+import org.waveprotocol.box.common.comms.WaveClientRpc.WaveViewSnapshot;
+import org.waveprotocol.box.common.comms.WaveClientRpc.WaveletSnapshot;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.frontend.WaveletSnapshotAndVersion;
+import org.waveprotocol.box.server.rpc.ProtoSerializer;
+import org.waveprotocol.box.server.waveserver.WaveletProvider;
+import org.waveprotocol.box.server.waveserver.WaveletStateException;
+import org.waveprotocol.wave.model.id.WaveletId;
+import org.waveprotocol.wave.model.id.WaveletName;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
+import org.waveprotocol.wave.model.waveref.WaveRef;
+import org.waveprotocol.wave.util.escapers.jvm.JavaWaverefEncoder;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.google.common.annotations.VisibleForTesting;
+import com.google.inject.Inject;
+import com.google.protobuf.MessageLite;
+
+/**
+ * A servlet for static fetching of wave data. Typically, the servlet will be
+ * hosted on /fetch/*. A document, a wavelet, or a whole wave can be specified
+ * in the URL.
+ *
+ * Valid request formats are: Fetch a wave: GET /fetch/wavedomain.com/waveid
+ * Fetch a wavelet: GET /fetch/wavedomain.com/waveid/waveletdomain.com/waveletid
+ * Fetch a document: GET
+ * /fetch/wavedomain.com/waveid/waveletdomain.com/waveletid/b+abc123
+ *
+ * The format of the returned information is the protobuf-JSON format used by
+ * the websocket interface.
+ */
+public class CustomFetchServlet extends HttpServlet {
+ private static final Log LOG = Log.get(CustomFetchServlet.class);
+
+ @Inject
+ public CustomFetchServlet(WaveletProvider waveletProvider, ProtoSerializer serializer, SessionManager sessionManager) {
+ this.waveletProvider = waveletProvider;
+ this.serializer = serializer;
+ this.sessionManager = sessionManager;
+ }
+
+ private final ProtoSerializer serializer;
+ private final WaveletProvider waveletProvider;
+ private final SessionManager sessionManager;
+
+ /**
+ * Create an http response to the fetch query. Main entrypoint for this
+ * class.
+ */
+ @Override
+ @VisibleForTesting
+ protected void doGet(HttpServletRequest req, HttpServletResponse response) throws IOException {
+ ParticipantId user = sessionManager.getLoggedInUser(req.getSession(false));
+
+ // This path will look like "/example.com/w+abc123/foo.com/conv+root
+ // Strip off the leading '/'.
+ String urlPath = req.getPathInfo().substring(1);
+
+ // Extract the name of the wavelet from the URL
+ WaveRef waveref;
+ try {
+ waveref = JavaWaverefEncoder.decodeWaveRefFromPath(urlPath);
+ } catch (InvalidWaveRefException e) {
+ // The URL contains an invalid waveref. There's no document at this
+ // path.
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+ renderSnapshot(waveref, user, response);
+ }
+
+ private void serializeObjectToServlet(MessageLite message, HttpServletResponse dest) throws IOException {
+ if (message == null) {
+ // Snapshot is null. It would be nice to 404 here, but we can't let
+ // clients guess valid wavelet ids that they're not authorized to
+ // access.
+ dest.sendError(HttpServletResponse.SC_FORBIDDEN);
+ } else {
+ dest.setStatus(HttpServletResponse.SC_OK);
+ dest.setContentType("application/json");
+
+ // This is a hack to make sure the fetched data is fresh.
+ // TODO(josephg): Change this so that browsers can cache wave
+ // snapshots. Probably need:
+ // 'Cache-Control: must-revalidate, private' and an ETag with the
+ // wave[let]'s version.
+ dest.setHeader("Cache-Control", "no-store");
+
+ serializer.writeTo(dest.getWriter(), message);
+ }
+ }
+
+ /**
+ * Render the requested waveref out to the HttpServletResponse dest.
+ *
+ * @param waveref
+ * The referenced wave. Could be a whole wave, a wavelet or just
+ * a document.
+ * @param dest
+ * The servlet response to render the snapshot out to.
+ * @throws IOException
+ */
+ private void renderSnapshot(WaveRef waveref, ParticipantId requester, HttpServletResponse dest) throws IOException {
+ // TODO(josephg): Its currently impossible to fetch all wavelets inside
+ // a
+ // wave that are visible to the user. Until this is fixed, if no wavelet
+ // is
+ // specified we'll just return the conv+root.
+ WaveletId waveletId = waveref.hasWaveletId() ? waveref.getWaveletId() : WaveletId.of(
+ waveref.getWaveId().getDomain(), "conv+root");
+
+ WaveletName waveletName = WaveletName.of(waveref.getWaveId(), waveletId);
+
+ try {
+ if (!waveletProvider.checkAccessPermission(waveletName, requester)) {
+ dest.sendError(HttpServletResponse.SC_FORBIDDEN);
+ return;
+ }
+ } catch (WaveletStateException e) {
+ throw new IOException(e);
+ }
+
+ LOG.info("Fetching snapshot of wavelet " + waveletName);
+ WaveletSnapshotAndVersion snapshotAndV = waveletProvider.getSnapshot(waveletName);
+
+ if (snapshotAndV != null) {
+ WaveletSnapshot snapshot = snapshotAndV.snapshot;
+ if (waveref.hasDocumentId()) {
+ // We have a wavelet id and document id. Find the document in
+ // the
+ // snapshot
+ // and return it.
+ DocumentSnapshot docSnapshot = null;
+ for (DocumentSnapshot ds : snapshot.getDocumentList()) {
+ if (ds.getDocumentId().equals(waveref.getDocumentId())) {
+ docSnapshot = ds;
+ break;
+ }
+ }
+ serializeObjectToServlet(docSnapshot, dest);
+ } else if (waveref.hasWaveletId()) {
+ // We have a wavelet id. Pull up the wavelet snapshot and return
+ // it.
+ serializeObjectToServlet(snapshot, dest);
+ } else {
+ // Wrap the conv+root we fetched earlier in a WaveSnapshot
+ // object and
+ // send it.
+ WaveViewSnapshot waveSnapshot = WaveViewSnapshot.newBuilder().setWaveId(waveref.getWaveId().serialise()).addWavelet(
+ snapshot).build();
+
+ serializeObjectToServlet(waveSnapshot, dest);
+ }
+ } else {
+ dest.sendError(HttpServletResponse.SC_FORBIDDEN);
+ }
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerModule.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomServerModule.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,119 @@
+package org.ourproject.kune.app.server.wave;
+
+/**
+ * Copyright 2009 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.
+ *
+ */
+import java.security.SecureRandom;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.security.auth.login.Configuration;
+
+import org.eclipse.jetty.server.session.HashSessionManager;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.rpc.ProtoSerializer;
+import org.waveprotocol.box.server.rpc.ServerRpcProvider;
+import org.waveprotocol.box.server.waveserver.WaveServerImpl;
+import org.waveprotocol.box.server.waveserver.WaveServerModule;
+import org.waveprotocol.wave.federation.FederationHostBridge;
+import org.waveprotocol.wave.federation.FederationRemoteBridge;
+import org.waveprotocol.wave.federation.WaveletFederationListener;
+import org.waveprotocol.wave.federation.WaveletFederationProvider;
+import org.waveprotocol.wave.model.id.IdGenerator;
+import org.waveprotocol.wave.model.id.IdGeneratorImpl;
+import org.waveprotocol.wave.model.id.IdGeneratorImpl.Seed;
+import org.waveprotocol.wave.model.id.TokenGenerator;
+import org.waveprotocol.wave.model.id.TokenGeneratorImpl;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Named;
+import com.google.inject.name.Names;
+
+/**
+ * Guice Module for the prototype Server.
+ *
+ *
+ */
+public class CustomServerModule extends AbstractModule {
+ private final boolean enableFederation;
+
+ public CustomServerModule(boolean enableFederation) {
+ this.enableFederation = enableFederation;
+ }
+
+ @Override
+ protected void configure() {
+ // Receive updates from the outside world, and push them into our local
+ // Wave
+ // Server.
+ bind(WaveletFederationListener.Factory.class).annotatedWith(FederationRemoteBridge.class).to(
+ WaveServerImpl.class);
+
+ // Provide history and respond to submits about our own local waves.
+ bind(WaveletFederationProvider.class).annotatedWith(FederationHostBridge.class).to(WaveServerImpl.class);
+
+ install(new WaveServerModule(enableFederation));
+ TypeLiteral<List<String>> certs = new TypeLiteral<List<String>>() {
+ };
+ bind(certs).annotatedWith(Names.named("certs")).toInstance(Arrays.<String> asList());
+
+ bind(ProtoSerializer.class).in(Singleton.class);
+
+ bind(Configuration.class).toInstance(Configuration.getConfiguration());
+ bind(SessionManager.class).to(CustomSessionManagerImpl.class).in(Singleton.class);
+
+ bind(org.eclipse.jetty.server.SessionManager.class).to(HashSessionManager.class).in(Singleton.class);
+
+ bind(ServerRpcProvider.class).in(Singleton.class);
+ }
+
+ @Provides
+ @Singleton
+ @Inject
+ public IdGenerator provideIdGenerator((a)Named(CoreSettings.WAVE_SERVER_DOMAIN) String domain, Seed seed) {
+ return new IdGeneratorImpl(domain, seed);
+ }
+
+ @Provides
+ @Singleton
+ public SecureRandom provideSecureRandom() {
+ return new SecureRandom();
+ }
+
+ @Provides
+ @Singleton
+ @Inject
+ public TokenGenerator provideTokenGenerator(SecureRandom random) {
+ return new TokenGeneratorImpl(random);
+ }
+
+ @Provides
+ @Singleton
+ @Inject
+ public Seed provideSeed(final SecureRandom random) {
+ return new Seed() {
+ @Override
+ public String get() {
+ return Long.toString(Math.abs(random.nextLong()), 36);
+ }
+ };
+ }
+}
\ No newline at end of file
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSessionManagerImpl.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSessionManagerImpl.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSessionManagerImpl.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,116 @@
+/**
+ * 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 org.ourproject.kune.app.server.wave;
+
+import javax.servlet.http.HttpSession;
+
+import org.waveprotocol.box.server.account.AccountData;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.authentication.SessionManagerImpl;
+import org.waveprotocol.box.server.persistence.AccountStore;
+import org.waveprotocol.box.server.persistence.PersistenceException;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.escapers.PercentEscaper;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
+import com.google.inject.Inject;
+
+/**
+ * Utility class for managing the session's authentication status.
+ *
+ * @author josephg(a)gmail.com (Joseph Gentle)
+ */
+
+public class CustomSessionManagerImpl implements SessionManager {
+ private static final String USER_FIELD = "user";
+
+ private final AccountStore accountStore;
+ private final org.eclipse.jetty.server.SessionManager jettySessionManager;
+
+ private static final Log LOG = Log.get(SessionManagerImpl.class);
+
+ @Inject
+ public CustomSessionManagerImpl(AccountStore accountStore,
+ org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ Preconditions.checkNotNull(accountStore, "Null account store");
+ Preconditions.checkNotNull(jettySessionManager, "Null jetty session manager");
+ this.accountStore = accountStore;
+ this.jettySessionManager = jettySessionManager;
+ }
+
+ @Override
+ public ParticipantId getLoggedInUser(HttpSession session) {
+ if (session != null) {
+ return (ParticipantId) session.getAttribute(USER_FIELD);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public AccountData getLoggedInAccount(HttpSession session) {
+ // Consider caching the account data in the session object.
+ ParticipantId user = getLoggedInUser(session);
+ if (user != null) {
+ try {
+ return accountStore.getAccount(user);
+ } catch (PersistenceException e) {
+ LOG.warning("Failed to retrieve account data for " + user, e);
+ return null;
+ }
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public void setLoggedInUser(HttpSession session, ParticipantId id) {
+ Preconditions.checkNotNull(session, "Session is null");
+ Preconditions.checkNotNull(id, "Participant id is null");
+ session.setAttribute(USER_FIELD, id);
+ }
+
+ @Override
+ public void logout(HttpSession session) {
+ if (session != null) {
+ // This function should also remove any other bound fields in the
+ // session
+ // object.
+ session.removeAttribute(USER_FIELD);
+ }
+ }
+
+ @Override
+ public String getLoginUrl(String redirect) {
+ if (Strings.isNullOrEmpty(redirect)) {
+ return SIGN_IN_URL;
+ } else {
+ PercentEscaper escaper = new PercentEscaper(PercentEscaper.SAFEQUERYSTRINGCHARS_URLENCODER, false);
+ String queryStr = "?r=" + escaper.escape(redirect);
+ return SIGN_IN_URL + queryStr;
+ }
+ }
+
+ @Override
+ public HttpSession getSessionFromToken(String token) {
+ Preconditions.checkNotNull(token);
+ return jettySessionManager.getHttpSession(token);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSettingsBinder.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSettingsBinder.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomSettingsBinder.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2009 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 org.ourproject.kune.app.server.wave;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.configuration.CompositeConfiguration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration.SystemConfiguration;
+import org.waveprotocol.wave.util.settings.Setting;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Names;
+
+/**
+ * A property file parsing system that converts a given settings class into a
+ * Guice module with injectable
+ *
+ * @Named parameters.
+ *
+ * Originally based on some CLI work by arb(a)google.com (Anthony Baxter).
+ * Refactored by tad.glines(a)gmail.com (Tad Glines) to use Commons
+ * Configuration and add support for List<String>.
+ */
+public class CustomSettingsBinder {
+
+ /**
+ * Used to validate that a type is supported. Some types may have generic
+ * parameters that need to be checked.
+ */
+ private interface SettingTypeValidator {
+ boolean check(Type type);
+ }
+
+ private static final Map<Type, SettingTypeValidator> supportedSettingTypes;
+
+ /**
+ * This default validator just returns true.
+ */
+ private static final SettingTypeValidator DEFAULT_TYPE_VALIDATOR = new SettingTypeValidator() {
+ @Override
+ public boolean check(Type type) {
+ return true;
+ }
+ };
+
+ /**
+ * This validator checks to make sure the {@link List}'s generic parameter
+ * is also supported.
+ */
+ private static final SettingTypeValidator LIST_TYPE_VALIDATOR = new SettingTypeValidator() {
+ @Override
+ public boolean check(Type type) {
+ if (type instanceof ParameterizedType) {
+ Type[] args = ((ParameterizedType) type).getActualTypeArguments();
+ if (args.length == 1) {
+ // At the moment only List<String> is supported.
+ if (args[0] == String.class) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+ };
+
+ static {
+ ImmutableMap.Builder<Type, SettingTypeValidator> builder = ImmutableMap.builder();
+ builder.put(int.class, DEFAULT_TYPE_VALIDATOR);
+ builder.put(boolean.class, DEFAULT_TYPE_VALIDATOR);
+ builder.put(String.class, DEFAULT_TYPE_VALIDATOR);
+ builder.put(List.class, LIST_TYPE_VALIDATOR);
+ supportedSettingTypes = builder.build();
+ }
+
+ /**
+ * Bind configuration parameters into Guice Module.
+ *
+ * @return a Guice module configured with setting support.
+ * @throws ConfigurationException
+ * on configuration error
+ */
+ public static Module bindSettings(String propertyFile, Class<?>... settingsArg) throws ConfigurationException {
+ final CompositeConfiguration config = new CompositeConfiguration();
+ config.addConfiguration(new SystemConfiguration());
+ config.addConfiguration(new PropertiesConfiguration(propertyFile));
+
+ List<Field> fields = new ArrayList<Field>();
+ for (Class<?> settings : settingsArg) {
+ fields.addAll(Arrays.asList(settings.getDeclaredFields()));
+ }
+
+ // Reflect on settings class and absorb settings
+ final Map<Setting, Field> settings = new LinkedHashMap<Setting, Field>();
+ for (Field field : fields) {
+ if (!field.isAnnotationPresent(Setting.class)) {
+ continue;
+ }
+
+ // Validate target type
+ SettingTypeValidator typeHelper = supportedSettingTypes.get(field.getType());
+ if (typeHelper == null || !typeHelper.check(field.getGenericType())) {
+ throw new IllegalArgumentException(field.getType() + " is not one of the supported setting types");
+ }
+
+ Setting setting = field.getAnnotation(Setting.class);
+ settings.put(setting, field);
+ }
+
+ // Now validate them
+ List<String> missingProperties = new ArrayList<String>();
+ for (Setting setting : settings.keySet()) {
+ if (setting.defaultValue().isEmpty()) {
+ if (!config.containsKey(setting.name())) {
+ missingProperties.add(setting.name());
+ }
+ }
+ }
+ if (missingProperties.size() > 0) {
+ StringBuilder error = new StringBuilder();
+ error.append("The following required properties are missing from the server configuration: ");
+ error.append(Joiner.on(", ").join(missingProperties));
+ throw new ConfigurationException(error.toString());
+ }
+
+ // bundle everything up in an injectable guice module
+ return new AbstractModule() {
+
+ @Override
+ protected void configure() {
+ // We must iterate the settings a third time when binding.
+ // Note: do not collapse these loops as that will damage
+ // early error detection. The runtime is still O(n) in setting
+ // count.
+ for (Map.Entry<Setting, Field> entry : settings.entrySet()) {
+ Class<?> type = entry.getValue().getType();
+ Setting setting = entry.getKey();
+
+ if (int.class.equals(type)) {
+ Integer defaultValue = null;
+ if (!setting.defaultValue().isEmpty()) {
+ defaultValue = Integer.parseInt(setting.defaultValue());
+ }
+ bindConstant().annotatedWith(Names.named(setting.name())).to(
+ config.getInteger(setting.name(), defaultValue));
+ } else if (boolean.class.equals(type)) {
+ Boolean defaultValue = null;
+ if (!setting.defaultValue().isEmpty()) {
+ defaultValue = Boolean.parseBoolean(setting.defaultValue());
+ }
+ bindConstant().annotatedWith(Names.named(setting.name())).to(
+ config.getBoolean(setting.name(), defaultValue));
+ } else if (String.class.equals(type)) {
+ bindConstant().annotatedWith(Names.named(setting.name())).to(
+ config.getString(setting.name(), setting.defaultValue()));
+ } else {
+ String[] value = config.getStringArray(setting.name());
+ if (value.length == 0 && !setting.defaultValue().isEmpty()) {
+ value = setting.defaultValue().split(",");
+ }
+ bind(new TypeLiteral<List<String>>() {
+ }).annotatedWith(Names.named(setting.name())).toInstance(ImmutableList.copyOf(value));
+ }
+ }
+ }
+ };
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomUserRegistrationServlet.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomUserRegistrationServlet.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/CustomUserRegistrationServlet.java 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,147 @@
+/**
+ * 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 org.ourproject.kune.app.server.wave;
+
+import java.io.IOException;
+import java.util.Locale;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.account.HumanAccountDataImpl;
+import org.waveprotocol.box.server.authentication.HttpRequestBasedCallbackHandler;
+import org.waveprotocol.box.server.authentication.PasswordDigest;
+import org.waveprotocol.box.server.gxp.UserRegistrationPage;
+import org.waveprotocol.box.server.persistence.AccountStore;
+import org.waveprotocol.box.server.persistence.PersistenceException;
+import org.waveprotocol.box.server.rpc.AuthenticationServlet;
+import org.waveprotocol.wave.model.wave.InvalidParticipantAddress;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.google.gxp.base.GxpContext;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
+/**
+ * The user registration servlet allows new users to register accounts.
+ *
+ * @author josephg(a)gmail.com (Joseph Gentle)
+ */
+public class CustomUserRegistrationServlet extends HttpServlet {
+ private final AccountStore accountStore;
+ private final String domain;
+
+ private final Log LOG = Log.get(CustomUserRegistrationServlet.class);
+
+ @Inject
+ public CustomUserRegistrationServlet(AccountStore accountStore,
+ @Named(CoreSettings.WAVE_SERVER_DOMAIN) String domain) {
+ this.accountStore = accountStore;
+ this.domain = domain;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ writeRegistrationPage("", AuthenticationServlet.RESPONSE_STATUS_NONE, req.getLocale(), resp);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ String message = tryCreateUser(req.getParameter(HttpRequestBasedCallbackHandler.ADDRESS_FIELD),
+ req.getParameter(HttpRequestBasedCallbackHandler.PASSWORD_FIELD));
+ String responseType = AuthenticationServlet.RESPONSE_STATUS_SUCCESS;
+
+ if (message != null) {
+ resp.setStatus(HttpServletResponse.SC_FORBIDDEN);
+ responseType = AuthenticationServlet.RESPONSE_STATUS_FAILED;
+ } else {
+ message = "Registration complete.";
+ resp.setStatus(HttpServletResponse.SC_OK);
+ }
+
+ writeRegistrationPage(message, responseType, req.getLocale(), resp);
+ }
+
+ /**
+ * Try to create a user with the provided username and password. On error,
+ * returns a string containing an error message. On success, returns null.
+ */
+ private String tryCreateUser(String username, String password) {
+ String message = null;
+ ParticipantId id = null;
+
+ try {
+ // First, some cleanup on the parameters.
+ if (username == null) {
+ return "Username portion of address cannot be less than 2 characters";
+ }
+ username = username.trim().toLowerCase();
+ if (username.contains(ParticipantId.DOMAIN_PREFIX)) {
+ id = ParticipantId.of(username);
+ } else {
+ id = ParticipantId.of(username + ParticipantId.DOMAIN_PREFIX + domain);
+ }
+ if (id.getAddress().indexOf("@") < 2) {
+ return "Username portion of address cannot be less than 2 characters";
+ }
+ String[] usernameSplit = id.getAddress().split("@");
+ if (usernameSplit.length != 2 || !usernameSplit[0].matches("[\\w\\.]+")) {
+ return "Only letters (a-z), numbers (0-9), and periods (.) are allowed in Username";
+ }
+ if (!id.getDomain().equals(domain)) {
+ return "You can only create users at the " + domain + " domain";
+ }
+ } catch (InvalidParticipantAddress e) {
+ return "Invalid username";
+ }
+
+ try {
+ if (accountStore.getAccount(id) != null) {
+ return "Account already exists";
+ }
+ } catch (PersistenceException e) {
+ LOG.severe("Failed to retreive account data for " + id, e);
+ return "An unexpected error occured while trying to retrieve account status";
+ }
+
+ if (password == null) {
+ // Register the user with an empty password.
+ password = "";
+ }
+
+ HumanAccountDataImpl account = new HumanAccountDataImpl(id, new PasswordDigest(password.toCharArray()));
+ try {
+ accountStore.putAccount(account);
+ } catch (PersistenceException e) {
+ LOG.severe("Failed to create new account for " + id, e);
+ return "An unexpected error occured while trying to create the account";
+ }
+
+ return null;
+ }
+
+ private void writeRegistrationPage(String message, String responseType, Locale locale, HttpServletResponse dest)
+ throws IOException {
+ dest.setContentType("text/html");
+ UserRegistrationPage.write(dest.getWriter(), new GxpContext(locale), domain, message, responseType);
+ }
+}
Added: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties (rev 0)
+++ trunk/src/main/resources/wave-server.properties 2010-12-29 03:37:12 UTC (rev 1175)
@@ -0,0 +1,61 @@
+# Core Configuration for the Wave in a Box server
+#
+
+# Domain name of the wave server
+wave_server_domain = local
+
+# A comma separated list of address on which to listen for connections.
+# Each address is a comma separated host:port pair.
+http_frontend_public_address = localhost:9898
+http_frontend_addresses = ${http_frontend_public_address}
+
+### Server-specific variables
+###
+
+# Settings for the different persistence stores. Currently supported: memory, file, mongodb
+signer_info_store_type = memory
+
+# The location where signer info certificate data is stored on disk. This should be changed.
+# Note: This is only used when using the file signer info store. It is ignored
+# for other data store types.
+signer_info_store_directory = _certificates
+
+# Currently supported attachment types: mongodb, disk
+attachment_store_type = disk
+
+# The location where attachments are stored on disk. This should be changed.
+# Note: This is only used when using the disk attachment store. It is ignored
+# for other data store types.
+attachment_store_directory = _attachments
+
+# Currently supported account store types: fake, memory, file, mongodb
+account_store_type = memory
+
+# The location where accounts are stored on disk. This should be changed.
+# Note: This is only used when using the file account store. It is ignored
+# for other data store types.
+account_store_directory = _accounts
+
+# Currently supported delta store types: memory, file
+delta_store_type = memory
+
+# The location where deltas are stored on disk. This should be changed.
+# Note: This is only used when using the file delta store. It is ignored
+# for other data store types.
+delta_store_directory = _deltas
+
+# Set true to use Socket.IO instead of raw WebSockets in the webclient.
+use_socketio = false
+
+# To enable federation, edit the server.federation.config file and uncomment the line below
+#include = server.federation.config
+
+# These two parameters MUST appear in this file AFTER the above include of the
+# federation config file. This is necesary so that the federation config file
+# can override these two values.
+
+# Set true to disable the verification of signed deltas
+waveserver_disable_verification = true
+
+# Set true to disable the verification of signers (certificates)
+waveserver_disable_signer_verification = true
1
0
Author: vjrj_
Date: 2010-12-29 04:33:31 +0100 (Wed, 29 Dec 2010)
New Revision: 1174
Added:
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl2?\195?\167.java
trunk/src/main/java/cc/kune/core/public/images/lic/
trunk/src/main/webapp/images
trunk/src/main/webapp/javascripts
trunk/src/main/webapp/stylesheets
trunk/src/main/webapp/templates
Removed:
trunk/src/main/java/org/ourproject/kune/app/public/images/lic/
trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveContainerListener.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveInterceptorModule.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/WavePropertiesParser.java
trunk/war/WEB-INF/gems/
trunk/war/WEB-INF/publicspace/
trunk/war/images
trunk/war/javascripts
trunk/war/stylesheets
trunk/war/templates
Modified:
trunk/TODO
trunk/pom.xml
trunk/script/mvn-eclipse.sh
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
trunk/src/main/java/cc/kune/core/client/rpcservices/AsyncCallbackSimple.java
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java
trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
trunk/src/main/resources/kune.properties
Log:
gwt wave server update
/svnroot/kune/hooks/commit-email.pl: `/usr/bin/svnlook diff /svnroot/kune -r 1174' failed with this output:
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/TODO 2010-12-29 03:33:31 UTC (rev 1174)
@@ -11,9 +11,15 @@
Use org-mode in emacs to easy manage this file
* SHORT-TERM (URGENT)
+** Wave integration
+ [ ] org.waveprotocol.box.webclient.WebClientProd
+ [ ] src/org/waveprotocol/box/server/ServerMain.java
+ [ ] pom.xml dep references
** Update Dev Guide
*** Annotations generation http://code.google.com/p/gwt-platform/wiki/BoilerplateGeneration#Eclipse
*** Add -startupUrl to your GWT Run launch with /ws/?locale=en&log_level=INFO (or similar)
+*** When you compile/run gwt web-app from eclipse, select target/kune-CURRENT-VERSION as War directory selection
+*** src/main/webapp in GWTDesigner???
** new UI library (gwt-ext is dead)
- mosaic,
- gtx
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/pom.xml 2010-12-29 03:33:31 UTC (rev 1174)
@@ -205,7 +205,7 @@
<dependency>
<groupId>com.google.code.guice</groupId>
<artifactId>guice</artifactId>
- <version>2.0.1</version>
+ <version>2.1-SNAPSHOT-r1160</version>
</dependency>
<dependency>
<groupId>com.googlecode.gwt.inject</groupId>
@@ -237,7 +237,7 @@
<dependency>
<groupId>cc.kune.core.ws.armor</groupId>
<artifactId>ws-armor</artifactId>
- <version>0.0.8</version>
+ <version>0.0.9</version>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
@@ -499,9 +499,8 @@
<!-- wave -->
<dependency>
<groupId>org.waveprotocol</groupId>
- <artifactId>kune-wave-server</artifactId>
- <!-- <version>0.0.3.1</version> -->
- <version>0.0.2.2</version>
+ <artifactId>waveinabox-server</artifactId>
+ <version>0.0.3.2</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
@@ -521,62 +520,62 @@
<!-- <version>1.6.1</version> -->
<!-- <type>jar</type> -->
<!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>com.google.code.guice</groupId> -->
+ <!-- <artifactId>guice-assistedinject</artifactId> -->
+ <!-- <version>2.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>jline<!/groupId> -->
+ <!-- <artifactId>jline</artifactId> -->
+ <!-- <version>0.9.94</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.gnu.inet</groupId> -->
+ <!-- <artifactId>libidn</artifactId> -->
+ <!-- <version>1.15</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>com.google.protobuf</groupId> -->
+ <!-- <artifactId>protobuf-java</artifactId> -->
+ <!-- <version>2.3.0</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3_xpath</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>aopalliance</groupId> -->
+ <!-- <artifactId>aopalliance</artifactId> -->
+ <!-- <version>1.0</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>xmpp</artifactId> -->
+ <!-- <version>1.0.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>whack</artifactId> -->
+ <!-- <version>1.0.0</version> -->
+ <!-- </dependency> -->
<dependency>
- <groupId>com.google.code.guice</groupId>
- <artifactId>guice-assistedinject</artifactId>
- <version>2.0</version>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>r07</version>
</dependency>
- <dependency>
- <groupId>jline</groupId>
- <artifactId>jline</artifactId>
- <version>0.9.94</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.gnu.inet</groupId>
- <artifactId>libidn</artifactId>
- <version>1.15</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>2.1.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- <version>1.1.4c</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3_xpath</artifactId>
- <version>1.1.4c</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- <version>1.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.wave-protocol</groupId>
- <artifactId>xmpp</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.wave-protocol</groupId>
- <artifactId>whack</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.common</groupId>
- <artifactId>collect</artifactId>
- <version>1.0-rc2</version>
- </dependency>
</dependencies>
<distributionManagement>
<repository>
@@ -714,8 +713,8 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0</version>
-<configuration>
- <path>/</path>
+ <configuration>
+ <path>/</path>
</configuration>
</plugin>
<plugin>
@@ -726,9 +725,7 @@
<!-- <version>7.2.1.v20101111</version> -->
<configuration>
<webAppConfig>
- <!-- FIXME: ws?
- <contextPath>/${project.name}</contextPath>
- -->
+ <!-- FIXME: ws? <contextPath>/${project.name}</contextPath> -->
<contextPath>/</contextPath>
</webAppConfig>
<reload>manual</reload>
@@ -815,39 +812,39 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
-<!-- <execution>-->
-<!-- <id>core</id>-->
-<!-- <phase>package</phase>-->
-<!-- <goals>-->
-<!-- <goal>jar</goal>-->
-<!-- </goals>-->
-<!-- <configuration>-->
-<!-- <classifier>core</classifier>-->
-<!-- <includes>-->
-<!-- <include>**/KunePlatform.gwt.xml**</include>-->
-<!-- <include>**/i18n/I18nTranslationService.**</include>-->
-<!-- <include>**/i18n/I18nTranslationServiceMocked.** </include>-->
-<!-- <include>**/TextUtils.**</include>-->
-<!-- <include>**/IconLabelEditable.**</include>-->
-<!-- <include>**/QuickTipsHelper.**</include>-->
-<!-- <include>**/RichText.gwt.xml**</include>-->
-<!-- <include>**/BasicDialog.**</include>-->
-<!-- <include>**/HorizontalLine.**</include>-->
-<!-- <include>**/AbstractLabel.**</include>-->
-<!-- <include>**/IconLabel.**</include>-->
-<!-- <include> **/EditableIconLabel.**</include>-->
-<!-- <include> **/EditableClickListener.**</include>-->
-<!-- <include>**/KuneStringUtils.**</include>-->
-<!-- <include>**/IconHyperlink*.**</include>-->
-<!-- <include>**/LabelWrapper*.**</include>-->
-<!-- <include>**/KuneUiUtils.**</include>-->
-<!-- <include>**/View.**</include>-->
-<!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
-<!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
-<!-- <include>**/platf/client/dispatch/**</include> -->
-<!-- </includes>-->
-<!-- </configuration>-->
-<!-- </execution>-->
+ <!-- <execution> -->
+ <!-- <id>core</id> -->
+ <!-- <phase>package</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>jar</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <classifier>core</classifier> -->
+ <!-- <includes> -->
+ <!-- <include>**/KunePlatform.gwt.xml**</include> -->
+ <!-- <include>**/i18n/I18nTranslationService.**</include> -->
+ <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
+ <!-- <include>**/TextUtils.**</include> -->
+ <!-- <include>**/IconLabelEditable.**</include> -->
+ <!-- <include>**/QuickTipsHelper.**</include> -->
+ <!-- <include>**/RichText.gwt.xml**</include> -->
+ <!-- <include>**/BasicDialog.**</include> -->
+ <!-- <include>**/HorizontalLine.**</include> -->
+ <!-- <include>**/AbstractLabel.**</include> -->
+ <!-- <include>**/IconLabel.**</include> -->
+ <!-- <include> **/EditableIconLabel.**</include> -->
+ <!-- <include> **/EditableClickListener.**</include> -->
+ <!-- <include>**/KuneStringUtils.**</include> -->
+ <!-- <include>**/IconHyperlink*.**</include> -->
+ <!-- <include>**/LabelWrapper*.**</include> -->
+ <!-- <include>**/KuneUiUtils.**</include> -->
+ <!-- <include>**/View.**</include> -->
+ <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
+ <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
+ <!-- <include>**/platf/client/dispatch/**</include> -->
+ <!-- </includes> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
<execution>
<id>helloworldmodule</id>
<phase>package</phase>
@@ -890,14 +887,14 @@
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
<!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
- <!-- <resources> -->
- <!-- <resource> -->
- <!-- <directory>src/main/resources</directory> -->
- <!-- </resource> -->
- <!-- <resource> -->
- <!-- <directory>src/main/java</directory> -->
- <!-- </resource> -->
- <!-- </resources> -->
+ <!-- <resources> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/resources</directory> -->
+ <!-- </resource> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/java</directory> -->
+ <!-- </resource> -->
+ <!-- </resources> -->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
Modified: trunk/script/mvn-eclipse.sh
===================================================================
--- trunk/script/mvn-eclipse.sh 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/script/mvn-eclipse.sh 2010-12-29 03:33:31 UTC (rev 1174)
@@ -1,3 +1,3 @@
-mvn eclipse:eclipse
+mvn eclipse:eclipse -Dgwt.compiler.skip=true
perl -p -i -e 's/<\/classpath>//g' .classpath
echo -en " <classpathentry kind=\"con\" path=\"com.google.gwt.eclipse.core.GWT_CONTAINER\"/>\n</classpath>" >> .classpath
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2010-12-29 03:33:31 UTC (rev 1174)
@@ -1,33 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/…">
<module rename-to="ws">
- <inherits name="com.google.gwt.user.User" />
- <inherits name='com.google.gwt.logging.Logging' />
- <inherits name="cc.kune.core.Core" />
- <source path='client' excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java"/>
- <!-- <source path='shared'/> -->
- <!-- <public path="public"/> -->
-
- <!-- Logging Configuration -->
- <set-property name="gwt.logging.enabled" value="TRUE" />
- <set-property name="gwt.logging.logLevel" value="INFO" />
- <set-property name="gwt.logging.consoleHandler" value="ENABLED" />
- <set-property name="gwt.logging.developmentModeHandler"
- value="ENABLED" />
- <set-property name="gwt.logging.firebugHandler" value="ENABLED" />
- <set-property name="gwt.logging.hasWidgetsHandler" value="DISABLED" />
- <set-property name="gwt.logging.popupHandler" value="DISABLED" />
- <set-property name="gwt.logging.systemHandler" value="ENABLED" />
- <set-property name="gwt.logging.simpleRemoteHandler"
- value="DISABLED" />
-
- <!-- Uncomment if you are enabling server side deobfuscation of StackTraces
- <set-property name="compiler.emulatedStack" value="true" /> <set-configuration-property
- name="compiler.emulatedStack.recordLineNumbers" value="true" /> <set-configuration-property
- name="compiler.emulatedStack.recordFileNames" value="true" /> -->
-
- <!-- NOTE: this only compiles for chromium/safari ============= -->
- <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
- <!-- <set-property name="user.agent" value="gecko1_8" /> -->
- <set-property name="user.agent" value="safari,gecko1_8" />
-</module>
+ <inherits name="com.google.gwt.user.User" />
+ <inherits name='com.google.gwt.logging.Logging' />
+ <inherits name="cc.kune.core.Core" />
+ <inherits name="com.calclab.suco.Suco" />
+ <source path='client'
+ excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
+ <!-- <source path='shared'/> -->
+ <!-- <public path="public"/> -->
+ <!-- Logging Configuration -->
+ <set-property name="gwt.logging.enabled" value="TRUE" />
+ <set-property name="gwt.logging.logLevel" value="INFO" />
+ <set-property name="gwt.logging.consoleHandler" value="ENABLED" />
+ <set-property name="gwt.logging.developmentModeHandler"
+ value="ENABLED" />
+ <set-property name="gwt.logging.firebugHandler" value="ENABLED" />
+ <set-property name="gwt.logging.hasWidgetsHandler" value="DISABLED" />
+ <set-property name="gwt.logging.popupHandler" value="DISABLED" />
+ <set-property name="gwt.logging.systemHandler" value="ENABLED" />
+ <set-property name="gwt.logging.simpleRemoteHandler"
+ value="DISABLED" />
+ <!-- Uncomment if you are enabling server side deobfuscation of StackTraces
+ <set-property name="compiler.emulatedStack" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordLineNumbers" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordFileNames" value="true" /> -->
+ <!-- NOTE: this only compiles for chromium/safari ============= -->
+ <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+ <!-- <set-property name="user.agent" value="gecko1_8" /> -->
+ <set-property name="user.agent" value="safari,gecko1_8" />
+</module>
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -1,10 +1,13 @@
package cc.kune.core.client;
import cc.kune.core.client.cookies.CookiesManager;
+import cc.kune.core.client.errors.ErrorHandler;
import cc.kune.core.client.notify.SpinerPresenter;
import cc.kune.core.client.notify.UserNotifierPresenter;
import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
+import cc.kune.core.client.state.StateManager;
import cc.kune.core.client.ws.CorePresenter;
+import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.inject.client.AsyncProvider;
import com.google.gwt.inject.client.GinModules;
@@ -16,6 +19,8 @@
@GinModules({ CoreGinModule.class })
public interface CoreGinjector extends Ginjector {
+ ErrorHandler getErrorHandler();
+
AsyncProvider<CorePresenter> getCorePresenter();
AsyncProvider<CookiesManager> getCookiesManager();
@@ -32,4 +37,8 @@
AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+ I18nTranslationService getI18n();
+
+ StateManager getStateManager();
+
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -1,5 +1,7 @@
package cc.kune.core.client;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.GWT.UncaughtExceptionHandler;
@@ -18,6 +20,7 @@
*
* @see com.google.gwt.core.client.EntryPoint#onModuleLoad()
*/
+ @Override
public void onModuleLoad() {
GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
@@ -28,6 +31,7 @@
});
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
public void execute() {
onModuleLoadCont();
}
@@ -39,7 +43,11 @@
*/
public void onModuleLoadCont() {
DelayedBindRegistry.bind(ginjector);
+ AsyncCallbackSimple.init(ginjector.getErrorHandler());
ginjector.getPlaceManager().revealCurrentPlace();
+ ginjector.getI18n();
+ ginjector.getUserNotifierPresenter();
+ ginjector.getSpinerPresenter();
+ ginjector.getStateManager();
}
-
}
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -37,6 +37,7 @@
import com.gwtplatform.mvp.client.proxy.PlaceManager;
public class ErrorHandler {
+
private final Session session;
private final I18nTranslationService i18n;
private final Event0 onSessionExpired;
Modified: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -97,7 +97,6 @@
@Override
public void execute() {
hideInitialPanels();
- eventBus.fireEvent(new ProgressHideEvent());
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -26,7 +26,7 @@
widget = uiBinder.createAndBindUi(this);
popup = new PopupPanel(false, false);
popup.add(widget);
- popup.setPopupPosition(7, 0);
+ popup.setPopupPosition(0, 0);
popup.setStyleName("k-spiner-popup");
popup.show();
}
@@ -57,7 +57,7 @@
@Override
public void show(String message) {
if (message == null || message.isEmpty()) {
- label.setText("Fixme");
+ label.setText("");
} else {
label.setText(message);
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/AsyncCallbackSimple.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/AsyncCallbackSimple.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/AsyncCallbackSimple.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -22,15 +22,18 @@
import cc.kune.core.client.errors.ErrorHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.inject.Inject;
public abstract class AsyncCallbackSimple<T> implements AsyncCallback<T> {
- @Inject
- private ErrorHandler errorHandler;
+ private static ErrorHandler errorHandler;
+ @Override
public void onFailure(final Throwable caught) {
errorHandler.process(caught);
}
+ public static void init(ErrorHandler kuneErrorHandler) {
+ errorHandler = kuneErrorHandler;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -1,9 +1,13 @@
package cc.kune.core.client.sitebar.logo;
import cc.kune.core.client.init.AppStartEvent;
+import cc.kune.core.client.ws.CorePlaceManager;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.HasUiHandlers;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
@@ -11,9 +15,12 @@
import com.gwtplatform.mvp.client.proxy.Proxy;
import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public class SiteLogoPresenter extends Presenter<SiteLogoPresenter.SiteLogoView, SiteLogoPresenter.SiteLogoProxy> {
+public class SiteLogoPresenter extends Presenter<SiteLogoPresenter.SiteLogoView, SiteLogoPresenter.SiteLogoProxy>
+ implements SiteLogoUiHandlers {
- public interface SiteLogoView extends View {
+ private final CorePlaceManager placeManager;
+
+ public interface SiteLogoView extends View, HasUiHandlers<SiteLogoUiHandlers> {
void setSiteLogoUrl(String siteLogoUrl);
}
@@ -22,8 +29,10 @@
}
@Inject
- public SiteLogoPresenter(EventBus eventBus, SiteLogoView view, SiteLogoProxy proxy) {
+ public SiteLogoPresenter(EventBus eventBus, SiteLogoView view, SiteLogoProxy proxy, CorePlaceManager placeManager) {
super(eventBus, view, proxy);
+ this.placeManager = placeManager;
+ getView().setUiHandlers(this);
}
@Override
@@ -35,4 +44,14 @@
public void onAppStart(AppStartEvent event) {
getView().setSiteLogoUrl(event.getInitData().getSiteLogoUrl());
}
+
+ @Override
+ public void onClick() {
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ // placeManager.revealDefaultPlace();
+ }
+ });
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java 2010-12-20 02:20:51 UTC (rev 1173)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java 2010-12-29 03:33:31 UTC (rev 1174)
@@ -1,49 +1,48 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
package cc.kune.core.client.sitebar.logo;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter.SiteLogoView;
import cc.kune.core.ws.armor.client.WsArmor;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.ViewImpl;
+import com.gwtplatform.mvp.client.ViewWithUiHandlers;
+import com.gwtplatform.mvp.client.proxy.PlaceManager;
-public class SiteLogoViewImpl extends ViewImpl implements SiteLogoPresenter.SiteLogoView {
+public class SiteLogoViewImpl extends ViewWithUiHandlers<SiteLogoUiHandlers> implements SiteLogoView {
- private final Image siteLogoImg;
+ private static SiteLogoViewImplUiBinder uiBinder = GWT.create(SiteLogoViewImplUiBinder.class);
+ interface SiteLogoViewImplUiBinder extends UiBinder<Widget, SiteLogoViewImpl> {
+ }
+
@Inject
- public SiteLogoViewImpl(WsArmor armor) {
- siteLogoImg = new Image();
- siteLogoImg.addStyleName("k-floatright");
- armor.getSitebar().add(siteLogoImg);
+ public SiteLogoViewImpl(WsArmor armor, PlaceManager placeManager) {
+ armor.getSitebar().add(uiBinder.createAndBindUi(this));
}
- @Override
- public void setSiteLogoUrl(final String siteLogoUrl) {
- siteLogoImg.setUrl(siteLogoUrl);
+ @UiField
+ Image logo;
+
+ @UiHandler("logo")
+ void onLogoClick(ClickEvent event) {
+ if (getUiHandlers() != null) {
+ getUiHandlers().onClick();
+ }
}
@Override
public Widget asWidget() {
- return siteLogoImg;
+ return logo;
}
+
+ @Override
+ public void setSiteLogoUrl(String siteLogoUrl) {
+ logo.setUrl(siteLogoUrl);
+ }
}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl2?\195?\167.java (from rev 1172, trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java)
===================================================================
svnlook: Can't convert string from 'UTF-8' to native encoding:
svnlook: --- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl2?\195?\167.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl2?\195?\167.java 2010-12-29 03:33:31 UTC (rev 1174)
1
0
r1173 - in trunk: . src/main src/main/java/cc/kune/core/client/ws src/main/java/cc/kune/core/public src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink src/main/java/org/ourproject/kune/workspace/client/cnt src/main/webapp src/main/webapp/WEB-INF war/WEB-INF
by Vicente J. Ruiz Jurado 20 Dec '10
by Vicente J. Ruiz Jurado 20 Dec '10
20 Dec '10
Author: vjrj_
Date: 2010-12-20 03:20:51 +0100 (Mon, 20 Dec 2010)
New Revision: 1173
Added:
trunk/src/main/webapp/
trunk/src/main/webapp/WEB-INF/
trunk/src/main/webapp/WEB-INF/gems/
trunk/src/main/webapp/WEB-INF/localhost.cer
trunk/src/main/webapp/WEB-INF/localhost.key
trunk/src/main/webapp/WEB-INF/publicspace/
trunk/src/main/webapp/WEB-INF/web.xml
Removed:
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractRichTextAreaTest.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractWysiwygClientTest.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/LinkInfoTest.java
trunk/war/WEB-INF/localhost.cer
trunk/war/WEB-INF/localhost.key
trunk/war/WEB-INF/web.xml
Modified:
trunk/DEV-GUIDE
trunk/pom.xml
trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
trunk/src/main/java/cc/kune/core/public/ws.html
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java
Log:
NEW - # 9: Roo partial use/integration
http://kune.ourproject.org/issues/ticket/9
(pom.xml & webapp refactor to follow standards)
Modified: trunk/DEV-GUIDE
===================================================================
--- trunk/DEV-GUIDE 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/DEV-GUIDE 2010-12-20 02:20:51 UTC (rev 1173)
@@ -244,6 +244,11 @@
http://pmd.sourceforge.net/
http://pmd.sourceforge.net/eclipse/
+=== Identation ===
+
+More than the eclipse code preferences we try to:
+* Use spaces instead of tabs (for instance in xml, we try to use 2 spaces of identation)
+
==Use of mylyn in eclipse==
To use mylyn and to track the kune issues from eclipse, you have to add a "Web Repository" and select "ASM (gforge" with server: http://ourproject.org.
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/pom.xml 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,910 +1,940 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cc.kune</groupId>
- <artifactId>kune</artifactId>
- <packaging>war</packaging>
- <version>0.0.7</version>
- <name>kune</name>
- <description> kune free/open/libre collaboration platform </description>
- <url>http://kune.ourproject.org</url>
- <properties>
- <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
- <gwtVersion>2.1.0</gwtVersion>
- <maven.compiler.source>1.6</maven.compiler.source>
- <maven.compiler.target>1.6</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <slf4j.version>1.6.1</slf4j.version>
- <openjpa.version>2.0.1</openjpa.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>${gwtVersion}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwtVersion}</version>
- <scope>provided</scope>
- </dependency>
- <!-- guice -->
- <dependency>
- <groupId>com.google.code.guice</groupId>
- <artifactId>guice</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.gwt.inject</groupId>
- <artifactId>gin</artifactId>
- <version>r137</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.guice</groupId>
- <artifactId>guice-servlet</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.ourproject.common</groupId>
- <artifactId>gwt-common</artifactId>
- <version>0.0.3</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.extjs</groupId>
- <artifactId>gxt</artifactId>
- <version>2.2.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.cobogw.gwt</groupId>
- <artifactId>cobogw</artifactId>
- <version>1.3.1</version>
- </dependency>
- <dependency>
- <groupId>cc.kune.core.ws.armor</groupId>
- <artifactId>ws-armor</artifactId>
- <version>0.0.7</version>
- </dependency>
- <dependency>
- <groupId>com.gwtplatform</groupId>
- <artifactId>gwtp</artifactId>
- <version>0.4</version>
- </dependency>
- <!-- cc -->
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>2.0.5</version>
- </dependency>
- <dependency>
- <groupId>com.gwtextux</groupId>
- <artifactId>gwtextux</artifactId>
- <version>0.4.0.924</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
- <artifactId>gwt-log</artifactId>
- <version>3.0.1</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
- <artifactId>gwt-voices</artifactId>
- <version>1.6.0</version>
- </dependency>
- <!-- utilities -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.14</version>
- </dependency>
- <dependency>
- <groupId>net.sf.dozer</groupId>
- <artifactId>dozer</artifactId>
- <version>4.0</version>
- </dependency>
- <dependency>
- <groupId>com.calclab</groupId>
- <artifactId>suco</artifactId>
- <version>0.6.5</version>
- </dependency>
- <dependency>
- <groupId>jmagick</groupId>
- <artifactId>jmagick</artifactId>
- <version>6.2.6-0</version>
- </dependency>
- <dependency>
- <groupId>org.xwiki.platform</groupId>
- <artifactId>xwiki-web-gwt-dom</artifactId>
- <version>2.3-rc-1</version>
- <!-- <version>2.0-SNAPSHOT-g164</version> -->
- <!-- <version>2.0-SNAPSHOT</version> -->
- <!-- <version>2.0-SNAPSHOT-g20s</version> -->
- </dependency>
- <!-- xmpp -->
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite</artifactId>
- <version>0.4.7</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smack</groupId>
- <artifactId>smack</artifactId>
- <version>3.0.4</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx</groupId>
- <artifactId>smackx</artifactId>
- <version>3.0.4</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx.debugger</groupId>
- <artifactId>smackx-debugger</artifactId>
- <version>3.0.4</version>
- </dependency>
- <!-- mysql -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.13</version>
- </dependency>
- <!-- hibernate JPA -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <version>3.3.1.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>4.0.2.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>3.4.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>3.3.0.ga</version>
- </dependency>
- <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId>
- <version>3.3.1.GA</version> </dependency> -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-search</artifactId>
- <version>3.1.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>3.4.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-tools</artifactId>
- <version>3.2.3.GA</version>
- </dependency>
- <dependency>
- <groupId>c3p0</groupId>
- <artifactId>c3p0</artifactId>
- <version>0.9.1.2</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>com.wideplay</groupId>
- <artifactId>warp-persist</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.16</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <!-- REST: xml and json (stax) -->
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.2.2</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>1.0-RC2</version>
- </dependency>
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>2.1</version>
- <classifier>jdk15</classifier>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2</version>
- </dependency>
- <!-- File upload -->
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.7.0</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.1.1</version>
- </dependency>
- <!-- db upgrades -->
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>1.7.0</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.7.0.0</version>
- </dependency>
- <!-- jetty dependencies -->
- <!-- <dependency> -->
- <!-- <groupId>org.mortbay.jetty</groupId> -->
- <!-- <artifactId>jetty-util</artifactId> -->
- <!-- <version>6.1.11</version> -->
- <!-- <version>7.0.0.pre5</version> -->
- <!-- <scope>provided</scope> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.mortbay.jetty</groupId> -->
- <!-- <artifactId>jetty-maven-plugin</artifactId> -->
- <!-- <version>7.2.1.v20101111</version> -->
- <!-- <artifactId>maven-jetty-plugin</artifactId> <version>6.1.11</version> -->
- <!-- <scope>runtime</scope> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- <scope>provided</scope>
- </dependency>
- <!-- testing dependencies -->
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
- <version>1.6</version>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>1.0.20070617</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <!-- =roo -->
- <scope>test</scope>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
- <!-- <artifactId>selenium-java-client-driver</artifactId> -->
- <!-- <version>1.0-beta-1</version> -->
- <!-- <scope>test</scope> -->
- <!-- </dependency> -->
- <!-- public side -->
- <dependency>
- <groupId>org.jruby.rack</groupId>
- <artifactId>jruby-rack</artifactId>
- <version>1.0.3</version>
- <!-- <version>0.9.4</version> -->
- </dependency>
- <!-- wave -->
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>kune-wave-server</artifactId>
- <version>0.0.3.1</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.2</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- <type>jar</type>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>dom4j</groupId> -->
- <!-- <artifactId>dom4j</artifactId> -->
- <!-- <version>1.6.1</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>com.google.code.guice</groupId>
- <artifactId>guice-assistedinject</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>jline</groupId>
- <artifactId>jline</artifactId>
- <version>0.9.94</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.gnu.inet</groupId>
- <artifactId>libidn</artifactId>
- <version>1.15</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>2.1.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- <version>1.1.4c</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3_xpath</artifactId>
- <version>1.1.4c</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- <version>1.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.wave-protocol</groupId>
- <artifactId>xmpp</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.wave-protocol</groupId>
- <artifactId>whack</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.common</groupId>
- <artifactId>collect</artifactId>
- <version>1.0-rc2</version>
- </dependency>
- </dependencies>
- <distributionManagement>
- <repository>
- <id>kune.ourproject.org</id>
- <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/</url>
- </repository>
- </distributionManagement>
- <pluginRepositories>
- <!-- cc -->
- <pluginRepository>
- <id>jboss-public-repository-group</id>
- <name>JBoss Public Maven Repository Group</name>
- <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
- <layout>default</layout>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- </pluginRepository>
- <!-- cc -->
- <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
- </pluginRepository> -->
- <pluginRepository>
- <id>Codehaus Snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>gwt-plugin-repo</id>
- <url>http://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven</url>
- <name>Google Web Toolkit Plugin Repository</name>
- </pluginRepository>
- <pluginRepository>
- <id>maven2-repository.dev.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </pluginRepository>
- </pluginRepositories>
- <repositories>
- <repository>
- <id>guice-maven</id>
- <name>guice maven</name>
- <url>http://guice-maven.googlecode.com/svn/trunk</url>
- </repository>
- <repository>
- <id>Codehaus Snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>jboss-public-repository-group</id>
- <name>JBoss Public Maven Repository Group</name>
- <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
- <layout>default</layout>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- </repository>
- <repository>
- <id>mvp4g.googlecode.releases</id>
- <name>Releases Repository for Mvp4g</name>
- <url>http://mvp4g.googlecode.com/svn/maven2/releases/</url>
- </repository>
- <repository>
- <id>ext-gxt</id>
- <name>ext-gxt at jahia</name>
- <url>http://maven.jahia.org/maven2/</url>
- </repository>
- <repository>
- <id>ext-gxt</id>
- <name>ext-gxt at jahia</name>
- <url>http://maven.jahia.org/maven2/</url>
- </repository>
- <repository>
- <id>cobogw</id>
- <name>Cobogw repository at googlecode</name>
- <url>http://cobogw.googlecode.com/svn/maven2</url>
- </repository>
- <repository>
- <id>gwtp</id>
- <name>gwtp repo</name>
- <url>http://maven.gwt-platform.googlecode.com/hg/</url>
- </repository>
- <!-- cc -->
- <repository>
- <id>dyndns-repo</id>
- <url>http://maven.dyndns.org/2</url>
- </repository>
- <repository>
- <id>gwt-maven</id>
- <url>
- http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>cc.kune</groupId>
+ <artifactId>kune</artifactId>
+ <packaging>war</packaging>
+ <version>0.0.7</version>
+ <name>kune</name>
+ <description> kune free/open/libre collaboration platform </description>
+ <url>http://kune.ourproject.org</url>
+ <properties>
+ <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
+ <gwt.version>2.1.0</gwt.version>
+ <maven.compiler.source>1.6</maven.compiler.source>
+ <maven.compiler.target>1.6</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <slf4j.version>1.6.1</slf4j.version>
+ <openjpa.version>2.0.1</openjpa.version>
+ </properties>
+ <repositories>
+ <repository>
+ <id>guice-maven</id>
+ <name>guice maven</name>
+ <url>http://guice-maven.googlecode.com/svn/trunk</url>
+ </repository>
+ <repository>
+ <id>Codehaus Snapshots</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
</url>
- </repository>
- <repository>
- <id>kune-maven</id>
- <url>http://kune.ourproject.org/mavenrepo/</url>
- </repository>
- <repository>
- <id>google-maven-snapshot-repository</id>
- <name>Google Maven Snapshot Repository</name>
- <url>https://oss.sonatype.org/content/repositories/google-snapshots/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>openqa.org</id>
- <name>Openqa Release Repository</name>
- <url>http://archiva.openqa.org/repository/releases</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- </releases>
- </repository>
- <repository>
- <id>openqa.org snapshots</id>
- <name>Openqa Snapshot Repository</name>
- <url>http://archiva.openqa.org/repository/snapshots</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>ignore</checksumPolicy>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>xwiki-releases</id>
- <name>XWiki Maven2 Remote Repository for Releases</name>
- <url>http://maven.xwiki.org/releases</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>xwiki</id>
- <name>XWiki Repository</name>
- <url>http://maven.xwiki.org/snapshots</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </snapshots>
- </repository>
- </repositories>
- <issueManagement>
- <system>kune issues list at ourproject.org</system>
- <url>http://kune.ourproject.org/issues/</url>
- </issueManagement>
- <developers>
- <developer>
- <id>dani</id>
- <name>Daniel Gómez Blasco</name>
- <email>danigb(a)gmail.com</email>
- </developer>
- <developer>
- <name>Samer Hassan</name>
- <email>samer2004(a)gmail.com</email>
- </developer>
- <developer>
- <name>Vicente J. Ruiz Jurado</name>
- <email>vjrj(a)ourproject.org</email>
- </developer>
- </developers>
- <scm>
- <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
- </scm>
- <build>
- <plugins>
- <plugin>
- <groupId>org.bsc.maven</groupId>
- <artifactId>maven-processor-plugin</artifactId>
- <version>1.3.7</version>
- <executions>
- <execution>
- <id>process</id>
- <goals>
- <goal>process</goal>
- </goals>
- <phase>generate-sources</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <forkMode>pertest</forkMode>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <!-- Uncomment and run mvn with -X -e if we have same compile problems
- <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>2.1.0-1</version>
- <executions>
- <execution>
- <configuration>
- <!-- <extraJvmArgs>-Xmx512M</extraJvmArgs> -->
- <soyc>false</soyc>
- <style>OBF</style>
- <inline>true</inline>
- </configuration>
- <goals>
- <!-- gwt:* goals to be executed during build -->
- <goal>compile</goal>
- <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
- <goal>resources</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <runTarget>org.ourproject.kune.app.Kune/ws.html?log_level=DEBUG</runTarget>
- <gwt.module>org.ourproject.kune.app.Kune</gwt.module>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>false</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- </configuration>
- </plugin>
- <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId>
- <version>2.1</version> <executions> <execution> <phase>compile</phase> <goals>
- <goal>exploded</goal> </goals> </execution> </executions> <configuration>
- <webappDirectory>/war</webappDirectory> </configuration> </plugin> -->
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>7.2.1.v20101111</version>
- <!--<artifactId>maven-jetty-plugin</artifactId> <version>6.1.14</version> -->
- <configuration>
- <!-- <contextPath>/</contextPath> -->
- <!-- <webAppSourceDirectory>${basedir}/target/${project.artifactId}-${version}</webAppSourceDirectory> -->
- <!-- <webAppSourceDirectory>war</webAppSourceDirectory> -->
- <webAppSourceDirectory>war</webAppSourceDirectory>
- <reload>manual</reload>
- <scanIntervalSeconds>0</scanIntervalSeconds>
- </configuration>
- </plugin>
- <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
- <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
- collaboration platform</description> <maintainer>Kune Development Team <kune-devel(a)lists.ourproject.org></maintainer>
- <section>web</section> <priority>optional</priority> <architecture>all</architecture>
- </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
- </execution> </executions> </plugin> -->
- <plugin>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.7.0.0</version>
- <executions>
- <execution>
- <phase>process-resources</phase>
- <configuration>
- <changeLogFile>
- src/main/resources/db/liquibase_changelog.xml </changeLogFile>
- <driver>com.mysql.jdbc.Driver</driver>
- <url>jdbc:mysql://localhost/kune_dev</url>
- <username>kune</username>
- <password>db4kune</password>
- <verbose>true</verbose>
- </configuration>
- <!-- <configuration> <verbose>true</verbose> <propertiesFile> src/main/resources/db/liquibase.properties
- </propertiesFile> </configuration> -->
- <goals>
- <goal>update</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
- <executions>
- <execution>
- <id>core</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- <configuration>
- <classifier>core</classifier>
- <includes>
- <include>**/KunePlatform.gwt.xml**</include>
- <include>**/i18n/I18nTranslationService.**</include>
- <include>**/i18n/I18nTranslationServiceMocked.** </include>
- <include>**/TextUtils.**</include>
- <include>**/IconLabelEditable.**</include>
- <include>**/QuickTipsHelper.**</include>
- <include>**/RichText.gwt.xml**</include>
- <include>**/BasicDialog.**</include>
- <include>**/HorizontalLine.**</include>
- <include>**/AbstractLabel.**</include>
- <include>**/IconLabel.**</include>
- <include> **/EditableIconLabel.**</include>
- <include> **/EditableClickListener.**</include>
- <include>**/KuneStringUtils.**</include>
- <include>**/IconHyperlink*.**</include>
- <include>**/LabelWrapper*.**</include>
- <include>**/KuneUiUtils.**</include>
- <include>**/View.**</include>
- <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include>
- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include>
- <include>**/platf/client/dispatch/**</include> -->
- </includes>
- </configuration>
- </execution>
- <execution>
- <id>helloworldmodule</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- <configuration>
- <classifier>helloworldmodule</classifier>
- <includes>
- <include>**/HelloWorld*</include>
- </includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- <plugin> -->
- <!-- <groupId>org.codehaus.mojo</groupId> -->
- <!-- <artifactId>selenium-maven-plugin</artifactId> -->
- <!-- <configuration> -->
- <!-- <port>4441</port> -->
- <!-- </configuration> -->
- <!-- <executions> -->
- <!-- <execution> -->
- <!-- <phase>pre-integration-test</phase> -->
- <!-- <goals> -->
- <!-- <goal>start-server</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <background>true</background> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- <!-- </executions> -->
- <!-- </plugin> -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <forkMode>pertest</forkMode>
- <!-- Skip the normal tests, we'll run them in the integration-test phase -->
- <skip>true</skip>
- </configuration>
- <executions>
- <execution>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>false</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
- <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
- <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
- </includes> </fileset> </filesets> </configuration> </plugin> -->
- </plugins>
- <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
- <outputDirectory>war/WEB-INF/classes</outputDirectory>
- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- </resource>
- <resource>
- <directory>src/main/java</directory>
- </resource>
- </resources>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>1.0-beta-2</version>
- </extension>
- </extensions>
- </build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <linkXref>true</linkXref>
- <sourceEncoding>utf-8</sourceEncoding>
- <minimumTokens>100</minimumTokens>
- <targetJdk>1.5</targetJdk>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jdepend-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
- <profiles>
- <profile>
- <!-- Activate only when within eclipse -->
- <id>m2eclipse</id>
- <activation>
- <property>
- <name>!m2e.version</name>
- </property>
- </activation>
- <!-- GWT SDK is provided by GWT SDK Classpath Container -->
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>${gwtVersion}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwtVersion}</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>mvp4g.googlecode.releases</id>
+ <name>Releases Repository for Mvp4g</name>
+ <url>http://mvp4g.googlecode.com/svn/maven2/releases/</url>
+ </repository>
+ <repository>
+ <id>ext-gxt</id>
+ <name>ext-gxt at jahia</name>
+ <url>http://maven.jahia.org/maven2/</url>
+ </repository>
+ <repository>
+ <id>ext-gxt</id>
+ <name>ext-gxt at jahia</name>
+ <url>http://maven.jahia.org/maven2/</url>
+ </repository>
+ <repository>
+ <id>cobogw</id>
+ <name>Cobogw repository at googlecode</name>
+ <url>http://cobogw.googlecode.com/svn/maven2</url>
+ </repository>
+ <repository>
+ <id>gwtp</id>
+ <name>gwtp repo</name>
+ <url>http://maven.gwt-platform.googlecode.com/hg/</url>
+ </repository>
+ <repository>
+ <id>gwt-repo</id>
+ <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
+ <name>Google Web Toolkit Repository</name>
+ </repository>
+ <!-- cc -->
+ <repository>
+ <id>dyndns-repo</id>
+ <url>http://maven.dyndns.org/2</url>
+ </repository>
+ <repository>
+ <id>kune-maven</id>
+ <url>http://kune.ourproject.org/mavenrepo/</url>
+ </repository>
+ <repository>
+ <id>google-maven-snapshot-repository</id>
+ <name>Google Maven Snapshot Repository</name>
+ <url>https://oss.sonatype.org/content/repositories/google-snapshots/
+ </url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>openqa.org</id>
+ <name>Openqa Release Repository</name>
+ <url>http://archiva.openqa.org/repository/releases</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>openqa.org snapshots</id>
+ <name>Openqa Snapshot Repository</name>
+ <url>http://archiva.openqa.org/repository/snapshots</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>ignore</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>xwiki-releases</id>
+ <name>XWiki Maven2 Remote Repository for Releases</name>
+ <url>http://maven.xwiki.org/releases</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>xwiki</id>
+ <name>XWiki Repository</name>
+ <url>http://maven.xwiki.org/snapshots</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <!-- cc -->
+ <pluginRepository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+ </url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </pluginRepository>
+ <!-- cc -->
+ <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
+ </pluginRepository> -->
+ <pluginRepository>
+ <id>Codehaus Snapshots</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
+ </releases>
+ </pluginRepository>
+ <pluginRepository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </pluginRepository>
+ <pluginRepository>
+ <id>gwt-plugin-repo</id>
+ <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
+ <name>Google Web Toolkit Plugin Repository</name>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- guice -->
+ <dependency>
+ <groupId>com.google.code.guice</groupId>
+ <artifactId>guice</artifactId>
+ <version>2.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.gwt.inject</groupId>
+ <artifactId>gin</artifactId>
+ <version>r137</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.guice</groupId>
+ <artifactId>guice-servlet</artifactId>
+ <version>2.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.ourproject.common</groupId>
+ <artifactId>gwt-common</artifactId>
+ <version>0.0.3</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.extjs</groupId>
+ <artifactId>gxt</artifactId>
+ <version>2.2.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.cobogw.gwt</groupId>
+ <artifactId>cobogw</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>cc.kune.core.ws.armor</groupId>
+ <artifactId>ws-armor</artifactId>
+ <version>0.0.8</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtplatform</groupId>
+ <artifactId>gwtp</artifactId>
+ <version>0.4</version>
+ </dependency>
+ <!-- cc -->
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>2.0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtextux</groupId>
+ <artifactId>gwtextux</artifactId>
+ <version>0.4.0.924</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
+ <artifactId>gwt-log</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
+ <artifactId>gwt-voices</artifactId>
+ <version>1.6.0</version>
+ </dependency>
+ <!-- utilities -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.dozer</groupId>
+ <artifactId>dozer</artifactId>
+ <version>4.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab</groupId>
+ <artifactId>suco</artifactId>
+ <version>0.6.5</version>
+ </dependency>
+ <dependency>
+ <groupId>jmagick</groupId>
+ <artifactId>jmagick</artifactId>
+ <version>6.2.6-0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.xwiki.platform</groupId>
+ <artifactId>xwiki-web-gwt-dom</artifactId>
+ <version>2.3-rc-1</version>
+ <!-- <version>2.0-SNAPSHOT-g164</version> -->
+ <!-- <version>2.0-SNAPSHOT</version> -->
+ <!-- <version>2.0-SNAPSHOT-g20s</version> -->
+ </dependency>
+ <!-- xmpp -->
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite</artifactId>
+ <version>0.4.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smack</groupId>
+ <artifactId>smack</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx</groupId>
+ <artifactId>smackx</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx.debugger</groupId>
+ <artifactId>smackx-debugger</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <!-- mysql -->
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>5.1.13</version>
+ </dependency>
+ <!-- hibernate JPA -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>4.0.2.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.3.0.ga</version>
+ </dependency>
+ <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId>
+ <version>3.3.1.GA</version> </dependency> -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-search</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.4.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-tools</artifactId>
+ <version>3.2.3.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>c3p0</groupId>
+ <artifactId>c3p0</artifactId>
+ <version>0.9.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.wideplay</groupId>
+ <artifactId>warp-persist</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.16</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <!-- REST: xml and json (stax) -->
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.0-RC2</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>2.1</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <!-- File upload -->
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <!-- db upgrades -->
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.7.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- testing dependencies -->
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ <version>1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.0.20070617</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <!-- =roo -->
+ <scope>test</scope>
+ </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
+ <!-- <artifactId>selenium-java-client-driver</artifactId> -->
+ <!-- <version>1.0-beta-1</version> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
+ <!-- public side -->
+ <dependency>
+ <groupId>org.jruby.rack</groupId>
+ <artifactId>jruby-rack</artifactId>
+ <version>1.0.3</version>
+ <!-- <version>0.9.4</version> -->
+ </dependency>
+ <!-- wave -->
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>kune-wave-server</artifactId>
+ <!-- <version>0.0.3.1</version> -->
+ <version>0.0.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.3</version>
+ <type>jar</type>
+ </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>dom4j</groupId> -->
+ <!-- <artifactId>dom4j</artifactId> -->
+ <!-- <version>1.6.1</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <dependency>
+ <groupId>com.google.code.guice</groupId>
+ <artifactId>guice-assistedinject</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>jline</groupId>
+ <artifactId>jline</artifactId>
+ <version>0.9.94</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.gnu.inet</groupId>
+ <artifactId>libidn</artifactId>
+ <version>1.15</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>2.1.0</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ <version>1.1.4c</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3_xpath</artifactId>
+ <version>1.1.4c</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>aopalliance</groupId>
+ <artifactId>aopalliance</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.wave-protocol</groupId>
+ <artifactId>xmpp</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wave-protocol</groupId>
+ <artifactId>whack</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.common</groupId>
+ <artifactId>collect</artifactId>
+ <version>1.0-rc2</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <repository>
+ <id>kune.ourproject.org</id>
+ <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/
+ </url>
+ </repository>
+ </distributionManagement>
+ <issueManagement>
+ <system>kune issues list at ourproject.org</system>
+ <url>http://kune.ourproject.org/issues/</url>
+ </issueManagement>
+ <developers>
+ <developer>
+ <id>dani</id>
+ <name>Daniel Gómez Blasco</name>
+ <email>danigb(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Samer Hassan</name>
+ <email>samer2004(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Vicente J. Ruiz Jurado</name>
+ <email>vjrj(a)ourproject.org</email>
+ </developer>
+ </developers>
+ <scm>
+ <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ <!-- Uncomment and run mvn with -X -e if we have same compile problems
+ <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4.2</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo + custom -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.5</version>
+ <configuration>
+ <excludes>
+ <exclude>**/*_Roo_*</exclude>
+ </excludes>
+ <forkMode>pertest</forkMode>
+ <!-- Skip the normal tests, we'll run them in the integration-test
+ phase -->
+ <skip>true</skip>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-5</version>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo sin spring executions -->
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.7</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>false</downloadJavadocs>
+ <wtpversion>2.0</wtpversion>
+ <additionalBuildcommands>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator </name>
+ </buildCommand>
+ </additionalBuildcommands>
+ <additionalProjectnatures>
+ <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
+ <projectnature>com.google.gwt.eclipse.core.gwtNature </projectnature>
+ </additionalProjectnatures>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <dependenciesAsLibraries>true</dependenciesAsLibraries>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>tomcat-maven-plugin</artifactId>
+ <version>1.0</version>
+<configuration>
+ <path>/</path>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>7.1.2.v20100523</version>
+ <!-- <version>7.2.1.v20101111</version> -->
+ <configuration>
+ <webAppConfig>
+ <!-- FIXME: ws?
+ <contextPath>/${project.name}</contextPath>
+ -->
+ <contextPath>/</contextPath>
+ </webAppConfig>
+ <reload>manual</reload>
+ <scanIntervalSeconds>0</scanIntervalSeconds>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- pensar/probar: openjpa-maven-plugin -->
+ <!-- gwtp & GenEvent need this plugin -->
+ <groupId>org.bsc.maven</groupId>
+ <artifactId>maven-processor-plugin</artifactId>
+ <version>1.3.7</version>
+ <executions>
+ <execution>
+ <id>process</id>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>1.3.2.google</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+ <soyc>false</soyc>
+ <gwtVersion>${gwt.version}</gwtVersion>
+ <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
+ <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
+ <modules>
+ <module>${project.groupId}.Kune</module>
+ </modules>
+ <copyWebapp>true</copyWebapp>
+ </configuration>
+ <executions>
+ <execution>
+ <id>gwtcompile</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>compile</goal>
+ <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
+ <!-- <goal>resources</goal> -->
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
+ <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
+ collaboration platform</description> <maintainer>Kune Development Team <kune-devel(a)lists.ourproject.org></maintainer>
+ <section>web</section> <priority>optional</priority> <architecture>all</architecture>
+ </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
+ </execution> </executions> </plugin> -->
+ <plugin>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.7.0.0</version>
+ <executions>
+ <execution>
+ <phase>process-resources</phase>
+ <configuration>
+ <changeLogFile>
+ src/main/resources/db/liquibase_changelog.xml </changeLogFile>
+ <driver>com.mysql.jdbc.Driver</driver>
+ <url>jdbc:mysql://localhost/kune_dev</url>
+ <username>kune</username>
+ <password>db4kune</password>
+ <verbose>true</verbose>
+ </configuration>
+ <!-- <configuration> <verbose>true</verbose> <propertiesFile>
+ src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
+ <goals>
+ <goal>update</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <executions>
+<!-- <execution>-->
+<!-- <id>core</id>-->
+<!-- <phase>package</phase>-->
+<!-- <goals>-->
+<!-- <goal>jar</goal>-->
+<!-- </goals>-->
+<!-- <configuration>-->
+<!-- <classifier>core</classifier>-->
+<!-- <includes>-->
+<!-- <include>**/KunePlatform.gwt.xml**</include>-->
+<!-- <include>**/i18n/I18nTranslationService.**</include>-->
+<!-- <include>**/i18n/I18nTranslationServiceMocked.** </include>-->
+<!-- <include>**/TextUtils.**</include>-->
+<!-- <include>**/IconLabelEditable.**</include>-->
+<!-- <include>**/QuickTipsHelper.**</include>-->
+<!-- <include>**/RichText.gwt.xml**</include>-->
+<!-- <include>**/BasicDialog.**</include>-->
+<!-- <include>**/HorizontalLine.**</include>-->
+<!-- <include>**/AbstractLabel.**</include>-->
+<!-- <include>**/IconLabel.**</include>-->
+<!-- <include> **/EditableIconLabel.**</include>-->
+<!-- <include> **/EditableClickListener.**</include>-->
+<!-- <include>**/KuneStringUtils.**</include>-->
+<!-- <include>**/IconHyperlink*.**</include>-->
+<!-- <include>**/LabelWrapper*.**</include>-->
+<!-- <include>**/KuneUiUtils.**</include>-->
+<!-- <include>**/View.**</include>-->
+<!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
+<!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
+<!-- <include>**/platf/client/dispatch/**</include> -->
+<!-- </includes>-->
+<!-- </configuration>-->
+<!-- </execution>-->
+ <execution>
+ <id>helloworldmodule</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>helloworldmodule</classifier>
+ <includes>
+ <include>**/HelloWorld*</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- <plugin> -->
+ <!-- <groupId>org.codehaus.mojo</groupId> -->
+ <!-- <artifactId>selenium-maven-plugin</artifactId> -->
+ <!-- <configuration> -->
+ <!-- <port>4441</port> -->
+ <!-- </configuration> -->
+ <!-- <executions> -->
+ <!-- <execution> -->
+ <!-- <phase>pre-integration-test</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>start-server</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <background>true</background> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ <!-- </executions> -->
+ <!-- </plugin> -->
+ <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
+ <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
+ <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
+ </includes> </fileset> </filesets> </configuration> </plugin> -->
+ </plugins>
+ <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
+ <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
+ <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
+ <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
+ <!-- <resources> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/resources</directory> -->
+ <!-- </resource> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/java</directory> -->
+ <!-- </resource> -->
+ <!-- </resources> -->
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <linkXref>true</linkXref>
+ <sourceEncoding>utf-8</sourceEncoding>
+ <minimumTokens>100</minimumTokens>
+ <targetJdk>1.5</targetJdk>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jdepend-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
</project>
Modified: trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -7,7 +7,6 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.History;
-import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.ViewImpl;
@@ -30,8 +29,6 @@
this.armor = armor;
GWT.<CoreResources> create(CoreResources.class).css().ensureInjected();
GWT.<WsArmorResources> create(WsArmorResources.class).style().ensureInjected();
- armor.getEntityHeader().add(new InlineLabel("Test - a, e, i, o, u"));
- armor.getDocHeader().add(new InlineLabel("doc title"));
History.addValueChangeHandler(stateManager);
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2010-12-20 02:20:51 UTC (rev 1173)
@@ -24,15 +24,14 @@
#kuneloading {
position: absolute;
left: 45%;
- top: 40%; <!--
- padding: 0px; -->
+ top: 40%;
z-index: 20001;
height: auto;
border: solid 2px #ccc;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
- background: white;
+ background-color: white;
}
#kuneloading a {
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractRichTextAreaTest.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractRichTextAreaTest.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractRichTextAreaTest.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,147 +0,0 @@
-/*
- * See the NOTICE file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.ourproject.kune.platf.client.ui.rte.insertlink;
-
-import org.ourproject.kune.platf.client.ui.rte.RichTextArea;
-import org.xwiki.gwt.dom.client.Element;
-import org.xwiki.gwt.dom.client.Range;
-import org.xwiki.gwt.dom.client.Selection;
-
-import com.google.gwt.event.dom.client.HasLoadHandlers;
-import com.google.gwt.event.dom.client.LoadEvent;
-import com.google.gwt.event.dom.client.LoadHandler;
-import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.ui.RootPanel;
-
-/**
- * Base class for tests running on a rich text area.
- *
- * @version $Id$
- */
-public class AbstractRichTextAreaTest extends AbstractWysiwygClientTest implements LoadHandler {
- /**
- * The number of milliseconds we delay the test finish. This delay is needed
- * because in some browsers the rich text area is initialized after a
- * timeout.
- */
- public static final int FINISH_DELAY = 400;
-
- /**
- * The number of milliseconds we delay the test start. This delay is needed
- * because in some browsers the rich text area is initialized after a
- * timeout and we want to start the test after the rich text area is fully
- * initialized.
- */
- public static final int START_DELAY = 300;
-
- /**
- * The rich text area on which we run the tests.
- */
- protected RichTextArea rta;
-
- public void onLoad(final LoadEvent event) {
- // http://wiki.codetalks.org/wiki/index.php/Docs/Keyboard_navigable_JS_widgets
- // #Use_setTimeout_with_element.focus.28.29_to_set_focus
- (new Timer() {
- @Override
- public void run() {
- rta.setFocus(true);
- }
- }).schedule(1);
- }
-
- /**
- * Cleans the HTML input. This is needed in order to have uniform tests
- * between Firefox and Internet Explorer.
- *
- * @param html
- * The HTML fragment to be cleaned.
- * @return The input string in lower case, stripped of new lines.
- */
- protected String clean(final String html) {
- return html.replaceAll("\r\n", "").toLowerCase();
- }
-
- /**
- * @return The body element of the DOM document edited with the rich text
- * area.
- */
- protected Element getBody() {
- return rta.getDocument().getBody().cast();
- }
-
- /**
- * {@inheritDoc}
- *
- * @see AbstractWysiwygClientTest#gwtSetUp()
- */
- @Override
- protected void gwtSetUp() throws Exception {
- super.gwtSetUp();
-
- if (rta == null) {
- rta = new RichTextArea();
- // Workaround till GWT provides a way to detect when the rich text
- // area has finished loading.
- if (rta.getBasicFormatter() instanceof HasLoadHandlers) {
- ((HasLoadHandlers) rta.getBasicFormatter()).addLoadHandler(this);
- }
- }
- RootPanel.get().add(rta);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see AbstractWysiwygClientTest#gwtTearDown()
- */
- @Override
- protected void gwtTearDown() throws Exception {
- super.gwtTearDown();
-
- RootPanel.get().remove(rta);
- }
-
- /**
- * Removes the non-breaking spaces, {@code }, from the given HTML. The
- * is method is needed because the Selection implementation for Internet
- * Explorer adds {@code } when it cannot place the caret at the
- * specified place.
- *
- * @param html
- * the HTML fragment to be cleaned of non-breaking spaces
- * @return the input HTML fragment without any non-breaking spaces
- */
- protected String removeNonBreakingSpaces(final String html) {
- return html.replace(" ", "");
- }
-
- /**
- * Selects the given range.
- *
- * @param range
- * The range to be selected.
- */
- protected void select(final Range range) {
- final Selection selection = rta.getDocument().getSelection();
- selection.removeAllRanges();
- selection.addRange(range);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractWysiwygClientTest.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractWysiwygClientTest.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/AbstractWysiwygClientTest.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,55 +0,0 @@
-/*
- * See the NOTICE file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.ourproject.kune.platf.client.ui.rte.insertlink;
-
-import com.google.gwt.dom.client.Document;
-import com.google.gwt.junit.client.GWTTestCase;
-
-/**
- * Base class for all WYSIWYG client tests. It returns the name of the module in
- * {@link #getModuleName()} so you don't have to do it in each test.
- *
- * @version $Id$
- */
-public abstract class AbstractWysiwygClientTest extends GWTTestCase {
- /**
- * {@inheritDoc}
- *
- * @see GWTTestCase#getModuleName()
- */
- @Override
- public String getModuleName() {
- return "com.xpn.xwiki.wysiwyg.Wysiwyg";
- }
-
- /**
- * {@inheritDoc}
- *
- * @see GWTTestCase#gwtSetUp()
- */
- @Override
- protected void gwtSetUp() throws Exception {
- super.gwtSetUp();
-
- // We have to remove the default body border because it affects the
- // range detection in IE.
- Document.get().getBody().getStyle().setProperty("borderStyle", "none");
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/LinkInfoTest.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/LinkInfoTest.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/insertlink/LinkInfoTest.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,61 +0,0 @@
-package org.ourproject.kune.platf.client.ui.rte.insertlink;
-
-import org.xwiki.gwt.dom.client.Element;
-import org.xwiki.gwt.dom.client.Range;
-import org.xwiki.gwt.dom.client.Selection;
-
-import com.allen_sauer.gwt.log.client.Log;
-import com.google.gwt.user.client.Timer;
-
-public class LinkInfoTest extends AbstractRichTextAreaTest {
-
- private static final String TEXT = "somelink";
- private static final String HREF = "http://example.com";
- private static final String TITLE = "on over";
- private static final String _BLANK = "_blank";
-
- public void doTestSimpleLink() {
- String html = createHtmlLink(HREF, TITLE, _BLANK, TEXT);
- rta.setHTML(html);
- Log.debug(rta.getHTML());
-
- Range range = rta.getDocument().createRange();
- range.setStart(getBody().getFirstChild(), 1);
- range.setEnd(getBody().getFirstChild(), 1);
-
- Selection selection = rta.getDocument().getSelection();
- selection.removeAllRanges();
- selection.addRange(range);
-
- Element selectedAnchor = LinkExecutableUtils.getSelectedAnchor(rta);
-
- Log.info(selectedAnchor.getString());
-
- LinkInfo linkParsed = LinkInfo.parse(getBody().getFirstChildElement());
- assertEquals(TEXT, linkParsed.getText());
- assertEquals(HREF, linkParsed.getHref());
- assertEquals(TITLE, linkParsed.getTitle());
- assertEquals(_BLANK, linkParsed.getTarget());
- }
-
- @Override
- public String getModuleName() {
- return "org.ourproject.kune.app.Kune";
- }
-
- public void testPlainTextSelectionWithoutModification() {
- delayTestFinish(FINISH_DELAY);
- (new Timer() {
- @Override
- public void run() {
- doTestSimpleLink();
- finishTest();
- }
- }).schedule(START_DELAY);
- }
-
- private String createHtmlLink(String href, String title, String target, String text) {
- return "<a title=\"" + title + "\" href=\"" + href + "\" target=\"" + target + "\">" + text + "</a>";
- }
-
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -19,15 +19,12 @@
*/
package org.ourproject.kune.workspace.client.cnt;
-import com.calclab.suco.client.events.Listener0;
import com.google.gwt.user.client.ui.Widget;
public interface AbstractContentView {
public void setRawContent(final String content);
- public void setWave(String waveId, Listener0 onLoaded);
-
void attach();
void detach();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -27,8 +27,6 @@
import cc.kune.core.shared.i18n.I18nTranslationService;
-import com.allen_sauer.gwt.log.client.Log;
-import com.calclab.suco.client.events.Listener0;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.HTML;
@@ -36,9 +34,6 @@
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.wave.client.WaveWidget;
-import com.google.gwt.wave.client.event.WaveLoadEvent;
-import com.google.gwt.wave.client.event.WaveLoadHandler;
public abstract class FoldableContentPanel extends AbstractContentPanel implements AbstractContentView {
@@ -57,6 +52,7 @@
messagePanel.addStyleName("kune-Margin-7-b");
}
+ @Override
public void setContent(final String content, final boolean showPreviewMsg) {
final VerticalPanel vp = createMessageVp(showPreviewMsg);
final HTML html = new HTML(content);
@@ -64,10 +60,12 @@
setWidgetAsContent(vp, true);
}
+ @Override
public void setInfo(final String info) {
setLabel(info);
}
+ @Override
public void setInfoMessage(final String text) {
final VerticalPanel vp = createMessageVp(true);
messageLabel.setText(text);
@@ -80,34 +78,38 @@
setWidget(label);
}
+ @Override
public void setNoPreview() {
final VerticalPanel vp = createMessageVp(true);
setNoPreviewLabelMsg();
setWidgetAsContent(vp, true);
}
+ @Override
public void setRawContent(final String content) {
final HTML html = new HTML(content);
setDefStyle(html);
setContent(html);
}
- public void setWave(final String waveId, final Listener0 onLoaded) {
- final WaveWidget waveWidget = new WaveWidget("http://wave.google.com/a/wavesandbox.com/");
- waveWidget.setUIConfig("white", "black", "arial, sans", "10pt");
- waveWidget.setHeight("100%");
- waveWidget.addWaveLoadHandler(new WaveLoadHandler() {
- public void onWaveLoad(final WaveLoadEvent event) {
- Log.info("Wave '" + event.getWaveId() + "' loaded!");
- onLoaded.onEvent();
- }
- });
- waveWidget.loadWave(waveId);
- setWidgetAsContent(waveWidget, false);
- waveWidget.setToolbarVisible(true);
- waveWidget.setEditMode(false);
- }
+ // public void setWave(final String waveId, final Listener0 onLoaded) {
+ // final WaveWidget waveWidget = new
+ // WaveWidget("http://wave.google.com/a/wavesandbox.com/");
+ // waveWidget.setUIConfig("white", "black", "arial, sans", "10pt");
+ // waveWidget.setHeight("100%");
+ // waveWidget.addWaveLoadHandler(new WaveLoadHandler() {
+ // public void onWaveLoad(final WaveLoadEvent event) {
+ // Log.info("Wave '" + event.getWaveId() + "' loaded!");
+ // onLoaded.onEvent();
+ // }
+ // });
+ // waveWidget.loadWave(waveId);
+ // setWidgetAsContent(waveWidget, false);
+ // waveWidget.setToolbarVisible(true);
+ // waveWidget.setEditMode(false);
+ // }
+ @Override
public void setWidgetAsContent(final Widget widget, final boolean setDefMargins) {
if (setDefMargins) {
widget.addStyleName(DEF_CONTENT_MARGINS_STYLE);
@@ -115,6 +117,7 @@
setContent(widget);
}
+ @Override
public void showImage(final String imageUrl, final String imageResizedUrl, final boolean showPreviewMsg) {
final VerticalPanel vp = createMessageVp(showPreviewMsg);
final Image imgOrig = new Image(imageUrl);
@@ -126,12 +129,14 @@
imgOrig.addStyleName("kune-pointer");
imgResized.addStyleName("kune-pointer");
imgResized.addClickHandler(new ClickHandler() {
+ @Override
public void onClick(final ClickEvent event) {
imgResized.removeFromParent();
vp.add(imgOrig);
}
});
imgOrig.addClickHandler(new ClickHandler() {
+ @Override
public void onClick(final ClickEvent event) {
imgOrig.removeFromParent();
vp.add(imgResized);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java 2010-12-20 02:20:51 UTC (rev 1173)
@@ -23,7 +23,6 @@
import org.ourproject.kune.platf.client.actions.ActionRegistry;
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.download.ImageSize;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
@@ -38,7 +37,6 @@
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
import com.calclab.suco.client.ioc.Provider;
public abstract class FoldableContentPresenter extends AbstractContentPresenter implements FoldableContent {
@@ -52,7 +50,6 @@
private final Provider<MediaUtils> mediaUtils;
private String uploadType;
private String waveType;
- private final Listener0 onWaveLoaded;
public FoldableContentPresenter(final String toolName, final StateManager stateManager, final Session session,
final ActionContentToolbar toolbar, final ActionRegistry<StateToken> actionRegistry,
@@ -71,13 +68,6 @@
setState(state);
}
});
- onWaveLoaded = new Listener0() {
- @Override
- public void onEvent() {
- NotifyUser.hideProgress();
- NotifyUser.info("Wave loaded");
- }
- };
}
public String getToolName() {
@@ -110,7 +100,7 @@
if (typeId.equals(getUploadType())) {
setUploadedContent(state);
} else if (typeId.equals(getWaveType())) {
- setWaveContent(state);
+ // setWaveContent(state);
} else {
setNormalContent(state);
}
@@ -202,10 +192,4 @@
view.setNoPreview();
}
}
-
- private void setWaveContent(final StateContentDTO state) {
- NotifyUser.showProgressLoading();
- final String waveId = getContentBody(state);
- view.setWave(waveId, onWaveLoaded);
- }
}
Copied: trunk/src/main/webapp/WEB-INF/gems (from rev 1171, trunk/war/WEB-INF/gems)
Copied: trunk/src/main/webapp/WEB-INF/localhost.cer (from rev 1171, trunk/war/WEB-INF/localhost.cer)
===================================================================
--- trunk/src/main/webapp/WEB-INF/localhost.cer (rev 0)
+++ trunk/src/main/webapp/WEB-INF/localhost.cer 2010-12-20 02:20:51 UTC (rev 1173)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7zCCAligAwIBAgIJAP5zJqYmGz7vMA0GCSqGSIb3DQEBBQUAMFkxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0wOTA4MDUxMDI2
+MDBaFw0xMDA4MDUxMDI2MDBaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21l
+LVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV
+BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0mHausYX
+KTlrz/fdhYA/63L8PZFwjtqCEdUh+5BFSqFlE34uhwmoIFzZat5z80tAQGjyp1EL
+Ai2BegqCOHWaeOKNnwSm93a31fMy6N4rygUgs2rCjVtz6yqMCBd7c9KENifMTWY0
+agIz6C4Pk+YLnkx7rrDGyW5/jaIKNrjFioUCAwEAAaOBvjCBuzAdBgNVHQ4EFgQU
+Aob17ojAhUn47dxkKOogj+NWtxUwgYsGA1UdIwSBgzCBgIAUAob17ojAhUn47dxk
+KOogj+NWtxWhXaRbMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl
+MSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxv
+Y2FsaG9zdIIJAP5zJqYmGz7vMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
+gYEANGKOujn47HIf0rYEq0Z8mnzfUet+7AtzGjueLymKSRI9PGSdgtJd/C7lQEsD
+bqzIb4gu8NDE5wJjcEOikrQ6jawK/ws6s/H+BCKtrefCmbaNsv3hmC4uaQfmCkiE
+U3gN9MsqSncdzBX/5kXZn7gzS0j/KVukDOykjLAAsbp4Ad4=
+-----END CERTIFICATE-----
Copied: trunk/src/main/webapp/WEB-INF/localhost.key (from rev 1171, trunk/war/WEB-INF/localhost.key)
===================================================================
--- trunk/src/main/webapp/WEB-INF/localhost.key (rev 0)
+++ trunk/src/main/webapp/WEB-INF/localhost.key 2010-12-20 02:20:51 UTC (rev 1173)
@@ -0,0 +1,16 @@
+-----BEGIN PRIVATE KEY-----
+MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANJh2rrGFyk5a8/3
+3YWAP+ty/D2RcI7aghHVIfuQRUqhZRN+LocJqCBc2Wrec/NLQEBo8qdRCwItgXoK
+gjh1mnjijZ8Epvd2t9XzMujeK8oFILNqwo1bc+sqjAgXe3PShDYnzE1mNGoCM+gu
+D5PmC55Me66wxsluf42iCja4xYqFAgMBAAECgYEAuJ/JXQlEABh1JbAGxgaTkaN5
++unslmDpro6U4Pht5p2WXzHn0PfHhIcXAfMwXD0YqK2w7OZxO7sFmj0opDWIlZ9t
+H5ruSlV1YOEmuReeGqWJRNKEVnr6BXUFtEmTRZxF2XrxGEci71afH7EziC+uNYKm
+53XPKvg4/qeHE+Ig+w0CQQD2GdwkHIRKvn2KyNrI0ag4uuX7tWDk2avkRpwnjRBk
+E+Z7GYiXpwGZrJktJ2lbsc3r4pU6yEPmtdLah9DJrW93AkEA2tgxWtdwyFlosBj/
+h/Eq+VCVCLR+OtbDaD8IZ0cijHtnllL99XRivnOrLUeTQfWxaUM7Qoky3tk6p5Pw
+Oxbs4wJBAIM/93Aq5UMXpMzHoidH6XeX9d/wM+TZUhtErTNKwFsfYeR1EawPnYLf
+0jGKu13zzebnyL64373DatixZmCo5rECQFRNgAW8hGfJeXiMyLL3hlRwZFjsHsxP
+uwrHbVdLodV4HFleMxKA+SDgsgpJTkLUgLlJ+uQQshYCnIO9i4dXt30CQBsJJ+pD
+9DjZXSRvklLZBqpFnFMIi+jW12GQrpNb7HO16pZNdy+Ljc0b/YZL+6nAYjbwg30c
+4X+49VVcDxiJMws=
+-----END PRIVATE KEY-----
Copied: trunk/src/main/webapp/WEB-INF/publicspace (from rev 1171, trunk/war/WEB-INF/publicspace)
Copied: trunk/src/main/webapp/WEB-INF/web.xml (from rev 1171, trunk/war/WEB-INF/web.xml)
===================================================================
--- trunk/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ trunk/src/main/webapp/WEB-INF/web.xml 2010-12-20 02:20:51 UTC (rev 1173)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ version="2.5">
+ <!-- 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
+ file. -->
+ <display-name>ws</display-name>
+ <description>kune workspace</description>
+ <!-- Default page to serve -->
+ <welcome-file-list>
+ <welcome-file>ws.html</welcome-file>
+ </welcome-file-list>
+ <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>
+ <filter>
+ <filter-name>rack</filter-name>
+ <filter-class>org.ourproject.kune.rack.RackServletFilter</filter-class>
+ <init-param>
+ <param-name>org.ourproject.kune.rack.RackModule</param-name>
+ <param-value>
+ org.ourproject.kune.app.server.KuneRackModule
+ </param-value>
+ </init-param>
+ </filter>
+ <filter-mapping>
+ <filter-name>rack</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <servlet>
+ <servlet-name>Proxy</servlet-name>
+ <servlet-class>de.spieleck.servlets.ProxyServlet</servlet-class>
+ <init-param>
+ <param-name>remotePath</param-name>
+ <param-value>/http-bind/</param-value>
+ </init-param>
+ <init-param>
+ <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>Proxy</servlet-name>
+ <url-pattern>/http-bind/</url-pattern>
+ </servlet-mapping>
+</web-app>
\ No newline at end of file
Deleted: trunk/war/WEB-INF/localhost.cer
===================================================================
--- trunk/war/WEB-INF/localhost.cer 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/war/WEB-INF/localhost.cer 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIC7zCCAligAwIBAgIJAP5zJqYmGz7vMA0GCSqGSIb3DQEBBQUAMFkxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
-aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0wOTA4MDUxMDI2
-MDBaFw0xMDA4MDUxMDI2MDBaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21l
-LVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV
-BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0mHausYX
-KTlrz/fdhYA/63L8PZFwjtqCEdUh+5BFSqFlE34uhwmoIFzZat5z80tAQGjyp1EL
-Ai2BegqCOHWaeOKNnwSm93a31fMy6N4rygUgs2rCjVtz6yqMCBd7c9KENifMTWY0
-agIz6C4Pk+YLnkx7rrDGyW5/jaIKNrjFioUCAwEAAaOBvjCBuzAdBgNVHQ4EFgQU
-Aob17ojAhUn47dxkKOogj+NWtxUwgYsGA1UdIwSBgzCBgIAUAob17ojAhUn47dxk
-KOogj+NWtxWhXaRbMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl
-MSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxv
-Y2FsaG9zdIIJAP5zJqYmGz7vMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
-gYEANGKOujn47HIf0rYEq0Z8mnzfUet+7AtzGjueLymKSRI9PGSdgtJd/C7lQEsD
-bqzIb4gu8NDE5wJjcEOikrQ6jawK/ws6s/H+BCKtrefCmbaNsv3hmC4uaQfmCkiE
-U3gN9MsqSncdzBX/5kXZn7gzS0j/KVukDOykjLAAsbp4Ad4=
------END CERTIFICATE-----
Deleted: trunk/war/WEB-INF/localhost.key
===================================================================
--- trunk/war/WEB-INF/localhost.key 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/war/WEB-INF/localhost.key 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,16 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANJh2rrGFyk5a8/3
-3YWAP+ty/D2RcI7aghHVIfuQRUqhZRN+LocJqCBc2Wrec/NLQEBo8qdRCwItgXoK
-gjh1mnjijZ8Epvd2t9XzMujeK8oFILNqwo1bc+sqjAgXe3PShDYnzE1mNGoCM+gu
-D5PmC55Me66wxsluf42iCja4xYqFAgMBAAECgYEAuJ/JXQlEABh1JbAGxgaTkaN5
-+unslmDpro6U4Pht5p2WXzHn0PfHhIcXAfMwXD0YqK2w7OZxO7sFmj0opDWIlZ9t
-H5ruSlV1YOEmuReeGqWJRNKEVnr6BXUFtEmTRZxF2XrxGEci71afH7EziC+uNYKm
-53XPKvg4/qeHE+Ig+w0CQQD2GdwkHIRKvn2KyNrI0ag4uuX7tWDk2avkRpwnjRBk
-E+Z7GYiXpwGZrJktJ2lbsc3r4pU6yEPmtdLah9DJrW93AkEA2tgxWtdwyFlosBj/
-h/Eq+VCVCLR+OtbDaD8IZ0cijHtnllL99XRivnOrLUeTQfWxaUM7Qoky3tk6p5Pw
-Oxbs4wJBAIM/93Aq5UMXpMzHoidH6XeX9d/wM+TZUhtErTNKwFsfYeR1EawPnYLf
-0jGKu13zzebnyL64373DatixZmCo5rECQFRNgAW8hGfJeXiMyLL3hlRwZFjsHsxP
-uwrHbVdLodV4HFleMxKA+SDgsgpJTkLUgLlJ+uQQshYCnIO9i4dXt30CQBsJJ+pD
-9DjZXSRvklLZBqpFnFMIi+jW12GQrpNb7HO16pZNdy+Ljc0b/YZL+6nAYjbwg30c
-4X+49VVcDxiJMws=
------END PRIVATE KEY-----
Deleted: trunk/war/WEB-INF/web.xml
===================================================================
--- trunk/war/WEB-INF/web.xml 2010-12-19 23:32:38 UTC (rev 1172)
+++ trunk/war/WEB-INF/web.xml 2010-12-20 02:20:51 UTC (rev 1173)
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <!-- 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
- file. -->
- <display-name>ws</display-name>
- <description>kune workspace</description>
- <!-- Default page to serve -->
- <welcome-file-list>
- <welcome-file>ws.html</welcome-file>
- </welcome-file-list>
- <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>
- <filter>
- <filter-name>rack</filter-name>
- <filter-class>org.ourproject.kune.rack.RackServletFilter</filter-class>
- <init-param>
- <param-name>org.ourproject.kune.rack.RackModule</param-name>
- <param-value>
- org.ourproject.kune.app.server.KuneRackModule
- </param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>rack</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <servlet>
- <servlet-name>Proxy</servlet-name>
- <servlet-class>de.spieleck.servlets.ProxyServlet</servlet-class>
- <init-param>
- <param-name>remotePath</param-name>
- <param-value>/http-bind/</param-value>
- </init-param>
- <init-param>
- <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>Proxy</servlet-name>
- <url-pattern>/http-bind/</url-pattern>
- </servlet-mapping>
-</web-app>
\ No newline at end of file
1
0
Author: vjrj_
Date: 2010-12-20 00:32:38 +0100 (Mon, 20 Dec 2010)
New Revision: 1172
Added:
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/client/
trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java
trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java
trunk/src/main/java/cc/kune/core/public/images/kune-anim.gif
trunk/src/main/java/cc/kune/domain/utils/ParticipationData.java
trunk/src/main/java/cc/kune/domain/utils/UserBuddiesData.java
trunk/src/main/java/cc/kune/public/
Removed:
trunk/src/main/java/com/
trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java
trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java
Modified:
trunk/
trunk/pom.xml
trunk/src/main/java/cc/kune/core/Core.gwt.xml
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
trunk/src/main/java/cc/kune/core/client/state/StateManager.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java
trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.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/domain/utils/SocialNetworkData.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java
trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java
trunk/src/main/resources/dozerBeanMapping.xml
trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java
trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java
Log:
NEW - # 9: Roo partial use/integration
http://kune.ourproject.org/issues/ticket/9
Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
- pmd-eclipse.log
.pmd
www-test
screenlog.0
bin
client
public
target
Main-compile
bin
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
.classpath
gwt-out
synccss.sh
.externalToolBuilders
.project
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle
.classpath-bien
pom.xml.*
+ pmd-eclipse.log
.pmd
www-test
screenlog.0
bin
client
public
target
Main-compile
bin
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
.classpath
gwt-out
synccss.sh
.externalToolBuilders
.project
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle
.classpath-bien
pom.xml.*
.gwt
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/pom.xml 2010-12-19 23:32:38 UTC (rev 1172)
@@ -344,7 +344,7 @@
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>kune-wave-server</artifactId>
- <version>0.0.2.2</version>
+ <version>0.0.3.1</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
Added: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2010-12-19 23:32:38 UTC (rev 1172)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/…">
+<module rename-to="ws">
+ <inherits name="com.google.gwt.user.User" />
+ <inherits name='com.google.gwt.logging.Logging' />
+ <inherits name="cc.kune.core.Core" />
+ <source path='client' excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java"/>
+ <!-- <source path='shared'/> -->
+ <!-- <public path="public"/> -->
+
+ <!-- Logging Configuration -->
+ <set-property name="gwt.logging.enabled" value="TRUE" />
+ <set-property name="gwt.logging.logLevel" value="INFO" />
+ <set-property name="gwt.logging.consoleHandler" value="ENABLED" />
+ <set-property name="gwt.logging.developmentModeHandler"
+ value="ENABLED" />
+ <set-property name="gwt.logging.firebugHandler" value="ENABLED" />
+ <set-property name="gwt.logging.hasWidgetsHandler" value="DISABLED" />
+ <set-property name="gwt.logging.popupHandler" value="DISABLED" />
+ <set-property name="gwt.logging.systemHandler" value="ENABLED" />
+ <set-property name="gwt.logging.simpleRemoteHandler"
+ value="DISABLED" />
+
+ <!-- Uncomment if you are enabling server side deobfuscation of StackTraces
+ <set-property name="compiler.emulatedStack" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordLineNumbers" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordFileNames" value="true" /> -->
+
+ <!-- NOTE: this only compiles for chromium/safari ============= -->
+ <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+ <!-- <set-property name="user.agent" value="gecko1_8" /> -->
+ <set-property name="user.agent" value="safari,gecko1_8" />
+</module>
Property changes on: trunk/src/main/java/cc/kune/Kune.gwt.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/Core.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/Core.gwt.xml 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/Core.gwt.xml 2010-12-19 23:32:38 UTC (rev 1172)
@@ -26,8 +26,4 @@
<stylesheet src="fontface/stylesheet.css" />
<!-- Entrypoint =============================================== -->
<entry-point class="cc.kune.core.client.KuneEntryPoint" />
- <!-- NOTE: this only compiles for chromium/safari ============= -->
- <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
- <!-- <set-property name="user.agent" value="gecko1_8" /> -->
- <set-property name="user.agent" value="safari" />
</module>
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -72,6 +72,7 @@
bind(Session.class).to(SessionDefault.class).in(Singleton.class);
bind(I18nTranslationService.class).to(I18nUITranslationService.class).in(Singleton.class);
bind(ErrorHandler.class).in(Singleton.class);
+ bind(StateManagerDefault.class).in(Singleton.class);
bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
bind(HistoryWrapper.class).to(HistoryWrapperDefault.class).in(Singleton.class);
Modified: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -35,6 +35,7 @@
import com.google.gwt.user.client.Window.ClosingEvent;
import com.google.gwt.user.client.Window.ClosingHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.RootPanel;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.EventBus;
@@ -79,8 +80,14 @@
eventBus.fireEvent(new ProgressHideEvent());
eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, "Error fetching initial data"));
Log.debug(error.getMessage());
+ hideInitialPanels();
}
+ private void hideInitialPanels() {
+ RootPanel.get("kuneinitialcurtain").setVisible(false);
+ RootPanel.get("kuneloading").setVisible(false);
+ }
+
@Override
public void onSuccess(final InitDataDTO initData) {
session.setInitData(initData);
@@ -89,6 +96,7 @@
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
+ hideInitialPanels();
eventBus.fireEvent(new ProgressHideEvent());
}
});
Modified: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -9,6 +9,7 @@
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.InlineLabel;
+import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.EventBus;
@@ -17,11 +18,17 @@
public class SpinerViewImpl extends PopupViewWithUiHandlers<UiHandlers> implements SpinerView {
+ private final PopupPanel popup;
+
@Inject
protected SpinerViewImpl(EventBus eventBus, WsArmor armor) {
super(eventBus);
widget = uiBinder.createAndBindUi(this);
- armor.getSitebar().add(widget);
+ popup = new PopupPanel(false, false);
+ popup.add(widget);
+ popup.setPopupPosition(7, 0);
+ popup.setStyleName("k-spiner-popup");
+ popup.show();
}
private static SpinerViewImplUiBinder uiBinder = GWT.create(SpinerViewImplUiBinder.class);
@@ -39,12 +46,12 @@
@Override
public Widget asWidget() {
- return widget;
+ return popup;
}
@Override
public void fade() {
- panel.setVisible(false);
+ popup.hide();
}
@Override
@@ -54,6 +61,6 @@
} else {
label.setText(message);
}
- panel.setVisible(true);
+ popup.show();
}
}
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -46,6 +46,7 @@
import com.google.gwt.core.client.GWT;
import com.google.inject.Inject;
import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.EventBus;
public class SessionDefault implements Session {
private String userHash;
@@ -60,9 +61,12 @@
private final Event<UserInfoDTO> onUserSignIn;
private final Event0 onUserSignOut;
private final Provider<UserServiceAsync> userServiceProvider;
+ private final EventBus eventBus;
@Inject
- public SessionDefault(final CookiesManager cookieManager, final Provider<UserServiceAsync> userServiceProvider) {
+ public SessionDefault(final CookiesManager cookieManager, final Provider<UserServiceAsync> userServiceProvider,
+ EventBus eventBus) {
+ this.eventBus = eventBus;
this.userHash = cookieManager.getCurrentCookie();
this.userHash = userHash == null || userHash.equals("null") ? null : userHash;
this.userServiceProvider = userServiceProvider;
@@ -288,8 +292,10 @@
public void setCurrentUserInfo(final UserInfoDTO currentUserInfo) {
this.currentUserInfo = currentUserInfo;
if (currentUserInfo != null) {
+ eventBus.fireEvent(new UserSignInEvent(currentUserInfo));
onUserSignIn.fire(currentUserInfo);
} else {
+ eventBus.fireEvent(new UserSignOutEvent());
onUserSignOut.fire();
}
}
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.client.state;
-
import cc.kune.core.client.actions.BeforeActionListener;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.SocialNetworkDataDTO;
@@ -33,18 +32,23 @@
void addBeforeStateChangeListener(BeforeActionListener listener);
+ @Deprecated
void addSiteToken(String token, Listener0 whenToken);
void gotoToken(StateToken newToken);
void gotoToken(String newToken);
+ @Deprecated
void onGroupChanged(Listener2<String, String> listener);
+ @Deprecated
void onSocialNetworkChanged(Listener<StateAbstractDTO> listener);
+ @Deprecated
void onStateChanged(Listener<StateAbstractDTO> listener);
+ @Deprecated
void onToolChanged(Listener2<String, String> listener);
void reload();
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -38,9 +38,9 @@
import com.calclab.suco.client.events.Listener2;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
-import com.google.gwt.user.client.History;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
private final ContentProvider contentProvider;
@@ -64,8 +64,6 @@
public StateManagerDefault(final ContentProvider contentProvider, final Session session,
final HistoryWrapper history, final EventBus eventBus) {
this.eventBus = eventBus;
- // Put this outside here
- History.addValueChangeHandler(this);
this.contentProvider = contentProvider;
this.session = session;
this.history = history;
@@ -75,27 +73,25 @@
this.onGroupChanged = new Event2<String, String>("onGroupChanged");
this.onToolChanged = new Event2<String, String>("onToolChanged");
this.onSocialNetworkChanged = new Event<StateAbstractDTO>("onSocialNetworkChanged");
- session.onUserSignIn(new Listener<UserInfoDTO>() {
- @Override
- public void onEvent(final UserInfoDTO parameter) {
- if (previousToken == null) {
- // starting up
- reload();
- } else {
- // do nothing, SigInPresent calls goto;
- }
- }
- });
- session.onUserSignOut(new Listener0() {
- @Override
- public void onEvent() {
- reload();
- }
- });
siteTokens = new HashMap<String, Listener0>();
beforeStateChangeCollection = new BeforeActionCollection();
}
+ @ProxyEvent
+ public void onUserSignOut() {
+ reload();
+ }
+
+ @ProxyEvent
+ public void onUserSignIn(UserInfoDTO userInfo) {
+ if (previousToken == null) {
+ // starting up
+ reload();
+ } else {
+ // do nothing, SigInPresent calls goto;
+ }
+ }
+
@Override
public void addBeforeStateChangeListener(final BeforeActionListener listener) {
beforeStateChangeCollection.add(listener);
Added: trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -0,0 +1,12 @@
+package cc.kune.core.client.state;
+
+import cc.kune.core.shared.dto.UserInfoDTO;
+
+import com.gwtplatform.annotation.GenEvent;
+import com.gwtplatform.annotation.Order;
+
+@GenEvent
+public class UserSignIn {
+ @Order(1)
+ UserInfoDTO userInfo;
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/state/UserSignIn.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -0,0 +1,8 @@
+package cc.kune.core.client.state;
+
+import com.gwtplatform.annotation.GenEvent;
+
+@GenEvent
+public class UserSignOut {
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/state/UserSignOut.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/ws/CorePlaceManager.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -15,6 +15,6 @@
@Override
public void revealDefaultPlace() {
- revealPlace(new PlaceRequest("home"));
+ revealPlace(new PlaceRequest(""));
}
}
Modified: trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -23,7 +23,7 @@
private final AppStarter appStarter;
@ProxyCodeSplit
- @NameToken("home")
+ @NameToken("")
public interface CoreProxy extends ProxyPlace<CorePresenter> {
}
@@ -45,15 +45,7 @@
@Override
protected void revealInParent() {
- RevealRootLayoutContentEvent.fire(getEventBus(), this);
- // getEventBus().fireEvent(new ProgressShowEvent("Something"));
- // Timer timer = new Timer() {
- // @Override
- // public void run() {
- // getEventBus().fireEvent(new ProgressHideEvent());
- // }
- // };
- // // timer.schedule(4);
+ RevealRootLayoutContentEvent.fire(this, this);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -1,10 +1,12 @@
package cc.kune.core.client.ws;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.state.StateManagerDefault;
import cc.kune.core.ws.armor.client.WsArmorImpl;
import cc.kune.core.ws.armor.client.resources.WsArmorResources;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
@@ -24,12 +26,13 @@
* the body
*/
@Inject
- public CoreViewImpl(final WsArmorImpl armor) {
+ public CoreViewImpl(final WsArmorImpl armor, StateManagerDefault stateManager) {
this.armor = armor;
GWT.<CoreResources> create(CoreResources.class).css().ensureInjected();
GWT.<WsArmorResources> create(WsArmorResources.class).style().ensureInjected();
armor.getEntityHeader().add(new InlineLabel("Test - a, e, i, o, u"));
armor.getDocHeader().add(new InlineLabel("doc title"));
+ History.addValueChangeHandler(stateManager);
}
@Override
Added: trunk/src/main/java/cc/kune/core/public/images/kune-anim.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/kune-anim.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2010-12-19 23:32:38 UTC (rev 1172)
@@ -337,17 +337,17 @@
.kLoadingPanel {
background-color: #feb295;
-webkit-border-bottom-left-radius: 4px;
- -moz-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
- -moz-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -moz-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -moz-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
+/* -webkit-border-top-right-radius: 4px;*/
+/* -moz-border-radius-topright: 4px;*/
+/* border-top-right-radius: 4px;*/
+/* -webkit-border-top-left-radius: 4px;*/
+/* -moz-border-radius-topleft: 4px;*/
+/* border-top-left-radius: 4px;*/
padding: 0 10px 0 7px;
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2010-12-19 23:32:38 UTC (rev 1172)
@@ -8,9 +8,60 @@
</head>
<!-- FIXME: make something local -->
<!--<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>-->
-<link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
+<link href='http://fonts.googleapis.com/css?family=Inconsolata'
+ rel='stylesheet' type='text/css'>
+<style type="text/css">
+#kuneinitialcurtain {
+ position: absolute;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+ background-color: #F7EBE3;
+ z-index: 9999;
+}
+
+#kuneloading {
+ position: absolute;
+ left: 45%;
+ top: 40%; <!--
+ padding: 0px; -->
+ z-index: 20001;
+ height: auto;
+ border: solid 2px #ccc;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ background: white;
+}
+
+#kuneloading a {
+ color: #225588;
+}
+
+#kuneloading .kuneloading-indicator {
+ color: #444;
+ font: bold 13px tahoma, arial, helvetica;
+ padding: 5px 5px 10px 5px;
+ margin: 0;
+ height: auto;
+}
+
+#kuneloading-msg {
+ font: normal 10px arial, tahoma, sans-serif;
+}
+</style>
+
<body>
<iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
<iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
+<div id="kuneinitialcurtain"></div>
+<div id="kuneloading">
+<div class="kuneloading-indicator"><img src="images/kune-anim.gif"
+ width="35" height="35" alt="kune-loading"
+ style="margin-right: 3px; float: left; vertical-align: top;" />kune <br />
+<span id="kuneloading-msg">Starting...</span></div>
+</div>
+
</body>
-</html>
\ No newline at end of file
+</html>
Copied: trunk/src/main/java/cc/kune/domain/utils/ParticipationData.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java)
===================================================================
--- trunk/src/main/java/cc/kune/domain/utils/ParticipationData.java (rev 0)
+++ trunk/src/main/java/cc/kune/domain/utils/ParticipationData.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -0,0 +1,55 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.utils;
+
+import java.util.List;
+
+import cc.kune.domain.Group;
+
+public class ParticipationData {
+ private List<Group> groupsIsAdmin;
+ private List<Group> groupsIsCollab;
+
+ public ParticipationData() {
+ this(null, null);
+ }
+
+ public ParticipationData(final List<Group> groupsIsAdmin, final List<Group> groupsIsCollab) {
+ this.groupsIsAdmin = groupsIsAdmin;
+ this.groupsIsCollab = groupsIsCollab;
+ }
+
+ public List<Group> getGroupsIsAdmin() {
+ return groupsIsAdmin;
+ }
+
+ public List<Group> getGroupsIsCollab() {
+ return groupsIsCollab;
+ }
+
+ public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) {
+ this.groupsIsAdmin = groupsIsAdmin;
+ }
+
+ public void setGroupsIsCollab(final List<Group> groupsIsCollab) {
+ this.groupsIsCollab = groupsIsCollab;
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/domain/utils/ParticipationData.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/src/main/java/cc/kune/domain/utils/SocialNetworkData.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/utils/SocialNetworkData.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/cc/kune/domain/utils/SocialNetworkData.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -19,10 +19,6 @@
*/
package cc.kune.domain.utils;
-
-import org.ourproject.kune.platf.server.sn.ParticipationData;
-import org.ourproject.kune.platf.server.sn.UserBuddiesData;
-
import cc.kune.core.shared.domain.SocialNetworkVisibility;
import cc.kune.core.shared.domain.UserBuddiesVisibility;
import cc.kune.core.shared.domain.utils.AccessRights;
Copied: trunk/src/main/java/cc/kune/domain/utils/UserBuddiesData.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java)
===================================================================
--- trunk/src/main/java/cc/kune/domain/utils/UserBuddiesData.java (rev 0)
+++ trunk/src/main/java/cc/kune/domain/utils/UserBuddiesData.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -0,0 +1,68 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.domain.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.User;
+
+public class UserBuddiesData {
+
+ public static final UserBuddiesData EMPTY = new UserBuddiesData();
+
+ private List<User> buddies;
+ private int otherExtBuddies;
+
+ public UserBuddiesData() {
+ otherExtBuddies = 0;
+ buddies = new ArrayList<User>();
+ }
+
+ public boolean contains(final String shortName) {
+ for (User buddie : buddies) {
+ if (buddie.getShortName().equals(shortName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public List<User> getBuddies() {
+ return buddies;
+ }
+
+ public int getOtherExtBuddies() {
+ return otherExtBuddies;
+ }
+
+ public void setBuddies(final List<User> buddies) {
+ this.buddies = buddies;
+ }
+
+ public void setOtherExtBuddies(final int otherExtBuddies) {
+ this.otherExtBuddies = otherExtBuddies;
+ }
+
+ @Override
+ public String toString() {
+ return "UserBuddiesData[ext: " + otherExtBuddies + " / int: " + buddies + "]";
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -20,7 +20,6 @@
package org.ourproject.kune.platf.server.manager;
-import org.ourproject.kune.platf.server.sn.ParticipationData;
import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.client.errors.DefaultException;
@@ -28,6 +27,7 @@
import cc.kune.domain.Group;
import cc.kune.domain.SocialNetwork;
import cc.kune.domain.User;
+import cc.kune.domain.utils.ParticipationData;
import cc.kune.domain.utils.SocialNetworkData;
public interface SocialNetworkManager extends Manager<SocialNetwork, Long> {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -20,10 +20,10 @@
package org.ourproject.kune.platf.server.manager;
import org.ourproject.kune.platf.server.manager.impl.SearchResult;
-import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import cc.kune.core.client.errors.I18nNotFoundException;
import cc.kune.domain.User;
+import cc.kune.domain.utils.UserBuddiesData;
public interface UserManager {
/**
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -27,8 +27,6 @@
import org.ourproject.kune.platf.server.access.AccessRightsService;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
import org.ourproject.kune.platf.server.manager.UserManager;
-import org.ourproject.kune.platf.server.sn.ParticipationData;
-import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.client.errors.AlreadyGroupMemberException;
@@ -46,7 +44,9 @@
import cc.kune.domain.Group;
import cc.kune.domain.SocialNetwork;
import cc.kune.domain.User;
+import cc.kune.domain.utils.ParticipationData;
import cc.kune.domain.utils.SocialNetworkData;
+import cc.kune.domain.utils.UserBuddiesData;
import com.google.inject.Inject;
import com.google.inject.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -40,7 +40,6 @@
import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
import org.ourproject.kune.platf.server.manager.UserManager;
import org.ourproject.kune.platf.server.properties.ChatProperties;
-import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import cc.kune.core.client.errors.I18nNotFoundException;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -49,6 +48,7 @@
import cc.kune.domain.Properties;
import cc.kune.domain.PropertyGroup;
import cc.kune.domain.User;
+import cc.kune.domain.utils.UserBuddiesData;
import com.google.inject.Inject;
import com.google.inject.Provider;
Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -1,55 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.server.sn;
-
-import java.util.List;
-
-import cc.kune.domain.Group;
-
-public class ParticipationData {
- private List<Group> groupsIsAdmin;
- private List<Group> groupsIsCollab;
-
- public ParticipationData() {
- this(null, null);
- }
-
- public ParticipationData(final List<Group> groupsIsAdmin, final List<Group> groupsIsCollab) {
- this.groupsIsAdmin = groupsIsAdmin;
- this.groupsIsCollab = groupsIsCollab;
- }
-
- public List<Group> getGroupsIsAdmin() {
- return groupsIsAdmin;
- }
-
- public List<Group> getGroupsIsCollab() {
- return groupsIsCollab;
- }
-
- public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) {
- this.groupsIsAdmin = groupsIsAdmin;
- }
-
- public void setGroupsIsCollab(final List<Group> groupsIsCollab) {
- this.groupsIsCollab = groupsIsCollab;
- }
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -1,68 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.platf.server.sn;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import cc.kune.domain.User;
-
-public class UserBuddiesData {
-
- public static final UserBuddiesData EMPTY = new UserBuddiesData();
-
- private List<User> buddies;
- private int otherExtBuddies;
-
- public UserBuddiesData() {
- otherExtBuddies = 0;
- buddies = new ArrayList<User>();
- }
-
- public boolean contains(final String shortName) {
- for (User buddie : buddies) {
- if (buddie.getShortName().equals(shortName)) {
- return true;
- }
- }
- return false;
- }
-
- public List<User> getBuddies() {
- return buddies;
- }
-
- public int getOtherExtBuddies() {
- return otherExtBuddies;
- }
-
- public void setBuddies(final List<User> buddies) {
- this.buddies = buddies;
- }
-
- public void setOtherExtBuddies(final int otherExtBuddies) {
- this.otherExtBuddies = otherExtBuddies;
- }
-
- @Override
- public String toString() {
- return "UserBuddiesData[ext: " + otherExtBuddies + " / int: " + buddies + "]";
- }
-}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -21,15 +21,15 @@
import java.util.List;
-import org.ourproject.kune.platf.server.sn.ParticipationData;
-import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.domain.Group;
import cc.kune.domain.SocialNetwork;
+import cc.kune.domain.utils.ParticipationData;
import cc.kune.domain.utils.SocialNetworkData;
+import cc.kune.domain.utils.UserBuddiesData;
public abstract class StateAbstract {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -21,12 +21,12 @@
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
-import org.ourproject.kune.platf.server.sn.ParticipationData;
import cc.kune.core.client.errors.DefaultException;
import cc.kune.domain.Content;
import cc.kune.domain.Group;
import cc.kune.domain.User;
+import cc.kune.domain.utils.ParticipationData;
import com.google.inject.Inject;
import com.google.inject.Singleton;
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2010-12-19 23:32:38 UTC (rev 1172)
@@ -182,7 +182,7 @@
</mapping>
<mapping>
<class-a> cc.kune.core.shared.dto.ParticipationDataDTO </class-a>
- <class-b> org.ourproject.kune.platf.server.sn.ParticipationData </class-b>
+ <class-b> cc.kune.domain.utils.ParticipationData </class-b>
</mapping>
<mapping>
<class-a> cc.kune.core.shared.dto.I18nLanguageDTO </class-a>
@@ -254,7 +254,7 @@
</mapping>
<mapping>
<class-a> cc.kune.core.shared.dto.UserBuddiesDataDTO </class-a>
- <class-b> org.ourproject.kune.platf.server.sn.UserBuddiesData </class-b>
+ <class-b> cc.kune.domain.utils.UserBuddiesData </class-b>
</mapping>
<mapping>
<class-a> cc.kune.core.shared.dto.SocialNetworkDataDTO </class-a>
Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -8,7 +8,6 @@
import org.junit.Before;
import org.junit.Test;
import org.ourproject.kune.platf.server.PersistenceTest;
-import org.ourproject.kune.platf.server.sn.ParticipationData;
import org.ourproject.kune.testhelper.ctx.DomainContext;
import cc.kune.core.client.errors.AccessViolationException;
@@ -20,6 +19,7 @@
import cc.kune.core.shared.dto.SocialNetworkRequestResult;
import cc.kune.domain.Group;
import cc.kune.domain.User;
+import cc.kune.domain.utils.ParticipationData;
import com.google.inject.Inject;
import com.wideplay.warp.persist.Transactional;
Modified: trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2010-12-19 03:01:32 UTC (rev 1171)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2010-12-19 23:32:38 UTC (rev 1172)
@@ -10,8 +10,6 @@
import org.ourproject.kune.platf.server.TestDomainHelper;
import org.ourproject.kune.platf.server.TestHelper;
import org.ourproject.kune.platf.server.manager.GroupManager;
-import org.ourproject.kune.platf.server.sn.ParticipationData;
-import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import org.ourproject.kune.platf.server.state.StateContent;
import cc.kune.core.shared.domain.GroupListMode;
@@ -39,7 +37,9 @@
import cc.kune.domain.Revision;
import cc.kune.domain.SocialNetwork;
import cc.kune.domain.User;
+import cc.kune.domain.utils.ParticipationData;
import cc.kune.domain.utils.SocialNetworkData;
+import cc.kune.domain.utils.UserBuddiesData;
import com.google.inject.Inject;
1
0
r1171 - in kune-ws-armor/trunk: . src/cc/kune/core/ws/armor src/cc/kune/core/ws/armor/client src/cc/kune/core/ws/armor/client/resources
by Vicente J. Ruiz Jurado 19 Dec '10
by Vicente J. Ruiz Jurado 19 Dec '10
19 Dec '10
Author: vjrj_
Date: 2010-12-19 04:01:32 +0100 (Sun, 19 Dec 2010)
New Revision: 1171
Added:
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorEntryPoint.java
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.java
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.ui.xml
Removed:
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.java
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.ui.xml
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/IBody.java
Modified:
kune-ws-armor/trunk/pom.xml
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/WsArmor.gwt.xml
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmor.java
kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/resources/WsArmorResources.java
Log:
Minor refacts
Modified: kune-ws-armor/trunk/pom.xml
===================================================================
--- kune-ws-armor/trunk/pom.xml 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/pom.xml 2010-12-19 03:01:32 UTC (rev 1171)
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>kune-ws-armor</groupId>
<artifactId>kune-ws-armor</artifactId>
- <version>0.0.5</version>
+ <version>0.0.8</version>
<name>Kune Armor Main Layout</name>
<description>The current armor of Kune Workspace</description>
<properties>
Modified: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/WsArmor.gwt.xml
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/WsArmor.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/WsArmor.gwt.xml 2010-12-19 03:01:32 UTC (rev 1171)
@@ -1,12 +1,13 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
- <inherits name="com.google.gwt.user.User" />
- <inherits name="com.google.gwt.user.theme.standard.Standard" />
- <entry-point class="cc.kune.core.ws.armor.client.WsArmor" />
- <public path="public" />
- <source path="client" />
- <!-- NOTE: this only compiles for chromium/safari ============= -->
- <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
- <!-- <set-property name="user.agent" value="gecko1_8" /> -->
- <set-property name="user.agent" value="safari" />
+ <inherits name="com.google.gwt.user.User" />
+ <inherits name="com.google.gwt.user.theme.standard.Standard" />
+ <!-- <entry-point class="cc.kune.core.ws.armor.client.WsArmorEntryPoint"
+ /> -->
+ <public path="public" />
+ <source path="client" />
+ <!-- NOTE: this only compiles for chromium/safari ============= -->
+ <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+ <!-- <set-property name="user.agent" value="gecko1_8" /> -->
+ <set-property name="user.agent" value="safari" />
</module>
\ No newline at end of file
Deleted: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.java
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.java 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.java 2010-12-19 03:01:32 UTC (rev 1171)
@@ -1,99 +0,0 @@
-package cc.kune.core.ws.armor.client;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
-import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.HasWidgets;
-import com.google.gwt.user.client.ui.SplitLayoutPanel;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class Body extends Composite implements IBody {
-
- interface BodyUiBinder extends UiBinder<Widget, Body> {
- }
-
- private static BodyUiBinder uiBinder = GWT.create(BodyUiBinder.class);
-
- @UiField
- DockLayoutPanel mainpanel;
- @UiField
- FlowPanel sitebar;
- @UiField
- SplitLayoutPanel split;
- @UiField
- DockLayoutPanel splitCenter;
- @UiField
- DockLayoutPanel splitEast;
- @UiField
- VerticalPanel entityToolsSouth;
- @UiField
- VerticalPanel entityToolsNorth;
- @UiField
- VerticalPanel entityToolsCenter;
- @UiField
- FlowPanel entityHeader;
- @UiField
- FlowPanel entityFooter;
- @UiField
- FlowPanel docHeader;
- @UiField
- FlowPanel docSubheader;
- @UiField
- FlowPanel docFooter;
-
- public Body() {
- initWidget(uiBinder.createAndBindUi(this));
- split.setWidgetMinSize(splitEast, 150);
- // split.setWidgetMinSize(splitCenter, 200);
- }
-
- @Override
- public HasWidgets getDocFooter() {
- return docFooter;
- }
-
- @Override
- public HasWidgets getDocHeader() {
- return docHeader;
- }
-
- @Override
- public HasWidgets getDocSubheader() {
- return docSubheader;
- }
-
- @Override
- public HasWidgets getEntityFooter() {
- return entityFooter;
- }
-
- @Override
- public HasWidgets getEntityHeader() {
- return entityHeader;
- }
-
- @Override
- public HasWidgets getEntityToolsCenter() {
- return entityToolsCenter;
- }
-
- @Override
- public HasWidgets getEntityToolsNorth() {
- return entityToolsNorth;
- }
-
- @Override
- public HasWidgets getEntityToolsSouth() {
- return entityToolsSouth;
- }
-
- @Override
- public HasWidgets getSitebar() {
- return sitebar;
- }
-
-}
Deleted: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.ui.xml
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.ui.xml 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.ui.xml 2010-12-19 03:01:32 UTC (rev 1171)
@@ -1,86 +0,0 @@
-<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
- xmlns:g="urn:import:com.google.gwt.user.client.ui">
- <ui:with field='res'
- type='cc.kune.core.ws.armor.client.resources.WsArmorResources' />
- <g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
- unit="PX">
- <g:north size="20">
- <g:FlowPanel ui:field="sitebar" height="20px"
- styleName='{res.style.siteBar}'>
- </g:FlowPanel>
- </g:north>
- <g:center>
- <g:SplitLayoutPanel width="100%" height="100%"
- ui:field="split">
- <g:center size="1.0">
- <g:DockLayoutPanel unit="PX" ui:field="splitCenter">
- <g:north size="168">
- <g:VerticalPanel width="100%" height="168px">
- <g:FlowPanel height="70px" width="100%"
- styleName="{res.style.entityHeader}" ui:field="entityHeader">
- <!--<g:RichTextArea width="100%" height="70px" /> -->
- </g:FlowPanel>
- <g:FlowPanel width="100%" height="38px"
- styleName="{res.style.docHeader}" ui:field="docHeader">
- </g:FlowPanel>
- <g:FlowPanel width="100%" height="60px"
- styleName="{res.style.docSubheader}" ui:field="docSubheader">
- <g:Image resource='{res.defThemeDocArrowDown}'
- styleName='{res.style.docHeaderArrow}' />
- </g:FlowPanel>
- </g:VerticalPanel>
- </g:north>
- <g:center>
- <g:DockLayoutPanel unit="PX"
- styleName="{res.style.docEditorMargin}">
- <g:west size="10">
- <g:HTMLPanel />
- </g:west>
- <g:east size="15">
- <g:HTMLPanel />
- </g:east>
- <g:center>
- <g:ScrollPanel styleName="{res.style.docEditor}">
- <g:HTML wordWrap="true" width="100%" height="100%"></g:HTML>
- </g:ScrollPanel>
- </g:center>
- <g:south size="33.0">
- <g:VerticalPanel height="33px" width="100%"
- styleName="{res.style.docFooter}">
- <g:FlowPanel width="100%" height="33"
- ui:field="docFooter">
- </g:FlowPanel>
- </g:VerticalPanel>
- </g:south>
- </g:DockLayoutPanel>
- </g:center>
- <g:south size="36">
- <g:FlowPanel height="36px" width="100%"
- styleName="{res.style.entityFooter}" ui:field="entityFooter">
- </g:FlowPanel>
- </g:south>
- </g:DockLayoutPanel>
- </g:center>
- <g:east size="200.0">
- <g:DockLayoutPanel unit="PX"
- styleName="{res.style.entityTools}" ui:field="splitEast">
- <g:north size="190">
- <g:VerticalPanel width="100%" ui:field="entityToolsNorth"
- styleName="{res.style.entityToolsNorth}"></g:VerticalPanel>
- </g:north>
- <g:center>
- <g:VerticalPanel width="100%" ui:field="entityToolsCenter"
- styleName="{res.style.entityToolsCenter}">
- </g:VerticalPanel>
- </g:center>
- <g:south size="98">
- <g:VerticalPanel width="100%"
- styleName="{res.style.entityToolsSouth}" ui:field="entityToolsSouth"></g:VerticalPanel>
- </g:south>
- </g:DockLayoutPanel>
- </g:east>
- </g:SplitLayoutPanel>
- </g:center>
- </g:DockLayoutPanel>
-</ui:UiBinder>
\ No newline at end of file
Deleted: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/IBody.java
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/IBody.java 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/IBody.java 2010-12-19 03:01:32 UTC (rev 1171)
@@ -1,24 +0,0 @@
-package cc.kune.core.ws.armor.client;
-
-import com.google.gwt.user.client.ui.HasWidgets;
-
-public interface IBody {
-
- HasWidgets getDocFooter();
-
- HasWidgets getDocHeader();
-
- HasWidgets getDocSubheader();
-
- HasWidgets getEntityFooter();
-
- HasWidgets getEntityHeader();
-
- HasWidgets getEntityToolsCenter();
-
- HasWidgets getEntityToolsNorth();
-
- HasWidgets getEntityToolsSouth();
-
- HasWidgets getSitebar();
-}
\ No newline at end of file
Modified: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmor.java
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmor.java 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmor.java 2010-12-19 03:01:32 UTC (rev 1171)
@@ -1,43 +1,25 @@
package cc.kune.core.ws.armor.client;
+import com.google.gwt.user.client.ui.HasWidgets;
-import cc.kune.core.ws.armor.client.resources.WsArmorResources;
+public interface WsArmor {
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.user.client.ui.InlineLabel;
-import com.google.gwt.user.client.ui.RootLayoutPanel;
+ HasWidgets getDocFooter();
-/**
- * Entry point classes define <code>onModuleLoad()</code>.
- */
-public class WsArmor implements EntryPoint {
- public void onModuleLoad() {
- final WsArmorResources resources = WsArmorResources.INSTANCE;
- resources.style().ensureInjected();
+ HasWidgets getDocHeader();
- final RootLayoutPanel rootPanel = RootLayoutPanel.get();
- final Body armor = new Body();
- final InlineLabel icons = new InlineLabel("Icons");
- final InlineLabel login = new InlineLabel("Login");
- final InlineLabel logo = new InlineLabel("Logo");
- icons.setStyleName(resources.style().floatLeft());
- login.setStyleName(resources.style().floatRight());
- logo.setStyleName(resources.style().floatRight());
- armor.getSitebar().add(icons);
- armor.getSitebar().add(logo);
- armor.getSitebar().add(login);
- armor.getEntityToolsNorth().add(new InlineLabel("Group members"));
- armor.getEntityToolsCenter().add(new InlineLabel("Documents"));
- armor.getEntityToolsSouth().add(new InlineLabel("Group tags"));
- armor.getEntityHeader().add(new InlineLabel("Name of the Initiative"));
- armor.getDocHeader().add(new InlineLabel("Some doc title"));
- final InlineLabel editors = new InlineLabel("Editors:");
- editors.addStyleName(resources.style().docSubheaderLeft());
- armor.getDocSubheader().add(editors);
- armor.getDocFooter().add(new InlineLabel("Tags:"));
- armor.getEntityFooter().add(new InlineLabel("Rate it:"));
- rootPanel.add(armor);
+ HasWidgets getDocSubheader();
- }
+ HasWidgets getEntityFooter();
-}
+ HasWidgets getEntityHeader();
+
+ HasWidgets getEntityToolsCenter();
+
+ HasWidgets getEntityToolsNorth();
+
+ HasWidgets getEntityToolsSouth();
+
+ HasWidgets getSitebar();
+
+}
\ No newline at end of file
Copied: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorEntryPoint.java (from rev 1166, kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmor.java)
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorEntryPoint.java (rev 0)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorEntryPoint.java 2010-12-19 03:01:32 UTC (rev 1171)
@@ -0,0 +1,44 @@
+package cc.kune.core.ws.armor.client;
+
+import cc.kune.core.ws.armor.client.resources.WsArmorResources;
+
+import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.InlineLabel;
+import com.google.gwt.user.client.ui.RootLayoutPanel;
+
+/**
+ * Entry point classes define <code>onModuleLoad()</code>.
+ */
+public class WsArmorEntryPoint implements EntryPoint {
+ @Override
+ public void onModuleLoad() {
+ final WsArmorResources resources = GWT.create(WsArmorResources.class);
+ resources.style().ensureInjected();
+
+ final RootLayoutPanel rootPanel = RootLayoutPanel.get();
+ final WsArmorImpl armor = new WsArmorImpl();
+ final InlineLabel icons = new InlineLabel("Icons");
+ final InlineLabel login = new InlineLabel("Login");
+ final InlineLabel logo = new InlineLabel("Logo");
+ icons.setStyleName(resources.style().floatLeft());
+ login.setStyleName(resources.style().floatRight());
+ logo.setStyleName(resources.style().floatRight());
+ armor.getSitebar().add(icons);
+ armor.getSitebar().add(logo);
+ armor.getSitebar().add(login);
+ armor.getEntityToolsNorth().add(new InlineLabel("Group members"));
+ armor.getEntityToolsCenter().add(new InlineLabel("Documents"));
+ armor.getEntityToolsSouth().add(new InlineLabel("Group tags"));
+ armor.getEntityHeader().add(new InlineLabel("Name of the Initiative"));
+ armor.getDocHeader().add(new InlineLabel("Some doc title"));
+ final InlineLabel editors = new InlineLabel("Editors:");
+ editors.addStyleName(resources.style().docSubheaderLeft());
+ armor.getDocSubheader().add(editors);
+ armor.getDocFooter().add(new InlineLabel("Tags:"));
+ armor.getEntityFooter().add(new InlineLabel("Rate it:"));
+ rootPanel.add(armor);
+
+ }
+
+}
Copied: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.java (from rev 1166, kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.java)
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.java (rev 0)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.java 2010-12-19 03:01:32 UTC (rev 1171)
@@ -0,0 +1,98 @@
+package cc.kune.core.ws.armor.client;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.gwt.user.client.ui.SplitLayoutPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class WsArmorImpl extends Composite implements WsArmor {
+
+ interface WsArmorImplUiBinder extends UiBinder<Widget, WsArmorImpl> {
+ }
+
+ private static WsArmorImplUiBinder uiBinder = GWT.create(WsArmorImplUiBinder.class);
+
+ @UiField
+ DockLayoutPanel mainpanel;
+ @UiField
+ FlowPanel sitebar;
+ @UiField
+ SplitLayoutPanel split;
+ @UiField
+ DockLayoutPanel splitCenter;
+ @UiField
+ DockLayoutPanel splitEast;
+ @UiField
+ VerticalPanel entityToolsSouth;
+ @UiField
+ VerticalPanel entityToolsNorth;
+ @UiField
+ VerticalPanel entityToolsCenter;
+ @UiField
+ FlowPanel entityHeader;
+ @UiField
+ FlowPanel entityFooter;
+ @UiField
+ FlowPanel docHeader;
+ @UiField
+ FlowPanel docSubheader;
+ @UiField
+ FlowPanel docFooter;
+
+ public WsArmorImpl() {
+ initWidget(uiBinder.createAndBindUi(this));
+ split.setWidgetMinSize(splitEast, 150);
+ // split.setWidgetMinSize(splitCenter, 200);
+ }
+
+ @Override
+ public HasWidgets getDocFooter() {
+ return docFooter;
+ }
+
+ @Override
+ public HasWidgets getDocHeader() {
+ return docHeader;
+ }
+
+ @Override
+ public HasWidgets getDocSubheader() {
+ return docSubheader;
+ }
+
+ @Override
+ public HasWidgets getEntityFooter() {
+ return entityFooter;
+ }
+
+ @Override
+ public HasWidgets getEntityHeader() {
+ return entityHeader;
+ }
+
+ @Override
+ public HasWidgets getEntityToolsCenter() {
+ return entityToolsCenter;
+ }
+
+ @Override
+ public HasWidgets getEntityToolsNorth() {
+ return entityToolsNorth;
+ }
+
+ @Override
+ public HasWidgets getEntityToolsSouth() {
+ return entityToolsSouth;
+ }
+
+ @Override
+ public HasWidgets getSitebar() {
+ return sitebar;
+ }
+}
Copied: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.ui.xml (from rev 1166, kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/Body.ui.xml)
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.ui.xml (rev 0)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/WsArmorImpl.ui.xml 2010-12-19 03:01:32 UTC (rev 1171)
@@ -0,0 +1,86 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:with field='res'
+ type='cc.kune.core.ws.armor.client.resources.WsArmorResources' />
+ <g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
+ unit="PX">
+ <g:north size="20">
+ <g:FlowPanel ui:field="sitebar" height="20px"
+ styleName='{res.style.siteBar}'>
+ </g:FlowPanel>
+ </g:north>
+ <g:center>
+ <g:SplitLayoutPanel width="100%" height="100%"
+ ui:field="split">
+ <g:center size="1.0">
+ <g:DockLayoutPanel unit="PX" ui:field="splitCenter">
+ <g:north size="168">
+ <g:VerticalPanel width="100%" height="168px">
+ <g:FlowPanel height="70px" width="100%"
+ styleName="{res.style.entityHeader}" ui:field="entityHeader">
+ <!--<g:RichTextArea width="100%" height="70px" /> -->
+ </g:FlowPanel>
+ <g:FlowPanel width="100%" height="38px"
+ styleName="{res.style.docHeader}" ui:field="docHeader">
+ </g:FlowPanel>
+ <g:FlowPanel width="100%" height="60px"
+ styleName="{res.style.docSubheader}" ui:field="docSubheader">
+ <g:Image resource='{res.defThemeDocArrowDown}'
+ styleName='{res.style.docHeaderArrow}' />
+ </g:FlowPanel>
+ </g:VerticalPanel>
+ </g:north>
+ <g:center>
+ <g:DockLayoutPanel unit="PX"
+ styleName="{res.style.docEditorMargin}">
+ <g:west size="10">
+ <g:HTMLPanel />
+ </g:west>
+ <g:east size="15">
+ <g:HTMLPanel />
+ </g:east>
+ <g:center>
+ <g:ScrollPanel styleName="{res.style.docEditor}">
+ <g:HTML wordWrap="true" width="100%" height="100%"></g:HTML>
+ </g:ScrollPanel>
+ </g:center>
+ <g:south size="33.0">
+ <g:VerticalPanel height="33px" width="100%"
+ styleName="{res.style.docFooter}">
+ <g:FlowPanel width="100%" height="33"
+ ui:field="docFooter">
+ </g:FlowPanel>
+ </g:VerticalPanel>
+ </g:south>
+ </g:DockLayoutPanel>
+ </g:center>
+ <g:south size="36">
+ <g:FlowPanel height="36px" width="100%"
+ styleName="{res.style.entityFooter}" ui:field="entityFooter">
+ </g:FlowPanel>
+ </g:south>
+ </g:DockLayoutPanel>
+ </g:center>
+ <g:east size="200.0">
+ <g:DockLayoutPanel unit="PX"
+ styleName="{res.style.entityTools}" ui:field="splitEast">
+ <g:north size="190">
+ <g:VerticalPanel width="100%" ui:field="entityToolsNorth"
+ styleName="{res.style.entityToolsNorth}"></g:VerticalPanel>
+ </g:north>
+ <g:center>
+ <g:VerticalPanel width="100%" ui:field="entityToolsCenter"
+ styleName="{res.style.entityToolsCenter}">
+ </g:VerticalPanel>
+ </g:center>
+ <g:south size="98">
+ <g:VerticalPanel width="100%"
+ styleName="{res.style.entityToolsSouth}" ui:field="entityToolsSouth"></g:VerticalPanel>
+ </g:south>
+ </g:DockLayoutPanel>
+ </g:east>
+ </g:SplitLayoutPanel>
+ </g:center>
+ </g:DockLayoutPanel>
+</ui:UiBinder>
\ No newline at end of file
Modified: kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/resources/WsArmorResources.java
===================================================================
--- kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/resources/WsArmorResources.java 2010-12-19 02:58:53 UTC (rev 1170)
+++ kune-ws-armor/trunk/src/cc/kune/core/ws/armor/client/resources/WsArmorResources.java 2010-12-19 03:01:32 UTC (rev 1171)
@@ -1,6 +1,5 @@
package cc.kune.core.ws.armor.client.resources;
-import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
@@ -43,9 +42,6 @@
String siteBar();
}
- @Deprecated
- public static final WsArmorResources INSTANCE = GWT.create(WsArmorResources.class);
-
@Source("def-theme-doc-arrow-down.png")
ImageResource defThemeDocArrowDown();
1
0
Author: vjrj_
Date: 2010-12-19 03:58:53 +0100 (Sun, 19 Dec 2010)
New Revision: 1170
Added:
trunk/img/icons/loading-spiner.gif
trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java
trunk/src/main/java/cc/kune/core/client/init/
trunk/src/main/java/cc/kune/core/client/init/AppStart.java
trunk/src/main/java/cc/kune/core/client/init/AppStarter.java
trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
trunk/src/main/java/cc/kune/core/client/init/AppStop.java
trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java
trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
trunk/src/main/java/cc/kune/core/client/resources/
trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
trunk/src/main/java/cc/kune/core/client/resources/core.css
trunk/src/main/java/cc/kune/core/client/resources/loading-spiner.gif
trunk/src/main/java/cc/kune/core/client/sitebar/
trunk/src/main/java/cc/kune/core/client/sitebar/logo/
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java
trunk/src/main/java/cc/kune/core/public/images/
trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
Removed:
trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java
trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java
Modified:
trunk/TODO
trunk/img/webtemplate/web_template-2011.svg
trunk/pom.xml
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java
trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java
trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java
trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
trunk/src/main/java/cc/kune/core/client/state/Session.java
trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.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/core/shared/domain/TagCloudResult.java
trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java
trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java
trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml
trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml
trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml
trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml
trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml
trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java
trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml
trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml
trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java
Log:
Some more MVC patterns
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/TODO 2010-12-19 02:58:53 UTC (rev 1170)
@@ -11,6 +11,9 @@
Use org-mode in emacs to easy manage this file
* SHORT-TERM (URGENT)
+** Update Dev Guide
+*** Annotations generation http://code.google.com/p/gwt-platform/wiki/BoilerplateGeneration#Eclipse
+*** Add -startupUrl to your GWT Run launch with /ws/?locale=en&log_level=INFO (or similar)
** new UI library (gwt-ext is dead)
- mosaic,
- gtx
Added: trunk/img/icons/loading-spiner.gif
===================================================================
(Binary files differ)
Property changes on: trunk/img/icons/loading-spiner.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/img/webtemplate/web_template-2011.svg 2010-12-19 02:58:53 UTC (rev 1170)
@@ -51,16 +51,16 @@
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
- inkscape:zoom="0.6953125"
- inkscape:cx="512"
- inkscape:cy="729.16854"
+ inkscape:zoom="1"
+ inkscape:cx="174.00056"
+ inkscape:cy="641.30184"
inkscape:current-layer="layer1"
inkscape:document-units="px"
showgrid="false"
inkscape:window-width="1280"
- inkscape:window-height="749"
+ inkscape:window-height="977"
inkscape:window-x="0"
- inkscape:window-y="1024"
+ inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
@@ -94,7 +94,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -2208,6 +2208,15 @@
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#feb295;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4635"
+ width="87.859406"
+ height="19.905512"
+ x="130.07086"
+ y="111.27247"
+ rx="4"
+ ry="4" />
<g
style="opacity:0.5;display:inline"
id="g5064"
@@ -2456,7 +2465,7 @@
id="tspan3098"
x="91.84803"
y="201.77293"
- style="-inkscape-font-specification:Ubuntu Bold;font-family:Ubuntu;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal">Name of the Initiative</tspan></text>
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold">Name of the Initiative</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3073-8"
@@ -2580,7 +2589,7 @@
id="tspan3926"
sodipodi:role="line"
x="543.98315"
- y="708.99359"
+ y="708.89807"
style="font-size:16px"><tspan
style="font-size:16px;fill:#784421"
id="tspan3930">English</tspan><tspan
@@ -2670,7 +2679,7 @@
sodipodi:role="line"
id="tspan14835" /><tspan
style="font-size:16px;fill:#280b0b"
- y="710.39124"
+ y="710.29572"
x="377.75659"
sodipodi:role="line"
id="tspan14837"><tspan
@@ -3211,14 +3220,14 @@
id="tspan19968" /></tspan><tspan
sodipodi:role="line"
x="833"
- y="728.54651"
+ y="728.30774"
style="fill:#000080"
id="tspan19970"><tspan
style="font-size:12px;fill:#000080"
id="tspan19972">resilience sustainability</tspan></tspan><tspan
sodipodi:role="line"
x="833"
- y="743.69556"
+ y="743.55231"
style="fill:#000080"
id="tspan19974">environmentalism</tspan></text>
<image
@@ -3269,7 +3278,7 @@
id="tspan22977"
sodipodi:role="line"
x="633.75659"
- y="743.39124"
+ y="743.29572"
style="font-size:16px"><tspan
style="font-size:16px;fill:#784421"
id="tspan22979">License:</tspan></tspan></text>
@@ -3409,7 +3418,7 @@
sodipodi:linespacing="100%"><tspan
sodipodi:role="line"
id="tspan25503"
- x="798.60547"
+ x="798.04688"
y="163">See this in the </tspan><tspan
id="tspan25505"
sodipodi:role="line"
@@ -3441,7 +3450,7 @@
sodipodi:role="line"
id="tspan3672" /><tspan
style="font-size:16px"
- y="743.39124"
+ y="743.29572"
x="25.756592"
sodipodi:role="line"
id="tspan3674"><tspan
@@ -3896,7 +3905,7 @@
id="tspan4990"
sodipodi:role="line"
x="29.756592"
- y="708.39124"
+ y="708.29572"
style="font-size:16px"><tspan
style="font-size:16px;fill:#784421"
id="tspan4992">Tags:</tspan></tspan></text>
@@ -4430,6 +4439,43 @@
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/def-theme-doc-arrow-down.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
+ <image
+ y="112.88816"
+ x="135.45085"
+ id="image4632"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAV5JREFU
+OI2lk01OAkEQhb8axgGG30EiEEiMLoxuvK1X8ABewDsQdy4gBhNiJgg4IuhMl4vWAQSFxFp2+n2v
+XnW1mJsr5R/l/jyQSh3qbai1oVhFb6/3B0jnDDrnUArAcTZvOw4Ysx0grRM4uQTXQx/vkXAAk3CD
+IRkXTeJ1gJQC6FxAxoX+HfS6bB2MMeB5FvI+t00BELQg56PDPtrr/pmZJIaMi2TcJUArddteOPhb
+DKgaEAe83BIgfhmSD5huZt4aAyyE7yEakx7sVQcemGQlwssI1IBf3qkVL2fNkhWARCPbRdDc7Z7N
+W4CaJYDREH0dQ62JNI5/d/fLkC9Z8dczugA6myJPD2jrFI6OES8P09BGAyRXhKwPhbIVLmbpMqWb
+qOEASWI4bKGlGhSq0IgRk9i8SQzzCKIx+halXa39BX0eIvMIKVTtQL2sFc8msHiD2TTdwK0AwNJX
+HHbVJ0YdhWYwKlACAAAAAElFTkSuQmCC
+"
+ height="16"
+ width="16" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ sodipodi:linespacing="125%"
+ id="text4717"
+ y="125.59216"
+ x="153.17085"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ y="125.59216"
+ x="153.17085"
+ id="tspan4719"
+ sodipodi:role="line"
+ style="font-size:16px;font-weight:bold;-inkscape-font-specification:Ubuntu Bold">Loading</tspan></text>
+ <rect
+ style="color:#000000;fill:#feb295;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4721"
+ width="87.663948"
+ height="3.7137473"
+ x="130.07883"
+ y="111.25339" />
</g>
<g
inkscape:groupmode="layer"
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/pom.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -66,7 +66,7 @@
<dependency>
<groupId>cc.kune.core.ws.armor</groupId>
<artifactId>ws-armor</artifactId>
- <version>0.0.6</version>
+ <version>0.0.7</version>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,24 +1,33 @@
package cc.kune.core.client;
+import cc.kune.core.client.cookies.CookiesManager;
+import cc.kune.core.client.cookies.CookiesManagerViewImpl;
import cc.kune.core.client.errors.ErrorHandler;
import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.init.AppStarter;
+import cc.kune.core.client.init.AppStarterDefault;
+import cc.kune.core.client.init.PrefetchUtilities;
import cc.kune.core.client.notify.SpinerPresenter;
import cc.kune.core.client.notify.SpinerViewImpl;
import cc.kune.core.client.notify.UserNotifierPresenter;
import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierProxy;
import cc.kune.core.client.notify.UserNotifierViewImpl;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
+import cc.kune.core.client.sitebar.logo.SiteLogoViewImpl;
import cc.kune.core.client.state.ContentProvider;
import cc.kune.core.client.state.ContentProviderDefault;
import cc.kune.core.client.state.HistoryWrapper;
import cc.kune.core.client.state.HistoryWrapperDefault;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SessionDefault;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.state.StateManagerDefault;
import cc.kune.core.client.ws.CorePlaceManager;
import cc.kune.core.client.ws.CorePresenter;
import cc.kune.core.client.ws.CoreViewImpl;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.core.ws.armor.client.Body;
-import cc.kune.core.ws.armor.client.IBody;
+import cc.kune.core.ws.armor.client.WsArmor;
+import cc.kune.core.ws.armor.client.WsArmorImpl;
import com.google.inject.Singleton;
import com.gwtplatform.mvp.client.DefaultEventBus;
@@ -31,9 +40,6 @@
import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
import com.gwtplatform.mvp.client.proxy.TokenFormatter;
-/**
- * The Class Core GinModule.
- */
public class CoreGinModule extends AbstractPresenterModule {
/*
@@ -56,14 +62,20 @@
SpinerPresenter.SpinerProxy.class);
bindPresenter(UserNotifierPresenter.class, UserNotifierPresenter.UserNotifierView.class,
UserNotifierViewImpl.class, UserNotifierProxy.class);
+ bindPresenter(CookiesManager.class, CookiesManager.CookiesManagerView.class, CookiesManagerViewImpl.class,
+ CookiesManager.CookiesManagerProxy.class);
+ bindPresenter(SiteLogoPresenter.class, SiteLogoPresenter.SiteLogoView.class, SiteLogoViewImpl.class,
+ SiteLogoPresenter.SiteLogoProxy.class);
- bind(IBody.class).to(Body.class).in(Singleton.class);
+ bind(WsArmorImpl.class).in(Singleton.class);
+ bind(WsArmor.class).to(WsArmorImpl.class);
bind(Session.class).to(SessionDefault.class).in(Singleton.class);
bind(I18nTranslationService.class).to(I18nUITranslationService.class).in(Singleton.class);
bind(ErrorHandler.class).in(Singleton.class);
- // bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
+ bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
+ bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
bind(HistoryWrapper.class).to(HistoryWrapperDefault.class).in(Singleton.class);
- // bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
+ bind(PrefetchUtilities.class).in(Singleton.class);
+ bind(AppStarter.class).to(AppStarterDefault.class).in(Singleton.class);
}
-
}
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinjector.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,7 +1,9 @@
package cc.kune.core.client;
+import cc.kune.core.client.cookies.CookiesManager;
import cc.kune.core.client.notify.SpinerPresenter;
import cc.kune.core.client.notify.UserNotifierPresenter;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
import cc.kune.core.client.ws.CorePresenter;
import com.google.gwt.inject.client.AsyncProvider;
@@ -14,16 +16,20 @@
@GinModules({ CoreGinModule.class })
public interface CoreGinjector extends Ginjector {
- AsyncProvider<CorePresenter> getCorePresenter();
+ AsyncProvider<CorePresenter> getCorePresenter();
- EventBus getEventBus();
+ AsyncProvider<CookiesManager> getCookiesManager();
- PlaceManager getPlaceManager();
+ EventBus getEventBus();
- ProxyFailureHandler getProxyFailureHandler();
+ PlaceManager getPlaceManager();
- AsyncProvider<SpinerPresenter> getSpinerPresenter();
+ ProxyFailureHandler getProxyFailureHandler();
- AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+ AsyncProvider<SpinerPresenter> getSpinerPresenter();
+ AsyncProvider<SiteLogoPresenter> getSiteLogoPresenter();
+
+ AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,25 +1,33 @@
package cc.kune.core.client.cookies;
-import cc.kune.core.client.state.Session;
-
-import com.google.gwt.user.client.Cookies;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
-public class CookiesManager {
- public interface ICookiesView {
+public class CookiesManager extends Presenter<CookiesManager.CookiesManagerView, CookiesManager.CookiesManagerProxy> {
+
+ @ProxyCodeSplit
+ public interface CookiesManagerProxy extends Proxy<CookiesManager> {
+ }
+
+ public interface CookiesManagerView extends View {
String getCurrentCookie();
}
@Inject
- public CookiesManager() {
+ public CookiesManager(final EventBus eventBus, final CookiesManagerView view, final CookiesManagerProxy proxy) {
+ super(eventBus, view, proxy);
}
public String getCurrentCookie() {
- return Cookies.getCookie(Session.USERHASH);
- // view.getCurrentCookie();
+ return getView().getCurrentCookie();
}
- public void onDoNothing() {
+ @Override
+ protected void revealInParent() {
}
}
Copied: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java (from rev 1168, trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,27 @@
+package cc.kune.core.client.cookies;
+
+import cc.kune.core.client.cookies.CookiesManager.CookiesManagerView;
+import cc.kune.core.client.state.Session;
+
+import com.google.gwt.user.client.Cookies;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class CookiesManagerViewImpl extends ViewImpl implements CookiesManagerView {
+
+ @Inject
+ public CookiesManagerViewImpl() {
+ }
+
+ @Override
+ public String getCurrentCookie() {
+ return Cookies.getCookie(Session.USERHASH);
+ }
+
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,19 +0,0 @@
-package cc.kune.core.client.cookies;
-
-import cc.kune.core.client.cookies.CookiesManager.ICookiesView;
-import cc.kune.core.client.state.Session;
-
-import com.google.gwt.user.client.Cookies;
-import com.google.inject.Inject;
-
-public class CookiesView implements ICookiesView {
-
- @Inject
- public CookiesView() {
- }
-
- public String getCurrentCookie() {
- return Cookies.getCookie(Session.USERHASH);
- }
-
-}
Modified: trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -19,10 +19,10 @@
\*/
package cc.kune.core.client.errors;
+import com.google.gwt.user.client.rpc.InvocationException;
import com.google.gwt.user.client.rpc.IsSerializable;
-import com.google.gwt.user.client.rpc.StatusCodeException;
-public class DefaultException extends StatusCodeException implements IsSerializable {
+public class DefaultException extends InvocationException implements IsSerializable {
private static final long serialVersionUID = -6111471089427505005L;
@@ -31,7 +31,7 @@
}
public DefaultException(final int statusCode, final String message) {
- super(statusCode, message);
+ super(statusCode + " " + message);
}
public DefaultException(final String message) {
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -22,7 +22,7 @@
import org.ourproject.common.client.notify.NotifyLevel;
import cc.kune.core.client.notify.AlertEvent;
-import cc.kune.core.client.notify.SpinerPresenter;
+import cc.kune.core.client.notify.ProgressHideEvent;
import cc.kune.core.client.notify.UserNotifyEvent;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -40,18 +40,16 @@
private final Session session;
private final I18nTranslationService i18n;
private final Event0 onSessionExpired;
- private final SpinerPresenter spiner;
private final PlaceManager placeManager;
- private final EventBus eventBus;
+ private final EventBus eventBus;
@Inject
- public ErrorHandler(final Session session, final I18nTranslationService i18n,
- final SpinerPresenter spiner, final PlaceManager placeManager, EventBus eventBus) {
+ public ErrorHandler(final Session session, final I18nTranslationService i18n, final PlaceManager placeManager,
+ EventBus eventBus) {
this.session = session;
this.i18n = i18n;
- this.spiner = spiner;
this.placeManager = placeManager;
- this.eventBus = eventBus;
+ this.eventBus = eventBus;
this.onSessionExpired = new Event0("onSessionExpired");
}
@@ -65,10 +63,11 @@
}
public void process(final Throwable caught) {
- spiner.fade();
+ eventBus.fireEvent(new ProgressHideEvent());
if (caught instanceof AccessViolationException) {
logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("You do not have rights to perform that action")));
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("You do not have rights to perform that action")));
} else if (caught instanceof SessionExpiredException) {
logException(caught);
doSessionExpired();
@@ -77,7 +76,8 @@
if (session.isLogged()) {
doSessionExpired();
} else {
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important, i18n.t("Please sign in or register to collaborate")));
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important,
+ i18n.t("Please sign in or register to collaborate")));
}
} else if (caught instanceof GroupNotFoundException) {
logException(caught);
Copied: trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java (from rev 1168, trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,7 @@
+package cc.kune.core.client.i18n;
+
+import com.gwtplatform.annotation.GenEvent;
+
+@GenEvent
+public class I18nReady {
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,32 +0,0 @@
-package cc.kune.core.client.i18n;
-
-import com.google.gwt.event.shared.EventHandler;
-import com.google.gwt.event.shared.GwtEvent;
-
-public class I18nReadyEvent extends GwtEvent<I18nReadyEvent.I18nReadyHandler> {
-
- public interface I18nReadyHandler extends EventHandler {
-
- void fire(I18nReadyEvent event);
- }
-
- public static final GwtEvent.Type<I18nReadyHandler> TYPE = new GwtEvent.Type<I18nReadyHandler>();
-
- public static Type<I18nReadyHandler> getType() {
- return TYPE;
- }
-
- public I18nReadyEvent() {
- }
-
- @Override
- public com.google.gwt.event.shared.GwtEvent.Type<I18nReadyHandler> getAssociatedType() {
- return TYPE;
- }
-
- @Override
- protected void dispatch(final I18nReadyHandler handler) {
- handler.fire(this);
- }
-
-}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -71,6 +71,7 @@
public void onSuccess(final HashMap<String, String> result) {
lexicon = result;
session.setCurrentLanguage(currentLang);
+ eventBus.fireEvent(new I18nReadyEvent());
}
});
}
Added: trunk/src/main/java/cc/kune/core/client/init/AppStart.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStart.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStart.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,12 @@
+package cc.kune.core.client.init;
+
+import cc.kune.core.shared.dto.InitDataDTO;
+
+import com.gwtplatform.annotation.GenEvent;
+import com.gwtplatform.annotation.Order;
+
+@GenEvent
+public class AppStart {
+ @Order(1)
+ InitDataDTO initData;
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/init/AppStart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/init/AppStarter.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarter.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,27 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.init;
+
+
+public interface AppStarter {
+
+ void start();
+
+}
Copied: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,98 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.init;
+
+import org.ourproject.common.client.notify.NotifyLevel;
+
+import cc.kune.core.client.notify.ProgressHideEvent;
+import cc.kune.core.client.notify.UserNotifyEvent;
+import cc.kune.core.client.rpcservices.SiteServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.InitDataDTO;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.Window.ClosingEvent;
+import com.google.gwt.user.client.Window.ClosingHandler;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+
+public class AppStarterDefault implements AppStarter {
+ private final Session session;
+ private final SiteServiceAsync siteService;
+ private final EventBus eventBus;
+ private final PrefetchUtilities prefetchUtilities;
+
+ @Inject
+ public AppStarterDefault(final Session session, final SiteServiceAsync siteService, final EventBus eventBus,
+ PrefetchUtilities prefetchUtilities) {
+ this.session = session;
+ this.siteService = siteService;
+ this.eventBus = eventBus;
+ this.prefetchUtilities = prefetchUtilities;
+ Window.addWindowClosingHandler(new ClosingHandler() {
+ @Override
+ public void onWindowClosing(final ClosingEvent event) {
+ eventBus.fireEvent(new AppStopEvent());
+ }
+ });
+ }
+
+ @Override
+ public void start() {
+ prefetchUtilities.preFetchImpImages();
+ getInitData();
+ final Timer prefetchTimer = new Timer() {
+ @Override
+ public void run() {
+ prefetchUtilities.doTasksDeferred();
+ }
+ };
+ prefetchTimer.schedule(20000);
+ }
+
+ private void getInitData() {
+ siteService.getInitData(session.getUserHash(), new AsyncCallback<InitDataDTO>() {
+ @Override
+ public void onFailure(final Throwable error) {
+ eventBus.fireEvent(new ProgressHideEvent());
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, "Error fetching initial data"));
+ Log.debug(error.getMessage());
+ }
+
+ @Override
+ public void onSuccess(final InitDataDTO initData) {
+ session.setInitData(initData);
+ session.setCurrentUserInfo(initData.getUserInfo());
+ eventBus.fireEvent(new AppStartEvent(initData));
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ eventBus.fireEvent(new ProgressHideEvent());
+ }
+ });
+ }
+ });
+ }
+}
Added: trunk/src/main/java/cc/kune/core/client/init/AppStop.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStop.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStop.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,8 @@
+package cc.kune.core.client.init;
+
+import com.gwtplatform.annotation.GenEvent;
+
+@GenEvent
+public class AppStop {
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/init/AppStop.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,121 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.init;
+
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.RepeatingCommand;
+import com.google.gwt.user.client.ui.Image;
+
+public class PrefetchUtilities {
+ public PrefetchUtilities() {
+ }
+
+ public void doTasksDeferred() {
+
+ Scheduler.get().scheduleIncremental(new RepeatingCommand() {
+ int i = 0;
+ int j = 0;
+
+ String[] lic = { "gnu-fdl.gif", "bynd80x15.png", "byncsa80x15.png", "byncnd80x15.png", "bync80x15.png",
+ "by80x15.png", "fal-license.gif" };
+
+ String[] ext = {};
+
+ // "default/form/text-bg.gif", "default/form/trigger.gif",
+ // "default/form/date-trigger.gif",
+ // "gray/window/left-corners.png", "gray/button/btn-sprite.gif",
+ // "gray/window/top-bottom.png",
+ // "gray/window/right-corners.png", "gray/window/left-right.png",
+ // "default/sizer/s-handle.gif",
+ // "default/sizer/e-handle.gif", "default/sizer/ne-handle.gif",
+ // "default/sizer/se-handle.gif",
+ // "default/sizer/sw-handle.gif", "gray/panel/tool-sprites.gif",
+ // "default/sizer/nw-handle.gif",
+ // "gray/tabs/tabs-sprite.gif", "gray/tabs/tab-strip-bg.gif",
+ // "default/shadow.png",
+ // "default/shadow-lr.png", "default/shadow-c.png",
+ // "default/grid/invalid_line.gif",
+ // "default/form/exclamation.gif", "default/box/tb-blue.gif",
+ // "default/grid/loading.gif",
+ // "gray/toolbar/bg.gif", "default/grid/grid3-hrow.gif",
+ // "default/dd/drop-no.gif",
+ // "default/grid/col-move-top.gif",
+ // "default/grid/col-move-bottom.gif", "default/grid/row-over.gif",
+ // "default/grid/grid-split.gif",
+ // "default/grid/page-first-disabled.gif",
+ // "default/grid/page-last-disabled.gif", "default/grid/done.gif",
+ // "default/grid/page-prev-disabled.gif", "default/grid/done.gif",
+ // "default/grid/page-next-disabled.gif",
+ // "default/qtip/tip-sprite.gif",
+ // "default/grid/grid3-hrow-over.gif",
+ // "default/grid/grid3-hd-btn.gif",
+ // "gray/panel/white-top-bottom.gif", "gray/tabs/tab-close.gif",
+ // "gray/toolbar/btn-arrow.gif",
+ // "gray/toolbar/tb-btn-sprite.gif", "gray/panel/light-hd.gif" };
+
+ @Override
+ public boolean execute() {
+
+ while (i < lic.length) {
+ final String licImg = lic[i];
+ Image.prefetch("images/lic/" + licImg);
+ i++;
+ }
+
+ while (j < ext.length) {
+ final String extImg = ext[j];
+ Image.prefetch("js/ext/resources/images/" + extImg);
+ j++;
+ }
+
+ final boolean notFinished = i + j < lic.length + ext.length;
+
+ final boolean finished = !notFinished;
+
+ if (finished) {
+ // In the future maybe: workspace.getLoginComponent()
+ }
+
+ return notFinished;
+ }
+ });
+ }
+
+ public void preFetchImpImages() {
+ final String[] imgs = {};
+ // "images/spin-kune-thund-green.gif", "css/img/button-bg-hard.gif",
+ // "css/img/button-bg-soft.gif", "css/img/arrow-down-white.gif",
+ // "css/img/arrow-right-white.gif",
+ // "images/lic/bysa80x15.png", "images/nav/blog.png",
+ // "images/nav/download.png", "images/nav/film.png",
+ // "images/nav/folder.png", "images/nav/gallery.png",
+ // "images/nav/go.png", "images/nav/page_pdf.png",
+ // "images/nav/page.png", "images/nav/page_pps.png",
+ // "images/nav/page_text.png",
+ // "images/nav/page_word.png", "images/nav/page_zip.png",
+ // "images/nav/picture.png", "images/nav/post.png",
+ // "images/nav/refresh.png", "images/nav/room_add.png",
+ // "images/nav/room.png", "images/nav/upload.png",
+ // "images/nav/wikipage.png", "images/nav/wiki.png" };
+ for (final String img : imgs) {
+ Image.prefetch(img);
+ }
+ }
+}
Added: trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,7 @@
+package cc.kune.core.client.notify;
+
+import com.gwtplatform.annotation.GenEvent;
+
+@GenEvent
+public class ProgressHide {
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,10 @@
+package cc.kune.core.client.notify;
+
+import com.gwtplatform.annotation.GenEvent;
+import com.gwtplatform.annotation.Order;
+
+@GenEvent
+public class ProgressShow {
+ @Order(1)
+ String message;
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,48 +1,56 @@
package cc.kune.core.client.notify;
+import cc.kune.core.client.i18n.I18nReadyEvent;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupView;
import com.gwtplatform.mvp.client.Presenter;
-import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
-import com.gwtplatform.mvp.client.annotations.ProxyStandard;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
import com.gwtplatform.mvp.client.proxy.Proxy;
-import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+import com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent;
public class SpinerPresenter extends Presenter<SpinerPresenter.SpinerView, SpinerPresenter.SpinerProxy> {
-
- @ProxyCodeSplit
+
+ private final I18nTranslationService i18n;
+
+ @ProxyCodeSplit
public interface SpinerProxy extends Proxy<SpinerPresenter> {
}
- public interface SpinerView extends View {
-
+ public interface SpinerView extends PopupView {
void fade();
void show(String message);
-
- void showLoading();
}
@Inject
- public SpinerPresenter(final EventBus eventBus, final SpinerView view, final SpinerProxy proxy) {
+ public SpinerPresenter(final EventBus eventBus, final SpinerView view, final SpinerProxy proxy,
+ I18nTranslationService i18n) {
super(eventBus, view, proxy);
+ this.i18n = i18n;
}
- public void fade() {
- getView().fade();
+ @ProxyEvent
+ public void onProgressShow(ProgressShowEvent event) {
+ getView().show(event.getMessage());
}
- public void show(final String message) {
- getView().show(message);
+ @ProxyEvent
+ public void onI18nReady(I18nReadyEvent event) {
+ getView().show(i18n.t("Loading"));
}
- public void showLoading() {
- getView().showLoading();
+ @ProxyEvent
+ public void onProgressHide(ProgressHideEvent event) {
+ getView().fade();
}
@Override
protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
+ RevealRootPopupContentEvent.fire(this, this);
+ // RevealRootContentEvent.fire(this, this);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,38 +1,59 @@
package cc.kune.core.client.notify;
import cc.kune.core.client.notify.SpinerPresenter.SpinerView;
+import cc.kune.core.ws.armor.client.WsArmor;
-import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.Widget;
-import com.gwtplatform.mvp.client.ViewImpl;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupViewWithUiHandlers;
+import com.gwtplatform.mvp.client.UiHandlers;
-public class SpinerViewImpl extends ViewImpl implements SpinerView {
+public class SpinerViewImpl extends PopupViewWithUiHandlers<UiHandlers> implements SpinerView {
- private final Label label;
+ @Inject
+ protected SpinerViewImpl(EventBus eventBus, WsArmor armor) {
+ super(eventBus);
+ widget = uiBinder.createAndBindUi(this);
+ armor.getSitebar().add(widget);
+ }
- public SpinerViewImpl() {
- label = new Label();
+ private static SpinerViewImplUiBinder uiBinder = GWT.create(SpinerViewImplUiBinder.class);
+
+ interface SpinerViewImplUiBinder extends UiBinder<Widget, SpinerViewImpl> {
}
+ @UiField
+ HorizontalPanel panel;
+ @UiField
+ InlineLabel label;
+ @UiField
+ Image img;
+ Widget widget;
+
@Override
public Widget asWidget() {
- return label;
+ return widget;
}
@Override
public void fade() {
- // TODO Auto-generated method stub
-
+ panel.setVisible(false);
}
@Override
- public void show(final String message) {
- label.setText(message);
+ public void show(String message) {
+ if (message == null || message.isEmpty()) {
+ label.setText("Fixme");
+ } else {
+ label.setText(message);
+ }
+ panel.setVisible(true);
}
-
- @Override
- public void showLoading() {
- label.setText("FIXME");
- }
-
}
Added: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,11 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:p1="urn:import:com.extjs.gxt.ui.client.widget">
+ <ui:with field='res' type='cc.kune.core.client.resources.CoreResources' />
+ <g:FlowPanel>
+ <g:HorizontalPanel ui:field="panel" styleName="kLoadingPanel" verticalAlignment="ALIGN_MIDDLE" horizontalAlignment="ALIGN_CENTER" borderWidth="0">
+ <g:Image ui:field="img" styleName="{res.css.loadingSpiner}" />
+ <g:InlineLabel ui:field="label" styleName="kLoadingLabel" horizontalAlignment="ALIGN_CENTER" />
+ </g:HorizontalPanel>
+ </g:FlowPanel>
+</ui:UiBinder>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -3,67 +3,49 @@
import org.ourproject.common.client.notify.ConfirmationAsk;
import org.ourproject.common.client.notify.NotifyLevel;
-import cc.kune.core.client.notify.AlertEvent.AlertHandler;
import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierProxy;
import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierView;
-import cc.kune.core.client.notify.UserNotifyEvent.UserNotifyHandler;
+import com.google.gwt.user.client.ui.RootPanel;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.Presenter;
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
import com.gwtplatform.mvp.client.annotations.ProxyEvent;
-import com.gwtplatform.mvp.client.annotations.ProxyStandard;
import com.gwtplatform.mvp.client.proxy.Proxy;
-public class UserNotifierPresenter extends
- Presenter<UserNotifierView, UserNotifierProxy> {
- @ProxyCodeSplit
- public interface UserNotifierProxy extends
- Proxy<UserNotifierPresenter> {
- }
+public class UserNotifierPresenter extends Presenter<UserNotifierView, UserNotifierProxy> {
+ @ProxyCodeSplit
+ public interface UserNotifierProxy extends Proxy<UserNotifierPresenter> {
+ }
- public interface UserNotifierView extends View {
- public void alert(String title, String message);
+ public interface UserNotifierView extends View {
+ public void alert(String title, String message);
- public void confirmationAsk(ConfirmationAsk<?> ask);
+ public void confirmationAsk(ConfirmationAsk<?> ask);
- public void notify(NotifyLevel level, String message);
- }
+ public void notify(NotifyLevel level, String message);
+ }
- @Inject
- public UserNotifierPresenter(final EventBus eventBus,
- final UserNotifierView view, final UserNotifierProxy proxy) {
- super(eventBus, view, proxy);
- addRegisteredHandler(UserNotifyEvent.getType(),
- new UserNotifyHandler() {
- @Override
- public void onUserNotify(UserNotifyEvent event) {
- view.notify(event.getLevel(), event.getMessage());
- }
- });
- addRegisteredHandler(AlertEvent.getType(), new AlertHandler() {
- @Override
- public void onAlert(AlertEvent event) {
- view.alert(event.getTitle(), event.getMessage());
- }
- });
- }
+ @Inject
+ public UserNotifierPresenter(final EventBus eventBus, final UserNotifierView view, final UserNotifierProxy proxy) {
+ super(eventBus, view, proxy);
+ }
- @ProxyEvent
- public void onUserNotify(UserNotifyEvent event) {
- // FIXME test this
- getView().notify(event.getLevel(), event.getMessage());
- }
+ @ProxyEvent
+ public void onUserNotify(UserNotifyEvent event) {
+ getView().notify(event.getLevel(), event.getMessage());
+ }
- @ProxyEvent
- public void onAlert(AlertEvent event) {
- getView().alert(event.getTitle(), event.getMessage());
- };
+ @ProxyEvent
+ public void onAlert(AlertEvent event) {
+ getView().alert(event.getTitle(), event.getMessage());
+ }
- @Override
- protected void revealInParent() {
- }
+ @Override
+ protected void revealInParent() {
+ RootPanel.get().add(getWidget());
+ }
}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,17 @@
+package cc.kune.core.client.resources;
+
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.CssResource;
+import com.google.gwt.resources.client.ImageResource;
+
+public interface CoreResources extends ClientBundle {
+ public interface Style extends CssResource {
+ String loadingSpiner();
+ }
+
+ @Source("loading-spiner.gif")
+ ImageResource loadingSpiner();
+
+ @Source("core.css")
+ Style css();
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/resources/core.css
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/core.css (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/resources/core.css 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,6 @@
+@CHARSET "UTF-8";
+
+@sprite .loadingSpiner {
+ gwt-image: 'loadingSpiner';
+ margin-top: 2px;
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/core.css
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/resources/loading-spiner.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/loading-spiner.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,38 @@
+package cc.kune.core.client.sitebar.logo;
+
+import cc.kune.core.client.init.AppStartEvent;
+
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+
+public class SiteLogoPresenter extends Presenter<SiteLogoPresenter.SiteLogoView, SiteLogoPresenter.SiteLogoProxy> {
+
+ public interface SiteLogoView extends View {
+ void setSiteLogoUrl(String siteLogoUrl);
+ }
+
+ @ProxyCodeSplit
+ public interface SiteLogoProxy extends Proxy<SiteLogoPresenter> {
+ }
+
+ @Inject
+ public SiteLogoPresenter(EventBus eventBus, SiteLogoView view, SiteLogoProxy proxy) {
+ super(eventBus, view, proxy);
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
+
+ @ProxyEvent
+ public void onAppStart(AppStartEvent event) {
+ getView().setSiteLogoUrl(event.getInitData().getSiteLogoUrl());
+ }
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,49 @@
+/*
+ *
+ * Copyright (C) 2007-2009 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
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.core.client.sitebar.logo;
+
+import cc.kune.core.ws.armor.client.WsArmor;
+
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class SiteLogoViewImpl extends ViewImpl implements SiteLogoPresenter.SiteLogoView {
+
+ private final Image siteLogoImg;
+
+ @Inject
+ public SiteLogoViewImpl(WsArmor armor) {
+ siteLogoImg = new Image();
+ siteLogoImg.addStyleName("k-floatright");
+ armor.getSitebar().add(siteLogoImg);
+ }
+
+ @Override
+ public void setSiteLogoUrl(final String siteLogoUrl) {
+ siteLogoImg.setUrl(siteLogoUrl);
+ }
+
+ @Override
+ public Widget asWidget() {
+ return siteLogoImg;
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -21,32 +21,35 @@
import java.util.HashMap;
-import cc.kune.core.client.notify.SpinerPresenter;
+import cc.kune.core.client.notify.ProgressShowEvent;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateAbstractDTO;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
public class ContentProviderDefault implements ContentProvider {
private final ContentServiceAsync server;
private final HashMap<StateToken, StateAbstractDTO> cache;
- private final SpinerPresenter spiner;
+ private final EventBus eventBus;
@Inject
- public ContentProviderDefault(final ContentServiceAsync server, final SpinerPresenter spiner) {
+ public ContentProviderDefault(final ContentServiceAsync server, final EventBus eventBus) {
this.server = server;
- this.spiner = spiner;
+ this.eventBus = eventBus;
this.cache = new HashMap<StateToken, StateAbstractDTO>();
}
+ @Override
public void cache(final StateToken encodeState, final StateAbstractDTO content) {
cache.put(encodeState, content);
}
+ @Override
public void getContent(final String user, final StateToken newState, final AsyncCallback<StateAbstractDTO> callback) {
- spiner.showLoading();
+ eventBus.fireEvent(new ProgressShowEvent(""));
final StateAbstractDTO catched = getCached(newState);
if (catched != null) {
callback.onSuccess(catched);
Modified: trunk/src/main/java/cc/kune/core/client/state/Session.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/Session.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/Session.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -41,7 +41,6 @@
import java.util.Collection;
import java.util.List;
-
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.I18nCountryDTO;
@@ -136,10 +135,13 @@
boolean isNotLogged();
+ @Deprecated
void onInitDataReceived(Listener<InitDataDTO> listener);
+ @Deprecated
void onUserSignIn(Listener<UserInfoDTO> listener);
+ @Deprecated
void onUserSignOut(Listener0 listener);
void setCurrentLanguage(final I18nLanguageDTO currentLanguage);
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -23,7 +23,6 @@
import java.util.List;
import cc.kune.core.client.cookies.CookiesManager;
-import cc.kune.core.client.i18n.I18nReadyEvent;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.shared.domain.utils.StateToken;
@@ -47,7 +46,6 @@
import com.google.gwt.core.client.GWT;
import com.google.inject.Inject;
import com.google.inject.Provider;
-import com.gwtplatform.mvp.client.EventBus;
public class SessionDefault implements Session {
private String userHash;
@@ -62,12 +60,9 @@
private final Event<UserInfoDTO> onUserSignIn;
private final Event0 onUserSignOut;
private final Provider<UserServiceAsync> userServiceProvider;
- private final EventBus eventBus;
@Inject
- public SessionDefault(final CookiesManager cookieManager, final Provider<UserServiceAsync> userServiceProvider,
- EventBus eventBus) {
- this.eventBus = eventBus;
+ public SessionDefault(final CookiesManager cookieManager, final Provider<UserServiceAsync> userServiceProvider) {
this.userHash = cookieManager.getCurrentCookie();
this.userHash = userHash == null || userHash.equals("null") ? null : userHash;
this.userServiceProvider = userServiceProvider;
@@ -282,7 +277,6 @@
@Override
public void setCurrentLanguage(final I18nLanguageDTO currentLanguage) {
this.currentLanguage = currentLanguage;
- eventBus.fireEvent(new I18nReadyEvent());
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -23,7 +23,7 @@
import cc.kune.core.client.actions.BeforeActionCollection;
import cc.kune.core.client.actions.BeforeActionListener;
-import cc.kune.core.client.notify.SpinerPresenter;
+import cc.kune.core.client.notify.ProgressHideEvent;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.SocialNetworkDataDTO;
@@ -40,6 +40,7 @@
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.History;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
private final ContentProvider contentProvider;
@@ -57,12 +58,12 @@
private final Event2<String, String> onToolChanged;
private final Event2<String, String> onGroupChanged;
private final BeforeActionCollection beforeStateChangeCollection;
- private final SpinerPresenter spiner;
+ private final EventBus eventBus;
@Inject
public StateManagerDefault(final ContentProvider contentProvider, final Session session,
- final HistoryWrapper history, final SpinerPresenter spinner) {
- this.spiner = spinner;
+ final HistoryWrapper history, final EventBus eventBus) {
+ this.eventBus = eventBus;
// Put this outside here
History.addValueChangeHandler(this);
this.contentProvider = contentProvider;
@@ -75,6 +76,7 @@
this.onToolChanged = new Event2<String, String>("onToolChanged");
this.onSocialNetworkChanged = new Event<StateAbstractDTO>("onSocialNetworkChanged");
session.onUserSignIn(new Listener<UserInfoDTO>() {
+ @Override
public void onEvent(final UserInfoDTO parameter) {
if (previousToken == null) {
// starting up
@@ -85,6 +87,7 @@
}
});
session.onUserSignOut(new Listener0() {
+ @Override
public void onEvent() {
reload();
}
@@ -93,39 +96,48 @@
beforeStateChangeCollection = new BeforeActionCollection();
}
+ @Override
public void addBeforeStateChangeListener(final BeforeActionListener listener) {
beforeStateChangeCollection.add(listener);
}
+ @Override
public void addSiteToken(final String token, final Listener0 listener) {
siteTokens.put(token, listener);
}
+ @Override
public void gotoToken(final StateToken newToken) {
Log.debug("StateManager: history goto-token newItem (" + newToken + ")");
history.newItem(newToken.getEncoded());
}
+ @Override
public void gotoToken(final String token) {
gotoToken(new StateToken(token));
}
+ @Override
public void onGroupChanged(final Listener2<String, String> listener) {
onGroupChanged.add(listener);
}
+ @Override
public void onSocialNetworkChanged(final Listener<StateAbstractDTO> listener) {
onSocialNetworkChanged.add(listener);
}
+ @Override
public void onStateChanged(final Listener<StateAbstractDTO> listener) {
onStateChanged.add(listener);
}
+ @Override
public void onToolChanged(final Listener2<String, String> listener) {
onToolChanged.add(listener);
}
+ @Override
public void onValueChange(final ValueChangeEvent<String> event) {
onHistoryChanged(event.getValue());
}
@@ -135,22 +147,27 @@
* Reload current state (using client cache if available)
* </p>
*/
+ @Override
public void reload() {
onHistoryChanged(history.getToken());
}
+ @Override
public void removeBeforeStateChangeListener(final BeforeActionListener listener) {
beforeStateChangeCollection.remove(listener);
}
+ @Override
public void removeSiteToken(final String token) {
siteTokens.remove(token);
}
+ @Override
public void restorePreviousToken() {
gotoToken(previousToken);
}
+ @Override
public void resumeTokenChange() {
if (resumedToken != null) {
reload();
@@ -159,12 +176,14 @@
}
}
+ @Override
public void setRetrievedState(final StateAbstractDTO newState) {
contentProvider.cache(newState.getStateToken(), newState);
// setState(newState);
history.newItem(newState.getStateToken().toString());
}
+ @Override
public void setSocialNetwork(final SocialNetworkDataDTO socialNet) {
StateAbstractDTO state;
if (session != null && (state = session.getCurrentState()) != null) {
@@ -201,7 +220,7 @@
void setState(final StateAbstractDTO newState) {
session.setCurrentState(newState);
onStateChanged.fire(newState);
- spiner.fade();
+ eventBus.fireEvent(new ProgressHideEvent());
checkGroupAndToolChange(newState);
previousToken = newState.getStateToken();
@@ -229,6 +248,7 @@
private void onHistoryChanged(final StateToken newState) {
contentProvider.getContent(session.getUserHash(), newState, new AsyncCallbackSimple<StateAbstractDTO>() {
+ @Override
public void onSuccess(final StateAbstractDTO newState) {
setState(newState);
}
Modified: trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,6 +1,8 @@
package cc.kune.core.client.ws;
-import cc.kune.core.client.notify.AlertEvent;
+import cc.kune.core.client.i18n.I18nReadyEvent;
+import cc.kune.core.client.init.AppStarter;
+import cc.kune.core.client.notify.SpinerPresenter;
import cc.kune.core.client.notify.UserNotifierPresenter;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -10,6 +12,7 @@
import com.gwtplatform.mvp.client.View;
import com.gwtplatform.mvp.client.annotations.NameToken;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
import com.gwtplatform.mvp.client.proxy.ProxyPlace;
import com.gwtplatform.mvp.client.proxy.RevealRootLayoutContentEvent;
@@ -17,7 +20,9 @@
* The Class CorePresenter.
*/
public class CorePresenter extends Presenter<CorePresenter.CoreView, CorePresenter.CoreProxy> {
- @ProxyCodeSplit
+ private final AppStarter appStarter;
+
+ @ProxyCodeSplit
@NameToken("home")
public interface CoreProxy extends ProxyPlace<CorePresenter> {
}
@@ -27,13 +32,28 @@
@Inject
public CorePresenter(final EventBus eventBus, final CoreView view, final CoreProxy proxy,
- final I18nTranslationService i18n, UserNotifierPresenter userNotifier) {
+ final I18nTranslationService i18n, UserNotifierPresenter userNotifier, SpinerPresenter spiner,
+ AppStarter appStarter) {
super(eventBus, view, proxy);
+ this.appStarter = appStarter;
}
+ @ProxyEvent
+ public void onI18nReady(I18nReadyEvent event) {
+ appStarter.start();
+ }
+
@Override
protected void revealInParent() {
- RevealRootLayoutContentEvent.fire(getEventBus(), this);
+ RevealRootLayoutContentEvent.fire(getEventBus(), this);
+ // getEventBus().fireEvent(new ProgressShowEvent("Something"));
+ // Timer timer = new Timer() {
+ // @Override
+ // public void run() {
+ // getEventBus().fireEvent(new ProgressHideEvent());
+ // }
+ // };
+ // // timer.schedule(4);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,6 +1,7 @@
package cc.kune.core.client.ws;
-import cc.kune.core.ws.armor.client.Body;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.ws.armor.client.WsArmorImpl;
import cc.kune.core.ws.armor.client.resources.WsArmorResources;
import com.google.gwt.core.client.GWT;
@@ -14,24 +15,25 @@
*/
public class CoreViewImpl extends ViewImpl implements CorePresenter.CoreView {
- private final Body body;
+ private final WsArmorImpl armor;
/**
* Instantiates a new core view.
*
- * @param body
+ * @param armor
* the body
*/
@Inject
- public CoreViewImpl(final Body body) {
- this.body = body;
+ public CoreViewImpl(final WsArmorImpl armor) {
+ this.armor = armor;
+ GWT.<CoreResources> create(CoreResources.class).css().ensureInjected();
GWT.<WsArmorResources> create(WsArmorResources.class).style().ensureInjected();
- body.getEntityHeader().add(new InlineLabel("Test - a, e, i, o, u"));
- body.getDocHeader().add(new InlineLabel("doc title"));
+ armor.getEntityHeader().add(new InlineLabel("Test - a, e, i, o, u"));
+ armor.getDocHeader().add(new InlineLabel("doc title"));
}
@Override
public Widget asWidget() {
- return body;
+ return armor;
}
}
Added: trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,308 +1,367 @@
@CHARSET "UTF-8";
-body {
- background-color: white;
- color: black;
- font-family: 'Droid Sans', Arial;
- font-size: small;
- margin: 5px;
+body {
+ background-color: white;
+ color: black;
+ font-family: 'Inconsolata', Arial;
+ font-size: small;
+ margin: 5px;
}
* {
- font-family: 'Droid Sans', Arial;
+ font-family: 'Inconsolata', Arial;
}
-body.fontface {font: 'Droid Sans', Arial;}
+body.fontface {
+ font: 'Inconsolata', Arial;
+}
-a {
- color: darkblue;
+a {
+ color: darkblue;
}
-a:visited {
- color: darkblue;
+a:visited {
+ 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; }
-.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { }
+.gwt-SplitLayoutPanel {
+
+}
+
+.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger {
+ background-color: white;
+ background: none;
+}
+
+.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger {
+
+}
+
+.kLoadingPanel {
+ background-color: #feb295;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-bottom-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-bottom-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-top-right-radius: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-top-left-radius: 4px;
+ border-top-left-radius: 4px;
+ padding: 0 10px 0 7px;
+}
+
+.kLoadingLabel {
+ font-size: 14px;
+ color: white;
+ font-weight: bold;
+ padding: 0 0 0 5px;
+}
+
+.k-floatleft {
+ float: left;
+}
+
+.k-floatright {
+ float: right;
+}
\ 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 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2010-12-19 02:58:53 UTC (rev 1170)
@@ -7,7 +7,8 @@
src="/ws/ws.nocache.js"></script>
</head>
<!-- FIXME: make something local -->
-<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
+<!--<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>-->
+<link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
<body>
<iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
<iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>
Modified: trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -28,6 +28,9 @@
private int maxValue;
private int minValue;
+ public TagCloudResult() {
+ }
+
public TagCloudResult(final List<TagCount> tagCountList, final int maxValue, final int minValue) {
this.tagCountList = tagCountList;
this.maxValue = maxValue;
Modified: trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -19,83 +19,83 @@
*/
package cc.kune.core.shared.domain.utils;
-public class AccessRights {
- boolean administrable;
- boolean editable;
- boolean visible;
+import com.google.gwt.user.client.rpc.IsSerializable;
- public AccessRights() {
- this(false, false, false);
- }
+public class AccessRights implements IsSerializable {
+ boolean administrable;
+ boolean editable;
+ boolean visible;
- public AccessRights(final boolean administrable, final boolean editable,
- final boolean visible) {
- this.administrable = administrable;
- this.editable = editable;
- this.visible = visible;
- }
+ public AccessRights() {
+ this(false, false, false);
+ }
- public boolean isAdministrable() {
- return administrable;
- }
+ public AccessRights(final boolean administrable, final boolean editable, final boolean visible) {
+ this.administrable = administrable;
+ this.editable = editable;
+ this.visible = visible;
+ }
- public boolean isEditable() {
- return editable;
- }
+ public boolean isAdministrable() {
+ return administrable;
+ }
- public boolean isVisible() {
- return visible;
- }
+ public boolean isEditable() {
+ return editable;
+ }
- public void setAdministrable(final boolean isAdministrable) {
- this.administrable = isAdministrable;
- }
+ public boolean isVisible() {
+ return visible;
+ }
- public void setEditable(final boolean isEditable) {
- this.editable = isEditable;
- }
+ public void setAdministrable(final boolean isAdministrable) {
+ this.administrable = isAdministrable;
+ }
- public void setVisible(final boolean isVisible) {
- this.visible = isVisible;
- }
+ public void setEditable(final boolean isEditable) {
+ this.editable = isEditable;
+ }
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final AccessRights other = (AccessRights) obj;
- if (administrable != other.administrable) {
- return false;
- }
- if (editable != other.editable) {
- return false;
- }
- if (visible != other.visible) {
- return false;
- }
- return true;
- }
+ public void setVisible(final boolean isVisible) {
+ this.visible = isVisible;
+ }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (administrable ? 1231 : 1237);
- result = prime * result + (editable ? 1231 : 1237);
- result = prime * result + (visible ? 1231 : 1237);
- return result;
- }
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final AccessRights other = (AccessRights) obj;
+ if (administrable != other.administrable) {
+ return false;
+ }
+ if (editable != other.editable) {
+ return false;
+ }
+ if (visible != other.visible) {
+ return false;
+ }
+ return true;
+ }
- @Override
- public String toString() {
- return "AccessRights[a: " + administrable + ", e: " + editable
- + ", v: " + visible + "]";
- }
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (administrable ? 1231 : 1237);
+ result = prime * result + (editable ? 1231 : 1237);
+ result = prime * result + (visible ? 1231 : 1237);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "AccessRights[a: " + administrable + ", e: " + editable + ", v: " + visible + "]";
+ }
}
Modified: trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -22,21 +22,19 @@
import org.ourproject.kune.platf.client.services.Loader;
import org.ourproject.kune.platf.client.services.PlatformModule;
-import cc.kune.core.ws.armor.client.Body;
-import cc.kune.core.ws.armor.client.resources.WsArmorResources;
-
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.user.client.ui.RootLayoutPanel;
public class KuneEntryPoint implements EntryPoint {
+ @Override
public void onModuleLoad() {
Log.setUncaughtExceptionHandler();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
public void execute() {
onModuleLoadCont();
}
@@ -46,11 +44,11 @@
public void onModuleLoadCont() {
// At the moment, in runtime:
Log.setCurrentLogLevel(Log.LOG_LEVEL_DEBUG);
- final WsArmorResources resources = WsArmorResources.INSTANCE;
- resources.style().ensureInjected();
-
- final Body body = new Body();
- RootLayoutPanel.get().add(body);
+ // final WsArmorResources resources = WsArmorResources.INSTANCE;
+ // resources.style().ensureInjected();
+ //
+ // final Body body = new Body();
+ // RootLayoutPanel.get().add(body);
// Loader.install(new RegistryModule(), new DocumentClientModule(), new
// BlogClientModule(),
// new WikiClientModule(), new GalleryClientModule(), new
Modified: trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
+ <inherits name="cc.kune.core.Core" />
<inherits name='org.ourproject.kune.platf.KunePlatform' />
<inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
<source path="client" />
Modified: trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
+ <inherits name="cc.kune.core.Core" />
<inherits name='org.ourproject.kune.platf.KunePlatform' />
<inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
<inherits name="com.calclab.emiteuimodule.EmiteUIModule" />
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -27,7 +27,6 @@
import org.ourproject.kune.chat.client.ctx.room.AddRoom;
import org.ourproject.kune.chat.client.ctx.room.AddRoomPanel;
import org.ourproject.kune.chat.client.ctx.room.AddRoomPresenter;
-import org.ourproject.kune.platf.client.app.Application;
import org.ourproject.kune.platf.client.app.ToolGroup;
import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
@@ -44,6 +43,7 @@
import org.ourproject.kune.workspace.client.tool.ToolSelector;
import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.init.AppStarter;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
@@ -88,7 +88,7 @@
@Override
public ChatEngine create() {
final ChatEngineDefault chatEngineDefault = new ChatEngineDefault(i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class), i(Application.class), i(Session.class), p(EmiteUIDialog.class),
+ i(WorkspaceSkeleton.class), i(AppStarter.class), i(Session.class), p(EmiteUIDialog.class),
p(FileDownloadUtils.class), i(GlobalShortcutRegister.class));
return chatEngineDefault;
}
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -26,12 +26,12 @@
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.KeyStroke;
import org.ourproject.kune.platf.client.actions.Shortcut;
-import org.ourproject.kune.platf.client.app.Application;
import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import cc.kune.core.client.init.AppStarter;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.utils.WindowUtils;
import cc.kune.core.shared.dto.InitDataDTO;
@@ -56,7 +56,6 @@
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.Window.ClosingEvent;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.ToolbarButton;
@@ -74,7 +73,7 @@
private final Provider<FileDownloadUtils> downloadUtils;
public ChatEngineDefault(final I18nTranslationService i18n, final WorkspaceSkeleton wskel,
- final Application application, final Session session, final Provider<EmiteUIDialog> emiteUIProvider,
+ final AppStarter application, final Session session, final Provider<EmiteUIDialog> emiteUIProvider,
final Provider<FileDownloadUtils> downloadUtils, final GlobalShortcutRegister shortcutRegister) {
this.i18n = i18n;
this.wskel = wskel;
@@ -83,6 +82,7 @@
this.onRosterChanged = new Event0("onRosterChanged");
shortcut = Shortcut.getShortcut(false, true, false, false, Character.valueOf('C'));
shortcutRegister.put(shortcut, new AbstractExtendedAction() {
+ @Override
public void actionPerformed(final ActionEvent event) {
if (isDialogStarted()) {
toggleShow();
@@ -91,6 +91,7 @@
}
});
session.onInitDataReceived(new Listener<InitDataDTO>() {
+ @Override
public void onEvent(final InitDataDTO initData) {
checkChatDomain(initData.getChatDomain());
chatOptions = new ChatConnectionOptions(initData.getChatHttpBase(), initData.getChatDomain(),
@@ -107,42 +108,50 @@
}
});
session.onUserSignOut(new Listener0() {
+ @Override
public void onEvent() {
logout();
}
});
session.onUserSignIn(new Listener<UserInfoDTO>() {
+ @Override
public void onEvent(final UserInfoDTO user) {
login(user.getChatName(), user.getChatPassword());
}
});
- application.onClosing(new Listener<ClosingEvent>() {
- public void onEvent(final ClosingEvent event) {
- stop();
- }
- });
+ // application.onClosing(new Listener<ClosingEvent>() {
+ // public void onEvent(final ClosingEvent event) {
+ // stop();
+ // }
+ // });
}
+ @Override
public void addNewBuddie(final String shortName) {
emiteUIProvider.get().addBuddie(getLocalUserJid(shortName), shortName, "");
}
+ @Override
public void addOnRosterChanged(final Listener0 slot) {
onRosterChanged.add(slot);
}
+ @Override
public void chat(final XmppURI jid) {
emiteUIProvider.get().chat(jid);
}
+ @Override
public ChatConnectionOptions getChatOptions() {
return chatOptions;
}
+ @Override
public boolean isBuddie(final String shortName) {
return isBuddie(getLocalUserJid(shortName));
}
+ @Override
public boolean isBuddie(final XmppURI jid) {
if (roster != null) {
for (final RosterItem item : roster) {
@@ -158,14 +167,17 @@
return !emiteUIProvider.get().isDialogNotStarted();
}
+ @Override
public boolean isLoggedIn() {
return emiteUIProvider.get().isLoggedIn();
}
+ @Override
public void joinRoom(final String roomName, final String userAlias) {
joinRoom(roomName, null, userAlias);
}
+ @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 + "/"
@@ -173,6 +185,7 @@
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) {
@@ -186,10 +199,12 @@
}
}
+ @Override
public void login(final String jid, final String passwd) {
final UserChatOptions userChatOptions = getUserChatOptions(jid, passwd);
// FIXME: Avatar provider
final AvatarProvider avatarProvider = new AvatarProvider() {
+ @Override
public String getAvatarURL(final XmppURI userURI) {
// if (userURI.getHost().equals(chatOptions.domain)) {
// FIXME
@@ -205,6 +220,7 @@
chatOptions.userOptions = userChatOptions;
if (emiteUIProvider.get().isDialogNotStarted()) {
emiteUIProvider.get().onRosterChanged(new Listener<Collection<RosterItem>>() {
+ @Override
public void onEvent(final Collection<RosterItem> rosterChanged) {
roster = rosterChanged;
onRosterChanged.fire();
@@ -229,11 +245,13 @@
});
wskel.getSiteTraybar().addButton(traybarButton);
emiteUIProvider.get().onChatAttended(new Listener<String>() {
+ @Override
public void onEvent(final String parameter) {
traybarButton.setIcon("images/e-icon.gif");
}
});
emiteUIProvider.get().onChatUnattendedWithActivity(new Listener<String>() {
+ @Override
public void onEvent(final String parameter) {
traybarButton.setIcon("images/e-icon-a.gif");
}
@@ -241,17 +259,20 @@
}
emiteUIProvider.get().hide();
emiteUIProvider.get().onChatAttended(new Listener<String>() {
+ @Override
public void onEvent(final String parameter) {
Window.setTitle(initialWindowTitle);
}
});
emiteUIProvider.get().onChatUnattendedWithActivity(new Listener<String>() {
+ @Override
public void onEvent(final String chatTitle) {
Window.setTitle("(* " + chatTitle + ") " + initialWindowTitle);
}
});
}
+ @Override
public void logout() {
if (!emiteUIProvider.get().isDialogNotStarted()) {
emiteUIProvider.get().setOwnPresence(OwnStatus.offline);
@@ -261,14 +282,17 @@
}
}
+ @Override
public void setAvatar(final String photoBinary) {
emiteUIProvider.get().setOwnVCardAvatar(photoBinary);
}
+ @Override
public void show() {
emiteUIProvider.get().show();
}
+ @Override
public void stop() {
if (!emiteUIProvider.get().isDialogNotStarted()) {
emiteUIProvider.get().destroy();
Modified: trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
+ <inherits name="cc.kune.core.Core" />
<inherits name='org.ourproject.kune.platf.KunePlatform' />
<inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
<source path="client" />
Modified: trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
+ <inherits name="cc.kune.core.Core" />
<inherits name='org.ourproject.kune.platf.KunePlatform' />
<inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
<source path="client" />
Modified: trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,6 +1,7 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
<!-- Inherit the core Web Toolkit stuff. -->
+ <inherits name="cc.kune.core.Core" />
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.i18n.I18N' />
<inherits name="com.google.gwt.user.UserAgent" />
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,34 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.client.app;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.google.gwt.user.client.Window.ClosingEvent;
-
-public interface Application {
-
- void onClosing(Listener<ClosingEvent> listener);
-
- void onStarting(Listener0 listener);
-
- void start();
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,107 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.client.app;
-
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.platf.client.utils.PrefetchUtilities;
-
-import cc.kune.core.client.rpcservices.SiteServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.InitDataDTO;
-
-import com.allen_sauer.gwt.log.client.Log;
-import com.calclab.suco.client.events.Event;
-import com.calclab.suco.client.events.Event0;
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.Window.ClosingEvent;
-import com.google.gwt.user.client.Window.ClosingHandler;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.RootPanel;
-
-public class ApplicationDefault implements Application {
- private final Session session;
- private final Event0 onAppStarting;
- private final Event<ClosingEvent> onAppClosing;
- private final SiteServiceAsync siteService;
-
- public ApplicationDefault(final Session session, final SiteServiceAsync siteService) {
- this.session = session;
- this.siteService = siteService;
- this.onAppStarting = new Event0("onAppStarting");
- this.onAppClosing = new Event<ClosingEvent>("onAppClossing");
- Window.addWindowClosingHandler(new ClosingHandler() {
- public void onWindowClosing(final ClosingEvent event) {
- stop(event);
- }
- });
- }
-
- public void onClosing(final Listener<ClosingEvent> listener) {
- onAppClosing.add(listener);
- }
-
- public void onStarting(final Listener0 listener) {
- onAppStarting.add(listener);
- }
-
- public void start() {
- onAppStarting.fire();
- PrefetchUtilities.preFetchImpImages();
- getInitData();
- final Timer prefetchTimer = new Timer() {
- @Override
- public void run() {
- PrefetchUtilities.doTasksDeferred();
- }
- };
- prefetchTimer.schedule(20000);
- }
-
- private void getInitData() {
- siteService.getInitData(session.getUserHash(), new AsyncCallback<InitDataDTO>() {
- public void onFailure(final Throwable error) {
- RootPanel.get("kuneinitialcurtain").setVisible(false);
- RootPanel.get("kuneloading").setVisible(false);
- NotifyUser.error("Error fetching initial data");
- Log.debug(error.getMessage());
- }
-
- public void onSuccess(final InitDataDTO initData) {
- session.setInitData(initData);
- session.setCurrentUserInfo(initData.getUserInfo());
- Scheduler.get().scheduleDeferred(new ScheduledCommand() {
- public void execute() {
- RootPanel.get("kuneinitialcurtain").setVisible(false);
- RootPanel.get("kuneloading").setVisible(false);
- }
- });
- }
- });
- }
-
- private void stop(final ClosingEvent event) {
- onAppClosing.fire(event);
- }
-}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -21,9 +21,7 @@
import org.ourproject.kune.platf.client.actions.ui.BasicGuiBindings;
import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
-import org.ourproject.kune.platf.client.app.Application;
import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
-import org.ourproject.kune.platf.client.app.ApplicationDefault;
import org.ourproject.kune.platf.client.app.ToolGroup;
import org.ourproject.kune.platf.client.i18n.Resources;
import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
@@ -101,7 +99,6 @@
import cc.kune.core.client.errors.ErrorHandler;
import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.SiteServiceAsync;
import cc.kune.core.client.state.AccessRightsClientManager;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
@@ -178,12 +175,12 @@
//AsyncCallbackSimple.init(i(ErrorHandler.class));
- register(Singleton.class, new Factory<Application>(Application.class) {
- @Override
- public Application create() {
- return new ApplicationDefault(i(Session.class), i(SiteServiceAsync.class));
- }
- });
+// register(Singleton.class, new Factory<AppStarter>(AppStarter.class) {
+// @Override
+// public AppStarter create() {
+// return new AppStarterDefault(i(Session.class), i(SiteServiceAsync.class));
+// }
+// });
register(Singleton.class, new Factory<DeferredCommandWrapper>(DeferredCommandWrapper.class) {
@Override
@@ -474,7 +471,7 @@
});
i(ApplicationComponentGroup.class).createAll();
i(ToolGroup.class).createAll();
- i(Application.class).start();
+// i(AppStarter.class).start();
}
}
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,95 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.client.utils;
-
-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.RepeatingCommand;
-import com.google.gwt.user.client.ui.Image;
-
-public class PrefetchUtilities {
-
- public static void doTasksDeferred() {
-
- Scheduler.get().scheduleIncremental(new RepeatingCommand() {
- int i = 0;
- int j = 0;
-
- String[] lic = { "gnu-fdl.gif", "bynd80x15.png", "byncsa80x15.png", "byncnd80x15.png", "bync80x15.png",
- "by80x15.png", "fal-license.gif" };
-
- String[] ext = { "default/form/text-bg.gif", "default/form/trigger.gif", "default/form/date-trigger.gif",
- "gray/window/left-corners.png", "gray/button/btn-sprite.gif", "gray/window/top-bottom.png",
- "gray/window/right-corners.png", "gray/window/left-right.png", "default/sizer/s-handle.gif",
- "default/sizer/e-handle.gif", "default/sizer/ne-handle.gif", "default/sizer/se-handle.gif",
- "default/sizer/sw-handle.gif", "gray/panel/tool-sprites.gif", "default/sizer/nw-handle.gif",
- "gray/tabs/tabs-sprite.gif", "gray/tabs/tab-strip-bg.gif", "default/shadow.png",
- "default/shadow-lr.png", "default/shadow-c.png", "default/grid/invalid_line.gif",
- "default/form/exclamation.gif", "default/box/tb-blue.gif", "default/grid/loading.gif",
- "gray/toolbar/bg.gif", "default/grid/grid3-hrow.gif", "default/dd/drop-no.gif",
- "default/grid/col-move-top.gif", "default/grid/col-move-bottom.gif", "default/grid/row-over.gif",
- "default/grid/grid-split.gif", "default/grid/page-first-disabled.gif",
- "default/grid/page-last-disabled.gif", "default/grid/done.gif",
- "default/grid/page-prev-disabled.gif", "default/grid/done.gif",
- "default/grid/page-next-disabled.gif", "default/qtip/tip-sprite.gif",
- "default/grid/grid3-hrow-over.gif", "default/grid/grid3-hd-btn.gif",
- "gray/panel/white-top-bottom.gif", "gray/tabs/tab-close.gif", "gray/toolbar/btn-arrow.gif",
- "gray/toolbar/tb-btn-sprite.gif", "gray/panel/light-hd.gif" };
-
- public boolean execute() {
-
- while (i < lic.length) {
- final String licImg = lic[i];
- Image.prefetch("images/lic/" + licImg);
- i++;
- }
-
- while (j < ext.length) {
- final String extImg = ext[j];
- Image.prefetch("js/ext/resources/images/" + extImg);
- j++;
- }
-
- final boolean notFinished = i + j < lic.length + ext.length;
-
- final boolean finished = !notFinished;
-
- if (finished) {
- // In the future maybe: workspace.getLoginComponent()
- }
-
- return notFinished;
- }
- });
- }
-
- public static void preFetchImpImages() {
- final String[] imgs = { "images/spin-kune-thund-green.gif", "css/img/button-bg-hard.gif",
- "css/img/button-bg-soft.gif", "css/img/arrow-down-white.gif", "css/img/arrow-right-white.gif",
- "images/lic/bysa80x15.png", "images/nav/blog.png", "images/nav/download.png", "images/nav/film.png",
- "images/nav/folder.png", "images/nav/gallery.png", "images/nav/go.png", "images/nav/page_pdf.png",
- "images/nav/page.png", "images/nav/page_pps.png", "images/nav/page_text.png",
- "images/nav/page_word.png", "images/nav/page_zip.png", "images/nav/picture.png", "images/nav/post.png",
- "images/nav/refresh.png", "images/nav/room_add.png", "images/nav/room.png", "images/nav/upload.png",
- "images/nav/wikipage.png", "images/nav/wiki.png" };
- for (final String img : imgs) {
- Image.prefetch(img);
- }
- }
-}
Modified: trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
+ <inherits name="cc.kune.core.Core" />
<inherits name='org.ourproject.kune.platf.KunePlatform' />
<inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
<source path="client" />
Modified: trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
<module>
+ <inherits name="cc.kune.core.Core" />
<inherits name='org.ourproject.kune.platf.KunePlatform' />
<inherits name="org.ourproject.kune.chat.KuneChat" />
<inherits name="com.google.gwt.core.Core" />
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -169,8 +169,6 @@
import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel;
import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter;
import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPresenter;
import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLink;
import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPanel;
import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPresenter;
@@ -423,10 +421,12 @@
register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) {
@Override
public SiteLogo create() {
- final SiteLogoPresenter presenter = new SiteLogoPresenter(i(Session.class));
- final SiteLogoPanel panel = new SiteLogoPanel(presenter, i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
+ // final SiteLogoPresenter presenter = new
+ // SiteLogoPresenter(i(Session.class));
+ // final SiteLogoPanel panel = new SiteLogoPanel(presenter,
+ // i(WorkspaceSkeleton.class));
+ // presenter.init(panel);
+ return null;
}
});
@@ -958,24 +958,28 @@
// Register of tokens like "signin", "newgroup", "translate" etcetera
i(StateManager.class).addSiteToken(SiteToken.signin.toString(), new Listener0() {
+ @Override
public void onEvent() {
i(SignIn.class).doSignIn();
}
});
i(StateManager.class).addSiteToken(SiteToken.register.toString(), new Listener0() {
+ @Override
public void onEvent() {
i(Register.class).doRegister();
}
});
i(StateManager.class).addSiteToken(SiteToken.newgroup.toString(), new Listener0() {
+ @Override
public void onEvent() {
i(NewGroup.class).doNewGroup();
}
});
i(StateManager.class).addSiteToken(SiteToken.translate.toString(), new Listener0() {
+ @Override
public void onEvent() {
i(I18nTranslator.class).doShowTranslator();
}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,38 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 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
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.sitebar.sitelogo;
-
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.google.gwt.user.client.ui.Image;
-
-public class SiteLogoPanel implements SiteLogoView {
-
- private final Image siteLogoImg;
-
- public SiteLogoPanel(final SiteLogoPresenter presenter, final WorkspaceSkeleton ws) {
- siteLogoImg = new Image();
- ws.getSiteBar().add(siteLogoImg);
- }
-
- public void setSiteLogoUrl(final String siteLogoUrl) {
- siteLogoImg.setUrl(siteLogoUrl);
- }
-}
Modified: trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java 2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java 2010-12-19 02:58:53 UTC (rev 1170)
@@ -5,11 +5,9 @@
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
import org.ourproject.kune.workspace.client.site.SiteToken;
import cc.kune.core.client.actions.BeforeActionListener;
-import cc.kune.core.client.notify.SpinerPresenter;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateAbstractDTO;
@@ -17,6 +15,7 @@
import com.calclab.suco.testing.events.MockedListener0;
import com.calclab.suco.testing.events.MockedListener2;
import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.gwtplatform.mvp.client.EventBus;
public class StateManagerTest {
@@ -37,8 +36,8 @@
contentProvider = Mockito.mock(ContentProvider.class);
session = Mockito.mock(Session.class);
history = Mockito.mock(HistoryWrapper.class);
- final SpinerPresenter spiner = Mockito.mock(SpinerPresenter.class);
- stateManager = new StateManagerDefault(contentProvider, session, history, spiner);
+ final EventBus eventBus = Mockito.mock(EventBus.class);
+ stateManager = new StateManagerDefault(contentProvider, session, history, eventBus);
Mockito.when(session.getUserHash()).thenReturn(HASH);
state = Mockito.mock(StateAbstractDTO.class);
stateChangeListener = new MockedListener<StateAbstractDTO>();
@@ -49,7 +48,7 @@
stateManager.onStateChanged(stateChangeListener);
stateManager.onGroupChanged(groupChangeListener);
stateManager.onToolChanged(toolChangeListener);
- new NotifyUser(null, null);
+ // new NotifyUser(null, null);
}
@Test
1
0