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
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/inde... --> @@ -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...)
participants (1)
-
vjrj