[kune-commits] r1541 - in trunk: img img/webtemplate src/main/java/cc/kune src/main/java/cc/kune/client src/main/java/cc/kune/core/client/rpcservices src/main/java/cc/kune/core/server src/main/java/cc/kune/core/server/rpc src/main/java/cc/kune/core/server/stats src/main/java/cc/kune/core/shared/dto src/main/java/cc/kune/domain/finders src/main/java/cc/kune/hspace src/main/java/cc/kune/hspace/client src/main/resources src/test/java/cc/kune/core/server/integration
Vicente J. Ruiz Jurado
vjrj_ at ourproject.org
Mon Oct 3 14:31:05 CEST 2011
Author: vjrj_
Date: 2011-10-03 14:31:04 +0200 (Mon, 03 Oct 2011)
New Revision: 1541
Added:
trunk/src/main/java/cc/kune/core/server/rpc/StatsRPC.java
trunk/src/main/java/cc/kune/core/server/stats/
trunk/src/main/java/cc/kune/core/server/stats/HomeStats.java
trunk/src/main/java/cc/kune/core/server/stats/StatsService.java
trunk/src/main/java/cc/kune/core/server/stats/StatsServiceDefault.java
trunk/src/main/java/cc/kune/core/shared/dto/HomeStatsDTO.java
trunk/src/main/java/cc/kune/hspace/
trunk/src/main/java/cc/kune/hspace/HSpace.gwt.xml
trunk/src/main/java/cc/kune/hspace/client/
trunk/src/main/java/cc/kune/hspace/client/ClientStatsService.java
trunk/src/main/java/cc/kune/hspace/client/ClientStatsServiceAsync.java
trunk/src/main/java/cc/kune/hspace/client/HSpaceGinModule.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml
trunk/src/main/java/cc/kune/hspace/client/HSpaceParts.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java
Modified:
trunk/img/icons-base.svg
trunk/img/webtemplate/theme-palettes.svg
trunk/img/webtemplate/web_template-2011.svg
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/client/KuneEntryPoint.java
trunk/src/main/java/cc/kune/client/KuneGinjector.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SiteService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java
trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java
trunk/src/main/java/cc/kune/domain/finders/GroupFinder.java
trunk/src/main/java/cc/kune/domain/finders/UserFinder.java
trunk/src/main/resources/dozerBeanMapping.xml
Log:
NEW - # 132: Global public stats functions
http://kune.ourproject.org/issues/ticket/132
Modified: trunk/img/icons-base.svg
===================================================================
--- trunk/img/icons-base.svg 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/img/icons-base.svg 2011-10-03 12:31:04 UTC (rev 1541)
@@ -28,16 +28,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="5.4453125"
+ inkscape:zoom="1"
inkscape:cx="303.02471"
- inkscape:cy="213.02648"
+ inkscape:cy="775.23021"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1078"
inkscape:window-height="897"
inkscape:window-x="0"
inkscape:window-y="947"
- showgrid="true"
+ showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:grid-points="true"
@@ -1914,7 +1914,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>
@@ -4695,11 +4695,11 @@
<image
sodipodi:absref="/home/vjrj/proyectos/dev/kune/trunk/img/icons/lock_break.png"
xlink:href="icons/lock_break.png"
- y="450.82797"
- x="330.84604"
- id="image2972"
+ width="16"
height="16"
- width="16" />
+ id="image2972"
+ x="330.84604"
+ y="450.82797" />
<use
x="0"
y="0"
@@ -4790,12 +4790,12 @@
<image
sodipodi:absref="/home/vjrj/proyectos/dev/kune/trunk/img/icons/lock_break.png"
xlink:href="icons/lock_break.png"
- y="432.36218"
- x="-371"
- id="image3958"
- height="16"
+ transform="scale(-1,1)"
width="16"
- transform="scale(-1,1)" />
+ height="16"
+ id="image3958"
+ x="-371"
+ y="432.36218" />
<g
id="g3962"
transform="translate(-43.509019,-21.462476)">
@@ -5541,62 +5541,28 @@
y="761.23108"
x="235.11862"
id="image3658"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAXpJREFU
-OI2Nk7GOGjEQhn9veAbSXMRV0FEQcdfQ8BQ810lQ8EQooqOkIykQ27CIBS/rmflTsOuw5CAZaSR7
-rP/7x2PZkYRz7gXAVwBf8DxSAD9JWqyQBIDvRVFkIQQVEX6WRVFwOp1+AHgFkJC8aivAWwhB8zzn
-6XSKeTgcuN/vudvtKCLcbreczWYNCAA4AG8iQu89L5cLvff03vN4PDLLMqZpShHh+Xxmnuecz+cf
-AF5JwlWAoYj8UFUsFguUZYmyLBFCiDmZTBrDaLVa7wCWrdtikiQYjUZxNqoKVYWIIMsymBlEBO12
-+w/oFuCcw3K5RAgBIoKyLCEiEWRmGI/HzU7u32k4HDb2dSdmBlWth/4YsFqtICIN51poZvGKDwH9
-fv++FMX1+ilgvV7HwZlZbB0AzAyDweA5oNvtNpzuHe/jL8Bms4nOdd5Cer3eQwABuE6n89SxCqu6
-Y8Ir3lTV1wf/EqvqGYACgKu+8zdcv3PyP/aVOCX56zfInVxa8Hj31gAAAABJRU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAXpJREFU OI2Nk7GOGjEQhn9veAbSXMRV0FEQcdfQ8BQ810lQ8EQooqOkIykQ27CIBS/rmflTsOuw5CAZaSR7 rP/7x2PZkYRz7gXAVwBf8DxSAD9JWqyQBIDvRVFkIQQVEX6WRVFwOp1+AHgFkJC8aivAWwhB8zzn 6XSKeTgcuN/vudvtKCLcbreczWYNCAA4AG8iQu89L5cLvff03vN4PDLLMqZpShHh+Xxmnuecz+cf AF5JwlWAoYj8UFUsFguUZYmyLBFCiDmZTBrDaLVa7wCWrdtikiQYjUZxNqoKVYWIIMsymBlEBO12 +w/oFuCcw3K5RAgBIoKyLCEiEWRmGI/HzU7u32k4HDb2dSdmBlWth/4YsFqtICIN51poZvGKDwH9 fv++FMX1+ilgvV7HwZlZbB0AzAyDweA5oNvtNpzuHe/jL8Bms4nOdd5Cer3eQwABuE6n89SxCqu6 Y8Ir3lTV1wf/EqvqGYACgKu+8zdcv3PyP/aVOCX56zfInVxa8Hj31gAAAABJRU5ErkJggg== "
height="16"
width="16" />
<image
y="747.60388"
x="265.6059"
id="image3628"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAhVJREFU
-OI3Fk7tuE1EQhr85e7xeO15fSBxDHCfCSBEtz8ADUPMEtLwAPTUtHRIF6ZBAiqAIEikAQZ8iSAk2
-MVlfkniztvd6KGzCpU3BSKOZKebX/DP/iDGGq5i6UjegHz39uOsU3TsDP166mCUqM5BhSDNDZgyp
-MWTZvF64QdI4npwPOvsHB7peq7Qe3Nsqh7ERJ2/9hS7/5jKP0zCxpmG6dv9xOFPeOGlHSSbPd3t0
-BhFBaDgaZnRGGd2zjN55hucbBoEhTqE7jHjyqsdpECq33rqlgjCVfE7RvFHmzRePs4uYRlnIWWBb
-gq0FW0O1IAzHEdt7J1SvlVmu5gFETWYJAO3rJdYbZXY+e5z6MSslha3BtqDiCCM/YnvPY2W5TLtZ
-QhbHU8EsnW/TgvZaiXqtyIt3HUZ+RMURXEcY+hHP3naoVIq010oU9B9nDKbzCUQgiRMcnbHRrPL6
-k0d3MKM7mPHyg0erWcW1U5RJsPXvzepJmGKAKEo4Gfm0Gi62naM3cni/P0YBW60ajeUCwSyiN/BZ
-qbkYAxhBT8LEpJkRb+jTqrsUnBwYuLlaZGO1iACy0IYu2uhVl+P+mGm1ACYzOhh9PwyjZPP2ekFK
-BSWiUtSCkohcauCXDkCzWXOzwx9+NO53j3V00T+6+3CnlneXlnTeEq0tlCVYCpQSlF4AyCVtkyZR
-ND0/Hfa/dr7Jf3+mKwP8BP1J+XtVAGrrAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAhVJREFU OI3Fk7tuE1EQhr85e7xeO15fSBxDHCfCSBEtz8ADUPMEtLwAPTUtHRIF6ZBAiqAIEikAQZ8iSAk2 MVlfkniztvd6KGzCpU3BSKOZKebX/DP/iDGGq5i6UjegHz39uOsU3TsDP166mCUqM5BhSDNDZgyp MWTZvF64QdI4npwPOvsHB7peq7Qe3Nsqh7ERJ2/9hS7/5jKP0zCxpmG6dv9xOFPeOGlHSSbPd3t0 BhFBaDgaZnRGGd2zjN55hucbBoEhTqE7jHjyqsdpECq33rqlgjCVfE7RvFHmzRePs4uYRlnIWWBb gq0FW0O1IAzHEdt7J1SvlVmu5gFETWYJAO3rJdYbZXY+e5z6MSslha3BtqDiCCM/YnvPY2W5TLtZ QhbHU8EsnW/TgvZaiXqtyIt3HUZ+RMURXEcY+hHP3naoVIq010oU9B9nDKbzCUQgiRMcnbHRrPL6 k0d3MKM7mPHyg0erWcW1U5RJsPXvzepJmGKAKEo4Gfm0Gi62naM3cni/P0YBW60ajeUCwSyiN/BZ qbkYAxhBT8LEpJkRb+jTqrsUnBwYuLlaZGO1iACy0IYu2uhVl+P+mGm1ACYzOhh9PwyjZPP2ekFK BSWiUtSCkohcauCXDkCzWXOzwx9+NO53j3V00T+6+3CnlneXlnTeEq0tlCVYCpQSlF4AyCVtkyZR ND0/Hfa/dr7Jf3+mKwP8BP1J+XtVAGrrAAAAAElFTkSuQmCC "
height="16"
width="16" />
<image
y="749.65729"
x="265.74442"
id="image3725"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAVRJREFU
-OI2Vk7FqAkEQhr+5XbQULLQLSZvGKuZ9xOIqXyWIFlelVPIcgpAyT2CSRmIhCAHN7ZhJEU9Os8Zk
-YdiF2f3/b2Z3BbgAmoDwcyyAVzP7jOT24ybP8w9VtSJCCLZer20wGPSBK8CZGbEQoK2qjyEEZrMZ
-8/mcEAK1Wo0QAqPR6CHLsjHwdIqmraq22WxsMplYnuf2HxpfqCRJsp9jNK1Wq5emaTPLsrGIHNC0
-C6fpdGq/0RS54XDYBy6BxJdrEZEojaqiqoQQqNfrdDqdnveeNE3vkti1iAjOuYO1c25vUKlU6Ha7
-PaARFSjTOOdIkgTnHNVqldVqxXK53O87KMHMztKICKoaFyhcT4kU+fI+Dyy897d8P+VrVb2P0RTu
-ZSEAb2bPIvLC0V+I0ZT7clCCfduZiLydozkWPm7in2m22+07sJVY53eHLoFGNLnTABZfqoEJ24bE
-i/YAAAAASUVORK5CYII=
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAVRJREFU OI2Vk7FqAkEQhr+5XbQULLQLSZvGKuZ9xOIqXyWIFlelVPIcgpAyT2CSRmIhCAHN7ZhJEU9Os8Zk YdiF2f3/b2Z3BbgAmoDwcyyAVzP7jOT24ybP8w9VtSJCCLZer20wGPSBK8CZGbEQoK2qjyEEZrMZ 8/mcEAK1Wo0QAqPR6CHLsjHwdIqmraq22WxsMplYnuf2HxpfqCRJsp9jNK1Wq5emaTPLsrGIHNC0 C6fpdGq/0RS54XDYBy6BxJdrEZEojaqiqoQQqNfrdDqdnveeNE3vkti1iAjOuYO1c25vUKlU6Ha7 PaARFSjTOOdIkgTnHNVqldVqxXK53O87KMHMztKICKoaFyhcT4kU+fI+Dyy897d8P+VrVb2P0RTu ZSEAb2bPIvLC0V+I0ZT7clCCfduZiLydozkWPm7in2m22+07sJVY53eHLoFGNLnTABZfqoEJ24bE i/YAAAAASUVORK5CYII= "
height="16"
width="16" />
<image
y="-787.57947"
x="-342.35602"
id="image3857"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAUNJREFU
-OI2lk89qAjEQh79klZ56EuylB0+CXgutz+ET+ADSx+i1CILP1BcQvHr0tIfgrskk00Ob7XaxtX8C
-w8yEzG8+ZohRVf5z7L+qgV47McaYSwXaQTbALXADFD9segD2qpryxV1d12UIIYqIfmd1Xet6vV4B
-I8CqKj2gKIri2ntvY4yoKv1+n0wqIqSU8N4zGAyYz+ePAMvl8tkYswe4z+pVVWlVVXo6nZrYOadl
-WerhcFAR0ePxqM453Ww2K2Bk3gVeYozsdjtCCFhr88BQVWKMeO+ZzWafN9DrPTRbsNYynU67EyfG
-2FhZlqSUEBGGw+GbSLMOY9hut+fWRoyRlFLjx+PxB0X7cZegLZIF8qDPCpwjyCel1AhNJpPfEWSK
-tv2JIAu1G10k6P7Wbm4Wi8WTc+5KRPjKQgiNz7GIoKqnV4ZMMuP74A8FAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAUNJREFU OI2lk89qAjEQh79klZ56EuylB0+CXgutz+ET+ADSx+i1CILP1BcQvHr0tIfgrskk00Ob7XaxtX8C w8yEzG8+ZohRVf5z7L+qgV47McaYSwXaQTbALXADFD9segD2qpryxV1d12UIIYqIfmd1Xet6vV4B I8CqKj2gKIri2ntvY4yoKv1+n0wqIqSU8N4zGAyYz+ePAMvl8tkYswe4z+pVVWlVVXo6nZrYOadl WerhcFAR0ePxqM453Ww2K2Bk3gVeYozsdjtCCFhr88BQVWKMeO+ZzWafN9DrPTRbsNYynU67EyfG 2FhZlqSUEBGGw+GbSLMOY9hut+fWRoyRlFLjx+PxB0X7cZegLZIF8qDPCpwjyCel1AhNJpPfEWSK tv2JIAu1G10k6P7Wbm4Wi8WTc+5KRPjKQgiNz7GIoKqnV4ZMMuP74A8FAAAAAElFTkSuQmCC "
height="16"
width="16"
transform="scale(-1,-1)" />
@@ -5604,29 +5570,13 @@
y="771.07178"
x="267.13602"
id="image3790"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAVZJREFU
-OI2FkbFuwjAQhr9zLNgYGNqtYu5e+j6IgamvUlViYOqz8BLsbScUJBBQhTS+9DqUpE6IykmWLfvu
-8/3/CXAH3ALCZaTAh5l9d7zV8VAUxZeqWrzyPLf5fP4CjABnZnQtgLGq2ul0suPxaLvdztI0NVW1
-LMtssVi8AKOrgDzPLcsyOxwOttls6k5CCAY8Au4sU2KAr3QkSVLv/X6f1WrFer1mMBgA3J/TDEBE
-Gt6M49+qTpbLpRVFYde8qTs4k+tOnHM45wghoKqoKiEEhsMhk8nkyXvPbDZ7du2RiAgignOuAU2S
-BJHfSfd6PabT6RNwcwGIIZUnzrnam/1+z3a7rXMbEqqxVJC2rAqsqt2AqqjrHEuI3zyQeu8f2yqA
-e1V9bcuKQQDezN5E5L0DcBGxLw0JFov/S6zvurxpAK5FuwigLMtPoJTW53HRCLj5h1sC6Q9MlgFW
-OwAOYwAAAABJRU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAVZJREFU OI2FkbFuwjAQhr9zLNgYGNqtYu5e+j6IgamvUlViYOqz8BLsbScUJBBQhTS+9DqUpE6IykmWLfvu 8/3/CXAH3ALCZaTAh5l9d7zV8VAUxZeqWrzyPLf5fP4CjABnZnQtgLGq2ul0suPxaLvdztI0NVW1 LMtssVi8AKOrgDzPLcsyOxwOttls6k5CCAY8Au4sU2KAr3QkSVLv/X6f1WrFer1mMBgA3J/TDEBE Gt6M49+qTpbLpRVFYde8qTs4k+tOnHM45wghoKqoKiEEhsMhk8nkyXvPbDZ7du2RiAgignOuAU2S BJHfSfd6PabT6RNwcwGIIZUnzrnam/1+z3a7rXMbEqqxVJC2rAqsqt2AqqjrHEuI3zyQeu8f2yqA e1V9bcuKQQDezN5E5L0DcBGxLw0JFov/S6zvurxpAK5FuwigLMtPoJTW53HRCLj5h1sC6Q9MlgFW OwAOYwAAAABJRU5ErkJggg== "
height="16"
width="16" />
<image
width="16"
height="16"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAXpJREFU
-OI2Nk7GOGjEQhn9veAbSXMRV0FEQcdfQ8BQ810lQ8EQooqOkIykQ27CIBS/rmflTsOuw5CAZaSR7
-rP/7x2PZkYRz7gXAVwBf8DxSAD9JWqyQBIDvRVFkIQQVEX6WRVFwOp1+AHgFkJC8aivAWwhB8zzn
-6XSKeTgcuN/vudvtKCLcbreczWYNCAA4AG8iQu89L5cLvff03vN4PDLLMqZpShHh+Xxmnuecz+cf
-AF5JwlWAoYj8UFUsFguUZYmyLBFCiDmZTBrDaLVa7wCWrdtikiQYjUZxNqoKVYWIIMsymBlEBO12
-+w/oFuCcw3K5RAgBIoKyLCEiEWRmGI/HzU7u32k4HDb2dSdmBlWth/4YsFqtICIN51poZvGKDwH9
-fv++FMX1+ilgvV7HwZlZbB0AzAyDweA5oNvtNpzuHe/jL8Bms4nOdd5Cer3eQwABuE6n89SxCqu6
-Y8Ir3lTV1wf/EqvqGYACgKu+8zdcv3PyP/aVOCX56zfInVxa8Hj31gAAAABJRU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAXpJREFU OI2Nk7GOGjEQhn9veAbSXMRV0FEQcdfQ8BQ810lQ8EQooqOkIykQ27CIBS/rmflTsOuw5CAZaSR7 rP/7x2PZkYRz7gXAVwBf8DxSAD9JWqyQBIDvRVFkIQQVEX6WRVFwOp1+AHgFkJC8aivAWwhB8zzn 6XSKeTgcuN/vudvtKCLcbreczWYNCAA4AG8iQu89L5cLvff03vN4PDLLMqZpShHh+Xxmnuecz+cf AF5JwlWAoYj8UFUsFguUZYmyLBFCiDmZTBrDaLVa7wCWrdtikiQYjUZxNqoKVYWIIMsymBlEBO12 +w/oFuCcw3K5RAgBIoKyLCEiEWRmGI/HzU7u32k4HDb2dSdmBlWth/4YsFqtICIN51poZvGKDwH9 fv++FMX1+ilgvV7HwZlZbB0AzAyDweA5oNvtNpzuHe/jL8Bms4nOdd5Cer3eQwABuE6n89SxCqu6 Y8Ir3lTV1wf/EqvqGYACgKu+8zdcv3PyP/aVOCX56zfInVxa8Hj31gAAAABJRU5ErkJggg== "
id="image3860"
x="281"
y="-814.36218"
@@ -5634,15 +5584,7 @@
<image
width="16"
height="16"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAVRJREFU
-OI2Vk7FqAkEQhr+5XbQULLQLSZvGKuZ9xOIqXyWIFlelVPIcgpAyT2CSRmIhCAHN7ZhJEU9Os8Zk
-YdiF2f3/b2Z3BbgAmoDwcyyAVzP7jOT24ybP8w9VtSJCCLZer20wGPSBK8CZGbEQoK2qjyEEZrMZ
-8/mcEAK1Wo0QAqPR6CHLsjHwdIqmraq22WxsMplYnuf2HxpfqCRJsp9jNK1Wq5emaTPLsrGIHNC0
-C6fpdGq/0RS54XDYBy6BxJdrEZEojaqiqoQQqNfrdDqdnveeNE3vkti1iAjOuYO1c25vUKlU6Ha7
-PaARFSjTOOdIkgTnHNVqldVqxXK53O87KMHMztKICKoaFyhcT4kU+fI+Dyy897d8P+VrVb2P0RTu
-ZSEAb2bPIvLC0V+I0ZT7clCCfduZiLydozkWPm7in2m22+07sJVY53eHLoFGNLnTABZfqoEJ24bE
-i/YAAAAASUVORK5CYII=
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAVRJREFU OI2Vk7FqAkEQhr+5XbQULLQLSZvGKuZ9xOIqXyWIFlelVPIcgpAyT2CSRmIhCAHN7ZhJEU9Os8Zk YdiF2f3/b2Z3BbgAmoDwcyyAVzP7jOT24ybP8w9VtSJCCLZer20wGPSBK8CZGbEQoK2qjyEEZrMZ 8/mcEAK1Wo0QAqPR6CHLsjHwdIqmraq22WxsMplYnuf2HxpfqCRJsp9jNK1Wq5emaTPLsrGIHNC0 C6fpdGq/0RS54XDYBy6BxJdrEZEojaqiqoQQqNfrdDqdnveeNE3vkti1iAjOuYO1c25vUKlU6Ha7 PaARFSjTOOdIkgTnHNVqldVqxXK53O87KMHMztKICKoaFyhcT4kU+fI+Dyy897d8P+VrVb2P0RTu ZSEAb2bPIvLC0V+I0ZT7clCCfduZiLydozkWPm7in2m22+07sJVY53eHLoFGNLnTABZfqoEJ24bE i/YAAAAASUVORK5CYII= "
id="image3862"
x="253.74442"
y="789.65729" />
@@ -5661,30 +5603,14 @@
<image
width="16"
height="11"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAgNJREFU
-KJFdkrtuE1EQhr85e7zedby+kDiGOCbCSBEtz8ADUPMEtDwAD0BNSYlEQTokkCIogkSKCEGfIkgJ
-NjFZX5J4s7b3eihsEsRIo/mnGc3365fnrw72nJL3cBgkK1fzVOUGcgxZbsiNITOGPF/syzZIliTT
-y2H38OhIN+rV9tPH25UoMeIULf4t+V/LYs6i1JpF2caTF9Fc+ZO0E6e5vNnr0x3GhJHhZJTTHef0
-LnL6lzl+YBiGhiSD3ijm5fs+52GkvEb7vgqjTIoFRetOhY/ffS6uEpoVoWCBbQm2FmwNNVcYTWJ2
-9s+o3aqwWisCiJrOUwA6t8tsNivsfvM5DxLWygpbg21B1RHGQczOvs/aaoVOq4yYBZoK5xkA2oLO
-RplGvcTbz13GQUzVETxHGAUxrz91qVZLdDbKuPrGGxXOFh+IQJqkODrnbqvGh68+veGc3nDOuwOf
-dquGZ2cok2LrG2f1NMowQBynnI0D2k0P2y7QHzt8OZyggO12neaqSziP6Q8D1uoexgBG0NMoNVlu
-xB8FtBserlMAA/fWS9xdLyGALLOhSzZ63eN0MGFWc8HkRofjX8dRnG492HSl7CoRlaGWSCJynYG/
-OQDNVt3Lj38H8WTQO9Xx1eDk0bPdetFbWdFFS7S2UJZgKVBKUHp5QK6xTZbG8ezyfDT40f35B/6e
-83OfcJ+mAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAgNJREFU KJFdkrtuE1EQhr85e7zedby+kDiGOCbCSBEtz8ADUPMEtDwAD0BNSYlEQTokkCIogkSKCEGfIkgJ NjFZX5J4s7b3eihsEsRIo/mnGc3365fnrw72nJL3cBgkK1fzVOUGcgxZbsiNITOGPF/syzZIliTT y2H38OhIN+rV9tPH25UoMeIULf4t+V/LYs6i1JpF2caTF9Fc+ZO0E6e5vNnr0x3GhJHhZJTTHef0 LnL6lzl+YBiGhiSD3ijm5fs+52GkvEb7vgqjTIoFRetOhY/ffS6uEpoVoWCBbQm2FmwNNVcYTWJ2 9s+o3aqwWisCiJrOUwA6t8tsNivsfvM5DxLWygpbg21B1RHGQczOvs/aaoVOq4yYBZoK5xkA2oLO RplGvcTbz13GQUzVETxHGAUxrz91qVZLdDbKuPrGGxXOFh+IQJqkODrnbqvGh68+veGc3nDOuwOf dquGZ2cok2LrG2f1NMowQBynnI0D2k0P2y7QHzt8OZyggO12neaqSziP6Q8D1uoexgBG0NMoNVlu xB8FtBserlMAA/fWS9xdLyGALLOhSzZ63eN0MGFWc8HkRofjX8dRnG492HSl7CoRlaGWSCJynYG/ OQDNVt3Lj38H8WTQO9Xx1eDk0bPdetFbWdFFS7S2UJZgKVBKUHp5QK6xTZbG8ezyfDT40f35B/6e 83OfcJ+mAAAAAElFTkSuQmCC "
id="image4023"
x="301"
y="799.36218" />
<image
width="16"
height="9"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAABHNCSVQICAgIfAhkiAAAAMZJREFU
-KJGNkr2Kg2AQRc/niC5h+7BFsNPOwtoib553sLST7fYBsgjfHVP4g2sg2QsDw8A9d2AmMOsCfPF/
-CfgBvtNlcB7H8WZmH0DyxuyS7nmeX1dAABIzOwF0XUeMkRgjkraapgl3p23bJMuyT8CAkB7xdV0/
-Ra7mtd/rCdD3PZKIMeLuuDuS5t3daZrmNaAsyz9Jx8Sj9oAJCMMwbMlr7SFVVQH46kkXo0v6NbNT
-URQvEwEk3ZlPSVhmF+DM+xNuDJY/eACnnm1bpLVzVgAAAABJRU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAABHNCSVQICAgIfAhkiAAAAMZJREFU KJGNkr2Kg2AQRc/niC5h+7BFsNPOwtoib553sLST7fYBsgjfHVP4g2sg2QsDw8A9d2AmMOsCfPF/ CfgBvtNlcB7H8WZmH0DyxuyS7nmeX1dAABIzOwF0XUeMkRgjkraapgl3p23bJMuyT8CAkB7xdV0/ Ra7mtd/rCdD3PZKIMeLuuDuS5t3daZrmNaAsyz9Jx8Sj9oAJCMMwbMlr7SFVVQH46kkXo0v6NbNT URQvEwEk3ZlPSVhmF+DM+xNuDJY/eACnnm1bpLVzVgAAAABJRU5ErkJggg== "
id="image3993"
x="301"
y="805.36218" />
@@ -5706,30 +5632,14 @@
y="799.36218"
x="301"
id="image4035"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAgNJREFU
-KJFdkrtuE1EQhr85e7zedby+kDiGOCbCSBEtz8ADUPMEtDwAD0BNSYlEQTokkCIogkSKCEGfIkgJ
-NjFZX5J4s7b3eihsEsRIo/mnGc3365fnrw72nJL3cBgkK1fzVOUGcgxZbsiNITOGPF/syzZIliTT
-y2H38OhIN+rV9tPH25UoMeIULf4t+V/LYs6i1JpF2caTF9Fc+ZO0E6e5vNnr0x3GhJHhZJTTHef0
-LnL6lzl+YBiGhiSD3ijm5fs+52GkvEb7vgqjTIoFRetOhY/ffS6uEpoVoWCBbQm2FmwNNVcYTWJ2
-9s+o3aqwWisCiJrOUwA6t8tsNivsfvM5DxLWygpbg21B1RHGQczOvs/aaoVOq4yYBZoK5xkA2oLO
-RplGvcTbz13GQUzVETxHGAUxrz91qVZLdDbKuPrGGxXOFh+IQJqkODrnbqvGh68+veGc3nDOuwOf
-dquGZ2cok2LrG2f1NMowQBynnI0D2k0P2y7QHzt8OZyggO12neaqSziP6Q8D1uoexgBG0NMoNVlu
-xB8FtBserlMAA/fWS9xdLyGALLOhSzZ63eN0MGFWc8HkRofjX8dRnG492HSl7CoRlaGWSCJynYG/
-OQDNVt3Lj38H8WTQO9Xx1eDk0bPdetFbWdFFS7S2UJZgKVBKUHp5QK6xTZbG8ezyfDT40f35B/6e
-83OfcJ+mAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAgNJREFU KJFdkrtuE1EQhr85e7zedby+kDiGOCbCSBEtz8ADUPMEtDwAD0BNSYlEQTokkCIogkSKCEGfIkgJ NjFZX5J4s7b3eihsEsRIo/mnGc3365fnrw72nJL3cBgkK1fzVOUGcgxZbsiNITOGPF/syzZIliTT y2H38OhIN+rV9tPH25UoMeIULf4t+V/LYs6i1JpF2caTF9Fc+ZO0E6e5vNnr0x3GhJHhZJTTHef0 LnL6lzl+YBiGhiSD3ijm5fs+52GkvEb7vgqjTIoFRetOhY/ffS6uEpoVoWCBbQm2FmwNNVcYTWJ2 9s+o3aqwWisCiJrOUwA6t8tsNivsfvM5DxLWygpbg21B1RHGQczOvs/aaoVOq4yYBZoK5xkA2oLO RplGvcTbz13GQUzVETxHGAUxrz91qVZLdDbKuPrGGxXOFh+IQJqkODrnbqvGh68+veGc3nDOuwOf dquGZ2cok2LrG2f1NMowQBynnI0D2k0P2y7QHzt8OZyggO12neaqSziP6Q8D1uoexgBG0NMoNVlu xB8FtBserlMAA/fWS9xdLyGALLOhSzZ63eN0MGFWc8HkRofjX8dRnG492HSl7CoRlaGWSCJynYG/ OQDNVt3Lj38H8WTQO9Xx1eDk0bPdetFbWdFFS7S2UJZgKVBKUHp5QK6xTZbG8ezyfDT40f35B/6e 83OfcJ+mAAAAAElFTkSuQmCC "
height="11"
width="16" />
<image
y="805.36218"
x="301"
id="image4037"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAABHNCSVQICAgIfAhkiAAAAMZJREFU
-KJGNkr2Kg2AQRc/niC5h+7BFsNPOwtoib553sLST7fYBsgjfHVP4g2sg2QsDw8A9d2AmMOsCfPF/
-CfgBvtNlcB7H8WZmH0DyxuyS7nmeX1dAABIzOwF0XUeMkRgjkraapgl3p23bJMuyT8CAkB7xdV0/
-Ra7mtd/rCdD3PZKIMeLuuDuS5t3daZrmNaAsyz9Jx8Sj9oAJCMMwbMlr7SFVVQH46kkXo0v6NbNT
-URQvEwEk3ZlPSVhmF+DM+xNuDJY/eACnnm1bpLVzVgAAAABJRU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAABHNCSVQICAgIfAhkiAAAAMZJREFU KJGNkr2Kg2AQRc/niC5h+7BFsNPOwtoib553sLST7fYBsgjfHVP4g2sg2QsDw8A9d2AmMOsCfPF/ CfgBvtNlcB7H8WZmH0DyxuyS7nmeX1dAABIzOwF0XUeMkRgjkraapgl3p23bJMuyT8CAkB7xdV0/ Ra7mtd/rCdD3PZKIMeLuuDuS5t3daZrmNaAsyz9Jx8Sj9oAJCMMwbMlr7SFVVQH46kkXo0v6NbNT URQvEwEk3ZlPSVhmF+DM+xNuDJY/eACnnm1bpLVzVgAAAABJRU5ErkJggg== "
height="9"
width="16" />
</g>
@@ -5744,21 +5654,7 @@
y="836.36218"
x="300"
id="image4103"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAqNJREFU
-OI2FkU9oXGUUxX/3e997M5PM2LQlatJMps3CFrqorioUxFKXQkERcas7NxZcqMuKFZRsXNisrBux
-lKBFNCIq6qIbDf5BKKaWtEkmRpMxkzj/3sx73/uui0mCQwNeuJvDufeec66oKvvVe1+tnbWh/SYQ
-IUndC88/MXZlX6Kq3tNvzS5emr2xrkvrXV2r93Ru/m99e/bO1f249wCvf3j7u8/nN7QRe+051dSp
-dlOvN27W9eIHt+9OX18Z/y9fdi28O1d92Ih8f/r4SPTQkWEQodnNADhQMFgDy7UuX/+yxXbHPfXa
-05PXgf6Cdz5ZefnwgWj65t3ari+8glfFOU/iPIdKIa3YocDpkxMsrMYzF5+rvMjlz6rZ3Pym/rnt
-9NUrv+r/1YWZH7URe/3y5y1949pyZtO4VT13arzSSxXv+3ZmfhsMeqGWstrI+OjJPF5BNCPutPj2
-px9W7EbDTSbOc+nqrb2BZycSREAVXOaJDzlasQPyVNfbvPL+Ai+dn6Q0Wq6Ydi+TXGg480gZkb4C
-ERAgMBAGhnwUkI8CVKE4FHHyeJnDIzkAMZ2uA2DqwSJnTh3j8qeLCICAiBAEQhQGDOUsb177nbOP
-nmDqSJGdW9j2zqtsAFPjRXJByvTHdwgDGcghccr5x44SZ+EAbtux25PtUkeSKs88fgwbDhJdmnJr
-tcHY6H3Y0PZBAdPpZSiQJI71epPyAyWiaHAYwIYhR8dK1LebeOdQBVSwnZ7TzKtsbDYpj5Yo5ENQ
-UCDrH0EUPIodirD3l1irNYhHCqBebbv+x1IvcZUTEwUpFoyIyTC7nxDZVboXLFgqB0t+6a9m0qit
-rtmkVVs+d+GLg7nS8LDNBWJtgAmEwIAxgrE7C2TPtmYuSeJ/tjZri9WVfwH1K4zAd92YdQAAAABJ
-RU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAqNJREFU OI2FkU9oXGUUxX/3e997M5PM2LQlatJMps3CFrqorioUxFKXQkERcas7NxZcqMuKFZRsXNisrBux lKBFNCIq6qIbDf5BKKaWtEkmRpMxkzj/3sx73/uui0mCQwNeuJvDufeec66oKvvVe1+tnbWh/SYQ IUndC88/MXZlX6Kq3tNvzS5emr2xrkvrXV2r93Ru/m99e/bO1f249wCvf3j7u8/nN7QRe+051dSp dlOvN27W9eIHt+9OX18Z/y9fdi28O1d92Ih8f/r4SPTQkWEQodnNADhQMFgDy7UuX/+yxXbHPfXa 05PXgf6Cdz5ZefnwgWj65t3ari+8glfFOU/iPIdKIa3YocDpkxMsrMYzF5+rvMjlz6rZ3Pym/rnt 9NUrv+r/1YWZH7URe/3y5y1949pyZtO4VT13arzSSxXv+3ZmfhsMeqGWstrI+OjJPF5BNCPutPj2 px9W7EbDTSbOc+nqrb2BZycSREAVXOaJDzlasQPyVNfbvPL+Ai+dn6Q0Wq6Ydi+TXGg480gZkb4C ERAgMBAGhnwUkI8CVKE4FHHyeJnDIzkAMZ2uA2DqwSJnTh3j8qeLCICAiBAEQhQGDOUsb177nbOP nmDqSJGdW9j2zqtsAFPjRXJByvTHdwgDGcghccr5x44SZ+EAbtux25PtUkeSKs88fgwbDhJdmnJr tcHY6H3Y0PZBAdPpZSiQJI71epPyAyWiaHAYwIYhR8dK1LebeOdQBVSwnZ7TzKtsbDYpj5Yo5ENQ UCDrH0EUPIodirD3l1irNYhHCqBebbv+x1IvcZUTEwUpFoyIyTC7nxDZVboXLFgqB0t+6a9m0qit rtmkVVs+d+GLg7nS8LDNBWJtgAmEwIAxgrE7C2TPtmYuSeJ/tjZri9WVfwH1K4zAd92YdQAAAABJ RU5ErkJggg== "
height="16"
width="16"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/core/client/resources/nav/email.png"
@@ -5767,21 +5663,7 @@
<image
width="16"
height="16"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAqNJREFU
-OI2FkU9oXGUUxX/3e997M5PM2LQlatJMps3CFrqorioUxFKXQkERcas7NxZcqMuKFZRsXNisrBux
-lKBFNCIq6qIbDf5BKKaWtEkmRpMxkzj/3sx73/uui0mCQwNeuJvDufeec66oKvvVe1+tnbWh/SYQ
-IUndC88/MXZlX6Kq3tNvzS5emr2xrkvrXV2r93Ru/m99e/bO1f249wCvf3j7u8/nN7QRe+051dSp
-dlOvN27W9eIHt+9OX18Z/y9fdi28O1d92Ih8f/r4SPTQkWEQodnNADhQMFgDy7UuX/+yxXbHPfXa
-05PXgf6Cdz5ZefnwgWj65t3ari+8glfFOU/iPIdKIa3YocDpkxMsrMYzF5+rvMjlz6rZ3Pym/rnt
-9NUrv+r/1YWZH7URe/3y5y1949pyZtO4VT13arzSSxXv+3ZmfhsMeqGWstrI+OjJPF5BNCPutPj2
-px9W7EbDTSbOc+nqrb2BZycSREAVXOaJDzlasQPyVNfbvPL+Ai+dn6Q0Wq6Ydi+TXGg480gZkb4C
-ERAgMBAGhnwUkI8CVKE4FHHyeJnDIzkAMZ2uA2DqwSJnTh3j8qeLCICAiBAEQhQGDOUsb177nbOP
-nmDqSJGdW9j2zqtsAFPjRXJByvTHdwgDGcghccr5x44SZ+EAbtux25PtUkeSKs88fgwbDhJdmnJr
-tcHY6H3Y0PZBAdPpZSiQJI71epPyAyWiaHAYwIYhR8dK1LebeOdQBVSwnZ7TzKtsbDYpj5Yo5ENQ
-UCDrH0EUPIodirD3l1irNYhHCqBebbv+x1IvcZUTEwUpFoyIyTC7nxDZVboXLFgqB0t+6a9m0qit
-rtmkVVs+d+GLg7nS8LDNBWJtgAmEwIAxgrE7C2TPtmYuSeJ/tjZri9WVfwH1K4zAd92YdQAAAABJ
-RU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAqNJREFU OI2FkU9oXGUUxX/3e997M5PM2LQlatJMps3CFrqorioUxFKXQkERcas7NxZcqMuKFZRsXNisrBux lKBFNCIq6qIbDf5BKKaWtEkmRpMxkzj/3sx73/uui0mCQwNeuJvDufeec66oKvvVe1+tnbWh/SYQ IUndC88/MXZlX6Kq3tNvzS5emr2xrkvrXV2r93Ru/m99e/bO1f249wCvf3j7u8/nN7QRe+051dSp dlOvN27W9eIHt+9OX18Z/y9fdi28O1d92Ih8f/r4SPTQkWEQodnNADhQMFgDy7UuX/+yxXbHPfXa 05PXgf6Cdz5ZefnwgWj65t3ari+8glfFOU/iPIdKIa3YocDpkxMsrMYzF5+rvMjlz6rZ3Pym/rnt 9NUrv+r/1YWZH7URe/3y5y1949pyZtO4VT13arzSSxXv+3ZmfhsMeqGWstrI+OjJPF5BNCPutPj2 px9W7EbDTSbOc+nqrb2BZycSREAVXOaJDzlasQPyVNfbvPL+Ai+dn6Q0Wq6Ydi+TXGg480gZkb4C ERAgMBAGhnwUkI8CVKE4FHHyeJnDIzkAMZ2uA2DqwSJnTh3j8qeLCICAiBAEQhQGDOUsb177nbOP nmDqSJGdW9j2zqtsAFPjRXJByvTHdwgDGcghccr5x44SZ+EAbtux25PtUkeSKs88fgwbDhJdmnJr tcHY6H3Y0PZBAdPpZSiQJI71epPyAyWiaHAYwIYhR8dK1LebeOdQBVSwnZ7TzKtsbDYpj5Yo5ENQ UCDrH0EUPIodirD3l1irNYhHCqBebbv+x1IvcZUTEwUpFoyIyTC7nxDZVboXLFgqB0t+6a9m0qit rtmkVVs+d+GLg7nS8LDNBWJtgAmEwIAxgrE7C2TPtmYuSeJ/tjZri9WVfwH1K4zAd92YdQAAAABJ RU5ErkJggg== "
id="image4106"
x="300"
y="856.36218"
@@ -5809,30 +5691,14 @@
y="799.36218"
x="301"
id="image4114"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAgNJREFU
-KJFdkrtuE1EQhr85e7zedby+kDiGOCbCSBEtz8ADUPMEtDwAD0BNSYlEQTokkCIogkSKCEGfIkgJ
-NjFZX5J4s7b3eihsEsRIo/mnGc3365fnrw72nJL3cBgkK1fzVOUGcgxZbsiNITOGPF/syzZIliTT
-y2H38OhIN+rV9tPH25UoMeIULf4t+V/LYs6i1JpF2caTF9Fc+ZO0E6e5vNnr0x3GhJHhZJTTHef0
-LnL6lzl+YBiGhiSD3ijm5fs+52GkvEb7vgqjTIoFRetOhY/ffS6uEpoVoWCBbQm2FmwNNVcYTWJ2
-9s+o3aqwWisCiJrOUwA6t8tsNivsfvM5DxLWygpbg21B1RHGQczOvs/aaoVOq4yYBZoK5xkA2oLO
-RplGvcTbz13GQUzVETxHGAUxrz91qVZLdDbKuPrGGxXOFh+IQJqkODrnbqvGh68+veGc3nDOuwOf
-dquGZ2cok2LrG2f1NMowQBynnI0D2k0P2y7QHzt8OZyggO12neaqSziP6Q8D1uoexgBG0NMoNVlu
-xB8FtBserlMAA/fWS9xdLyGALLOhSzZ63eN0MGFWc8HkRofjX8dRnG492HSl7CoRlaGWSCJynYG/
-OQDNVt3Lj38H8WTQO9Xx1eDk0bPdetFbWdFFS7S2UJZgKVBKUHp5QK6xTZbG8ezyfDT40f35B/6e
-83OfcJ+mAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAgNJREFU KJFdkrtuE1EQhr85e7zedby+kDiGOCbCSBEtz8ADUPMEtDwAD0BNSYlEQTokkCIogkSKCEGfIkgJ NjFZX5J4s7b3eihsEsRIo/mnGc3365fnrw72nJL3cBgkK1fzVOUGcgxZbsiNITOGPF/syzZIliTT y2H38OhIN+rV9tPH25UoMeIULf4t+V/LYs6i1JpF2caTF9Fc+ZO0E6e5vNnr0x3GhJHhZJTTHef0 LnL6lzl+YBiGhiSD3ijm5fs+52GkvEb7vgqjTIoFRetOhY/ffS6uEpoVoWCBbQm2FmwNNVcYTWJ2 9s+o3aqwWisCiJrOUwA6t8tsNivsfvM5DxLWygpbg21B1RHGQczOvs/aaoVOq4yYBZoK5xkA2oLO RplGvcTbz13GQUzVETxHGAUxrz91qVZLdDbKuPrGGxXOFh+IQJqkODrnbqvGh68+veGc3nDOuwOf dquGZ2cok2LrG2f1NMowQBynnI0D2k0P2y7QHzt8OZyggO12neaqSziP6Q8D1uoexgBG0NMoNVlu xB8FtBserlMAA/fWS9xdLyGALLOhSzZ63eN0MGFWc8HkRofjX8dRnG492HSl7CoRlaGWSCJynYG/ OQDNVt3Lj38H8WTQO9Xx1eDk0bPdetFbWdFFS7S2UJZgKVBKUHp5QK6xTZbG8ezyfDT40f35B/6e 83OfcJ+mAAAAAElFTkSuQmCC "
height="11"
width="16" />
<image
y="805.36218"
x="301"
id="image4116"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAABHNCSVQICAgIfAhkiAAAAMZJREFU
-KJGNkr2Kg2AQRc/niC5h+7BFsNPOwtoib553sLST7fYBsgjfHVP4g2sg2QsDw8A9d2AmMOsCfPF/
-CfgBvtNlcB7H8WZmH0DyxuyS7nmeX1dAABIzOwF0XUeMkRgjkraapgl3p23bJMuyT8CAkB7xdV0/
-Ra7mtd/rCdD3PZKIMeLuuDuS5t3daZrmNaAsyz9Jx8Sj9oAJCMMwbMlr7SFVVQH46kkXo0v6NbNT
-URQvEwEk3ZlPSVhmF+DM+xNuDJY/eACnnm1bpLVzVgAAAABJRU5ErkJggg==
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAABHNCSVQICAgIfAhkiAAAAMZJREFU KJGNkr2Kg2AQRc/niC5h+7BFsNPOwtoib553sLST7fYBsgjfHVP4g2sg2QsDw8A9d2AmMOsCfPF/ CfgBvtNlcB7H8WZmH0DyxuyS7nmeX1dAABIzOwF0XUeMkRgjkraapgl3p23bJMuyT8CAkB7xdV0/ Ra7mtd/rCdD3PZKIMeLuuDuS5t3daZrmNaAsyz9Jx8Sj9oAJCMMwbMlr7SFVVQH46kkXo0v6NbNT URQvEwEk3ZlPSVhmF+DM+xNuDJY/eACnnm1bpLVzVgAAAABJRU5ErkJggg== "
height="9"
width="16" />
</g>
Modified: trunk/img/webtemplate/theme-palettes.svg
===================================================================
--- trunk/img/webtemplate/theme-palettes.svg 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/img/webtemplate/theme-palettes.svg 2011-10-03 12:31:04 UTC (rev 1541)
@@ -27,7 +27,7 @@
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="346.17698"
- inkscape:cy="-246.02205"
+ inkscape:cy="-314.02205"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
@@ -2319,5 +2319,152 @@
x="560.34814"
id="tspan4233"
sodipodi:role="line">lorem </tspan></text>
+ <rect
+ style="color:#000000;fill:#b8d0e1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect7236"
+ width="150"
+ height="40"
+ x="24"
+ y="1205.3622" />
+ <rect
+ y="1245.3622"
+ x="24"
+ height="40"
+ width="150"
+ id="rect7238"
+ style="color:#000000;fill:#dfe9f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect7240"
+ width="150"
+ height="40"
+ x="24"
+ y="1285.3622" />
+ <rect
+ y="1325.3622"
+ x="24"
+ height="40"
+ width="150"
+ id="rect7242"
+ style="color:#000000;fill:#e0eaf2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="38"
+ y="1230.3622"
+ id="text7244"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan7246"
+ x="38"
+ y="1230.3622">lorem </tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text7248"
+ y="1270.3622"
+ x="38"
+ style="font-size:18px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ y="1270.3622"
+ x="38"
+ id="tspan7250"
+ sodipodi:role="line">lorem </tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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:#ffffff;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:1.40678155;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="38"
+ y="1310.3622"
+ id="text7252"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan7254"
+ x="38"
+ y="1310.3622"><tspan
+ style="font-weight:bold;-inkscape-font-specification:Ubuntu Bold"
+ id="tspan7256">lorem </tspan></tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text7258"
+ y="1350.3622"
+ x="38"
+ style="font-size:18px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ y="1350.3622"
+ x="38"
+ id="tspan7260"
+ sodipodi:role="line"
+ style="font-weight:bold;-inkscape-font-specification:Ubuntu Bold;fill:#181870;fill-opacity:1">lorem </tspan></text>
+ <rect
+ y="1205.3622"
+ x="177"
+ height="40"
+ width="150"
+ id="rect7262"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#b8d0e1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect7264"
+ width="150"
+ height="40"
+ x="177"
+ y="1245.3622" />
+ <rect
+ y="1285.3622"
+ x="177"
+ height="40"
+ width="150"
+ id="rect7266"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#dfe9f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect7268"
+ width="150"
+ height="40"
+ x="177"
+ y="1325.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="191"
+ y="1270.3622"
+ id="text7270"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan7272"
+ x="191"
+ y="1270.3622">lorem </tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text7274"
+ y="1312.3622"
+ x="190"
+ style="font-size:18px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ y="1312.3622"
+ x="190"
+ id="tspan7276"
+ sodipodi:role="line">lorem </tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="191"
+ y="1350.3622"
+ id="text7278"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan7280"
+ x="191"
+ y="1350.3622">lorem </tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text7282"
+ y="1234.3622"
+ x="189"
+ style="font-size:28px;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:#181870;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="1234.3622"
+ x="189"
+ id="tspan7284"
+ sodipodi:role="line">lorem </tspan></text>
</g>
</svg>
Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/img/webtemplate/web_template-2011.svg 2011-10-03 12:31:04 UTC (rev 1541)
@@ -78,17 +78,17 @@
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
- inkscape:zoom="2"
- inkscape:cx="509.97457"
- inkscape:cy="579.66806"
+ inkscape:zoom="0.16135477"
+ inkscape:cx="512"
+ inkscape:cy="384"
inkscape:current-layer="g8450"
inkscape:document-units="px"
showgrid="false"
- inkscape:window-width="1920"
- inkscape:window-height="984"
+ inkscape:window-width="1078"
+ inkscape:window-height="897"
inkscape:window-x="0"
- inkscape:window-y="21"
- inkscape:window-maximized="1"
+ inkscape:window-y="947"
+ inkscape:window-maximized="0"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
@@ -123,7 +123,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>
@@ -258,7 +258,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"
@@ -268,7 +268,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"
@@ -546,7 +546,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"
@@ -2177,7 +2177,7 @@
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(0.475,0,0,0.95,-21.570622,377.21335)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ d="m 110,32.362183 a 20,10 0 1 1 -40,0 20,10 0 1 1 40,0 z"
sodipodi:ry="10"
sodipodi:rx="20"
sodipodi:cy="32.362183"
@@ -2190,7 +2190,7 @@
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,8.0842525,364.37023)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="16.362183"
@@ -2209,14 +2209,14 @@
sodipodi:cy="16.362183"
sodipodi:rx="1"
sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,2.7154875,362.20909)" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,7.7663825,370.24449)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="16.362183"
@@ -2235,14 +2235,14 @@
sodipodi:cy="16.362183"
sodipodi:rx="1"
sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,2.2467045,371.75097)" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,-0.8112855,366.96948)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="16.362183"
@@ -3688,7 +3688,7 @@
id="text6270"
y="-1168.2301"
x="244.21739"
- style="font-size:22px;font-style:italic;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;opacity:0.82999997999999997;color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077561999999999px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Italic"
+ style="font-size:22px;font-style:italic;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;opacity:0.82999998;color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Italic"
xml:space="preserve"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
inkscape:export-xdpi="90"
@@ -3897,6 +3897,144 @@
id="tspan6481"
x="676.19073"
y="-1096.9503">wave this!</tspan></text>
+ <rect
+ style="opacity:0.97800024;color:#000000;fill:#ececec;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:1.70832396;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect5346"
+ width="212.09114"
+ height="34.230644"
+ x="-506.99774"
+ y="-13.367081"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="-498.22992"
+ y="10.527695"
+ id="text6256-6"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6258-9"
+ x="-498.22992"
+ y="10.527695"
+ style="font-weight:normal">item 2</tspan></text>
+ <rect
+ ry="0"
+ y="-47.367081"
+ x="-506.99774"
+ height="34.230644"
+ width="212.09114"
+ id="rect5350"
+ style="opacity:0.97800024;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:1.70832396;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ sodipodi:linespacing="100%"
+ id="text5356"
+ y="-25.472305"
+ x="-498.22992"
+ style="font-size:18px;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;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ style="font-weight:normal"
+ y="-25.472305"
+ x="-498.22992"
+ id="tspan5358"
+ sodipodi:role="line">item 1</tspan></text>
+ <rect
+ style="opacity:0.97800024;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#aa4400;stroke-width:1.99479878;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3983"
+ width="212.56139"
+ height="29.070845"
+ x="-506.18716"
+ y="28.154282"
+ ry="3.5237386" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ sodipodi:linespacing="100%"
+ id="text5368"
+ y="48.527695"
+ x="-498.22992"
+ style="font-size:18px;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;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ style="font-weight:normal;fill:#000000"
+ y="48.527695"
+ x="-498.22992"
+ id="tspan5370"
+ sodipodi:role="line">item 2</tspan></text>
+ <rect
+ ry="3.5237386"
+ y="29.154282"
+ x="-505.18716"
+ height="29.070845"
+ width="212.56139"
+ id="rect5384"
+ style="opacity:0.97800024;color:#000000;fill:none;stroke:#f2f2f2;stroke-width:1.99479878;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ sodipodi:linespacing="100%"
+ id="text5388"
+ y="145.52769"
+ x="-420.22992"
+ style="font-size:18px;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;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ style="font-weight:normal"
+ y="145.52769"
+ x="-420.22992"
+ id="tspan5390"
+ sodipodi:role="line">item 2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="-506.22992"
+ y="145.52769"
+ id="text5394"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan5396"
+ x="-506.22992"
+ y="145.52769"
+ style="font-weight:normal">item 1</tspan></text>
+ <rect
+ ry="3.5237386"
+ y="158.15428"
+ x="-506.18716"
+ height="29.070845"
+ width="212.56139"
+ id="rect5398"
+ style="opacity:0.97800024;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#aa4400;stroke-width:1.99479878;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;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;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="-498.22992"
+ y="178.52769"
+ id="text5400"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan5402"
+ x="-498.22992"
+ y="178.52769"
+ style="font-weight:normal;fill:#000000">item 2</tspan></text>
+ <rect
+ style="opacity:0.97800024;color:#000000;fill:none;stroke:#f2f2f2;stroke-width:1.99479878;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect5404"
+ width="212.56139"
+ height="29.070845"
+ x="-505.18716"
+ y="159.15428"
+ ry="3.5237386" />
</g>
<g
inkscape:groupmode="layer"
@@ -4485,7 +4623,7 @@
height="205.09827"
width="476.85486"
id="rect8452"
- style="opacity:1;color:#000000;fill:#653616;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#653616;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/confirmation.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
@@ -4605,19 +4743,20 @@
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" />
<path
- style="color:#000000;fill:#a05a2c;fill-opacity:0.94901961000000001;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 738 124 C 736.338 124 735 125.338 735 127 L 735 142 C 735 143.662 736.338 145 738 145 L 751 145 C 752.662 145 754 143.662 754 142 L 754 127 C 754 125.338 752.662 124 751 124 L 738 124 z "
+ style="color:#000000;fill:#a05a2c;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:1.40678155;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 738,124 c -1.662,0 -3,1.338 -3,3 l 0,15 c 0,1.662 1.338,3 3,3 l 13,0 c 1.662,0 3,-1.338 3,-3 l 0,-15 c 0,-1.662 -1.338,-3 -3,-3 l -13,0 z"
id="rect4000"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/confirmation.png"
inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
<rect
y="124"
x="742.76031"
height="21"
width="11.239679"
id="rect4002"
- style="color:#000000;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.40678155;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/confirmation.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
@@ -4625,30 +4764,60 @@
y="-71.70166"
x="737.84711"
id="image6818"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAoFJREFU
-OI2lkstPE3EQx+e3rtACTVrA0NKWAlKLbAjYQkMfQFYU8FWQQBoR43/hxZjwL3j1qCiUJkKitKUN
-oWjwFcSLB6Pd4gMjPjBd7G4X9vHzQNq0PA7GSebynZlPJvMdhDGG/wlir+AemDrl7JsyH9TcNRhs
-6hwKnDgU0Hkx6OjrbQh5usxLHecfmvJrXt8kZXdWz7e0VEe7hx9YszqZo/sC9jP99Y8ou16/S8VL
-7p5g17OFka9e3yTldNWEWzvMJkXBgAHHPJcDPcszfia3gaqs6Farw6DnBAnYjAhe2lLv7NYvdVwI
-nnW5LGG722zmRQUECYCyG4zFJHkDAABlj0jTcbKqKRP2X23uYQUJKRhDmYqEdSbFVdVqSzlBBgAE
-6bQgR2ffBebvDYxhDBjlu0DTcVJPCZGRUeo0K8hIUQBIAsGOjGFbVIBlBelJ6P10dGJwDGPABRvk
-Q441ZhavXGv2/uYl4LYl+MmKQCoyXo4kZmL3B4ezwwfaKGq+2RqsunpelOHTLx6YDQ5SvAgigZCu
-Qm1r750qcKcA4PZNNno8tRHzycrq1WQKOEECQ7kKEACk0jLUtZkoi1UXzv+THKD93ITNYTdGKm1a
-E/M9DYhAUFl8RHr++EOiooRQEALY4mWobTNRNVZtKAvJATQa9e1GR5XlB7sNBIFAryalp2FmlvmT
-oV7Or0V0KqQghHabEVKBohwtAGwJm0PxueQLo1YNhtIiaTGUmA0ff+N/Oz2yk/msGViJJaPlxaCs
-vV5PfGQ2+l/FRpP7XGjz3SmpM5oWMrz8Ze7uJX/+tWk6TirlmxNcJn1zJXSdyQ1hjAvS5ZpWw/g4
-sVc/LPf9wb/GX4vjPAuggBABAAAAAElFTkSuQmCC
-"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAoFJREFU OI2lkstPE3EQx+e3rtACTVrA0NKWAlKLbAjYQkMfQFYU8FWQQBoR43/hxZjwL3j1qCiUJkKitKUN oWjwFcSLB6Pd4gMjPjBd7G4X9vHzQNq0PA7GSebynZlPJvMdhDGG/wlir+AemDrl7JsyH9TcNRhs 6hwKnDgU0Hkx6OjrbQh5usxLHecfmvJrXt8kZXdWz7e0VEe7hx9YszqZo/sC9jP99Y8ou16/S8VL 7p5g17OFka9e3yTldNWEWzvMJkXBgAHHPJcDPcszfia3gaqs6Farw6DnBAnYjAhe2lLv7NYvdVwI nnW5LGG722zmRQUECYCyG4zFJHkDAABlj0jTcbKqKRP2X23uYQUJKRhDmYqEdSbFVdVqSzlBBgAE 6bQgR2ffBebvDYxhDBjlu0DTcVJPCZGRUeo0K8hIUQBIAsGOjGFbVIBlBelJ6P10dGJwDGPABRvk Q441ZhavXGv2/uYl4LYl+MmKQCoyXo4kZmL3B4ezwwfaKGq+2RqsunpelOHTLx6YDQ5SvAgigZCu Qm1r750qcKcA4PZNNno8tRHzycrq1WQKOEECQ7kKEACk0jLUtZkoi1UXzv+THKD93ITNYTdGKm1a E/M9DYhAUFl8RHr++EOiooRQEALY4mWobTNRNVZtKAvJATQa9e1GR5XlB7sNBIFAryalp2FmlvmT oV7Or0V0KqQghHabEVKBohwtAGwJm0PxueQLo1YNhtIiaTGUmA0ff+N/Oz2yk/msGViJJaPlxaCs vV5PfGQ2+l/FRpP7XGjz3SmpM5oWMrz8Ze7uJX/+tWk6TirlmxNcJn1zJXSdyQ1hjAvS5ZpWw/g4 sVc/LPf9wb/GX4vjPAuggBABAAAAAElFTkSuQmCC "
height="16"
width="16"
style="fill:#ffffff;stroke:#ffffff" />
<path
- style="color:#000000;fill:#181817;fill-opacity:1;fill-rule:nonzero;stroke:#181817;stroke-width:1.40678155000000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 741.5625 129.375 L 740.5 130.4375 L 744.125 134.0625 L 740.5 137.6875 L 741.5625 138.75 L 745.1875 135.125 L 748.8125 138.75 L 749.84375 137.6875 L 746.21875 134.0625 L 749.84375 130.4375 L 748.8125 129.375 L 745.1875 133 L 741.5625 129.375 z "
+ style="color:#000000;fill:#181817;fill-opacity:1;fill-rule:nonzero;stroke:#181817;stroke-width:1.40678155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 741.5625,129.375 -1.0625,1.0625 3.625,3.625 -3.625,3.625 1.0625,1.0625 3.625,-3.625 3.625,3.625 1.03125,-1.0625 -3.625,-3.625 3.625,-3.625 -1.03125,-1.0625 -3.625,3.625 -3.625,-3.625 z"
id="rect6837"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/confirmation.png"
inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <image
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlko qCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94V TUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpK tE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw 9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0Hgl WNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1V MzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8 w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9 XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVP C4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnj ahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQy u/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg== "
+ width="16"
+ height="16"
+ id="image2770"
+ x="-322.46912"
+ y="34.81517" />
+ <image
+ y="-5.1848292"
+ x="-322.46912"
+ id="image5348"
+ height="16"
+ width="16"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlko qCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94V TUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpK tE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw 9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0Hgl WNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1V MzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8 w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9 XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVP C4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnj ahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQy u/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg== " />
+ <image
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlko qCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94V TUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpK tE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw 9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0Hgl WNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1V MzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8 w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9 XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVP C4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnj ahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQy u/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg== "
+ width="16"
+ height="16"
+ id="image5360"
+ x="-322.46912"
+ y="-39.18483" />
+ <image
+ y="164.81517"
+ x="-322.46912"
+ id="image5406"
+ height="16"
+ width="16"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlko qCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94V TUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpK tE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw 9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0Hgl WNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1V MzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8 w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9 XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVP C4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnj ahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQy u/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg== " />
+ <image
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlko qCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94V TUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpK tE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw 9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0Hgl WNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1V MzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8 w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9 XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVP C4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnj ahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQy u/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg== "
+ width="16"
+ height="16"
+ id="image5408"
+ x="-365.46912"
+ y="121.81517" />
+ <image
+ y="126.81517"
+ x="-450.46909"
+ id="image5410"
+ height="16"
+ width="16"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlko qCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94V TUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpK tE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw 9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0Hgl WNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1V MzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8 w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9 XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVP C4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnj ahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQy u/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg== " />
</g>
<g
inkscape:groupmode="layer"
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-10-03 12:31:04 UTC (rev 1541)
@@ -15,6 +15,7 @@
<inherits name="cc.kune.tasks.KuneTasks" />
<inherits name="cc.kune.lists.KuneLists" />
<inherits name="cc.kune.pspace.PSpace" />
+ <inherits name="cc.kune.hspace.HSpace" />
<inherits name="com.calclab.suco.Suco" />
<inherits name="org.adamtacy.GWTEffects"></inherits>
<source path='client'
Modified: trunk/src/main/java/cc/kune/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -93,6 +93,7 @@
ginjector.getCoreParts();
ginjector.getGSpaceParts();
ginjector.getPSpaceParts();
+ ginjector.getHSpaceParts();
ginjector.getXmlActionsParser();
ginjector.getContentViewerSelector().init();
}
Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -59,6 +59,9 @@
import cc.kune.events.client.EventsGinjector;
import cc.kune.gspace.client.GSpaceGinModule;
import cc.kune.gspace.client.GSpaceGinjector;
+import cc.kune.hspace.client.HSpaceGinModule;
+import cc.kune.hspace.client.HSpaceParts;
+import cc.kune.hspace.client.HSpacePresenter;
import cc.kune.lists.client.ListsGinModule;
import cc.kune.lists.client.ListsGinjector;
import cc.kune.pspace.client.PSpaceGinModule;
@@ -79,9 +82,9 @@
import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
@GinModules({ KuneGinModule.class, CoreGinModule.class, WaveGinModule.class, PSpaceGinModule.class,
- GSpaceGinModule.class, DocsGinModule.class, BlogsGinModule.class, ChatGinModule.class,
- WikiGinModule.class, BartersGinModule.class, EventsGinModule.class, TasksGinModule.class,
- ListsGinModule.class })
+ HSpaceGinModule.class, GSpaceGinModule.class, DocsGinModule.class, BlogsGinModule.class,
+ ChatGinModule.class, WikiGinModule.class, BartersGinModule.class, EventsGinModule.class,
+ TasksGinModule.class, ListsGinModule.class })
public interface KuneGinjector extends Ginjector, GSpaceGinjector, DocsGinjector, BlogsGinjector,
WikiGinjector, BartersGinjector, EventsGinjector, ChatGinjector, TasksGinjector, ListsGinjector {
@@ -116,6 +119,10 @@
GxtGuiProvider getGxtGuiProvider();
+ HSpaceParts getHSpaceParts();
+
+ AsyncProvider<HSpacePresenter> getHSpacePresenter();
+
I18nTranslationService getI18n();
AsyncProvider<NewGroupPresenter> getNewGroupPresenter();
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/SiteService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SiteService.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SiteService.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -28,6 +28,6 @@
@RemoteServiceRelativePath("SiteService")
public interface SiteService extends RemoteService {
- InitDataDTO getInitData(String userHash) throws DefaultException;
+ InitDataDTO getInitData(String userHash) throws DefaultException;
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -19,13 +19,12 @@
*/
package cc.kune.core.client.rpcservices;
-
import cc.kune.core.shared.dto.InitDataDTO;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface SiteServiceAsync {
- void getInitData(String userHash, AsyncCallback<InitDataDTO> callback);
+ void getInitData(String userHash, AsyncCallback<InitDataDTO> callback);
}
Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -56,6 +56,7 @@
import cc.kune.core.server.rest.UserJSONService;
import cc.kune.docs.server.DocumentServerModule;
import cc.kune.events.server.EventsServerModule;
+import cc.kune.hspace.client.ClientStatsService;
import cc.kune.lists.client.rpc.ListsService;
import cc.kune.lists.server.ListsServerModule;
import cc.kune.tasks.server.TaskServerModule;
@@ -145,7 +146,7 @@
builder.installGWTServices("^" + suffix + "/", SiteService.class, GroupService.class,
ContentService.class, UserService.class, SocialNetworkService.class, I18nService.class,
- ListsService.class);
+ ListsService.class, ClientStatsService.class);
builder.installRESTServices("^" + suffix + "/json/", TestJSONService.class, GroupJSONService.class,
UserJSONService.class, I18nTranslationJSONService.class, ContentJSONService.class);
builder.installServlet("^" + suffix + "/servlets/", FileUploadManager.class,
Modified: trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -92,9 +92,12 @@
import cc.kune.core.server.rpc.I18nRPC;
import cc.kune.core.server.rpc.SiteRPC;
import cc.kune.core.server.rpc.SocialNetworkRPC;
+import cc.kune.core.server.rpc.StatsRPC;
import cc.kune.core.server.rpc.UserRPC;
import cc.kune.core.server.state.StateService;
import cc.kune.core.server.state.StateServiceDefault;
+import cc.kune.core.server.stats.StatsService;
+import cc.kune.core.server.stats.StatsServiceDefault;
import cc.kune.core.server.tool.ServerToolRegistry;
import cc.kune.core.server.users.UserInfoService;
import cc.kune.core.server.users.UserInfoServiceDefault;
@@ -102,6 +105,7 @@
import cc.kune.core.server.xmpp.XmppManagerDefault;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.domain.SocialNetwork;
+import cc.kune.hspace.client.ClientStatsService;
import cc.kune.lists.client.rpc.ListsService;
import cc.kune.lists.server.rpc.ListsRPC;
import cc.kune.wave.server.KuneWaveService;
@@ -149,6 +153,7 @@
bind(SocialNetworkService.class).to(SocialNetworkRPC.class);
bind(I18nService.class).to(I18nRPC.class);
bind(ListsService.class).to(ListsRPC.class);
+ bind(ClientStatsService.class).to(StatsRPC.class);
}
private void bindServices() {
@@ -162,6 +167,7 @@
bind(KuneWaveService.class).to(KuneWaveServiceDefault.class);
bind(MailService.class).to(MailServiceDefault.class);
bind(XMLActionReader.class);
+ bind(StatsService.class).to(StatsServiceDefault.class);
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -150,4 +150,5 @@
data.setSiteShortName(kuneProperties.get(KuneProperties.SITE_SHORTNAME));
return data;
}
+
}
Added: trunk/src/main/java/cc/kune/core/server/rpc/StatsRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/StatsRPC.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/rpc/StatsRPC.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,38 @@
+package cc.kune.core.server.rpc;
+
+import cc.kune.core.server.UserSessionManager;
+import cc.kune.core.server.auth.Authenticated;
+import cc.kune.core.server.mapper.Mapper;
+import cc.kune.core.server.stats.StatsService;
+import cc.kune.core.shared.dto.HomeStatsDTO;
+import cc.kune.hspace.client.ClientStatsService;
+
+import com.google.inject.Inject;
+
+public class StatsRPC implements RPC, ClientStatsService {
+
+ private final Mapper mapper;
+ private final StatsService statsService;
+ private final UserSessionManager userSessionManager;
+
+ @Inject
+ public StatsRPC(final StatsService statsService, final UserSessionManager userSessionManager,
+ final Mapper mapper) {
+ this.statsService = statsService;
+ this.userSessionManager = userSessionManager;
+ this.mapper = mapper;
+ }
+
+ @Override
+ public HomeStatsDTO getHomeStats() {
+ return mapper.map(statsService.getHomeStats(), HomeStatsDTO.class);
+ }
+
+ @Override
+ @Authenticated
+ public HomeStatsDTO getHomeStats(final String userHash) {
+ return mapper.map(statsService.getHomeStats(userSessionManager.getUser().getUserGroup()),
+ HomeStatsDTO.class);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/server/stats/HomeStats.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/stats/HomeStats.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/stats/HomeStats.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,59 @@
+package cc.kune.core.server.stats;
+
+import java.util.List;
+
+import cc.kune.domain.Content;
+import cc.kune.domain.Group;
+
+public class HomeStats {
+
+ private List<Content> lastContentsOfMyGroups;
+ private List<Group> lastGroups;
+ private List<Content> lastPublishedContents;
+ private Long totalGroups;
+ private Long totalUsers;
+
+ public HomeStats() {
+ }
+
+ public List<Content> getLastContentsOfMyGroups() {
+ return lastContentsOfMyGroups;
+ }
+
+ public List<Group> getLastGroups() {
+ return lastGroups;
+ }
+
+ public List<Content> getLastPublishedContents() {
+ return lastPublishedContents;
+ }
+
+ public Long getTotalGroups() {
+ return totalGroups;
+ }
+
+ public Long getTotalUsers() {
+ return totalUsers;
+ }
+
+ public void setLastContentsOfMyGroups(final List<Content> lastContentsOfMyGroups) {
+ this.lastContentsOfMyGroups = lastContentsOfMyGroups;
+ }
+
+ public void setLastGroups(final List<Group> lastGroups) {
+ this.lastGroups = lastGroups;
+ }
+
+ public void setLastPublishedContents(final List<Content> lastPublishedContents) {
+ this.lastPublishedContents = lastPublishedContents;
+ }
+
+ public void setTotalGroups(final Long totalGroups) {
+ this.totalGroups = totalGroups;
+ }
+
+ public void setTotalUsers(final Long totalUsers) {
+ this.totalUsers = totalUsers;
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/server/stats/StatsService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/stats/StatsService.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/stats/StatsService.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,11 @@
+package cc.kune.core.server.stats;
+
+import cc.kune.domain.Group;
+
+public interface StatsService {
+
+ HomeStats getHomeStats();
+
+ HomeStats getHomeStats(Group userGroup);
+
+}
Added: trunk/src/main/java/cc/kune/core/server/stats/StatsServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/stats/StatsServiceDefault.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/stats/StatsServiceDefault.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,46 @@
+package cc.kune.core.server.stats;
+
+import cc.kune.core.shared.domain.ContentStatus;
+import cc.kune.core.shared.dto.GroupType;
+import cc.kune.domain.Group;
+import cc.kune.domain.finders.ContentFinder;
+import cc.kune.domain.finders.GroupFinder;
+import cc.kune.domain.finders.UserFinder;
+
+import com.google.inject.Inject;
+
+public class StatsServiceDefault implements StatsService {
+
+ private static final int LIMIT = 20;
+ private final ContentFinder contentFinder;
+ private final GroupFinder groupFinder;
+ private final UserFinder userFinder;
+
+ @Inject
+ public StatsServiceDefault(final UserFinder userFinder, final GroupFinder groupFinder,
+ final ContentFinder contentFinder) {
+ this.userFinder = userFinder;
+ this.groupFinder = groupFinder;
+ this.contentFinder = contentFinder;
+ }
+
+ @Override
+ public HomeStats getHomeStats() {
+ return getHomeStats(Group.NO_GROUP);
+ }
+
+ @Override
+ public HomeStats getHomeStats(final Group userGroup) {
+ final HomeStats stats = new HomeStats();
+ stats.setLastGroups(groupFinder.lastGroups(LIMIT, GroupType.CLOSED, GroupType.PERSONAL));
+ stats.setTotalGroups(groupFinder.count());
+ stats.setTotalUsers(userFinder.count());
+ stats.setLastPublishedContents(contentFinder.lastModifiedContents(LIMIT,
+ ContentStatus.publishedOnline));
+ if (userGroup != Group.NO_GROUP) {
+ stats.setLastContentsOfMyGroups(contentFinder.lastModifiedContentsInUserGroup(LIMIT,
+ userGroup.getId()));
+ }
+ return stats;
+ }
+}
Added: trunk/src/main/java/cc/kune/core/shared/dto/HomeStatsDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/HomeStatsDTO.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/shared/dto/HomeStatsDTO.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,58 @@
+package cc.kune.core.shared.dto;
+
+import java.util.List;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class HomeStatsDTO implements IsSerializable {
+
+ private List<ContentSimpleDTO> lastContentsOfMyGroups;
+ private List<GroupDTO> lastGroups;
+ private List<ContentSimpleDTO> lastPublishedContents;
+ private Long totalGroups;
+ private Long totalUsers;
+
+ public HomeStatsDTO() {
+ }
+
+ public List<ContentSimpleDTO> getLastContentsOfMyGroups() {
+ return lastContentsOfMyGroups;
+ }
+
+ public List<GroupDTO> getLastGroups() {
+ return lastGroups;
+ }
+
+ public List<ContentSimpleDTO> getLastPublishedContents() {
+ return lastPublishedContents;
+ }
+
+ public Long getTotalGroups() {
+ return totalGroups;
+ }
+
+ public Long getTotalUsers() {
+ return totalUsers;
+ }
+
+ public void setLastContentsOfMyGroups(final List<ContentSimpleDTO> lastContentsOfMyGroups) {
+ this.lastContentsOfMyGroups = lastContentsOfMyGroups;
+ }
+
+ public void setLastGroups(final List<GroupDTO> lastGroups) {
+ this.lastGroups = lastGroups;
+ }
+
+ public void setLastPublishedContents(final List<ContentSimpleDTO> lastPublishedContents) {
+ this.lastPublishedContents = lastPublishedContents;
+ }
+
+ public void setTotalGroups(final Long totalGroups) {
+ this.totalGroups = totalGroups;
+ }
+
+ public void setTotalUsers(final Long totalUsers) {
+ this.totalUsers = totalUsers;
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/domain/finders/ContentFinder.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -26,6 +26,7 @@
import java.util.ArrayList;
import java.util.List;
+import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
@@ -35,23 +36,39 @@
import com.google.inject.persist.finder.MaxResults;
public interface ContentFinder {
- @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC", returnAs = ArrayList.class)
- public List<Content> find2Mime(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype, @Named("mimetype2") final String mimetype2,
- @FirstResult final int offset, @MaxResults final int limit);
+ @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC", returnAs = ArrayList.class)
+ public List<Content> find2Mime(@Named(GROUP) final String groupShortName,
+ @Named(TITLE) final String title, @Named(MIMETYPE) final String mimetype,
+ @Named("mimetype2") final String mimetype2, @FirstResult final int offset,
+ @MaxResults final int limit);
- @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null")
- public Long find2MimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype, @Named("mimetype2") final String mimetype2);
+ @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null")
+ public Long find2MimeCount(@Named(GROUP) final String groupShortName,
+ @Named(TITLE) final String title, @Named(MIMETYPE) final String mimetype,
+ @Named("mimetype2") final String mimetype2);
- @Finder(query = "SELECT count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title LIKE :title")
- public Long findIfExistsTitle(@Named("container") final Container container, @Named(TITLE) final String title);
+ @Finder(query = "SELECT count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title LIKE :title")
+ public Long findIfExistsTitle(@Named("container") final Container container,
+ @Named(TITLE) final String title);
- @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC", returnAs = ArrayList.class)
- public List<Content> findMime(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype, @FirstResult final int offset, @MaxResults final int limit);
+ @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC", returnAs = ArrayList.class)
+ public List<Content> findMime(@Named(GROUP) final String groupShortName,
+ @Named(TITLE) final String title, @Named(MIMETYPE) final String mimetype,
+ @FirstResult final int offset, @MaxResults final int limit);
- @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null")
- public Long findMimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype);
+ @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null")
+ public Long findMimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
+ @Named(MIMETYPE) final String mimetype);
+
+ @Finder(query = "FROM Content c WHERE c.status = :status ORDER BY c.modifiedOn DESC", returnAs = ArrayList.class)
+ public List<Content> lastModifiedContents(@MaxResults final int limit,
+ @Named("status") final ContentStatus status);
+
+ @Finder(query = "FROM Content c WHERE " + "((c.container.owner.id IN (SELECT ed.id FROM "
+ + "c.container.owner.socialNetwork.accessLists.editors.list AS ed WHERE ed.id = :groupid)) OR"
+ + "(c.container.owner.id IN (SELECT ad.id FROM "
+ + "c.container.owner.socialNetwork.accessLists.admins.list AS ad WHERE ad.id = :groupid)))"
+ + "ORDER BY c.modifiedOn DESC", returnAs = ArrayList.class)
+ public List<Content> lastModifiedContentsInUserGroup(@MaxResults final int limit,
+ @Named("groupid") Long groupId);
}
Modified: trunk/src/main/java/cc/kune/domain/finders/GroupFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/finders/GroupFinder.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/domain/finders/GroupFinder.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -24,13 +24,18 @@
import java.util.List;
import java.util.Set;
+import cc.kune.core.shared.dto.GroupType;
import cc.kune.domain.Group;
import com.google.inject.name.Named;
import com.google.inject.persist.finder.Finder;
+import com.google.inject.persist.finder.MaxResults;
public interface GroupFinder {
+ @Finder(query = "SELECT count(*) FROM Group g")
+ public Long count();
+
@Finder(query = "SELECT count(*) FROM Group g WHERE g.longName = :longName")
public Long countByLongName(@Named("longName") final String longName);
@@ -57,4 +62,11 @@
@Finder(query = "FROM Group", returnAs = ArrayList.class)
public List<Group> getAll();
+
+ @Finder(query = "FROM Group g "
+ + " WHERE (g.groupType != :notgrouptype1 AND g.groupType != :notgrouptype2)"
+ + " ORDER BY createdOn DESC", returnAs = ArrayList.class)
+ public List<Group> lastGroups(@MaxResults final int limit,
+ @Named("notgrouptype1") final GroupType excludedGroupType1,
+ @Named("notgrouptype2") final GroupType excludedGroupType2);
}
Modified: trunk/src/main/java/cc/kune/domain/finders/UserFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/finders/UserFinder.java 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/java/cc/kune/domain/finders/UserFinder.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -29,6 +29,9 @@
public interface UserFinder {
+ @Finder(query = "SELECT count(*) FROM User u")
+ public Long count();
+
@Finder(query = "select count (*) from User where email = :email")
public Long countByEmail(@Named("email") final String email);
Added: trunk/src/main/java/cc/kune/hspace/HSpace.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/hspace/HSpace.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/HSpace.gwt.xml 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.1/distro-source/core/src/gwt-module.dtd">
+<module>
+ <inherits name="com.google.gwt.user.User" />
+<!-- <source path="client"/> -->
+</module>
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/hspace/client/ClientStatsService.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/ClientStatsService.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/ClientStatsService.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,34 @@
+/*
+ *
+ * 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.hspace.client;
+
+import cc.kune.core.shared.dto.HomeStatsDTO;
+
+import com.google.gwt.user.client.rpc.RemoteService;
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
+
+ at RemoteServiceRelativePath("ClientStatsService")
+public interface ClientStatsService extends RemoteService {
+
+ HomeStatsDTO getHomeStats();
+
+ HomeStatsDTO getHomeStats(String userHash);
+
+}
Added: trunk/src/main/java/cc/kune/hspace/client/ClientStatsServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/ClientStatsServiceAsync.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/ClientStatsServiceAsync.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,31 @@
+/*
+ *
+ * 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.hspace.client;
+
+import cc.kune.core.shared.dto.HomeStatsDTO;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public interface ClientStatsServiceAsync {
+
+ void getHomeStats(AsyncCallback<HomeStatsDTO> callback);
+
+ void getHomeStats(String userHash, AsyncCallback<HomeStatsDTO> callback);
+}
Added: trunk/src/main/java/cc/kune/hspace/client/HSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpaceGinModule.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpaceGinModule.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * 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.hspace.client;
+
+import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
+
+public class HSpaceGinModule extends AbstractPresenterModule {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.inject.client.AbstractGinModule#configure()
+ */
+ @Override
+ protected void configure() {
+ bindPresenter(HSpacePresenter.class, HSpacePresenter.HSpaceView.class, HSpacePanel.class,
+ HSpacePresenter.HSpaceProxy.class);
+ bind(HSpaceParts.class).asEagerSingleton();
+ }
+
+}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,28 @@
+package cc.kune.hspace.client;
+
+import cc.kune.hspace.client.HSpacePresenter.HSpaceView;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.user.client.ui.Widget;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class HSpacePanel extends ViewImpl implements HSpaceView {
+
+ interface HSpacePanelUiBinder extends UiBinder<Widget, HSpacePanel> {
+ }
+
+ private static HSpacePanelUiBinder uiBinder = GWT.create(HSpacePanelUiBinder.class);
+
+ private final Widget widget;
+
+ public HSpacePanel() {
+ widget = uiBinder.createAndBindUi(this);
+ }
+
+ @Override
+ public Widget asWidget() {
+ return widget;
+ }
+
+}
Added: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.ui.xml 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,13 @@
+<!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:HTMLPanel>
+ Hello,
+ <g:Button styleName="{style.important}" ui:field="button"/>
+ </g:HTMLPanel>
+</ui:UiBinder>
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/hspace/client/HSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpaceParts.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpaceParts.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,40 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * 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.hspace.client;
+
+import cc.kune.core.client.init.AppStartEvent;
+import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
+import cc.kune.core.client.state.Session;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class HSpaceParts {
+
+ @Inject
+ public HSpaceParts(final Session session, final Provider<HSpacePresenter> hSpacePresenter) {
+ session.onAppStart(true, new AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ hSpacePresenter.get();
+ }
+ });
+ }
+}
Copied: trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java (from rev 1538, trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,77 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * 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.hspace.client;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.HomeStatsDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+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;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+
+public class HSpacePresenter extends Presenter<HSpacePresenter.HSpaceView, HSpacePresenter.HSpaceProxy> {
+
+ @ProxyCodeSplit
+ public interface HSpaceProxy extends Proxy<HSpacePresenter> {
+ }
+ public interface HSpaceView extends View {
+ }
+
+ private final I18nTranslationService i18n;
+
+ @Inject
+ public HSpacePresenter(final Session session, final EventBus eventBus, final HSpaceView view,
+ final HSpaceProxy proxy, final I18nTranslationService i18n,
+ final Provider<ClientStatsServiceAsync> statsService) {
+ super(eventBus, view, proxy);
+ this.i18n = i18n;
+ final AsyncCallbackSimple<HomeStatsDTO> callback = new AsyncCallbackSimple<HomeStatsDTO>() {
+ @Override
+ public void onSuccess(final HomeStatsDTO result) {
+ NotifyUser.info(
+ "Total groups: " + result.getTotalGroups() + " total users: " + result.getTotalUsers(), true);
+ }
+ };
+ if (session.isLogged()) {
+ statsService.get().getHomeStats(session.getUserHash(), callback);
+ } else {
+ statsService.get().getHomeStats(callback);
+ }
+ }
+
+ @Override
+ protected void onReveal() {
+ super.onReveal();
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
+
+}
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2011-09-28 14:04:57 UTC (rev 1540)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2011-10-03 12:31:04 UTC (rev 1541)
@@ -237,4 +237,20 @@
<class-a> cc.kune.core.shared.dto.SocialNetworkDataDTO </class-a>
<class-b> cc.kune.domain.utils.SocialNetworkData </class-b>
</mapping>
+ <mapping>
+ <class-a> cc.kune.core.shared.dto.HomeStatsDTO </class-a>
+ <class-b> cc.kune.core.server.stats.HomeStats </class-b>
+ <field>
+ <a>lastPublishedContents</a>
+ <b>lastPublishedContents</b>
+ <a-hint> cc.kune.core.shared.dto.ContentSimpleDTO </a-hint>
+ <b-hint> cc.kune.domain.Content </b-hint>
+ </field>
+ <field>
+ <a>lastContentsOfMyGroups</a>
+ <b>lastContentsOfMyGroups</b>
+ <a-hint> cc.kune.core.shared.dto.ContentSimpleDTO </a-hint>
+ <b-hint> cc.kune.domain.Content </b-hint>
+ </field>
+ </mapping>
</mappings>
\ No newline at end of file
Added: trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/core/server/integration/StatsServiceTest.java 2011-10-03 12:31:04 UTC (rev 1541)
@@ -0,0 +1,59 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * 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.server.integration;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import cc.kune.core.server.stats.HomeStats;
+import cc.kune.core.server.stats.StatsService;
+import cc.kune.domain.finders.GroupFinder;
+
+import com.google.inject.Inject;
+import com.google.inject.persist.Transactional;
+
+public class StatsServiceTest extends IntegrationTest {
+ @Inject
+ GroupFinder groupFinder;
+ @Inject
+ StatsService statsService;
+
+ private void checkStats(final HomeStats homeStats) {
+ assertTrue(homeStats.getTotalGroups() > 0);
+ assertTrue(homeStats.getTotalUsers() > 0);
+ }
+
+ @Transactional
+ @Before
+ public void init() {
+ new IntegrationTestHelper(this);
+ }
+
+ @Test
+ public void testBasicStats() {
+ HomeStats homeStats = statsService.getHomeStats();
+ checkStats(homeStats);
+ homeStats = statsService.getHomeStats(groupFinder.findByShortName(getDefSiteShortName()));
+ checkStats(homeStats);
+ }
+
+}
More information about the kune-commits
mailing list