Author: vjrj Date: 2008-10-16 21:57:50 +0200 (Thu, 16 Oct 2008) New Revision: 914 Added: trunk/img/icons/person.svg trunk/img/icons/persons/ trunk/img/icons/persons/person1-16.png trunk/img/icons/persons/person1-32.png trunk/img/icons/persons/person1-85.png trunk/img/icons/persons/person2-16.png trunk/img/icons/persons/person2-32.png trunk/img/icons/persons/person2-85.png trunk/img/icons/persons/person3-16.png trunk/img/icons/persons/person3-32.png trunk/img/icons/persons/person3-85.png trunk/img/icons/persons/person4-16.png trunk/img/icons/persons/person4-32.png trunk/img/icons/persons/person4-85.png trunk/img/icons/persons/person5-16.png trunk/img/icons/persons/person5-32.png trunk/img/icons/persons/person5-85.png trunk/img/icons/persons/person6-16.png trunk/img/icons/persons/person6-32.png trunk/img/icons/persons/person6-85.png trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/ trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-16.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-32.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-85.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-16.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-32.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-85.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-16.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-32.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-85.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-16.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-32.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-85.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-16.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-32.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-85.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-16.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-32.png trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-85.png trunk/src/main/java/org/ourproject/kune/platf/server/sn/ trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java Removed: trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java Modified: trunk/pom.xml trunk/script/generateBasicUIElements.sh trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java trunk/src/main/java/org/ourproject/kune/platf/public/images/person-def.png trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java trunk/src/main/resources/dozerBeanMapping.xml trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java Log: Incomplete - task User buddies SocialNetwork part Incomplete - task Tools must me optional and User/Group creation must reflesh this Added: trunk/img/icons/person.svg =================================================================== --- trunk/img/icons/person.svg 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/img/icons/person.svg 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,662 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + id="svg3567" + sodipodi:version="0.32" + inkscape:version="0.46" + sodipodi:docname="person.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape"> + <defs + id="defs3569"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective3575" /> + <inkscape:perspective + id="perspective4643" + 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" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1" + inkscape:cx="380.83857" + inkscape:cy="884.33083" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1280" + inkscape:window-height="951" + inkscape:window-x="1280" + inkscape:window-y="25" /> + <metadata + id="metadata3572"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Capa 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g4515" + transform="translate(20.757622,-1.719218)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person1-85.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path17249" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,480.51643,-696.54479)" /> + <path + id="path17234" + d="M 303.77805,68.375596 C 293.58885,68.375596 283.35081,72.22062 275.58218,79.996355 C 260.15886,95.433877 260.05324,120.36456 275.25046,135.94201 C 273.08783,126.46484 275.84182,116.09285 283.21165,108.71623 C 294.60729,97.310092 312.94881,97.310092 324.34445,108.71623 C 331.71423,116.09285 334.46827,126.46484 332.30564,135.94201 C 347.50291,120.36451 347.39735,95.433877 331.97393,79.996355 C 324.20535,72.22062 313.96726,68.375596 303.77805,68.375596 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,627.39292,-109.63872)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path17236" + style="opacity:1;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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" + sodipodi:type="arc" /> + </g> + <g + id="g4530" + transform="translate(-3.267982,-5.502468)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person6-85.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,614.65933,-434.25909)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path3603" + style="fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 437.92095,330.6613 C 427.73175,330.6613 417.49371,334.50632 409.72508,342.28206 C 394.30176,357.71958 394.19614,382.65026 409.39336,398.22771 C 407.23073,388.75054 409.98472,378.37855 417.35455,371.00193 C 428.75019,359.59579 447.09171,359.59579 458.48735,371.00193 C 465.85713,378.37855 468.61117,388.75054 466.44854,398.22771 C 481.64581,382.65021 481.54025,357.71958 466.11683,342.28206 C 458.34825,334.50632 448.11016,330.6613 437.92095,330.6613 z" + id="path3605" /> + <path + sodipodi:nodetypes="csssc" + id="path3607" + d="M 460.05116,364.96552 C 455.38897,371.83641 432.14686,380.28156 424.78848,372.95567 C 417.51844,365.71771 417.5378,353.91825 424.78848,346.6609 C 432.03916,339.40354 443.80837,339.40354 451.05905,346.6609 C 458.30973,353.91826 455.3126,357.26255 460.05116,364.96552 z" + style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + <g + id="g4510" + transform="translate(0.243294,-5.502458)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-85.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path3628" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)" /> + <path + id="path3630" + d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z" + id="path3632" + sodipodi:nodetypes="csssc" /> + </g> + <g + id="g4525" + transform="translate(-2.467941,-5.502459)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person4-85.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,613.65933,-561.26401)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path3660" + style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 436.92095,203.65638 C 426.73175,203.65638 416.49371,207.5014 408.72508,215.27714 C 393.30176,230.71466 393.19614,255.64534 408.39336,271.22279 C 406.23073,261.74562 408.98472,251.37363 416.35455,243.99701 C 427.75019,232.59087 446.09171,232.59087 457.48735,243.99701 C 464.85713,251.37363 467.61117,261.74562 465.44854,271.22279 C 480.64581,255.64529 480.54025,230.71466 465.11683,215.27714 C 457.34825,207.5014 447.11016,203.65638 436.92095,203.65638 z" + id="path3662" /> + <path + sodipodi:nodetypes="csssc" + id="path3664" + d="M 459.05116,237.9606 C 454.38897,244.83149 431.14686,253.27664 423.78848,245.95076 C 416.51844,238.7128 416.5378,226.91334 423.78848,219.65598 C 431.03916,212.39863 442.80837,212.39863 450.05905,219.65599 C 457.30973,226.91335 454.3126,230.25764 459.05116,237.9606 z" + style="fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + <g + id="g4520" + transform="translate(23.468872,-2.433779)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person3-85.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4476" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,478.73833,-564.33269)" /> + <path + id="path4478" + d="M 301.99995,200.5877 C 291.81075,200.5877 281.57271,204.43272 273.80408,212.20846 C 258.38076,227.64598 258.27514,252.57666 273.47236,268.15411 C 271.30973,258.67694 274.06372,248.30495 281.43355,240.92833 C 292.82919,229.52219 311.17071,229.52219 322.56635,240.92833 C 329.93613,248.30495 332.69017,258.67694 330.52754,268.15411 C 345.72481,252.57661 345.61925,227.64598 330.19583,212.20846 C 322.42725,204.43272 312.18916,200.5877 301.99995,200.5877 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,625.61482,22.573385)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4480" + style="opacity:1;fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:3.49927115;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" + sodipodi:type="arc" /> + </g> + <g + id="g4535" + transform="translate(24.268845,-12.428838)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person5-85.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4484" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,477.73833,-427.33272)" /> + <path + id="path4486" + d="M 300.99995,337.58767 C 290.81075,337.58767 280.57271,341.43269 272.80408,349.20843 C 257.38076,364.64595 257.27514,389.57663 272.47236,405.15408 C 270.30973,395.67691 273.06372,385.30492 280.43355,377.9283 C 291.82919,366.52216 310.17071,366.52216 321.56635,377.9283 C 328.93613,385.30492 331.69017,395.67691 329.52754,405.15408 C 344.72481,389.57658 344.61925,364.64595 329.19583,349.20843 C 321.42725,341.43269 311.18916,337.58767 300.99995,337.58767 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,624.61482,159.57335)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4488" + style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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" + sodipodi:type="arc" /> + </g> + <g + id="g4540" + transform="matrix(0.3764923,0,0,0.3764923,102.537,65.71322)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person1-32.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,480.51643,-696.54479)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4542" + style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 303.77805,68.375596 C 293.58885,68.375596 283.35081,72.22062 275.58218,79.996355 C 260.15886,95.433877 260.05324,120.36456 275.25046,135.94201 C 273.08783,126.46484 275.84182,116.09285 283.21165,108.71623 C 294.60729,97.310092 312.94881,97.310092 324.34445,108.71623 C 331.71423,116.09285 334.46827,126.46484 332.30564,135.94201 C 347.50291,120.36451 347.39735,95.433877 331.97393,79.996355 C 324.20535,72.22062 313.96726,68.375596 303.77805,68.375596 z" + id="path4544" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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="path4546" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,627.39292,-109.63872)" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + </g> + <g + id="g4548" + transform="matrix(0.3764923,0,0,0.3764923,102.78397,147.43392)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person3-32.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,478.73833,-564.33269)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4550" + style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 301.99995,200.5877 C 291.81075,200.5877 281.57271,204.43272 273.80408,212.20846 C 258.38076,227.64598 258.27514,252.57666 273.47236,268.15411 C 271.30973,258.67694 274.06372,248.30495 281.43355,240.92833 C 292.82919,229.52219 311.17071,229.52219 322.56635,240.92833 C 329.93613,248.30495 332.69017,258.67694 330.52754,268.15411 C 345.72481,252.57661 345.61925,227.64598 330.19583,212.20846 C 322.42725,204.43272 312.18916,200.5877 301.99995,200.5877 z" + id="path4552" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:3.49927115;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="path4554" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,625.61482,22.573385)" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + </g> + <g + id="g4556" + transform="matrix(0.3764923,0,0,0.3764923,102.56045,222.8594)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person5-32.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,477.73833,-427.33272)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4558" + style="opacity:1;fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 300.99995,337.58767 C 290.81075,337.58767 280.57271,341.43269 272.80408,349.20843 C 257.38076,364.64595 257.27514,389.57663 272.47236,405.15408 C 270.30973,395.67691 273.06372,385.30492 280.43355,377.9283 C 291.82919,366.52216 310.17071,366.52216 321.56635,377.9283 C 328.93613,385.30492 331.69017,395.67691 329.52754,405.15408 C 344.72481,389.57658 344.61925,364.64595 329.19583,349.20843 C 321.42725,341.43269 311.18916,337.58767 300.99995,337.58767 z" + id="path4560" /> + <path + sodipodi:type="arc" + style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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="path4562" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,624.61482,159.57335)" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + </g> + <g + transform="matrix(0.1882461,0,0,0.1882461,52.093488,86.07207)" + id="g4564" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person1-16.png" + inkscape:export-xdpi="89.99485" + inkscape:export-ydpi="89.99485"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4566" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,480.51643,-696.54479)" /> + <path + id="path4568" + d="M 303.77805,68.375596 C 293.58885,68.375596 283.35081,72.22062 275.58218,79.996355 C 260.15886,95.433877 260.05324,120.36456 275.25046,135.94201 C 273.08783,126.46484 275.84182,116.09285 283.21165,108.71623 C 294.60729,97.310092 312.94881,97.310092 324.34445,108.71623 C 331.71423,116.09285 334.46827,126.46484 332.30564,135.94201 C 347.50291,120.36451 347.39735,95.433877 331.97393,79.996355 C 324.20535,72.22062 313.96726,68.375596 303.77805,68.375596 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,627.39292,-109.63872)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4570" + style="opacity:1;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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" + sodipodi:type="arc" /> + </g> + <g + transform="matrix(0.1882461,0,0,0.1882461,50.650108,192.6812)" + id="g4572" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person3-16.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4574" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,478.73833,-564.33269)" /> + <path + id="path4576" + d="M 301.99995,200.5877 C 291.81075,200.5877 281.57271,204.43272 273.80408,212.20846 C 258.38076,227.64598 258.27514,252.57666 273.47236,268.15411 C 271.30973,258.67694 274.06372,248.30495 281.43355,240.92833 C 292.82919,229.52219 311.17071,229.52219 322.56635,240.92833 C 329.93613,248.30495 332.69017,258.67694 330.52754,268.15411 C 345.72481,252.57661 345.61925,227.64598 330.19583,212.20846 C 322.42725,204.43272 312.18916,200.5877 301.99995,200.5877 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,625.61482,22.573385)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4578" + style="opacity:1;fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:3.49927115;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" + sodipodi:type="arc" /> + </g> + <g + transform="matrix(0.1882461,0,0,0.1882461,49.838354,293.8964)" + id="g4580" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person5-16.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4582" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,477.73833,-427.33272)" /> + <path + id="path4584" + d="M 300.99995,337.58767 C 290.81075,337.58767 280.57271,341.43269 272.80408,349.20843 C 257.38076,364.64595 257.27514,389.57663 272.47236,405.15408 C 270.30973,395.67691 273.06372,385.30492 280.43355,377.9283 C 291.82919,366.52216 310.17071,366.52216 321.56635,377.9283 C 328.93613,385.30492 331.69017,395.67691 329.52754,405.15408 C 344.72481,389.57658 344.61925,364.64595 329.19583,349.20843 C 321.42725,341.43269 311.18916,337.58767 300.99995,337.58767 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,624.61482,159.57335)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4586" + style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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" + sodipodi:type="arc" /> + </g> + <g + id="g4588" + transform="matrix(0.3764923,0,0,0.3764923,379.16333,225.46712)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person6-32.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4590" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,614.65933,-434.25909)" /> + <path + id="path4592" + d="M 437.92095,330.6613 C 427.73175,330.6613 417.49371,334.50632 409.72508,342.28206 C 394.30176,357.71958 394.19614,382.65026 409.39336,398.22771 C 407.23073,388.75054 409.98472,378.37855 417.35455,371.00193 C 428.75019,359.59579 447.09171,359.59579 458.48735,371.00193 C 465.85713,378.37855 468.61117,388.75054 466.44854,398.22771 C 481.64581,382.65021 481.54025,357.71958 466.11683,342.28206 C 458.34825,334.50632 448.11016,330.6613 437.92095,330.6613 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 460.05116,364.96552 C 455.38897,371.83641 432.14686,380.28156 424.78848,372.95567 C 417.51844,365.71771 417.5378,353.91825 424.78848,346.6609 C 432.03916,339.40354 443.80837,339.40354 451.05905,346.6609 C 458.30973,353.91826 455.3126,357.26255 460.05116,364.96552 z" + id="path4594" + sodipodi:nodetypes="csssc" /> + </g> + <g + id="g4596" + transform="matrix(0.3764923,0,0,0.3764923,377.17794,64.28886)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-32.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4598" + style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z" + id="path4600" /> + <path + sodipodi:nodetypes="csssc" + id="path4602" + d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z" + style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + <g + id="g4604" + transform="matrix(0.3764923,0,0,0.3764923,378.93987,146.27859)" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person4-32.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4606" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,613.65933,-561.26401)" /> + <path + id="path4608" + d="M 436.92095,203.65638 C 426.73175,203.65638 416.49371,207.5014 408.72508,215.27714 C 393.30176,230.71466 393.19614,255.64534 408.39336,271.22279 C 406.23073,261.74562 408.98472,251.37363 416.35455,243.99701 C 427.75019,232.59087 446.09171,232.59087 457.48735,243.99701 C 464.85713,251.37363 467.61117,261.74562 465.44854,271.22279 C 480.64581,255.64529 480.54025,230.71466 465.11683,215.27714 C 457.34825,207.5014 447.11016,203.65638 436.92095,203.65638 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + style="fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 459.05116,237.9606 C 454.38897,244.83149 431.14686,253.27664 423.78848,245.95076 C 416.51844,238.7128 416.5378,226.91334 423.78848,219.65598 C 431.03916,212.39863 442.80837,212.39863 450.05905,219.65599 C 457.30973,226.91335 454.3126,230.25764 459.05116,237.9606 z" + id="path4610" + sodipodi:nodetypes="csssc" /> + </g> + <g + transform="matrix(0.1882461,0,0,0.1882461,570.98451,295.20026)" + id="g4612" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person6-16.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,614.65933,-434.25909)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4614" + style="fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 437.92095,330.6613 C 427.73175,330.6613 417.49371,334.50632 409.72508,342.28206 C 394.30176,357.71958 394.19614,382.65026 409.39336,398.22771 C 407.23073,388.75054 409.98472,378.37855 417.35455,371.00193 C 428.75019,359.59579 447.09171,359.59579 458.48735,371.00193 C 465.85713,378.37855 468.61117,388.75054 466.44854,398.22771 C 481.64581,382.65021 481.54025,357.71958 466.11683,342.28206 C 458.34825,334.50632 448.11016,330.6613 437.92095,330.6613 z" + id="path4616" /> + <path + sodipodi:nodetypes="csssc" + id="path4618" + d="M 460.05116,364.96552 C 455.38897,371.83641 432.14686,380.28156 424.78848,372.95567 C 417.51844,365.71771 417.5378,353.91825 424.78848,346.6609 C 432.03916,339.40354 443.80837,339.40354 451.05905,346.6609 C 458.30973,353.91826 455.3126,357.26255 460.05116,364.96552 z" + style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + <g + transform="matrix(0.1882461,0,0,0.1882461,566.11399,85.35989)" + id="g4620" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-16.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + sodipodi:type="arc" + style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4622" + sodipodi:cx="-55.5" + sodipodi:cy="242.36218" + sodipodi:rx="12.5" + sodipodi:ry="12" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)" /> + <path + id="path4624" + d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z" + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" /> + <path + style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z" + id="path4626" + sodipodi:nodetypes="csssc" /> + </g> + <g + transform="matrix(0.1882461,0,0,0.1882461,570.17277,192.10353)" + id="g4628" + inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person4-16.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + transform="matrix(3.1844753,0,0,3.3202165,613.65933,-561.26401)" + d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z" + sodipodi:ry="12" + sodipodi:rx="12.5" + sodipodi:cy="242.36218" + sodipodi:cx="-55.5" + id="path4630" + style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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" + sodipodi:type="arc" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" + d="M 436.92095,203.65638 C 426.73175,203.65638 416.49371,207.5014 408.72508,215.27714 C 393.30176,230.71466 393.19614,255.64534 408.39336,271.22279 C 406.23073,261.74562 408.98472,251.37363 416.35455,243.99701 C 427.75019,232.59087 446.09171,232.59087 457.48735,243.99701 C 464.85713,251.37363 467.61117,261.74562 465.44854,271.22279 C 480.64581,255.64529 480.54025,230.71466 465.11683,215.27714 C 457.34825,207.5014 447.11016,203.65638 436.92095,203.65638 z" + id="path4632" /> + <path + sodipodi:nodetypes="csssc" + id="path4634" + d="M 459.05116,237.9606 C 454.38897,244.83149 431.14686,253.27664 423.78848,245.95076 C 416.51844,238.7128 416.5378,226.91334 423.78848,219.65598 C 431.03916,212.39863 442.80837,212.39863 450.05905,219.65599 C 457.30973,226.91335 454.3126,230.25764 459.05116,237.9606 z" + style="fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + </g> +</svg> Added: trunk/img/icons/persons/person1-16.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person1-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person1-32.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person1-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person1-85.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person1-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person2-16.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person2-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person2-32.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person2-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person2-85.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person2-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person3-16.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person3-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person3-32.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person3-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person3-85.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person3-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person4-16.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person4-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person4-32.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person4-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person4-85.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person4-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person5-16.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person5-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person5-32.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person5-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person5-85.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person5-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person6-16.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person6-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person6-32.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person6-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/img/icons/persons/person6-85.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/persons/person6-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/pom.xml 2008-10-16 19:57:50 UTC (rev 914) @@ -82,7 +82,7 @@ <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId> - <version>0.5.06</version> + <version>0.5.11</version> </dependency> <dependency> <groupId>jmagick</groupId> @@ -94,7 +94,7 @@ <dependency> <groupId>com.calclab.emite</groupId> <artifactId>emite</artifactId> - <version>0.4.1</version> + <version>0.4.3</version> </dependency> <dependency> <groupId>org.jivesoftware.smack</groupId> Modified: trunk/script/generateBasicUIElements.sh =================================================================== --- trunk/script/generateBasicUIElements.sh 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/script/generateBasicUIElements.sh 2008-10-16 19:57:50 UTC (rev 914) @@ -67,7 +67,7 @@ cat <<EOF > $DIR/${NAME}Panel.java package $PACKAGE; -import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; public class ${NAME}Panel implements ${NAME}View { @@ -88,7 +88,7 @@ register(Singleton.class, new Factory<${NAME}>(${NAME}.class) { public ${NAME} create() { final ${NAME}Presenter presenter = new ${NAME}Presenter(); - final ${NAME}Panel panel = new ${NAME}Panel(presenter, ws); + final ${NAME}Panel panel = new ${NAME}Panel(presenter, $(WorkspaceSkeleton.class)); presenter.init(panel); return presenter; } Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2008-10-16 19:57:50 UTC (rev 914) @@ -40,71 +40,79 @@ } @Override - public void onLoad() { + public void onInstall() { - register(Singleton.class, new Factory<ChatInfo>(ChatInfo.class) { - public ChatInfo create() { - return new ChatInfoPanel(); - } - }); + register(Singleton.class, new Factory<ChatInfo>(ChatInfo.class) { + @Override + public ChatInfo create() { + return new ChatInfoPanel(); + } + }); - register(ToolGroup.class, new Factory<ChatClientActions>(ChatClientActions.class) { - public ChatClientActions create() { - return new ChatClientActions($(I18nUITranslationService.class), $(Session.class), - $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(ChatClientTool.class)); - } - }); + register(ToolGroup.class, new Factory<ChatClientActions>(ChatClientActions.class) { + @Override + public ChatClientActions create() { + return new ChatClientActions($(I18nUITranslationService.class), $(Session.class), + $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(ChatClientTool.class)); + } + }); - register(Singleton.class, new Factory<ChatContent>(ChatContent.class) { - public ChatContent create() { - final WorkspaceDeckPanel panel = new WorkspaceDeckPanel(); - final ChatContentPresenter presenter = new ChatContentPresenter($(EmiteUIDialog.class), panel, - $$(ChatInfo.class), $$(ChatRoom.class)); - return presenter; - } - }); + register(Singleton.class, new Factory<ChatContent>(ChatContent.class) { + @Override + public ChatContent create() { + final WorkspaceDeckPanel panel = new WorkspaceDeckPanel(); + final ChatContentPresenter presenter = new ChatContentPresenter($(EmiteUIDialog.class), panel, + $$(ChatInfo.class), $$(ChatRoom.class)); + return presenter; + } + }); - register(Singleton.class, new Factory<ChatContext>(ChatContext.class) { - public ChatContext create() { - final WorkspaceDeckPanel panel = new WorkspaceDeckPanel(); - final ChatContextPresenter presenter = new ChatContextPresenter(panel, $$(RoomsAdmin.class)); - return presenter; - } - }); + register(Singleton.class, new Factory<ChatContext>(ChatContext.class) { + @Override + public ChatContext create() { + final WorkspaceDeckPanel panel = new WorkspaceDeckPanel(); + final ChatContextPresenter presenter = new ChatContextPresenter(panel, $$(RoomsAdmin.class)); + return presenter; + } + }); - register(Singleton.class, new Factory<ChatRoomControl>(ChatRoomControl.class) { - public ChatRoomControl create() { - final ChatRoomControlPresenter presenter = new ChatRoomControlPresenter(); - final ChatRoomControlPanel panel = new ChatRoomControlPanel($(I18nUITranslationService.class), - presenter); - presenter.init(panel); - return presenter; - } - }); + register(Singleton.class, new Factory<ChatRoomControl>(ChatRoomControl.class) { + @Override + public ChatRoomControl create() { + final ChatRoomControlPresenter presenter = new ChatRoomControlPresenter(); + final ChatRoomControlPanel panel = new ChatRoomControlPanel($(I18nUITranslationService.class), + presenter); + presenter.init(panel); + return presenter; + } + }); - register(Singleton.class, new Factory<ChatRoom>(ChatRoom.class) { - public ChatRoom create() { - final ChatRoomPanel panel = new ChatRoomPanel($(WorkspaceSkeleton.class)); - final ChatRoomPresenter presenter = new ChatRoomPresenter(panel); - return presenter; - } - }); - register(Singleton.class, new Factory<RoomsAdmin>(RoomsAdmin.class) { - public RoomsAdmin create() { - final RoomsAdminPresenter presenter = new RoomsAdminPresenter($(ContextNavigator.class), - $(I18nUITranslationService.class), $$(StateManager.class), $(Session.class), - $$(ContentServiceAsync.class)); - return presenter; - } - }); + register(Singleton.class, new Factory<ChatRoom>(ChatRoom.class) { + @Override + public ChatRoom create() { + final ChatRoomPanel panel = new ChatRoomPanel($(WorkspaceSkeleton.class)); + final ChatRoomPresenter presenter = new ChatRoomPresenter(panel); + return presenter; + } + }); + register(Singleton.class, new Factory<RoomsAdmin>(RoomsAdmin.class) { + @Override + public RoomsAdmin create() { + final RoomsAdminPresenter presenter = new RoomsAdminPresenter($(ContextNavigator.class), + $(I18nUITranslationService.class), $$(StateManager.class), $(Session.class), + $$(ContentServiceAsync.class)); + return presenter; + } + }); - register(ToolGroup.class, new Factory<ChatClientTool>(ChatClientTool.class) { - public ChatClientTool create() { - return new ChatClientTool($(Session.class), $(Application.class), $(I18nUITranslationService.class), - $(EmiteUIDialog.class), $(WorkspaceSkeleton.class), $$(GroupMembersSummary.class), - $(ToolSelector.class), $(WsThemePresenter.class), $$(ChatContent.class), $$(ChatContext.class)); - } - }); + register(ToolGroup.class, new Factory<ChatClientTool>(ChatClientTool.class) { + @Override + public ChatClientTool create() { + return new ChatClientTool($(Session.class), $(Application.class), $(I18nUITranslationService.class), + $(EmiteUIDialog.class), $(WorkspaceSkeleton.class), $$(GroupMembersSummary.class), + $(ToolSelector.class), $(WsThemePresenter.class), $$(ChatContent.class), $$(ChatContext.class)); + } + }); } } Modified: trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java 2008-10-16 19:57:50 UTC (rev 914) @@ -20,18 +20,24 @@ package org.ourproject.kune.chat.server.managers; +import java.util.Collection; + +import org.jivesoftware.smack.RosterEntry; + public interface XmppManager { - ChatConnection login(String userName, String password, String resource); + Room createRoom(ChatConnection connection, String roomName, String ownerAlias); + void destroyRoom(ChatConnection conn, String roomName); + void disconnect(ChatConnection connection); - Room createRoom(ChatConnection connection, String roomName, String ownerAlias); + Collection<RosterEntry> getRoster(ChatConnection connection); Room joinRoom(ChatConnection connection, String roomName, String alias); + ChatConnection login(String userName, String password, String resource); + void sendMessage(Room room, String message); - void destroyRoom(ChatConnection conn, String roomName); - } Modified: trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java 2008-10-16 19:57:50 UTC (rev 914) @@ -21,10 +21,13 @@ package org.ourproject.kune.chat.server.managers; import java.util.ArrayList; +import java.util.Collection; import java.util.Iterator; import java.util.List; import org.jivesoftware.smack.ConnectionConfiguration; +import org.jivesoftware.smack.Roster; +import org.jivesoftware.smack.RosterEntry; import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.Message; @@ -46,26 +49,6 @@ this.chatProperties = chatProperties; } - public ChatConnection login(final String userName, final String password, final String resource) { - ConnectionConfiguration config = new ConnectionConfiguration(getServerName(), 5222); - XMPPConnection conn = new XMPPConnection(config); - try { - conn.connect(); - conn.login(userName, password, resource, true); - return new XmppConnection(userName, conn); - } catch (XMPPException e) { - throw new ChatException(e); - } - } - - private String getServerName() { - return chatProperties.getDomain(); - } - - private String getRoomName(final String room) { - return room + "@" + chatProperties.getRoomHost(); - } - public Room createRoom(final ChatConnection conn, final String roomName, final String alias) { XmppConnection xConn = (XmppConnection) conn; MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName)); @@ -90,6 +73,18 @@ } } + public void disconnect(final ChatConnection connection) { + XmppConnection xConn = (XmppConnection) connection; + xConn.getConn().disconnect(); + + } + + public Collection<RosterEntry> getRoster(ChatConnection conn) { + XmppConnection xConn = (XmppConnection) conn; + Roster roster = xConn.getConn().getRoster(); + return roster.getEntries(); + } + public Room joinRoom(final ChatConnection connection, final String roomName, final String alias) { XmppConnection xConn = (XmppConnection) connection; MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName)); @@ -104,6 +99,18 @@ } } + public ChatConnection login(final String userName, final String password, final String resource) { + ConnectionConfiguration config = new ConnectionConfiguration(getServerName(), 5222); + XMPPConnection conn = new XMPPConnection(config); + try { + conn.connect(); + conn.login(userName, password, resource, true); + return new XmppConnection(userName, conn); + } catch (XMPPException e) { + throw new ChatException(e); + } + } + public void sendMessage(final Room room, final String body) { XmppRoom xAccess = (XmppRoom) room; MultiUserChat muc = xAccess.getMuc(); @@ -136,22 +143,24 @@ muc.sendConfigurationForm(answer); } + private String getRoomName(final String room) { + return room + "@" + chatProperties.getRoomHost(); + } + + private String getServerName() { + return chatProperties.getDomain(); + } + private boolean isNotEmpty(final FormField field) { return field.getVariable() != null; } - private boolean isVisible(final String type) { - return !FormField.TYPE_HIDDEN.equals(type); - } - private boolean isNotList(final String type) { return !FormField.TYPE_JID_MULTI.equals(type) && !FormField.TYPE_LIST_MULTI.equals(type) && !FormField.TYPE_LIST_SINGLE.equals(type) && !isVisible(type); } - public void disconnect(final ChatConnection connection) { - XmppConnection xConn = (XmppConnection) connection; - xConn.getConn().disconnect(); - + private boolean isVisible(final String type) { + return !FormField.TYPE_HIDDEN.equals(type); } } Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-10-16 19:57:50 UTC (rev 914) @@ -56,7 +56,7 @@ } @Override - public void onLoad() { + public void onInstall() { register(ToolGroup.class, new Factory<DocumentClientTool>(DocumentClientTool.class) { @Override Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java 2008-10-16 19:57:50 UTC (rev 914) @@ -56,6 +56,7 @@ private ParticipationDataDTO participation; private StateToken stateToken; private List<String> enabledTools; + private UserBuddiesDataDTO userBuddies; public StateDTO() { this(null, null, null); @@ -179,6 +180,10 @@ return typeId; } + public UserBuddiesDataDTO getUserBuddies() { + return userBuddies; + } + public int getVersion() { return version; } @@ -308,6 +313,10 @@ this.typeId = typeId; } + public void setUserBuddies(UserBuddiesDataDTO userBuddies) { + this.userBuddies = userBuddies; + } + public void setVersion(final int version) { this.version = version; } Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,30 @@ +package org.ourproject.kune.platf.client.dto; + +import java.util.List; + +import com.google.gwt.user.client.rpc.IsSerializable; + +public class UserBuddiesDataDTO implements IsSerializable { + + private List<UserSimpleDTO> buddies; + int otherExternalBuddies; + + public UserBuddiesDataDTO() { + } + + public List<UserSimpleDTO> getBuddies() { + return buddies; + } + + public int getOtherExternalBuddies() { + return otherExternalBuddies; + } + + public void setBuddies(List<UserSimpleDTO> buddies) { + this.buddies = buddies; + } + + public void setOtherExternalBuddies(int otherExternalBuddies) { + this.otherExternalBuddies = otherExternalBuddies; + } +} \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2008-10-16 19:57:50 UTC (rev 914) @@ -8,8 +8,8 @@ public class KuneCoreModule extends AbstractModule { @Override - public void onLoad() { - registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container)); - registerDecorator(ToolGroup.class, new ToolGroup(container)); + public void onInstall() { + registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container)); + registerDecorator(ToolGroup.class, new ToolGroup(container)); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-10-16 19:57:50 UTC (rev 914) @@ -90,7 +90,7 @@ public class KuneModule extends AbstractModule { @Override - public void onLoad() { + public void onInstall() { register(Singleton.class, new Factory<Session>(Session.class) { @Override Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java 2008-10-16 19:57:50 UTC (rev 914) @@ -18,26 +18,28 @@ public class KunePlatformModule extends AbstractModule { @Override - protected void onLoad() { - register(Singleton.class, new Factory<ColorWebSafePalette>(ColorWebSafePalette.class) { - public ColorWebSafePalette create() { - final ColorWebSafePalettePresenter presenter = new ColorWebSafePalettePresenter(); - final ColorWebSafePalettePanel panel = new ColorWebSafePalettePanel(presenter); - presenter.init(panel); - return presenter; - } - }); + protected void onInstall() { + register(Singleton.class, new Factory<ColorWebSafePalette>(ColorWebSafePalette.class) { + @Override + public ColorWebSafePalette create() { + final ColorWebSafePalettePresenter presenter = new ColorWebSafePalettePresenter(); + final ColorWebSafePalettePanel panel = new ColorWebSafePalettePanel(presenter); + presenter.init(panel); + return presenter; + } + }); - register(Singleton.class, new Factory<FileUploader>(FileUploader.class) { - public FileUploader create() { - final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class), - $$(ContextNavigator.class)); - final FileUploaderDialog panel = new FileUploaderDialog(presenter, $(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); - presenter.init(panel); - return presenter; - } - }); + register(Singleton.class, new Factory<FileUploader>(FileUploader.class) { + @Override + public FileUploader create() { + final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class), + $$(ContextNavigator.class)); + final FileUploaderDialog panel = new FileUploaderDialog(presenter, $(I18nUITranslationService.class), + $(WorkspaceSkeleton.class)); + presenter.init(panel); + return presenter; + } + }); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-10-16 19:57:50 UTC (rev 914) @@ -58,6 +58,9 @@ import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPanel; import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPresenter; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.socialnet.BuddiesSummary; +import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPanel; +import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPresenter; import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummary; import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanel; import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter; @@ -87,7 +90,7 @@ public class KuneWorkspaceModule extends AbstractModule { @Override - protected void onLoad() { + protected void onInstall() { register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) { @Override @@ -327,6 +330,18 @@ } }); + register(ApplicationComponentGroup.class, new Factory<BuddiesSummary>(BuddiesSummary.class) { + @Override + public BuddiesSummary create() { + final BuddiesSummaryPresenter presenter = new BuddiesSummaryPresenter($(StateManager.class), + $(Session.class)); + final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class), + $(I18nTranslationService.class)); + presenter.init(panel); + return presenter; + } + }); + register(ApplicationComponentGroup.class, new Factory<ParticipationSummary>(ParticipationSummary.class) { @Override public ParticipationSummary create() { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-10-16 19:57:50 UTC (rev 914) @@ -20,7 +20,6 @@ package org.ourproject.kune.platf.client.state; -import java.util.Iterator; import java.util.List; import org.ourproject.kune.platf.client.dto.I18nCountryDTO; @@ -35,6 +34,7 @@ import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync; import com.allen_sauer.gwt.log.client.Log; +import com.calclab.suco.client.event.Events; import com.calclab.suco.client.ioc.Provider; import com.calclab.suco.client.listener.Event; import com.calclab.suco.client.listener.Event0; @@ -56,150 +56,148 @@ private final Provider<UserServiceAsync> userServiceProvider; public SessionDefault(final String userHash, final Provider<UserServiceAsync> userServiceProvider) { - this.userHash = userHash == null || userHash.equals("null") ? null : userHash; - this.userServiceProvider = userServiceProvider; - languagesArray = null; - this.onInitDataReceived = new Event<InitDataDTO>("initDataReceived"); - this.onUserSignIn = new Event<UserInfoDTO>("onUserSignIn"); - this.onUserSignOut = new Event0("onUserSignOut"); + this.userHash = userHash == null || userHash.equals("null") ? null : userHash; + this.userServiceProvider = userServiceProvider; + languagesArray = null; + this.onInitDataReceived = Events.create(InitDataDTO.class, "initDataReceived"); + this.onUserSignIn = new Event<UserInfoDTO>("onUserSignIn"); + this.onUserSignOut = new Event0("onUserSignOut"); } public void check(final AsyncCallbackSimple<?> callback) { - Log.debug("Checking session (userhash: " + getUserHash() + ")"); - userServiceProvider.get().onlyCheckSession(getUserHash(), callback); + Log.debug("Checking session (userhash: " + getUserHash() + ")"); + userServiceProvider.get().onlyCheckSession(getUserHash(), callback); } public List<I18nCountryDTO> getCountries() { - return initData.getCountries(); + return initData.getCountries(); } public Object[][] getCountriesArray() { - if (countriesArray == null) { - countriesArray = mapCountries(); - } - return countriesArray; + if (countriesArray == null) { + countriesArray = mapCountries(); + } + return countriesArray; } public I18nLanguageDTO getCurrentLanguage() { - return currentLanguage; + return currentLanguage; } public StateDTO getCurrentState() { - return currentState; + return currentState; } public StateToken getCurrentStateToken() { - return currentState == null ? null : currentState.getStateToken(); + return currentState == null ? null : currentState.getStateToken(); } public UserInfoDTO getCurrentUserInfo() { - return currentUserInfo; + return currentUserInfo; } public String getGalleryPermittedExtensions() { - return initData.getGalleryPermittedExtensions(); + return initData.getGalleryPermittedExtensions(); } public List<I18nLanguageSimpleDTO> getLanguages() { - return initData.getLanguages(); + return initData.getLanguages(); } public Object[][] getLanguagesArray() { - if (languagesArray == null) { - languagesArray = mapLangs(); - } - return languagesArray; + if (languagesArray == null) { + languagesArray = mapLangs(); + } + return languagesArray; } public List<LicenseDTO> getLicenses() { - return initData.getLicenses(); + return initData.getLicenses(); } public Object[][] getTimezones() { - if (timezonesArray == null) { - mapTimezones(); - } - return timezonesArray; + if (timezonesArray == null) { + mapTimezones(); + } + return timezonesArray; } public String getUserHash() { - return userHash; + return userHash; } public boolean isLogged() { - return userHash != null; + return userHash != null; } public void onInitDataReceived(final Listener<InitDataDTO> listener) { - onInitDataReceived.add(listener); + onInitDataReceived.add(listener); } public void onUserSignIn(final Listener<UserInfoDTO> listener) { - onUserSignIn.add(listener); + onUserSignIn.add(listener); } public void onUserSignOut(final Listener0 listener) { - onUserSignOut.add(listener); + onUserSignOut.add(listener); } public void setCurrent(final StateDTO currentState) { - this.currentState = currentState; + this.currentState = currentState; } public void setCurrentLanguage(final I18nLanguageDTO currentLanguage) { - this.currentLanguage = currentLanguage; + this.currentLanguage = currentLanguage; } public void setCurrentState(final StateDTO currentState) { - this.currentState = currentState; + this.currentState = currentState; } public void setCurrentUserInfo(final UserInfoDTO currentUserInfo) { - this.currentUserInfo = currentUserInfo; - if (currentUserInfo != null) { - onUserSignIn.fire(currentUserInfo); - } else { - onUserSignOut.fire(); - } + this.currentUserInfo = currentUserInfo; + if (currentUserInfo != null) { + onUserSignIn.fire(currentUserInfo); + } else { + onUserSignOut.fire(); + } } public void setInitData(final InitDataDTO initData) { - this.initData = initData; - onInitDataReceived.fire(initData); + this.initData = initData; + onInitDataReceived.fire(initData); } public void setUserHash(final String userHash) { - this.userHash = userHash; + this.userHash = userHash; } private Object[][] mapCountries() { - final Object[][] objs = new Object[initData.getCountries().size()][1]; - int i = 0; - for (final Iterator<I18nCountryDTO> iterator = initData.getCountries().iterator(); iterator.hasNext();) { - final I18nCountryDTO country = iterator.next(); - final Object[] obj = new Object[] { country.getCode(), country.getEnglishName() }; - objs[i++] = obj; - } - return objs; + final Object[][] objs = new Object[initData.getCountries().size()][1]; + int i = 0; + for (I18nCountryDTO country : initData.getCountries()) { + final Object[] obj = new Object[] { country.getCode(), country.getEnglishName() }; + objs[i++] = obj; + } + return objs; } private Object[][] mapLangs() { - final Object[][] objs = new Object[initData.getLanguages().size()][1]; - int i = 0; - for (final Iterator<I18nLanguageSimpleDTO> iterator = initData.getLanguages().iterator(); iterator.hasNext();) { - final I18nLanguageSimpleDTO language = iterator.next(); - final Object[] obj = new Object[] { language.getCode(), language.getEnglishName() }; - objs[i++] = obj; - } - return objs; + final Object[][] objs = new Object[initData.getLanguages().size()][1]; + int i = 0; + for (I18nLanguageSimpleDTO language : initData.getLanguages()) { + final Object[] obj = new Object[] { language.getCode(), language.getEnglishName() }; + objs[i++] = obj; + } + return objs; } private void mapTimezones() { - timezonesArray = new Object[initData.getTimezones().length][1]; - for (int i = 0; i < getTimezones().length; i++) { - final Object[] obj = new Object[] { initData.getTimezones()[i] }; - timezonesArray[i] = obj; - } + timezonesArray = new Object[initData.getTimezones().length][1]; + for (int i = 0; i < getTimezones().length; i++) { + final Object[] obj = new Object[] { initData.getTimezones()[i] }; + timezonesArray[i] = obj; + } } } Modified: trunk/src/main/java/org/ourproject/kune/platf/public/images/person-def.png =================================================================== (Binary files differ) Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-32.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-85.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-32.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-85.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-32.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-85.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-32.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-85.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-32.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-85.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-16.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-16.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-32.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-85.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-85.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java 2008-10-16 19:57:50 UTC (rev 914) @@ -1,55 +0,0 @@ -/* - * - * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.platf.server; - -import java.util.List; - -import org.ourproject.kune.platf.server.domain.Group; - -public class ParticipationData { - private List<Group> groupsIsAdmin; - private List<Group> groupsIsCollab; - - public ParticipationData() { - this(null, null); - } - - public ParticipationData(final List<Group> groupsIsAdmin, final List<Group> groupsIsCollab) { - this.groupsIsAdmin = groupsIsAdmin; - this.groupsIsCollab = groupsIsCollab; - } - - public List<Group> getGroupsIsAdmin() { - return groupsIsAdmin; - } - - public List<Group> getGroupsIsCollab() { - return groupsIsCollab; - } - - public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) { - this.groupsIsAdmin = groupsIsAdmin; - } - - public void setGroupsIsCollab(final List<Group> groupsIsCollab) { - this.groupsIsCollab = groupsIsCollab; - } - -} Modified: trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java 2008-10-16 19:57:50 UTC (rev 914) @@ -71,7 +71,7 @@ throws DefaultException { checkGroupExistence(token); final Content descriptor = finder.getContent(token, defaultGroup); - if (descriptor.equals(Content.NO_CONTENT)) { + if (Content.NO_CONTENT.equals(descriptor)) { throw new NoDefaultContentException(); } final Access access = new Access(descriptor, descriptor.getContainer()); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java 2008-10-16 19:57:50 UTC (rev 914) @@ -23,10 +23,10 @@ import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult; import org.ourproject.kune.platf.client.errors.AccessViolationException; import org.ourproject.kune.platf.client.errors.DefaultException; -import org.ourproject.kune.platf.server.ParticipationData; import org.ourproject.kune.platf.server.domain.Group; import org.ourproject.kune.platf.server.domain.SocialNetwork; import org.ourproject.kune.platf.server.domain.User; +import org.ourproject.kune.platf.server.sn.ParticipationData; public interface SocialNetworkManager extends Manager<SocialNetwork, Long> { Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java 2008-10-16 19:57:50 UTC (rev 914) @@ -23,6 +23,7 @@ import org.ourproject.kune.platf.client.errors.I18nNotFoundException; import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.impl.SearchResult; +import org.ourproject.kune.platf.server.sn.UserBuddiesData; public interface UserManager { /** @@ -40,7 +41,7 @@ * @throws I18nNotFoundException */ User createUser(String shortName, String longName, String email, String passwd, String language, String country, - String timezone) throws I18nNotFoundException; + String timezone) throws I18nNotFoundException; /** * IMPORTANT: if userId == null, it returns User.UNKNOWN_USER @@ -50,6 +51,8 @@ */ User find(Long userId); + UserBuddiesData getUserBuddies(String shortName); + User login(String nickOrEmail, String passwd); void reIndex(); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2008-10-16 19:57:50 UTC (rev 914) @@ -32,7 +32,6 @@ import org.ourproject.kune.platf.client.errors.DefaultException; import org.ourproject.kune.platf.client.errors.LastAdminInGroupException; import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException; -import org.ourproject.kune.platf.server.ParticipationData; import org.ourproject.kune.platf.server.access.AccessRightsService; import org.ourproject.kune.platf.server.domain.AdmissionType; import org.ourproject.kune.platf.server.domain.Group; @@ -40,6 +39,7 @@ import org.ourproject.kune.platf.server.domain.SocialNetwork; import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.SocialNetworkManager; +import org.ourproject.kune.platf.server.sn.ParticipationData; import com.google.inject.Inject; import com.google.inject.Provider; Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2008-10-16 19:57:50 UTC (rev 914) @@ -20,6 +20,7 @@ package org.ourproject.kune.platf.server.manager.impl; +import java.util.Collection; import java.util.List; import java.util.TimeZone; @@ -30,6 +31,9 @@ import org.apache.lucene.queryParser.MultiFieldQueryParser; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.search.Query; +import org.jivesoftware.smack.RosterEntry; +import org.ourproject.kune.chat.server.managers.ChatConnection; +import org.ourproject.kune.chat.server.managers.XmppManager; import org.ourproject.kune.platf.client.errors.I18nNotFoundException; import org.ourproject.kune.platf.server.domain.I18nCountry; import org.ourproject.kune.platf.server.domain.I18nLanguage; @@ -37,6 +41,8 @@ import org.ourproject.kune.platf.server.manager.I18nCountryManager; import org.ourproject.kune.platf.server.manager.I18nLanguageManager; import org.ourproject.kune.platf.server.manager.UserManager; +import org.ourproject.kune.platf.server.properties.ChatProperties; +import org.ourproject.kune.platf.server.sn.UserBuddiesData; import com.google.inject.Inject; import com.google.inject.Provider; @@ -47,14 +53,19 @@ private final User finder; private final I18nCountryManager countryManager; private final I18nLanguageManager languageManager; + private final XmppManager xmppManager; + private final ChatProperties properties; @Inject public UserManagerDefault(final Provider<EntityManager> provider, final User finder, - final I18nLanguageManager languageManager, final I18nCountryManager countryManager) { + final I18nLanguageManager languageManager, final I18nCountryManager countryManager, + final XmppManager xmppManager, ChatProperties properties) { super(provider, User.class); this.finder = finder; this.languageManager = languageManager; this.countryManager = countryManager; + this.xmppManager = xmppManager; + this.properties = properties; } public User createUser(final String shortName, final String longName, final String email, final String passwd, @@ -70,6 +81,50 @@ } } + @Override + public User find(final Long userId) { + return userId != null ? super.find(userId) : User.UNKNOWN_USER; + } + + public List<User> getAll() { + return finder.getAll(); + } + + public User getByShortName(final String shortName) { + return finder.getByShortName(shortName); + } + + public UserBuddiesData getUserBuddies(final String shortName) { + // XEP-133 get roster by admin part is not implemented in openfire + // also access to the openfire db is not easy with hibernate (the use of + // two db at the same time). This compromise solution is server + // independent. + // In the future cache this. + String domain = "@" + properties.getDomain(); + UserBuddiesData buddiesData = new UserBuddiesData(); + User user = finder.getByShortName(shortName); + ChatConnection connection = xmppManager.login(user.getShortName(), user.getPassword(), "kserver"); + Collection<RosterEntry> roster = xmppManager.getRoster(connection); + for (RosterEntry entry : roster) { + switch (entry.getType()) { + case both: + // only show buddies with subscription 'both' + int index = entry.getUser().indexOf(domain); + if (index > 0) { + // local user + User buddie = finder.getByShortName(entry.getUser().substring(0, index)); + if (buddie != null) { + buddiesData.getBuddies().add(buddie); + } + } else { + // ext user (only count) + buddiesData.setOtherExternalBuddies(buddiesData.getOtherExternalBuddies() + 1); + } + } + } + return buddiesData; + } + public User login(final String nickOrEmail, final String passwd) { User user; try { @@ -88,18 +143,6 @@ } } - public List<User> getAll() { - return finder.getAll(); - } - - public User getByShortName(final String shortName) { - return finder.getByShortName(shortName); - } - - public User find(final Long userId) { - return userId != null ? super.find(userId) : User.UNKNOWN_USER; - } - public SearchResult<User> search(final String search) { return this.search(search, null, null); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-10-16 19:57:50 UTC (rev 914) @@ -32,6 +32,7 @@ import org.ourproject.kune.platf.client.dto.CommentDTO; import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; import org.ourproject.kune.platf.client.dto.ContentStatusDTO; +import org.ourproject.kune.platf.client.dto.GroupType; import org.ourproject.kune.platf.client.dto.I18nLanguageDTO; import org.ourproject.kune.platf.client.dto.StateDTO; import org.ourproject.kune.platf.client.dto.StateToken; @@ -65,6 +66,7 @@ import org.ourproject.kune.platf.server.manager.GroupManager; import org.ourproject.kune.platf.server.manager.SocialNetworkManager; import org.ourproject.kune.platf.server.manager.TagManager; +import org.ourproject.kune.platf.server.manager.UserManager; import org.ourproject.kune.platf.server.mapper.Mapper; import org.ourproject.kune.platf.server.state.State; import org.ourproject.kune.platf.server.state.StateService; @@ -90,18 +92,21 @@ private final SocialNetworkManager socialNetworkManager; private final CommentManager commentManager; private final AccessRightsService rightsService; + private final UserManager userManager; @Inject public ContentRPC(final Provider<UserSession> userSessionProvider, final AccessService accessService, final AccessRightsService rightsService, final StateService stateService, - final CreationService creationService, final GroupManager groupManager, final XmppManager xmppManager, - final ContentManager contentManager, final ContainerManager containerManager, final TagManager tagManager, + final CreationService creationService, final UserManager userManager, final GroupManager groupManager, + final XmppManager xmppManager, final ContentManager contentManager, + final ContainerManager containerManager, final TagManager tagManager, final SocialNetworkManager socialNetworkManager, final CommentManager commentManager, final Mapper mapper) { this.userSessionProvider = userSessionProvider; this.accessService = accessService; this.rightsService = rightsService; this.stateService = stateService; this.creationService = creationService; + this.userManager = userManager; this.groupManager = groupManager; this.xmppManager = xmppManager; this.contentManager = contentManager; @@ -421,6 +426,9 @@ state.setGroupTags(tagManager.getSummaryByGroup(group)); state.setGroupMembers(socialNetworkManager.get(user, group)); state.setParticipation(socialNetworkManager.findParticipation(user, group)); + if (group.getType().equals(GroupType.PERSONAL)) { + state.setUserBuddies(userManager.getUserBuddies(group.getShortName())); + } } private State createFolder(final String groupShortName, final Long parentFolderId, final String title, Copied: trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java (from rev 909, trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java 2008-10-14 13:39:30 UTC (rev 909) +++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,55 @@ +/* + * + * Copyright (C) 2007-2008 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.ourproject.kune.platf.server.sn; + +import java.util.List; + +import org.ourproject.kune.platf.server.domain.Group; + +public class ParticipationData { + private List<Group> groupsIsAdmin; + private List<Group> groupsIsCollab; + + public ParticipationData() { + this(null, null); + } + + public ParticipationData(final List<Group> groupsIsAdmin, final List<Group> groupsIsCollab) { + this.groupsIsAdmin = groupsIsAdmin; + this.groupsIsCollab = groupsIsCollab; + } + + public List<Group> getGroupsIsAdmin() { + return groupsIsAdmin; + } + + public List<Group> getGroupsIsCollab() { + return groupsIsCollab; + } + + public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) { + this.groupsIsAdmin = groupsIsAdmin; + } + + public void setGroupsIsCollab(final List<Group> groupsIsCollab) { + this.groupsIsCollab = groupsIsCollab; + } + +} Property changes on: trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java ___________________________________________________________________ Name: svn:mergeinfo + Added: trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,33 @@ +package org.ourproject.kune.platf.server.sn; + +import java.util.ArrayList; +import java.util.List; + +import org.ourproject.kune.platf.server.domain.User; + +public class UserBuddiesData { + + private List<User> buddies; + int otherExternalBuddies; + + public UserBuddiesData() { + otherExternalBuddies = 0; + buddies = new ArrayList<User>(); + } + + public List<User> getBuddies() { + return buddies; + } + + public int getOtherExternalBuddies() { + return otherExternalBuddies; + } + + public void setBuddies(List<User> buddies) { + this.buddies = buddies; + } + + public void setOtherExternalBuddies(int otherExternalBuddies) { + this.otherExternalBuddies = otherExternalBuddies; + } +} Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java 2008-10-16 19:57:50 UTC (rev 914) @@ -24,7 +24,6 @@ import java.util.List; import org.ourproject.kune.platf.client.dto.StateToken; -import org.ourproject.kune.platf.server.ParticipationData; import org.ourproject.kune.platf.server.access.AccessRights; import org.ourproject.kune.platf.server.domain.AccessLists; import org.ourproject.kune.platf.server.domain.BasicMimeType; @@ -36,6 +35,8 @@ import org.ourproject.kune.platf.server.domain.SocialNetwork; import org.ourproject.kune.platf.server.domain.TagResult; import org.ourproject.kune.platf.server.domain.User; +import org.ourproject.kune.platf.server.sn.ParticipationData; +import org.ourproject.kune.platf.server.sn.UserBuddiesData; public class State { private String documentId; @@ -66,6 +67,7 @@ private ParticipationData participation; private StateToken stateToken; private List<String> enabledTools; + private UserBuddiesData userBuddies; public State() { } @@ -178,6 +180,10 @@ return typeId; } + public UserBuddiesData getUserBuddies() { + return userBuddies; + } + public boolean isRateable() { return isRateable; } @@ -302,6 +308,10 @@ this.typeId = typeId; } + public void setUserBuddies(UserBuddiesData userBuddies) { + this.userBuddies = userBuddies; + } + @Override public String toString() { return "State[" + stateToken + "/" + typeId + "]"; Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2008-10-16 19:57:50 UTC (rev 914) @@ -20,12 +20,12 @@ package org.ourproject.kune.platf.server.users; import org.ourproject.kune.platf.client.errors.DefaultException; -import org.ourproject.kune.platf.server.ParticipationData; import org.ourproject.kune.platf.server.domain.Content; import org.ourproject.kune.platf.server.domain.Group; import org.ourproject.kune.platf.server.domain.I18nLanguage; import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.SocialNetworkManager; +import org.ourproject.kune.platf.server.sn.ParticipationData; import com.google.inject.Inject; import com.google.inject.Singleton; Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,5 @@ +package org.ourproject.kune.workspace.client.socialnet; + +public interface BuddiesSummary { + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,70 @@ +package org.ourproject.kune.workspace.client.socialnet; + +import org.ourproject.kune.platf.client.dto.UserSimpleDTO; +import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.workspace.client.skel.SummaryPanel; +import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; + +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.VerticalPanel; + +public class BuddiesSummaryPanel extends SummaryPanel implements BuddiesSummaryView { + + public class BuddieWidget extends Composite { + private final Image icon; + private final Label nick; + + public BuddieWidget(String nickName) { + VerticalPanel vp = new VerticalPanel(); + icon = new Image("images/persons/person2-32.png"); + nick = new Label(nickName); + vp.add(icon); + vp.add(nick); + initWidget(vp); + } + + public void setIcon(String url) { + icon.setUrl(url); + } + + public void setNick(String nickName) { + nick.setText(nickName); + } + } + private final FlowPanel flowPanel; + private final Label otherBuddiesLabel; + private final I18nTranslationService i18n; + + public BuddiesSummaryPanel(final BuddiesSummaryPresenter presenter, final WorkspaceSkeleton ws, + I18nTranslationService i18n) { + super(i18n.t("Buddies"), i18n.t("Buddies of this user"), ws); + this.i18n = i18n; + VerticalPanel vp = new VerticalPanel(); + flowPanel = new FlowPanel(); + otherBuddiesLabel = new Label(); + vp.add(flowPanel); + vp.add(otherBuddiesLabel); + super.add(vp); + } + + public void addBuddie(UserSimpleDTO user) { + flowPanel.add(new BuddieWidget(user.getShortName())); + } + + @Override + public void clear() { + flowPanel.clear(); + otherBuddiesLabel.setText(i18n.t("This user has no buddies")); + } + + public void setOtherUsers(int otherExternalBuddies) { + if (otherExternalBuddies > 0) { + otherBuddiesLabel.setText(i18n.t("and [%d] external users", otherExternalBuddies)); + } else { + otherBuddiesLabel.setText(""); + } + } +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,48 @@ +package org.ourproject.kune.workspace.client.socialnet; + +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.GroupType; +import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO; +import org.ourproject.kune.platf.client.dto.UserSimpleDTO; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; + +import com.calclab.suco.client.listener.Listener2; + +public class BuddiesSummaryPresenter implements BuddiesSummary { + + private BuddiesSummaryView view; + + public BuddiesSummaryPresenter(StateManager stateManager, final Session session) { + stateManager.onGroupChanged(new Listener2<GroupDTO, GroupDTO>() { + public void onEvent(GroupDTO param1, GroupDTO param2) { + setState(session.getCurrentState()); + } + }); + } + + public View getView() { + return view; + } + + public void init(BuddiesSummaryView view) { + this.view = view; + } + + protected void setState(StateDTO state) { + if (state.getGroup().getType().equals(GroupType.PERSONAL)) { + view.clear(); + UserBuddiesDataDTO userBuddies = state.getUserBuddies(); + for (UserSimpleDTO user : userBuddies.getBuddies()) { + view.addBuddie(user); + } + view.setOtherUsers(userBuddies.getOtherExternalBuddies()); + view.show(); + } else { + view.hide(); + } + } + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java 2008-10-16 19:57:50 UTC (rev 914) @@ -0,0 +1,17 @@ +package org.ourproject.kune.workspace.client.socialnet; + +import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.dto.UserSimpleDTO; + +public interface BuddiesSummaryView extends View { + + void addBuddie(UserSimpleDTO user); + + void clear(); + + void hide(); + + void setOtherUsers(int otherExternalBuddies); + + void show(); +} Modified: trunk/src/main/resources/dozerBeanMapping.xml =================================================================== --- trunk/src/main/resources/dozerBeanMapping.xml 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/main/resources/dozerBeanMapping.xml 2008-10-16 19:57:50 UTC (rev 914) @@ -307,7 +307,7 @@ org.ourproject.kune.platf.client.dto.ParticipationDataDTO </class-a> <class-b> - org.ourproject.kune.platf.server.ParticipationData + org.ourproject.kune.platf.server.sn.ParticipationData </class-b> </mapping> @@ -446,4 +446,12 @@ </class-b> </mapping> + <mapping> + <class-a> + org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO + </class-a> + <class-b> + org.ourproject.kune.platf.server.sn.UserBuddiesData + </class-b> + </mapping> </mappings> \ No newline at end of file Modified: trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java 2008-10-16 19:57:50 UTC (rev 914) @@ -6,14 +6,36 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.ourproject.kune.platf.integration.IntegrationTestHelper; import com.google.inject.Inject; -//FIXME: check this tests -public abstract class XmppManagerTest { +public class XmppManagerTest { + public static class OutputListener implements RoomListener { + Log log = LogFactory.getLog(OutputListener.class); + private final String name; + private int hits; + + public OutputListener(final String name) { + this.name = name; + this.hits = 0; + } + + public int getHits() { + return hits; + } + + public void onMessage(final String from, final String to, final String body) { + log.debug("Al listener " + name + "ha llegado: "); + log.debug(from + "- " + to + ": " + body); + hits++; + } + + } + @Inject XmppManager manager; @@ -22,18 +44,7 @@ IntegrationTestHelper.createInjector().injectMembers(this); } - @Test - public void testConnection() { - ChatConnection handler1 = manager.login("admin", "easyeasy", "test"); - assertNotNull(handler1); - } - - // @Test(expected = ChatException.class) - public void testUserDontExist() { - manager.login("user", "passowrd", "test"); - } - - // @Test + @Ignore public void testBroadcast() { String roomName = "roomName"; ChatConnection conn1 = manager.login("testUser1", "easy1", "test"); @@ -58,25 +69,20 @@ assertEquals(4, listener2.getHits()); } - public static class OutputListener implements RoomListener { - Log log = LogFactory.getLog(OutputListener.class); - private final String name; - private int hits; + @Test + public void testConnection() { + ChatConnection handler1 = manager.login("admin", "easyeasy", "test"); + assertNotNull(handler1); + } - public OutputListener(final String name) { - this.name = name; - this.hits = 0; - } + @Test + public void testGetRoster() { + ChatConnection handler = manager.login("admin", "easyeasy", "test"); + assertNotNull(manager.getRoster(handler)); + } - public void onMessage(final String from, final String to, final String body) { - log.debug("Al listener " + name + "ha llegado: "); - log.debug(from + "- " + to + ": " + body); - hits++; - } - - public int getHits() { - return hits; - } - + @Test(expected = ChatException.class) + public void testUserDontExist() { + manager.login("user", "passowrd", "test"); } } Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java 2008-10-16 14:34:33 UTC (rev 913) +++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java 2008-10-16 19:57:50 UTC (rev 914) @@ -12,12 +12,12 @@ import org.ourproject.kune.platf.client.errors.AccessViolationException; import org.ourproject.kune.platf.client.errors.AlreadyGroupMemberException; import org.ourproject.kune.platf.client.errors.LastAdminInGroupException; -import org.ourproject.kune.platf.server.ParticipationData; import org.ourproject.kune.platf.server.PersistenceTest; import org.ourproject.kune.platf.server.domain.AdmissionType; import org.ourproject.kune.platf.server.domain.Group; import org.ourproject.kune.platf.server.domain.GroupListMode; import org.ourproject.kune.platf.server.domain.User; +import org.ourproject.kune.platf.server.sn.ParticipationData; import org.ourproject.kune.testhelper.ctx.DomainContext; import com.google.inject.Inject;