[kune-commits] r1140 - in trunk: . img img/icons script
src/main/java/org/ourproject/kune/app/server
src/main/java/org/ourproject/kune/app/server/wave
src/main/java/org/ourproject/kune/platf/server
src/main/java/org/ourproject/kune/platf/server/properties
src/main/resources
vjrj
vjrj at ourproject.org
Mon Aug 31 12:49:16 CEST 2009
Author: vjrj
Date: 2009-08-31 12:49:15 +0200 (Mon, 31 Aug 2009)
New Revision: 1140
Added:
trunk/img/icons/lock.png
trunk/img/icons/lock_break.png
trunk/script/repopubli.sh
trunk/src/main/java/org/ourproject/kune/app/server/wave/
trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveContainerListener.java
trunk/src/main/java/org/ourproject/kune/app/server/wave/WavePropertiesParser.java
Modified:
trunk/img/icons-base.svg
trunk/pom.xml
trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java
trunk/src/main/java/org/ourproject/kune/platf/server/properties/ChatProperties.java
trunk/src/main/resources/kune.properties
Log:
Wave server first integration (thanks to guice)
Added: trunk/img/icons/lock.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/icons/lock.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/img/icons/lock_break.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/icons/lock_break.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/img/icons-base.svg
===================================================================
--- trunk/img/icons-base.svg 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/img/icons-base.svg 2009-08-31 10:49:15 UTC (rev 1140)
@@ -27,15 +27,15 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="1.3545976"
- inkscape:cx="372.04724"
- inkscape:cy="526.18109"
+ inkscape:zoom="0.8805759"
+ inkscape:cx="368.89944"
+ inkscape:cy="693.88452"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1280"
- inkscape:window-height="730"
- inkscape:window-x="0"
- inkscape:window-y="24"
+ inkscape:window-height="1001"
+ inkscape:window-x="1280"
+ inkscape:window-y="0"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
@@ -52,10 +52,24 @@
originy="0px"
originx="0px"
type="xygrid"
- id="GridFromPre046Settings" />
+ id="GridFromPre046Settings"
+ visible="true"
+ enabled="true" />
</sodipodi:namedview>
<defs
id="defs21021">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3002">
+ <stop
+ style="stop-color:#de1515;stop-opacity:1;"
+ offset="0"
+ id="stop3004" />
+ <stop
+ style="stop-color:#de1515;stop-opacity:0;"
+ offset="1"
+ id="stop3006" />
+ </linearGradient>
<inkscape:perspective
id="perspective511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
@@ -1819,6 +1833,50 @@
id="linearGradient5122"
xlink:href="#linearGradient2467"
inkscape:collect="always" />
+ <inkscape:perspective
+ id="perspective2970"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3002"
+ id="linearGradient3816"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0.2007512,0.9033805)"
+ x1="370.68713"
+ y1="453.87259"
+ x2="342.63214"
+ y2="446.19382" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3002"
+ id="linearGradient3835"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2919055,0,0,1.2919055,-88.927986,-125.13708)"
+ x1="370.68713"
+ y1="453.87259"
+ x2="342.63214"
+ y2="446.19382" />
+ <inkscape:perspective
+ id="perspective3956"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3002"
+ id="linearGradient3972"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2919055,0,0,1.2919055,-88.927986,-125.13708)"
+ x1="370.68713"
+ y1="453.87259"
+ x2="342.63214"
+ y2="446.19382" />
</defs>
<metadata
id="metadata21024">
@@ -3027,8 +3085,8 @@
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/nobody.png"
- y="244.08676"
- x="525.88586"
+ y="288.13663"
+ x="508.64896"
id="image18392"
height="16"
width="16"
@@ -3041,8 +3099,8 @@
width="10.062655"
height="10.062655"
id="image18398"
- x="533.07184"
- y="243.15987" />
+ x="515.8349"
+ y="287.20975" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.96201754;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect12715"
@@ -4587,5 +4645,150 @@
x="0"
inkscape:transform-center-x="-156.01159"
inkscape:transform-center-y="41.742437" />
+ <image
+ y="450.82797"
+ x="330.84604"
+ id="image2972"
+ height="16"
+ width="16"
+ sodipodi:absref="/home/vjrj/proyectos/dev/kune/trunk/img/icons/lock_break.png"
+ xlink:href="icons/lock_break.png" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#image2972"
+ id="use2978"
+ transform="translate(25.153961,0.5342102)"
+ width="744.09448"
+ height="1052.3622" />
+ <g
+ id="g3810"
+ transform="translate(-0.5018781,0.6022537)">
+ <image
+ style="fill:#ff0000"
+ y="449.86804"
+ x="363.8681"
+ id="image2982"
+ height="10.062655"
+ width="10.062655"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsKCTQviWADaAAAAypJREFUOMvVlD9oG2cYxn+nu9M/ JyS2hIWlEpk0aWjBiEyph5ZCh9B6z2TSqUuGjoFACoUEMmRPSro6a4dCvCRbhkIhISROLIiKnYJk BVu2zq6kk3T3vh30nXJxVeqO/eDj+3f3vM/3vM/7wf+tWf90sAJZ4AqwBCwA08Ae8AJ4ANxZhu5/ Al6Bb4FbZyqVXPHcOY7l8ziuw7DXw2u+ZatWY+PVqxZwbRl+OhLwCtyYKRSun794kaznEb55g/a6 qCiqirguiVKJ7tQUzx8/xtvdvbkM3x/GsQ8znSkUbi9euoTz7BlSb6DDAaqKiiIqaBAguy1sz6O4 uMhuvf75ku83foanExkbTf/48vLlXHp9HTk4QEUgAlQzioIqqoKmM/TL8/z66GELOBXXPBELcuVM pZLLem10fx8VQVUQFUQVMUEwcxFFOh3SBx4fzM/nTKKZBLw0d/Yjwo1NJGIUjnRVNYAqiIxYj7ow qDeYLc5h3DNuTmy+cCyfQ577qAj516//1aubhQLa75OdOo6x5ETG047jjK95lBbdxrYTGJ9PBN4b +r6xlRwJWGSk98D3McUzUYoX+83mF9mkg/g+W+UyYoKoKMo7bcc5UEVtmz/bbUxF/p2xwGqjVsMq lkY/i4KKATAuUBMg2hfBzufZbm4hsBq3bwRsNeDuZrXa6mYykMmgGo701ncMERnnQEXRVIpuOk2z +bZVgx8NsBVVngUkHoF+DV53Z2dp7sIFZLtlqk7GlReVtapipZIkTn9I9eUarWFw7So8AdR0bMPa BpK/wPpnvp/qNBqfTn/yMW46TdjposHQ6K2oY+PMzuLPzFBdW2Oz17v7HdwzgBKBR4xtIAlkHsBa ud/v9jY2FsRxUslSkVS5jFssIfkcPcelvrNDtVY7+C0I7v0A94EAGJoxiN6KiHGa0XtRAE6dhNlv 4Kt5qJyAogvZAfTa0PwdXt6HVQ/qwDbQAtpABxgAoRUDdw34CaAInDTrpDlzzXcho8fGM97dA/bN 3sAwFiuWyYTpKWAKyBifO2Y/slJoAIZAH/BjMoSRztah5zMewI6t36vkQz2IJS465y8YtvDGyaeW /wAAAABJRU5ErkJggg== "
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/nobody.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="453.97293"
+ x="366.52155"
+ height="1.4052587"
+ width="4.2659636"
+ id="rect2984"
+ style="fill:url(#linearGradient3816);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ y="451.71448"
+ x="367.57547"
+ height="3.3123956"
+ width="2.0576999"
+ id="rect3010"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3782"
+ width="2.0577002"
+ height="1.7063855"
+ x="367.62567"
+ y="455.91528" />
+ </g>
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(45.153961,0.5342102)"
+ id="use3818"
+ xlink:href="#image2972"
+ y="0"
+ x="0" />
+ <g
+ id="g3838">
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/nobody.png"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsKCTQviWADaAAAAypJREFUOMvVlD9oG2cYxn+nu9M/ JyS2hIWlEpk0aWjBiEyph5ZCh9B6z2TSqUuGjoFACoUEMmRPSro6a4dCvCRbhkIhISROLIiKnYJk BVu2zq6kk3T3vh30nXJxVeqO/eDj+3f3vM/3vM/7wf+tWf90sAJZ4AqwBCwA08Ae8AJ4ANxZhu5/ Al6Bb4FbZyqVXPHcOY7l8ziuw7DXw2u+ZatWY+PVqxZwbRl+OhLwCtyYKRSun794kaznEb55g/a6 qCiqirguiVKJ7tQUzx8/xtvdvbkM3x/GsQ8znSkUbi9euoTz7BlSb6DDAaqKiiIqaBAguy1sz6O4 uMhuvf75ku83foanExkbTf/48vLlXHp9HTk4QEUgAlQzioIqqoKmM/TL8/z66GELOBXXPBELcuVM pZLLem10fx8VQVUQFUQVMUEwcxFFOh3SBx4fzM/nTKKZBLw0d/Yjwo1NJGIUjnRVNYAqiIxYj7ow qDeYLc5h3DNuTmy+cCyfQ577qAj516//1aubhQLa75OdOo6x5ETG047jjK95lBbdxrYTGJ9PBN4b +r6xlRwJWGSk98D3McUzUYoX+83mF9mkg/g+W+UyYoKoKMo7bcc5UEVtmz/bbUxF/p2xwGqjVsMq lkY/i4KKATAuUBMg2hfBzufZbm4hsBq3bwRsNeDuZrXa6mYykMmgGo701ncMERnnQEXRVIpuOk2z +bZVgx8NsBVVngUkHoF+DV53Z2dp7sIFZLtlqk7GlReVtapipZIkTn9I9eUarWFw7So8AdR0bMPa BpK/wPpnvp/qNBqfTn/yMW46TdjposHQ6K2oY+PMzuLPzFBdW2Oz17v7HdwzgBKBR4xtIAlkHsBa ud/v9jY2FsRxUslSkVS5jFssIfkcPcelvrNDtVY7+C0I7v0A94EAGJoxiN6KiHGa0XtRAE6dhNlv 4Kt5qJyAogvZAfTa0PwdXt6HVQ/qwDbQAtpABxgAoRUDdw34CaAInDTrpDlzzXcho8fGM97dA/bN 3sAwFiuWyYTpKWAKyBifO2Y/slJoAIZAH/BjMoSRztah5zMewI6t36vkQz2IJS465y8YtvDGyaeW /wAAAABJRU5ErkJggg== "
+ width="13"
+ height="13"
+ id="image3822"
+ x="380.89587"
+ y="454.88284"
+ style="fill:#ff0000" />
+ <rect
+ style="fill:url(#linearGradient3835);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3824"
+ width="5.5112219"
+ height="1.8154614"
+ x="384.32385"
+ y="460.18597" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3826"
+ width="1.7549734"
+ height="3.7774239"
+ x="386.23749"
+ y="457.77011" />
+ <rect
+ y="462.69531"
+ x="386.15176"
+ height="2.2044888"
+ width="1.9055371"
+ id="rect3828"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <image
+ y="432.36218"
+ x="-371"
+ id="image3958"
+ height="16"
+ width="16"
+ sodipodi:absref="/home/vjrj/proyectos/dev/kune/trunk/img/icons/lock_break.png"
+ xlink:href="icons/lock_break.png"
+ transform="scale(-1,1)" />
+ <g
+ id="g3962"
+ transform="translate(-43.509019,-21.462476)">
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/nobody.png"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsKCTQviWADaAAAAypJREFUOMvVlD9oG2cYxn+nu9M/ JyS2hIWlEpk0aWjBiEyph5ZCh9B6z2TSqUuGjoFACoUEMmRPSro6a4dCvCRbhkIhISROLIiKnYJk BVu2zq6kk3T3vh30nXJxVeqO/eDj+3f3vM/3vM/7wf+tWf90sAJZ4AqwBCwA08Ae8AJ4ANxZhu5/ Al6Bb4FbZyqVXPHcOY7l8ziuw7DXw2u+ZatWY+PVqxZwbRl+OhLwCtyYKRSun794kaznEb55g/a6 qCiqirguiVKJ7tQUzx8/xtvdvbkM3x/GsQ8znSkUbi9euoTz7BlSb6DDAaqKiiIqaBAguy1sz6O4 uMhuvf75ku83foanExkbTf/48vLlXHp9HTk4QEUgAlQzioIqqoKmM/TL8/z66GELOBXXPBELcuVM pZLLem10fx8VQVUQFUQVMUEwcxFFOh3SBx4fzM/nTKKZBLw0d/Yjwo1NJGIUjnRVNYAqiIxYj7ow qDeYLc5h3DNuTmy+cCyfQ577qAj516//1aubhQLa75OdOo6x5ETG047jjK95lBbdxrYTGJ9PBN4b +r6xlRwJWGSk98D3McUzUYoX+83mF9mkg/g+W+UyYoKoKMo7bcc5UEVtmz/bbUxF/p2xwGqjVsMq lkY/i4KKATAuUBMg2hfBzufZbm4hsBq3bwRsNeDuZrXa6mYykMmgGo701ncMERnnQEXRVIpuOk2z +bZVgx8NsBVVngUkHoF+DV53Z2dp7sIFZLtlqk7GlReVtapipZIkTn9I9eUarWFw7So8AdR0bMPa BpK/wPpnvp/qNBqfTn/yMW46TdjposHQ6K2oY+PMzuLPzFBdW2Oz17v7HdwzgBKBR4xtIAlkHsBa ud/v9jY2FsRxUslSkVS5jFssIfkcPcelvrNDtVY7+C0I7v0A94EAGJoxiN6KiHGa0XtRAE6dhNlv 4Kt5qJyAogvZAfTa0PwdXt6HVQ/qwDbQAtpABxgAoRUDdw34CaAInDTrpDlzzXcho8fGM97dA/bN 3sAwFiuWyYTpKWAKyBifO2Y/slJoAIZAH/BjMoSRztah5zMewI6t36vkQz2IJS465y8YtvDGyaeW /wAAAABJRU5ErkJggg== "
+ width="13"
+ height="13"
+ id="image3964"
+ x="380.89587"
+ y="454.88284"
+ style="fill:#ff0000" />
+ <rect
+ style="fill:url(#linearGradient3972);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3966"
+ width="5.5112219"
+ height="1.8154614"
+ x="384.32385"
+ y="460.18597" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3968"
+ width="1.7549734"
+ height="3.7774239"
+ x="386.23749"
+ y="457.77011" />
+ <rect
+ y="462.69531"
+ x="386.15176"
+ height="2.2044888"
+ width="1.9055371"
+ id="rect3970"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.04705882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <path
+ style="fill:#4d4d4d;fill-rule:evenodd;stroke:#cccccc;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 356.90981,433.2195 C 362.64423,438.27174 365.62799,440.99217 365.62799,440.99217 L 361.71179,441.04075 L 370.01039,448.32762"
+ id="path3976"
+ sodipodi:nodetypes="cccc" />
</g>
</svg>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/pom.xml 2009-08-31 10:49:15 UTC (rev 1140)
@@ -340,7 +340,96 @@
<artifactId>jruby-rack</artifactId>
<version>0.9.4</version>
</dependency>
+
+ <!-- wave -->
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>kune-wave-server</artifactId>
+ <version>0.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.3</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ <version>1.6.1</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.guice</groupId>
+ <artifactId>guice-assistedinject</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>jline</groupId>
+ <artifactId>jline</artifactId>
+ <version>0.9.94</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.gnu.inet</groupId>
+ <artifactId>libidn</artifactId>
+ <version>1.15</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>2.1.0</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ <version>1.1.4c</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3_xpath</artifactId>
+ <version>1.1.4c</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>aopalliance</groupId>
+ <artifactId>aopalliance</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.wave-protocol</groupId>
+ <artifactId>xmpp</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wave-protocol</groupId>
+ <artifactId>whack</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.common</groupId>
+ <artifactId>collect</artifactId>
+ <version>1.0-rc2</version>
+ </dependency>
</dependencies>
+
+ <distributionManagement>
+ <repository>
+ <id>kune.ourproject.org</id>
+ <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/</url>
+ </repository>
+ </distributionManagement>
+
<!--
http://gwt-maven.googlecode.com/svn/docs/maven-googlewebtoolkit2-plugin/index.html
-->
@@ -540,12 +629,12 @@
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.5</version>
<!--
<artifactId>jetty-maven-plugin</artifactId>
<version>7.0.0.1beta0</version>
-->
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.5</version>
<configuration>
<contextPath>/</contextPath>
<webAppSourceDirectory>war</webAppSourceDirectory>
@@ -735,6 +824,13 @@
<directory>src/main/java</directory>
</resource>
</resources>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
</build>
<reporting>
<plugins>
@@ -840,4 +936,4 @@
</reporting>
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
Added: trunk/script/repopubli.sh
===================================================================
--- trunk/script/repopubli.sh 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/script/repopubli.sh 2009-08-31 10:49:15 UTC (rev 1140)
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+PARAMS=$#
+JAR=$1
+GROUP=$2
+ARTIFACT=$3
+VER=$4
+USER=$5
+
+# CORRECT PARAMS ###############################################################
+
+if [ $PARAMS -lt 4 ]
+then
+ echo "Use: $0 <jar> <group> <artifact> <version> <username>"
+ echo "$0 target/emite-0.4.6-emiteuimodule.jar com.calclab.emite emite 0.4.6 [luther]"
+ exit
+fi
+
+if [ $PARAMS -gt 4 ]
+then
+ EXTRA=$USER@
+fi
+
+mvn deploy:deploy-file -DgroupId=$2 -DartifactId=$3 -Dversion=$4 -Dpackaging=jar -Dfile=$1 -Durl=scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ -DrepositoryId=kune.ourproject.org
Property changes on: trunk/script/repopubli.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2009-08-31 10:49:15 UTC (rev 1140)
@@ -19,6 +19,8 @@
*/
package org.ourproject.kune.app.server;
+import org.ourproject.kune.app.server.wave.WaveContainerListener;
+import org.ourproject.kune.app.server.wave.WavePropertiesParser;
import org.ourproject.kune.blogs.server.BlogServerModule;
import org.ourproject.kune.chat.server.ChatServerModule;
import org.ourproject.kune.docs.server.DocumentServerModule;
@@ -49,6 +51,8 @@
import org.ourproject.kune.rack.filters.RedirectFilter;
import org.ourproject.kune.rack.filters.rest.RESTServicesModule;
import org.ourproject.kune.wiki.server.WikiServerModule;
+import org.waveprotocol.wave.examples.fedone.FlagSettings;
+import org.waveprotocol.wave.examples.fedone.ServerModule;
import com.google.inject.AbstractModule;
import com.google.inject.Module;
@@ -86,6 +90,7 @@
installGuiceModules(builder);
builder.add(KuneContainerListener.class);
+ builder.add(WaveContainerListener.class);
builder.exclude("/http-bind.*");
builder.exclude("/public/.*");
@@ -122,6 +127,8 @@
builder.use(new GalleryServerModule());
builder.use(new RESTServicesModule());
builder.use(configModule);
+ builder.use(WavePropertiesParser.parseFlags(FlagSettings.class));
+ builder.use(new ServerModule());
}
}
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveContainerListener.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveContainerListener.java 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/WaveContainerListener.java 2009-08-31 10:49:15 UTC (rev 1140)
@@ -0,0 +1,70 @@
+package org.ourproject.kune.app.server.wave;
+
+import java.net.InetSocketAddress;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.ourproject.kune.rack.ContainerListener;
+import org.waveprotocol.wave.examples.fedone.federation.xmpp.WaveXmppComponent;
+import org.waveprotocol.wave.examples.fedone.rpc.ServerRpcProvider;
+import org.waveprotocol.wave.examples.fedone.waveserver.WaveClientRpc.ProtocolWaveClientRpc;
+import org.xmpp.component.ComponentException;
+
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
+public class WaveContainerListener implements ContainerListener {
+
+ /** Creates InetSocketAddresses from injected parameters */
+ public static class RpcInetSocketAddressFactory {
+
+ private final String host;
+ private final Integer port;
+
+ @Inject
+ RpcInetSocketAddressFactory(@Named("client_frontend_hostname") final String host,
+ @Named("client_frontend_port") final Integer port) {
+ this.host = host;
+ this.port = port;
+ // LOG.info("Starting client frontend on host: " + host + " port: "
+ // + port);
+ }
+
+ InetSocketAddress create() {
+ return new InetSocketAddress(host, port);
+ }
+
+ }
+ private final WaveXmppComponent wxComponent;
+ private final ProtocolWaveClientRpc.Interface rpcImpl;
+ private final RpcInetSocketAddressFactory rpcInet;
+ private final Logger log; // NOPMD by vjrj on 30/08/09 20:14
+
+ @Inject
+ public WaveContainerListener(final WaveXmppComponent wxComponent, final ProtocolWaveClientRpc.Interface rpcImpl,
+ final RpcInetSocketAddressFactory rpcInet, final Logger logger) {
+ this.rpcInet = rpcInet;
+ this.wxComponent = wxComponent;
+ this.rpcImpl = rpcImpl;
+ this.log = logger;
+ }
+
+ public void start() {
+ final ServerRpcProvider server = new ServerRpcProvider(rpcInet.create());
+ server.registerService(ProtocolWaveClientRpc.newReflectiveService(rpcImpl));
+ try {
+ wxComponent.run();
+ } catch (final ComponentException e) {
+ log.log(Level.SEVERE, "couldn't connect to XMPP server:" + e);
+ }
+ log.log(Level.INFO, "Starting wave server");
+ try {
+ server.startServer();
+ } catch (final Exception e) {
+ throw new RuntimeException(e); // NOPMD by vjrj on 30/08/09 18:08
+ }
+ }
+
+ public void stop() {
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/app/server/wave/WavePropertiesParser.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/server/wave/WavePropertiesParser.java 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/src/main/java/org/ourproject/kune/app/server/wave/WavePropertiesParser.java 2009-08-31 10:49:15 UTC (rev 1140)
@@ -0,0 +1,136 @@
+package org.ourproject.kune.app.server.wave;
+
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.waveprotocol.wave.examples.fedone.Flag;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+
+public class WavePropertiesParser {
+ private static final String PREFIX = "kune.wave.";
+ private static final Set<Class<?>> supportedFlagTypes; // NOPMD by vjrj on
+ // 30/08/09 12:37
+
+ static {
+ supportedFlagTypes = new HashSet<Class<?>>();
+ supportedFlagTypes.add(int.class);
+ supportedFlagTypes.add(boolean.class);
+ supportedFlagTypes.add(String.class);
+ }
+
+ public static Module parseFlags(final Class<?>... flagSettings) {
+
+ final Properties properties;
+ try {
+ properties = new Properties();
+ final InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(
+ "kune.properties");
+ properties.load(input);
+ input.close();
+ } catch (final Exception excep) {
+ throw new RuntimeException("Error reading properties", excep); // NOPMD
+ // by
+ // vjrj on
+ // 30/08/09
+ // 16:59
+ }
+
+ final List<Field> fields = new ArrayList<Field>();
+ for (final Class<?> settings : flagSettings) {
+ fields.addAll(Arrays.asList(settings.getDeclaredFields()));
+ }
+
+ // Reflect on flagSettings class and absorb flags
+ final Map<Flag, Field> flags = new LinkedHashMap<Flag, Field>();
+ for (final Field field : fields) {
+ if (!field.isAnnotationPresent(Flag.class)) {
+ continue;
+ }
+
+ // Validate target type
+ // if (supportedFlagTypes.contains(field.getType())) {
+ // throw new IllegalArgumentException(field.getType() +
+ // " is not one of the supported flag types "
+ // + supportedFlagTypes);
+ // }
+
+ final Flag flag = field.getAnnotation(Flag.class);
+
+ flags.put(flag, field);
+ }
+
+ // Now validate them
+ for (final Flag flag : flags.keySet()) {
+ if (flag.mandatory()) {
+ final String help = !"".equals(flag.description()) ? flag.description() : flag.name();
+ mandatoryOption(properties, flag.name(), "must supply " + help);
+ }
+ }
+
+ // bundle everything up in an injectable guice module
+ return new AbstractModule() {
+
+ @Override
+ protected void configure() {
+ // We must iterate the flags a third time when binding.
+ // Note: do not collapse these loops as that will damage
+ // early error detection. The runtime is still O(n) in flag
+ // count.
+ for (final Map.Entry<Flag, Field> entry : flags.entrySet()) {
+ final Class<?> type = entry.getValue().getType();
+ final Flag flag = entry.getKey();
+
+ // Skip non-mandatory, missing flags.
+ if (!flag.mandatory()) {
+ continue;
+ }
+
+ final String flagValue = properties.getProperty(PREFIX + flag.name());
+
+ // Coerce String flag into target type.
+ // NOTE(dhanji): only supported types are int, String and
+ // boolean.
+ if (int.class.equals(type)) {
+ bindConstant().annotatedWith(Names.named(flag.name())).to(Integer.parseInt(flagValue));
+ } else if (boolean.class.equals(type)) {
+ bindConstant().annotatedWith(Names.named(flag.name())).to(Boolean.parseBoolean(flagValue));
+ } else {
+ bindConstant().annotatedWith(Names.named(flag.name())).to(flagValue);
+ }
+ }
+ }
+ };
+ }
+
+ /**
+ * Checks a mandatory option is set, spits out help and dies if not.
+ *
+ * @param cmd
+ * parsed options
+ * @param option
+ * the option to check
+ * @param helpString
+ * the error message to emit if not.
+ */
+ static void mandatoryOption(final Properties properties, final String option, final String helpString) {
+ if (properties.getProperty(PREFIX + option) == null) {
+ throw new RuntimeException("Wave option " + PREFIX + option + " in kune.properties is mandatory"); // NOPMD
+ // by
+ // vjrj
+ // on
+ // 30/08/09
+ // 12:36
+ }
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java 2009-08-31 10:49:15 UTC (rev 1140)
@@ -180,4 +180,5 @@
bind(I18nTranslationService.class).to(I18nTranslationServiceDefault.class);
bind(SessionService.class).to(SessionServiceDefault.class);
}
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/properties/ChatProperties.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/properties/ChatProperties.java 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/properties/ChatProperties.java 2009-08-31 10:49:15 UTC (rev 1140)
@@ -23,7 +23,7 @@
import com.google.inject.Singleton;
/**
- * sintactic sugar!
+ * Syntactic sugar!
*/
@Singleton
public class ChatProperties {
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2009-08-05 14:56:47 UTC (rev 1139)
+++ trunk/src/main/resources/kune.properties 2009-08-31 10:49:15 UTC (rev 1140)
@@ -57,6 +57,21 @@
kune.media.oggembededobject = <applet code="com.fluendo.player.Cortado.class" archive="/kune/others/cortado.jar" width="352" height="288"> <param name="url" value="###DOC_URL###"/> <param name="local" value="false"/> <param name="showStatus" value="show"/> <param name="keepAspect" value="true"/> <param name="autoPlay" value="false"/> <param name="video" value="true"/> <param name="audio" value="true"/> <param name="bufferSize" value="200"/> </applet>
kune.media.aviembededobject = <object data="###DOC_URL###" type="video/msvideo" />
+### See: http://code.google.com/p/wave-protocol/wiki/Installation
+### wave server configuration
+kune.wave.xmpp_server_hostname = localhost
+kune.wave.xmpp_server_secret = asdfasdf
+kune.wave.xmpp_component_name = wave
+kune.wave.xmpp_server_port = 5275
+kune.wave.xmpp_server_ip = localhost
+kune.wave.xmpp_server_ping =
+kune.wave.client_frontend_hostname = 127.0.0.1
+kune.wave.client_frontend_port = 9876
+kune.wave.certificate_private_key = war/WEB-INF/classes/localhost.key
+kune.wave.certificate_files = war/WEB-INF/classes/localhost.cer
+kune.wave.certificate_domain = localhost
+kune.wave.waveserver_disable_verification = true
+
### More info about properties
# http://en.wikipedia.org/wiki/.properties
# http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load(java.io.Reader)
More information about the kune-commits
mailing list