[kune-commits] r1256 - in tags: . 0.0.7 0.0.7/src/main/java/cc/kune/wave/server

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Fri Feb 18 02:00:52 CET 2011


Author: vjrj_
Date: 2011-02-18 02:00:51 +0100 (Fri, 18 Feb 2011)
New Revision: 1256

Added:
   tags/0.0.7/
   tags/0.0.7/.classpath
   tags/0.0.7/.project
   tags/0.0.7/pom.xml
   tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
Removed:
   tags/0.0.7/.classpath
   tags/0.0.7/.project
   tags/0.0.7/pom.xml
   tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
Log:
0.0.7

Copied: tags/0.0.7 (from rev 1254, trunk)

Deleted: tags/0.0.7/.classpath
===================================================================
--- trunk/.classpath	2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/.classpath	2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-  <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
-  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
-  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
-  <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
-  <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
-  <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
-  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/googlecode/gwt/inject/gin/r137/gin-r137.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gxt-uibinder/0.6/gxt-uibinder-0.6.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
-  <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="src" path="target/generated-sources/apt" including="**/*.java"/>  <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
-</classpath>
\ No newline at end of file

Copied: tags/0.0.7/.classpath (from rev 1255, trunk/.classpath)
===================================================================
--- tags/0.0.7/.classpath	                        (rev 0)
+++ tags/0.0.7/.classpath	2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
+	<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gxt-uibinder/0.6/gxt-uibinder-0.6.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+	<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry including="**/*.java" kind="src" path="target/generated-sources/apt"/>
+	<classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-user.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-dev.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
+</classpath>

Deleted: tags/0.0.7/.project
===================================================================
--- trunk/.project	2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/.project	2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>kune</name>
-	<comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.ajdt.ui.ajnature</nature>
-		<nature>com.google.gwt.eclipse.core.gwtNature</nature>
-		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
-	</natures>
-</projectDescription>

Copied: tags/0.0.7/.project (from rev 1255, trunk/.project)
===================================================================
--- tags/0.0.7/.project	                        (rev 0)
+++ tags/0.0.7/.project	2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,74 @@
+<projectDescription>
+  <name>kune</name>
+  <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+      <triggers>full,incremental,</triggers>
+      <arguments>
+        <dictionary>
+          <key>LaunchConfigHandle</key>
+          <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
+        </dictionary>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+      <triggers>full,incremental,</triggers>
+      <arguments>
+        <dictionary>
+          <key>LaunchConfigHandle</key>
+          <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
+        </dictionary>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+      <triggers>full,incremental,</triggers>
+      <arguments>
+        <dictionary>
+          <key>LaunchConfigHandle</key>
+          <value>&lt;project&gt;/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
+        </dictionary>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
+    </buildCommand>
+    <buildCommand>
+      <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.wst.common.project.facet.core.builder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+      <triggers>full,incremental,</triggers>
+      <arguments>
+        <dictionary>
+          <key>LaunchConfigHandle</key>
+          <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
+        </dictionary>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.wst.validation.validationbuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+    <nature>org.eclipse.ajdt.ui.ajnature</nature>
+    <nature>com.google.gwt.eclipse.core.gwtNature</nature>
+    <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Deleted: tags/0.0.7/pom.xml
===================================================================
--- trunk/pom.xml	2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/pom.xml	2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,1108 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>cc.kune</groupId>
-  <artifactId>kune</artifactId>
-  <packaging>jar</packaging>
-  <version>0.0.7</version>
-  <name>kune</name>
-  <description> kune free/open/libre collaboration platform </description>
-  <url>http://kune.ourproject.org</url>
-  <properties>
-    <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
-    <gwt.version>2.1.1</gwt.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <slf4j.version>1.6.1</slf4j.version>
-    <openjpa.version>2.0.1</openjpa.version>
-  </properties>
-  <repositories>
-    <repository>
-      <id>kune-maven</id>
-      <url>http://kune.ourproject.org/mavenrepo/</url>
-    </repository>
-    <repository>
-      <id>guice-maven</id>
-      <name>guice maven</name>
-      <url>http://guice-maven.googlecode.com/svn/trunk</url>
-    </repository>
-    <repository>
-      <id>Codehaus Snapshots</id>
-      <url>http://snapshots.repository.codehaus.org/</url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-    <repository>
-      <id>jboss-public-repository-group</id>
-      <name>JBoss Public Maven Repository Group</name>
-      <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
-      </url>
-      <layout>default</layout>
-      <releases>
-        <enabled>true</enabled>
-        <updatePolicy>never</updatePolicy>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-        <updatePolicy>never</updatePolicy>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>mvp4g.googlecode.releases</id>
-      <name>Releases Repository for Mvp4g</name>
-      <url>http://mvp4g.googlecode.com/svn/maven2/releases/</url>
-    </repository>
-    <repository>
-      <id>ext-gxt</id>
-      <name>ext-gxt at jahia</name>
-      <url>http://maven.jahia.org/maven2/</url>
-    </repository>
-    <repository>
-      <id>ext-gxt</id>
-      <name>ext-gxt at jahia</name>
-      <url>http://maven.jahia.org/maven2/</url>
-    </repository>
-    <repository>
-      <id>cobogw</id>
-      <name>Cobogw repository at googlecode</name>
-      <url>http://cobogw.googlecode.com/svn/maven2</url>
-    </repository>
-    <repository>
-      <id>gwt-repo</id>
-      <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
-      <name>Google Web Toolkit Repository</name>
-    </repository>
-    <repository>
-      <id>gwt-maven-rewraps</id>
-      <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
-    </repository>
-    <!-- cc -->
-    <repository>
-      <id>dyndns-repo</id>
-      <url>http://maven.dyndns.org/2</url>
-    </repository>
-    <repository>
-      <id>google-maven-snapshot-repository</id>
-      <name>Google Maven Snapshot Repository</name>
-      <url>https://oss.sonatype.org/content/repositories/google-snapshots/
-      </url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>openqa.org</id>
-      <name>Openqa Release Repository</name>
-      <url>http://archiva.openqa.org/repository/releases</url>
-      <layout>default</layout>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-    </repository>
-    <repository>
-      <id>openqa.org snapshots</id>
-      <name>Openqa Snapshot Repository</name>
-      <url>http://archiva.openqa.org/repository/snapshots</url>
-      <layout>default</layout>
-      <snapshots>
-        <enabled>true</enabled>
-        <updatePolicy>daily</updatePolicy>
-        <checksumPolicy>ignore</checksumPolicy>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-    <repository>
-      <id>xwiki-releases</id>
-      <name>XWiki Maven2 Remote Repository for Releases</name>
-      <url>http://maven.xwiki.org/releases</url>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>xwiki</id>
-      <name>XWiki Repository</name>
-      <url>http://maven.xwiki.org/snapshots</url>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-        <updatePolicy>daily</updatePolicy>
-        <checksumPolicy>warn</checksumPolicy>
-      </snapshots>
-    </repository>
-  </repositories>
-  <pluginRepositories>
-    <!-- cc -->
-    <pluginRepository>
-      <id>jboss-public-repository-group</id>
-      <name>JBoss Public Maven Repository Group</name>
-      <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
-      </url>
-      <layout>default</layout>
-      <releases>
-        <enabled>true</enabled>
-        <updatePolicy>never</updatePolicy>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-        <updatePolicy>never</updatePolicy>
-      </snapshots>
-    </pluginRepository>
-    <!-- cc -->
-    <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
-      </pluginRepository> -->
-    <pluginRepository>
-      <id>Codehaus Snapshots</id>
-      <url>http://snapshots.repository.codehaus.org/</url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>  <!-- Workaround for MNG-2974, see note below -->
-      </releases>
-    </pluginRepository>
-    <pluginRepository>
-      <id>maven2-repository.dev.java.net</id>
-      <name>Java.net Repository for Maven</name>
-      <url>http://download.java.net/maven/2/</url>
-      <layout>default</layout>
-    </pluginRepository>
-    <pluginRepository>
-      <id>gwt-plugin-repo</id>
-      <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
-      <name>Google Web Toolkit Plugin Repository</name>
-    </pluginRepository>
-    <pluginRepository>
-      <id>onejar-maven-plugin.googlecode.com</id>
-      <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
-    </pluginRepository>
-  </pluginRepositories>
-  <dependencies>
-    <dependency>
-      <groupId>com.google.gwt</groupId>
-      <artifactId>gwt-servlet</artifactId>
-      <version>${gwt.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.gwt</groupId>
-      <artifactId>gwt-user</artifactId>
-      <version>${gwt.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <!-- guice -->
-    <dependency>
-      <groupId>com.google.inject</groupId>
-      <artifactId>guice</artifactId>
-      <!-- <version>2.1-SNAPSHOT-r1160</version> -->
-      <version>3.0-rc2</version>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.gwt.inject</groupId>
-      <artifactId>gin</artifactId>
-      <version>r137</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.inject.extensions</groupId>
-      <artifactId>guice-servlet</artifactId>
-      <version>3.0-rc2</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.inject.extensions</groupId>
-      <artifactId>guice-persist</artifactId>
-      <version>3.0-rc2</version>
-    </dependency>
-    <dependency>
-      <groupId>com.extjs</groupId>
-      <artifactId>gxt</artifactId>
-      <version>2.2.1</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.cobogw.gwt</groupId>
-      <artifactId>cobogw</artifactId>
-      <version>1.3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>com.gwtplatform</groupId>
-      <artifactId>gwtp-all</artifactId>
-      <version>0.5</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-context</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-beans</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-web</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.adamtacy</groupId>
-      <artifactId>gwt-fx</artifactId>
-      <version>r464</version>
-    </dependency>
-    <dependency>
-      <groupId>com.jhickman.web.gwt</groupId>
-      <artifactId>gwt-customuibinder</artifactId>
-      <version>0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>com.jhickman.web.gwt</groupId>
-      <artifactId>gxt-uibinder</artifactId>
-      <version>0.6</version>
-    </dependency>
-    <!-- cc -->
-    <dependency>
-      <groupId>com.gwtext</groupId>
-      <artifactId>gwtext</artifactId>
-      <version>2.0.5</version>
-    </dependency>
-    <dependency>
-      <groupId>com.gwtextux</groupId>
-      <artifactId>gwtextux</artifactId>
-      <version>0.4.0.924</version>
-    </dependency>
-    <dependency>
-      <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
-      <artifactId>gwt-log</artifactId>
-      <version>3.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
-      <artifactId>gwt-voices</artifactId>
-      <version>1.6.0</version>
-    </dependency>
-    <!-- utilities -->
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.14</version>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.dozer</groupId>
-      <artifactId>dozer</artifactId>
-      <version>4.0</version>
-    </dependency>
-    <!-- <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId>
-      <version>0.6.5</version> </dependency> -->
-    <dependency>
-      <groupId>jmagick</groupId>
-      <artifactId>jmagick</artifactId>
-      <version>6.2.6-0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.xwiki.platform</groupId>
-      <artifactId>xwiki-web-gwt-dom</artifactId>
-      <version>2.3-rc-1</version>
-      <!-- <version>2.0-SNAPSHOT-g164</version> -->
-      <!-- <version>2.0-SNAPSHOT</version> -->
-      <!-- <version>2.0-SNAPSHOT-g20s</version> -->
-    </dependency>
-    <!-- xmpp -->
-    <dependency>
-      <groupId>com.calclab.emite</groupId>
-      <artifactId>emite</artifactId>
-      <version>r1694</version>
-    </dependency>
-    <dependency>
-      <groupId>com.calclab.emite</groupId>
-      <artifactId>emite-proxy</artifactId>
-      <version>0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>com.calclab.emite</groupId>
-      <artifactId>hablar</artifactId>
-      <version>r1694</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jivesoftware.smack</groupId>
-      <artifactId>smack</artifactId>
-      <version>3.0.4</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jivesoftware.smackx</groupId>
-      <artifactId>smackx</artifactId>
-      <version>3.0.4</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jivesoftware.smackx.debugger</groupId>
-      <artifactId>smackx-debugger</artifactId>
-      <version>3.0.4</version>
-    </dependency>
-    <!-- mysql -->
-    <dependency>
-      <groupId>mysql</groupId>
-      <artifactId>mysql-connector-java</artifactId>
-      <version>5.1.13</version>
-    </dependency>
-    <!-- hibernate JPA -->
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-core</artifactId>
-      <version>3.3.1.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-validator</artifactId>
-      <version>3.1.0.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-annotations</artifactId>
-      <version>3.4.0.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-commons-annotations</artifactId>
-      <version>3.3.0.ga</version>
-      <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsource-nosuchmethoderror -->
-      <exclusions>
-        <exclusion>
-          <groupId>org.hibernate</groupId>
-          <artifactId>hibernate</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
-    <!-- <version>3.3.1.GA</version> </dependency> -->
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-search</artifactId>
-      <version>3.1.0.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-entitymanager</artifactId>
-      <version>3.4.0.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-tools</artifactId>
-      <version>3.2.3.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-c3p0</artifactId>
-      <version>3.3.1.GA</version>
-    </dependency>
-    <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
-      <version>0.9.1.2</version> </dependency> -->
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <!-- wave use 2.5 -->
-      <version>2.5</version>
-    </dependency>
-    <!-- <dependency> <groupId>com.wideplay</groupId> <artifactId>warp-persist</artifactId>
-      <version>2.0-SNAPSHOT</version> </dependency> -->
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.16</version>
-      <!-- =roo -->
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>${slf4j.version}</version>
-      <!-- =roo -->
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>jcl-over-slf4j</artifactId>
-      <version>${slf4j.version}</version>
-      <!-- =roo -->
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>${slf4j.version}</version>
-      <!-- =roo -->
-    </dependency>
-    <!-- REST: xml and json (stax) -->
-    <dependency>
-      <groupId>com.thoughtworks.xstream</groupId>
-      <artifactId>xstream</artifactId>
-      <version>1.2.2</version>
-    </dependency>
-    <dependency>
-      <groupId>stax</groupId>
-      <artifactId>stax-api</artifactId>
-      <version>1.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.0-RC2</version>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.json-lib</groupId>
-      <artifactId>json-lib</artifactId>
-      <version>2.1</version>
-      <classifier>jdk15</classifier>
-    </dependency>
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-      <version>3.2</version>
-    </dependency>
-    <!-- File upload -->
-    <dependency>
-      <groupId>commons-beanutils</groupId>
-      <artifactId>commons-beanutils</artifactId>
-      <version>1.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>1.2</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-fileupload</groupId>
-      <artifactId>commons-fileupload</artifactId>
-      <version>1.1.1</version>
-    </dependency>
-    <!-- db upgrades -->
-    <dependency>
-      <groupId>org.liquibase</groupId>
-      <artifactId>liquibase-core</artifactId>
-      <version>1.7.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.liquibase</groupId>
-      <artifactId>liquibase-plugin</artifactId>
-      <version>1.7.0.0</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <version>2.5</version>
-      <scope>provided</scope>
-    </dependency>
-    <!-- testing dependencies -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.mockito</groupId> -->
-    <!-- <artifactId>mockito-all</artifactId> -->
-    <!-- <scope>test</scope> -->
-    <!-- <version>1.6</version> -->
-    <!-- </dependency> -->
-    <dependency>
-      <groupId>org.jukito</groupId>
-      <artifactId>jukito</artifactId>
-      <version>1.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.h2database</groupId>
-      <artifactId>h2</artifactId>
-      <version>1.0.20070617</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <!-- =roo -->
-      <scope>test</scope>
-    </dependency>
-    <!-- <dependency> -->
-    <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
-    <!-- <artifactId>selenium-java-client-driver</artifactId> -->
-    <!-- <version>1.0-beta-1</version> -->
-    <!-- <scope>test</scope> -->
-    <!-- </dependency> -->
-    <!-- public side -->
-    <dependency>
-      <groupId>org.jruby.rack</groupId>
-      <artifactId>jruby-rack</artifactId>
-      <!-- <version>1.0.3</version> -->
-      <version>0.9.4</version>
-    </dependency>
-    <!-- wave -->
-    <dependency>
-      <groupId>org.waveprotocol</groupId>
-      <artifactId>waveinabox-server-custom</artifactId>
-      <version>0.3.6</version>
-    </dependency>
-    <dependency>
-      <groupId>org.waveprotocol</groupId>
-      <artifactId>proto-gwt</artifactId>
-      <version>0.3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.waveprotocol</groupId>
-      <artifactId>gwt-util-src</artifactId>
-      <version>0.3.0</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava-gwt</artifactId>
-      <version>r07</version>
-    </dependency>
-    <!-- From here necessary as .java not included in waveinabox-serve.jar -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>box-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>model-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>client-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>client-common-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>common-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>util-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>concurrencycontrol-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>client-scheduler-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.waveprotocol</groupId> -->
-    <!-- <artifactId>media-src</artifactId> -->
-    <!-- <version>0.3.0</version> -->
-    <!-- </dependency> -->
-    <!-- to here -->
-    <dependency>
-      <groupId>net.sourceforge.findbugs</groupId>
-      <artifactId>jsr-305</artifactId>
-      <version>v0r47</version>
-    </dependency>
-    <!-- end wave -->
-    <dependency>
-      <groupId>commons-cli</groupId>
-      <artifactId>commons-cli</artifactId>
-      <version>1.2</version>
-      <type>jar</type>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.4</version>
-      <type>jar</type>
-    </dependency>
-  </dependencies>
-  <!-- <dependency> -->
-  <!-- <groupId>dom4j</groupId> -->
-  <!-- <artifactId>dom4j</artifactId> -->
-  <!-- <version>1.6.1</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>com.google.code.guice</groupId> -->
-  <!-- <artifactId>guice-assistedinject</artifactId> -->
-  <!-- <version>2.0</version> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>jline<!/groupId> -->
-  <!-- <artifactId>jline</artifactId> -->
-  <!-- <version>0.9.94</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>org.gnu.inet</groupId> -->
-  <!-- <artifactId>libidn</artifactId> -->
-  <!-- <version>1.15</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>com.google.protobuf</groupId> -->
-  <!-- <artifactId>protobuf-java</artifactId> -->
-  <!-- <version>2.3.0</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>xpp3</groupId> -->
-  <!-- <artifactId>xpp3</artifactId> -->
-  <!-- <version>1.1.4c</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>xpp3</groupId> -->
-  <!-- <artifactId>xpp3_xpath</artifactId> -->
-  <!-- <version>1.1.4c</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>aopalliance</groupId> -->
-  <!-- <artifactId>aopalliance</artifactId> -->
-  <!-- <version>1.0</version> -->
-  <!-- <type>jar</type> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>org.wave-protocol</groupId> -->
-  <!-- <artifactId>xmpp</artifactId> -->
-  <!-- <version>1.0.0</version> -->
-  <!-- </dependency> -->
-  <!-- <dependency> -->
-  <!-- <groupId>org.wave-protocol</groupId> -->
-  <!-- <artifactId>whack</artifactId> -->
-  <!-- <version>1.0.0</version> -->
-  <!-- </dependency> -->
-  <distributionManagement>
-    <repository>
-      <id>kune.ourproject.org</id>
-      <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ </url>
-    </repository>
-  </distributionManagement>
-  <issueManagement>
-    <system>kune issues list at ourproject.org</system>
-    <url>http://kune.ourproject.org/issues/</url>
-  </issueManagement>
-  <developers>
-    <developer>
-      <id>dani</id>
-      <name>Daniel Gómez Blasco</name>
-      <email>danigb at gmail.com</email>
-    </developer>
-    <developer>
-      <name>Samer Hassan</name>
-      <email>samer2004 at gmail.com</email>
-    </developer>
-    <developer>
-      <name>Vicente J. Ruiz Jurado</name>
-      <email>vjrj at ourproject.org</email>
-    </developer>
-  </developers>
-  <scm>
-    <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
-  </scm>
-  <build>
-    <plugins>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-war-plugin</artifactId>
-        <version>2.1-beta-1</version>
-        <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.1</version>
-        <configuration>
-          <source>1.6</source>
-          <target>1.6</target>
-          <!-- Uncomment and run mvn with -X -e if we have same compile problems
-            <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>2.4.2</version>
-        <configuration>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- =roo + custom -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.5</version>
-        <configuration>
-          <excludes>
-            <exclude>**/*_Roo_*</exclude>
-          </excludes>
-          <forkMode>pertest</forkMode>
-          <!-- Skip the normal tests, we'll run them in the integration-test
-            phase -->
-          <skip>true</skip>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>integration-test</phase>
-            <goals>
-              <goal>test</goal>
-            </goals>
-            <configuration>
-              <skip>false</skip>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptorRefs>
-            <descriptorRef>jar-with-dependencies</descriptorRef>
-          </descriptorRefs>
-          <dependencySets>
-            <dependencySet>
-              <scope>runtime</scope>
-              <unpackOptions>
-                <excludes>
-                  <exclude>**/gxt/**</exclude>
-                  <exclude>**/extjs/**</exclude>
-                  <exclude>**extjs**</exclude>
-                  <exclude>**gxt**</exclude>
-                </excludes>
-              </unpackOptions>
-            </dependencySet>
-          </dependencySets>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- =roo sin spring executions -->
-        <artifactId>maven-eclipse-plugin</artifactId>
-        <version>2.8</version>
-        <configuration>
-          <downloadSources>true</downloadSources>
-          <downloadJavadocs>false</downloadJavadocs>
-          <wtpversion>2.0</wtpversion>
-          <additionalBuildcommands>
-            <buildCommand>
-              <name>com.google.gwt.eclipse.core.gwtProjectValidator </name>
-            </buildCommand>
-          </additionalBuildcommands>
-          <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
-          <additionalProjectnatures>
-            <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
-            <projectnature>com.google.gwt.eclipse.core.gwtNature </projectnature>
-          </additionalProjectnatures>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <version>2.5</version>
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-idea-plugin</artifactId>
-        <version>2.2</version>
-        <configuration>
-          <downloadSources>true</downloadSources>
-          <dependenciesAsLibraries>true</dependenciesAsLibraries>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>tomcat-maven-plugin</artifactId>
-        <version>1.0</version>
-        <configuration>
-          <path>/</path>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.mortbay.jetty</groupId>
-        <artifactId>jetty-maven-plugin</artifactId>
-        <version>7.1.2.v20100523</version>
-        <!-- <version>7.2.1.v20101111</version> -->
-        <configuration>
-          <webAppConfig>
-            <!-- <contextPath>/${project.name}</contextPath> -->
-            <contextPath>/</contextPath>
-          </webAppConfig>
-          <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
-          <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
-        </configuration>
-      </plugin>
-      <!-- pensar/probar: openjpa-maven-plugin -->
-      <!-- gwtp & GenEvent need this plugin -->
-      <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
-      <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
-      <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
-        <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
-        <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
-        </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
-        <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
-        <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
-      <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
-      <plugin>
-        <!-- =roo -->
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>gwt-maven-plugin</artifactId>
-        <version>1.3.2.google</version>
-        <configuration>
-          <logLevel>INFO</logLevel>
-          <style>OBF</style>
-          <soyc>false</soyc>
-          <gwtVersion>${gwt.version}</gwtVersion>
-          <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
-          <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
-          <modules>
-            <module>${project.groupId}.Kune</module>
-          </modules>
-          <copyWebapp>true</copyWebapp>
-        </configuration>
-        <executions>
-          <execution>
-            <id>gwtcompile</id>
-            <phase>prepare-package</phase>
-            <goals>
-              <goal>compile</goal>
-              <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
-              <!-- <goal>resources</goal> -->
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
-        <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
-        collaboration platform</description> <maintainer>Kune Development Team &lt;kune-devel at lists.ourproject.org&gt;</maintainer>
-        <section>web</section> <priority>optional</priority> <architecture>all</architecture>
-        </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
-        </execution> </executions> </plugin> -->
-      <plugin>
-        <groupId>org.liquibase</groupId>
-        <artifactId>liquibase-plugin</artifactId>
-        <version>1.7.0.0</version>
-        <executions>
-          <execution>
-            <phase>process-resources</phase>
-            <configuration>
-              <changeLogFile>
-                src/main/resources/db/liquibase_changelog.xml </changeLogFile>
-              <driver>com.mysql.jdbc.Driver</driver>
-              <url>jdbc:mysql://localhost/kune_dev</url>
-              <username>kune</username>
-              <password>db4kune</password>
-              <verbose>true</verbose>
-            </configuration>
-            <!-- <configuration> <verbose>true</verbose> <propertiesFile>
-              src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
-            <goals>
-              <goal>update</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>2.2</version>
-        <configuration>
-          <archive>
-            <manifest>
-              <addClasspath>true</addClasspath>
-              <mainClass>cc.kune.wave.server.WaveMain</mainClass>
-              <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
-              <!-- <classpathLayoutType>repository</classpathLayoutType> -->
-              <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
-                instead. -->
-              <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
-              <!-- <packageName>cc.kune.wave.server</packageName> -->
-            </manifest>
-            <manifestEntries>
-              <mode>development</mode>
-              <url>${pom.url}</url>
-            </manifestEntries>
-          </archive>
-        </configuration>
-        <executions>
-          <!-- <execution> -->
-          <!-- <id>core</id> -->
-          <!-- <phase>package</phase> -->
-          <!-- <goals> -->
-          <!-- <goal>jar</goal> -->
-          <!-- </goals> -->
-          <!-- <configuration> -->
-          <!-- <classifier>core</classifier> -->
-          <!-- <includes> -->
-          <!-- <include>**/KunePlatform.gwt.xml**</include> -->
-          <!-- <include>**/i18n/I18nTranslationService.**</include> -->
-          <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
-          <!-- <include>**/TextUtils.**</include> -->
-          <!-- <include>**/IconLabelEditable.**</include> -->
-          <!-- <include>**/QuickTipsHelper.**</include> -->
-          <!-- <include>**/RichText.gwt.xml**</include> -->
-          <!-- <include>**/BasicDialog.**</include> -->
-          <!-- <include>**/HorizontalLine.**</include> -->
-          <!-- <include>**/AbstractLabel.**</include> -->
-          <!-- <include>**/IconLabel.**</include> -->
-          <!-- <include> **/EditableIconLabel.**</include> -->
-          <!-- <include> **/EditableClickListener.**</include> -->
-          <!-- <include>**/KuneStringUtils.**</include> -->
-          <!-- <include>**/IconHyperlink*.**</include> -->
-          <!-- <include>**/LabelWrapper*.**</include> -->
-          <!-- <include>**/KuneUiUtils.**</include> -->
-          <!-- <include>**/View.**</include> -->
-          <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
-          <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
-          <!-- <include>**/platf/client/dispatch/**</include> -->
-          <!-- </includes> -->
-          <!-- </configuration> -->
-          <!-- </execution> -->
-          <!-- <execution> -->
-          <!-- <id>helloworldmodule</id> -->
-          <!-- <phase>package</phase> -->
-          <!-- <goals> -->
-          <!-- <goal>jar</goal> -->
-          <!-- </goals> -->
-          <!-- <configuration> -->
-          <!-- <classifier>helloworldmodule</classifier> -->
-          <!-- <includes> -->
-          <!-- <include>**/HelloWorld*</include> -->
-          <!-- </includes> -->
-          <!-- </configuration> -->
-          <!-- </execution> -->
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.dstovall</groupId>
-        <artifactId>onejar-maven-plugin</artifactId>
-        <version>1.4.4</version>
-        <executions>
-          <execution>
-            <configuration>
-              <!-- Optional -->
-              <!-- <onejarVersion>0.97</onejarVersion> -->
-              <!-- Optional, use only if you need to include native libraries
-                (dll's) -->
-<!--              <binlibs>-->
-<!--                <fileSet>-->
-<!--                  <directory>${project.build.directory}/${project.build.finalName}</directory>-->
-<!--                  <includes>-->
-<!--                    <include>**</include>-->
-<!--                  </includes>-->
-<!--                </fileSet>-->
-<!--              </binlibs>-->
-              <!-- Optional, default is false -->
-              <attachToBuild>true</attachToBuild>
-              <!-- Optional, default is "onejar" -->
-              <classifier>onejar</classifier>
-            </configuration>
-            <goals>
-              <goal>one-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-
-      <!-- <plugin> -->
-      <!-- <groupId>org.codehaus.mojo</groupId> -->
-      <!-- <artifactId>selenium-maven-plugin</artifactId> -->
-      <!-- <configuration> -->
-      <!-- <port>4441</port> -->
-      <!-- </configuration> -->
-      <!-- <executions> -->
-      <!-- <execution> -->
-      <!-- <phase>pre-integration-test</phase> -->
-      <!-- <goals> -->
-      <!-- <goal>start-server</goal> -->
-      <!-- </goals> -->
-      <!-- <configuration> -->
-      <!-- <background>true</background> -->
-      <!-- </configuration> -->
-      <!-- </execution> -->
-      <!-- </executions> -->
-      <!-- </plugin> -->
-      <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
-        <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
-        <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
-        </includes> </fileset> </filesets> </configuration> </plugin> -->
-    </plugins>
-    <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
-    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
-    <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
-    <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
-    <!-- <resources> -->
-    <!-- <resource> -->
-    <!-- <directory>src/main/resources</directory> -->
-    <!-- </resource> -->
-    <!-- <resource> -->
-    <!-- <directory>src/main/java</directory> -->
-    <!-- </resource> -->
-    <!-- </resources> -->
-    <extensions>
-      <extension>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-ssh-external</artifactId>
-        <version>1.0-beta-2</version>
-      </extension>
-    </extensions>
-  </build>
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-pmd-plugin</artifactId>
-        <version>2.4</version>
-        <configuration>
-          <linkXref>true</linkXref>
-          <sourceEncoding>utf-8</sourceEncoding>
-          <minimumTokens>100</minimumTokens>
-          <targetJdk>1.5</targetJdk>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>cobertura-maven-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>jdepend-maven-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
-</project>

Copied: tags/0.0.7/pom.xml (from rev 1255, trunk/pom.xml)
===================================================================
--- tags/0.0.7/pom.xml	                        (rev 0)
+++ tags/0.0.7/pom.xml	2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,1115 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>cc.kune</groupId>
+  <artifactId>kune</artifactId>
+  <packaging>jar</packaging>
+  <version>0.0.7</version>
+  <name>kune</name>
+  <description> kune free/open/libre collaboration platform </description>
+  <url>http://kune.ourproject.org</url>
+  <properties>
+    <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
+    <gwt.version>2.1.1</gwt.version>
+    <maven.compiler.source>1.6</maven.compiler.source>
+    <maven.compiler.target>1.6</maven.compiler.target>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <slf4j.version>1.6.1</slf4j.version>
+    <openjpa.version>2.0.1</openjpa.version>
+  </properties>
+  <repositories>
+    <repository>
+      <id>kune-maven</id>
+      <url>http://kune.ourproject.org/mavenrepo/</url>
+    </repository>
+    <repository>
+      <id>guice-maven</id>
+      <name>guice maven</name>
+      <url>http://guice-maven.googlecode.com/svn/trunk</url>
+    </repository>
+    <repository>
+      <id>Codehaus Snapshots</id>
+      <url>http://snapshots.repository.codehaus.org/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+    <repository>
+      <id>jboss-public-repository-group</id>
+      <name>JBoss Public Maven Repository Group</name>
+      <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+      </url>
+      <layout>default</layout>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>mvp4g.googlecode.releases</id>
+      <name>Releases Repository for Mvp4g</name>
+      <url>http://mvp4g.googlecode.com/svn/maven2/releases/</url>
+    </repository>
+    <repository>
+      <id>ext-gxt</id>
+      <name>ext-gxt at jahia</name>
+      <url>http://maven.jahia.org/maven2/</url>
+    </repository>
+    <repository>
+      <id>ext-gxt</id>
+      <name>ext-gxt at jahia</name>
+      <url>http://maven.jahia.org/maven2/</url>
+    </repository>
+    <repository>
+      <id>cobogw</id>
+      <name>Cobogw repository at googlecode</name>
+      <url>http://cobogw.googlecode.com/svn/maven2</url>
+    </repository>
+    <repository>
+      <id>gwt-repo</id>
+      <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
+      <name>Google Web Toolkit Repository</name>
+    </repository>
+    <repository>
+      <id>gwt-maven-rewraps</id>
+      <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
+    </repository>
+    <!-- cc -->
+    <repository>
+      <id>dyndns-repo</id>
+      <url>http://maven.dyndns.org/2</url>
+    </repository>
+    <repository>
+      <id>google-maven-snapshot-repository</id>
+      <name>Google Maven Snapshot Repository</name>
+      <url>https://oss.sonatype.org/content/repositories/google-snapshots/
+      </url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>gwtplatform.snapshot.repo</id>
+      <name>Gwtplatform snapshot repository</name>
+      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
+      <layout>default</layout>
+    </repository>
+    <repository>
+      <id>openqa.org</id>
+      <name>Openqa Release Repository</name>
+      <url>http://archiva.openqa.org/repository/releases</url>
+      <layout>default</layout>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <repository>
+      <id>openqa.org snapshots</id>
+      <name>Openqa Snapshot Repository</name>
+      <url>http://archiva.openqa.org/repository/snapshots</url>
+      <layout>default</layout>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>daily</updatePolicy>
+        <checksumPolicy>ignore</checksumPolicy>
+      </snapshots>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+    <repository>
+      <id>xwiki-releases</id>
+      <name>XWiki Maven2 Remote Repository for Releases</name>
+      <url>http://maven.xwiki.org/releases</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>xwiki</id>
+      <name>XWiki Repository</name>
+      <url>http://maven.xwiki.org/snapshots</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>daily</updatePolicy>
+        <checksumPolicy>warn</checksumPolicy>
+      </snapshots>
+    </repository>
+  </repositories>
+  <pluginRepositories>
+    <!-- cc -->
+    <pluginRepository>
+      <id>jboss-public-repository-group</id>
+      <name>JBoss Public Maven Repository Group</name>
+      <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+      </url>
+      <layout>default</layout>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </snapshots>
+    </pluginRepository>
+    <!-- cc -->
+    <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
+      </pluginRepository> -->
+    <pluginRepository>
+      <id>Codehaus Snapshots</id>
+      <url>http://snapshots.repository.codehaus.org/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>  <!-- Workaround for MNG-2974, see note below -->
+      </releases>
+    </pluginRepository>
+    <pluginRepository>
+      <id>maven2-repository.dev.java.net</id>
+      <name>Java.net Repository for Maven</name>
+      <url>http://download.java.net/maven/2/</url>
+      <layout>default</layout>
+    </pluginRepository>
+    <pluginRepository>
+      <id>gwt-plugin-repo</id>
+      <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
+      <name>Google Web Toolkit Plugin Repository</name>
+    </pluginRepository>
+    <pluginRepository>
+      <id>onejar-maven-plugin.googlecode.com</id>
+      <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
+    </pluginRepository>
+  </pluginRepositories>
+  <dependencies>
+    <dependency>
+      <groupId>com.google.gwt</groupId>
+      <artifactId>gwt-servlet</artifactId>
+      <version>${gwt.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.gwt</groupId>
+      <artifactId>gwt-user</artifactId>
+      <version>${gwt.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <!-- guice -->
+    <dependency>
+      <groupId>com.google.inject</groupId>
+      <artifactId>guice</artifactId>
+      <!-- <version>2.1-SNAPSHOT-r1160</version> -->
+      <version>3.0-rc2</version>
+    </dependency>
+    <!--    <dependency>
+<groupId>com.googlecode.gwt.inject</groupId>
+<artifactId>gin</artifactId>
+<version>gin-1.1-SNAPSHOT</version>
+</dependency>-->
+    <dependency>
+      <groupId>com.google.inject.extensions</groupId>
+      <artifactId>guice-servlet</artifactId>
+      <version>3.0-rc2</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.inject.extensions</groupId>
+      <artifactId>guice-persist</artifactId>
+      <version>3.0-rc2</version>
+    </dependency>
+    <dependency>
+      <groupId>com.extjs</groupId>
+      <artifactId>gxt</artifactId>
+      <version>2.2.1</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.cobogw.gwt</groupId>
+      <artifactId>cobogw</artifactId>
+      <version>1.3.1</version>
+    </dependency>
+    <dependency>
+      <groupId>com.gwtplatform</groupId>
+      <artifactId>gwtp-all</artifactId>
+      <version>0.5</version>
+<!--      <version>0.6-SNAPSHOT</version>-->
+      <exclusions>
+        <exclusion>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-context</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-beans</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-web</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.adamtacy</groupId>
+      <artifactId>gwt-fx</artifactId>
+      <version>r464</version>
+    </dependency>
+    <dependency>
+      <groupId>com.jhickman.web.gwt</groupId>
+      <artifactId>gwt-customuibinder</artifactId>
+      <version>0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>com.jhickman.web.gwt</groupId>
+      <artifactId>gxt-uibinder</artifactId>
+      <version>0.6</version>
+    </dependency>
+    <!-- cc -->
+    <dependency>
+      <groupId>com.gwtext</groupId>
+      <artifactId>gwtext</artifactId>
+      <version>2.0.5</version>
+    </dependency>
+    <dependency>
+      <groupId>com.gwtextux</groupId>
+      <artifactId>gwtextux</artifactId>
+      <version>0.4.0.924</version>
+    </dependency>
+    <dependency>
+      <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
+      <artifactId>gwt-log</artifactId>
+      <version>3.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
+      <artifactId>gwt-voices</artifactId>
+      <version>1.6.0</version>
+    </dependency>
+    <!-- utilities -->
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.14</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.dozer</groupId>
+      <artifactId>dozer</artifactId>
+      <version>4.0</version>
+    </dependency>
+    <!-- <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId>
+      <version>0.6.5</version> </dependency> -->
+    <dependency>
+      <groupId>jmagick</groupId>
+      <artifactId>jmagick</artifactId>
+      <version>6.2.6-0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.xwiki.platform</groupId>
+      <artifactId>xwiki-web-gwt-dom</artifactId>
+      <version>2.3-rc-1</version>
+      <!-- <version>2.0-SNAPSHOT-g164</version> -->
+      <!-- <version>2.0-SNAPSHOT</version> -->
+      <!-- <version>2.0-SNAPSHOT-g20s</version> -->
+    </dependency>
+    <!-- xmpp -->
+    <dependency>
+      <groupId>com.calclab.emite</groupId>
+      <artifactId>emite</artifactId>
+      <version>r1694</version>
+    </dependency>
+    <dependency>
+      <groupId>com.calclab.emite</groupId>
+      <artifactId>emite-proxy</artifactId>
+      <version>0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>com.calclab.emite</groupId>
+      <artifactId>hablar</artifactId>
+      <version>r1694</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jivesoftware.smack</groupId>
+      <artifactId>smack</artifactId>
+      <version>3.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jivesoftware.smackx</groupId>
+      <artifactId>smackx</artifactId>
+      <version>3.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jivesoftware.smackx.debugger</groupId>
+      <artifactId>smackx-debugger</artifactId>
+      <version>3.0.4</version>
+    </dependency>
+    <!-- mysql -->
+    <dependency>
+      <groupId>mysql</groupId>
+      <artifactId>mysql-connector-java</artifactId>
+      <version>5.1.13</version>
+    </dependency>
+    <!-- hibernate JPA -->
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-core</artifactId>
+      <version>3.3.1.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-validator</artifactId>
+      <version>3.1.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-annotations</artifactId>
+      <version>3.4.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-commons-annotations</artifactId>
+      <version>3.3.0.ga</version>
+      <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsource-nosuchmethoderror -->
+      <exclusions>
+        <exclusion>
+          <groupId>org.hibernate</groupId>
+          <artifactId>hibernate</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
+    <!-- <version>3.3.1.GA</version> </dependency> -->
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-search</artifactId>
+      <version>3.1.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-entitymanager</artifactId>
+      <version>3.4.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-tools</artifactId>
+      <version>3.2.3.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-c3p0</artifactId>
+      <version>3.3.1.GA</version>
+    </dependency>
+    <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
+      <version>0.9.1.2</version> </dependency> -->
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <!-- wave use 2.5 -->
+      <version>2.5</version>
+    </dependency>
+    <!-- <dependency> <groupId>com.wideplay</groupId> <artifactId>warp-persist</artifactId>
+      <version>2.0-SNAPSHOT</version> </dependency> -->
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.16</version>
+      <!-- =roo -->
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>${slf4j.version}</version>
+      <!-- =roo -->
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+      <version>${slf4j.version}</version>
+      <!-- =roo -->
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>${slf4j.version}</version>
+      <!-- =roo -->
+    </dependency>
+    <!-- REST: xml and json (stax) -->
+    <dependency>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>xstream</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>stax</groupId>
+      <artifactId>stax-api</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+      <version>1.0-RC2</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.json-lib</groupId>
+      <artifactId>json-lib</artifactId>
+      <version>2.1</version>
+      <classifier>jdk15</classifier>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2</version>
+    </dependency>
+    <!-- File upload -->
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <version>1.7.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-fileupload</groupId>
+      <artifactId>commons-fileupload</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <!-- db upgrades -->
+    <dependency>
+      <groupId>org.liquibase</groupId>
+      <artifactId>liquibase-core</artifactId>
+      <version>1.7.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.liquibase</groupId>
+      <artifactId>liquibase-plugin</artifactId>
+      <version>1.7.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.5</version>
+      <scope>provided</scope>
+    </dependency>
+    <!-- testing dependencies -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.mockito</groupId> -->
+    <!-- <artifactId>mockito-all</artifactId> -->
+    <!-- <scope>test</scope> -->
+    <!-- <version>1.6</version> -->
+    <!-- </dependency> -->
+    <dependency>
+      <groupId>org.jukito</groupId>
+      <artifactId>jukito</artifactId>
+      <version>1.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <version>1.0.20070617</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+      <!-- =roo -->
+      <scope>test</scope>
+    </dependency>
+    <!-- <dependency> -->
+    <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
+    <!-- <artifactId>selenium-java-client-driver</artifactId> -->
+    <!-- <version>1.0-beta-1</version> -->
+    <!-- <scope>test</scope> -->
+    <!-- </dependency> -->
+    <!-- public side -->
+    <dependency>
+      <groupId>org.jruby.rack</groupId>
+      <artifactId>jruby-rack</artifactId>
+      <!-- <version>1.0.3</version> -->
+      <version>0.9.4</version>
+    </dependency>
+    <!-- wave -->
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>waveinabox-server-custom</artifactId>
+      <version>0.3.6</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>proto-gwt</artifactId>
+      <version>0.3.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>gwt-util-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava-gwt</artifactId>
+      <version>r07</version>
+    </dependency>
+    <!-- From here necessary as .java not included in waveinabox-serve.jar -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>box-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>model-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>client-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>client-common-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>common-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>util-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>concurrencycontrol-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>client-scheduler-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- <dependency> -->
+    <!-- <groupId>org.waveprotocol</groupId> -->
+    <!-- <artifactId>media-src</artifactId> -->
+    <!-- <version>0.3.0</version> -->
+    <!-- </dependency> -->
+    <!-- to here -->
+    <dependency>
+      <groupId>net.sourceforge.findbugs</groupId>
+      <artifactId>jsr-305</artifactId>
+      <version>v0r47</version>
+    </dependency>
+    <!-- end wave -->
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>1.2</version>
+      <type>jar</type>
+    </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <version>1.4</version>
+      <type>jar</type>
+    </dependency>
+  </dependencies>
+  <!-- <dependency> -->
+  <!-- <groupId>dom4j</groupId> -->
+  <!-- <artifactId>dom4j</artifactId> -->
+  <!-- <version>1.6.1</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>com.google.code.guice</groupId> -->
+  <!-- <artifactId>guice-assistedinject</artifactId> -->
+  <!-- <version>2.0</version> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>jline<!/groupId> -->
+  <!-- <artifactId>jline</artifactId> -->
+  <!-- <version>0.9.94</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>org.gnu.inet</groupId> -->
+  <!-- <artifactId>libidn</artifactId> -->
+  <!-- <version>1.15</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>com.google.protobuf</groupId> -->
+  <!-- <artifactId>protobuf-java</artifactId> -->
+  <!-- <version>2.3.0</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>xpp3</groupId> -->
+  <!-- <artifactId>xpp3</artifactId> -->
+  <!-- <version>1.1.4c</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>xpp3</groupId> -->
+  <!-- <artifactId>xpp3_xpath</artifactId> -->
+  <!-- <version>1.1.4c</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>aopalliance</groupId> -->
+  <!-- <artifactId>aopalliance</artifactId> -->
+  <!-- <version>1.0</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>org.wave-protocol</groupId> -->
+  <!-- <artifactId>xmpp</artifactId> -->
+  <!-- <version>1.0.0</version> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>org.wave-protocol</groupId> -->
+  <!-- <artifactId>whack</artifactId> -->
+  <!-- <version>1.0.0</version> -->
+  <!-- </dependency> -->
+  <distributionManagement>
+    <repository>
+      <id>kune.ourproject.org</id>
+      <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ </url>
+    </repository>
+  </distributionManagement>
+  <issueManagement>
+    <system>kune issues list at ourproject.org</system>
+    <url>http://kune.ourproject.org/issues/</url>
+  </issueManagement>
+  <developers>
+    <developer>
+      <id>dani</id>
+      <name>Daniel Gómez Blasco</name>
+      <email>danigb at gmail.com</email>
+    </developer>
+    <developer>
+      <name>Samer Hassan</name>
+      <email>samer2004 at gmail.com</email>
+    </developer>
+    <developer>
+      <name>Vicente J. Ruiz Jurado</name>
+      <email>vjrj at ourproject.org</email>
+    </developer>
+  </developers>
+  <scm>
+    <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
+  </scm>
+  <build>
+    <plugins>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>2.1-beta-1</version>
+        <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.1</version>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+          <!-- Uncomment and run mvn with -X -e if we have same compile problems
+            <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
+        </configuration>
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>2.4.2</version>
+        <configuration>
+          <encoding>UTF-8</encoding>
+        </configuration>
+      </plugin>
+      <plugin>
+        <!-- =roo + custom -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.5</version>
+        <configuration>
+          <excludes>
+            <exclude>**/*_Roo_*</exclude>
+          </excludes>
+          <forkMode>pertest</forkMode>
+          <!-- Skip the normal tests, we'll run them in the integration-test
+            phase -->
+          <skip>true</skip>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>integration-test</phase>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <skip>false</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptorRefs>
+            <descriptorRef>jar-with-dependencies</descriptorRef>
+          </descriptorRefs>
+          <dependencySets>
+            <dependencySet>
+              <scope>runtime</scope>
+              <unpackOptions>
+                <excludes>
+                  <exclude>**/gxt/**</exclude>
+                  <exclude>**/extjs/**</exclude>
+                  <exclude>**extjs**</exclude>
+                  <exclude>**gxt**</exclude>
+                </excludes>
+              </unpackOptions>
+            </dependencySet>
+          </dependencySets>
+        </configuration>
+      </plugin>
+      <plugin>
+        <!-- =roo sin spring executions -->
+        <artifactId>maven-eclipse-plugin</artifactId>
+        <version>2.8</version>
+        <configuration>
+          <downloadSources>true</downloadSources>
+          <downloadJavadocs>false</downloadJavadocs>
+          <wtpversion>2.0</wtpversion>
+          <additionalBuildcommands>
+            <buildCommand>
+              <name>com.google.gwt.eclipse.core.gwtProjectValidator </name>
+            </buildCommand>
+          </additionalBuildcommands>
+          <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
+          <additionalProjectnatures>
+            <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
+            <projectnature>com.google.gwt.eclipse.core.gwtNature </projectnature>
+          </additionalProjectnatures>
+        </configuration>
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-deploy-plugin</artifactId>
+        <version>2.5</version>
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-idea-plugin</artifactId>
+        <version>2.2</version>
+        <configuration>
+          <downloadSources>true</downloadSources>
+          <dependenciesAsLibraries>true</dependenciesAsLibraries>
+        </configuration>
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>tomcat-maven-plugin</artifactId>
+        <version>1.0</version>
+        <configuration>
+          <path>/</path>
+        </configuration>
+      </plugin>
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.mortbay.jetty</groupId>
+        <artifactId>jetty-maven-plugin</artifactId>
+        <version>7.1.2.v20100523</version>
+        <!-- <version>7.2.1.v20101111</version> -->
+        <configuration>
+          <webAppConfig>
+            <!-- <contextPath>/${project.name}</contextPath> -->
+            <contextPath>/</contextPath>
+          </webAppConfig>
+          <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
+          <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
+        </configuration>
+      </plugin>
+      <!-- pensar/probar: openjpa-maven-plugin -->
+      <!-- gwtp & GenEvent need this plugin -->
+      <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
+      <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
+      <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
+        <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
+        <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
+        </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
+        <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
+        <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
+      <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
+      <plugin>
+        <!-- =roo -->
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>gwt-maven-plugin</artifactId>
+        <version>1.3.2.google</version>
+        <configuration>
+          <logLevel>INFO</logLevel>
+          <style>OBF</style>
+          <soyc>false</soyc>
+          <gwtVersion>${gwt.version}</gwtVersion>
+          <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
+          <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
+          <modules>
+            <module>${project.groupId}.Kune</module>
+          </modules>
+          <copyWebapp>true</copyWebapp>
+        </configuration>
+        <executions>
+          <execution>
+            <id>gwtcompile</id>
+            <phase>prepare-package</phase>
+            <goals>
+              <goal>compile</goal>
+              <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
+              <!-- <goal>resources</goal> -->
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
+        collaboration platform</description> <maintainer>Kune Development Team &lt;kune-devel at lists.ourproject.org&gt;</maintainer>
+        <section>web</section> <priority>optional</priority> <architecture>all</architecture>
+        </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
+        </execution> </executions> </plugin> -->
+      <plugin>
+        <groupId>org.liquibase</groupId>
+        <artifactId>liquibase-plugin</artifactId>
+        <version>1.7.0.0</version>
+        <executions>
+          <execution>
+            <phase>process-resources</phase>
+            <configuration>
+              <changeLogFile>
+                src/main/resources/db/liquibase_changelog.xml </changeLogFile>
+              <driver>com.mysql.jdbc.Driver</driver>
+              <url>jdbc:mysql://localhost/kune_dev</url>
+              <username>kune</username>
+              <password>db4kune</password>
+              <verbose>true</verbose>
+            </configuration>
+            <!-- <configuration> <verbose>true</verbose> <propertiesFile>
+              src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
+            <goals>
+              <goal>update</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.2</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addClasspath>true</addClasspath>
+              <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+              <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
+              <!-- <classpathLayoutType>repository</classpathLayoutType> -->
+              <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
+                instead. -->
+              <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+              <!-- <packageName>cc.kune.wave.server</packageName> -->
+            </manifest>
+            <manifestEntries>
+              <mode>development</mode>
+              <url>${pom.url}</url>
+            </manifestEntries>
+          </archive>
+        </configuration>
+        <executions>
+          <!-- <execution> -->
+          <!-- <id>core</id> -->
+          <!-- <phase>package</phase> -->
+          <!-- <goals> -->
+          <!-- <goal>jar</goal> -->
+          <!-- </goals> -->
+          <!-- <configuration> -->
+          <!-- <classifier>core</classifier> -->
+          <!-- <includes> -->
+          <!-- <include>**/KunePlatform.gwt.xml**</include> -->
+          <!-- <include>**/i18n/I18nTranslationService.**</include> -->
+          <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
+          <!-- <include>**/TextUtils.**</include> -->
+          <!-- <include>**/IconLabelEditable.**</include> -->
+          <!-- <include>**/QuickTipsHelper.**</include> -->
+          <!-- <include>**/RichText.gwt.xml**</include> -->
+          <!-- <include>**/BasicDialog.**</include> -->
+          <!-- <include>**/HorizontalLine.**</include> -->
+          <!-- <include>**/AbstractLabel.**</include> -->
+          <!-- <include>**/IconLabel.**</include> -->
+          <!-- <include> **/EditableIconLabel.**</include> -->
+          <!-- <include> **/EditableClickListener.**</include> -->
+          <!-- <include>**/KuneStringUtils.**</include> -->
+          <!-- <include>**/IconHyperlink*.**</include> -->
+          <!-- <include>**/LabelWrapper*.**</include> -->
+          <!-- <include>**/KuneUiUtils.**</include> -->
+          <!-- <include>**/View.**</include> -->
+          <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
+          <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
+          <!-- <include>**/platf/client/dispatch/**</include> -->
+          <!-- </includes> -->
+          <!-- </configuration> -->
+          <!-- </execution> -->
+          <!-- <execution> -->
+          <!-- <id>helloworldmodule</id> -->
+          <!-- <phase>package</phase> -->
+          <!-- <goals> -->
+          <!-- <goal>jar</goal> -->
+          <!-- </goals> -->
+          <!-- <configuration> -->
+          <!-- <classifier>helloworldmodule</classifier> -->
+          <!-- <includes> -->
+          <!-- <include>**/HelloWorld*</include> -->
+          <!-- </includes> -->
+          <!-- </configuration> -->
+          <!-- </execution> -->
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.dstovall</groupId>
+        <artifactId>onejar-maven-plugin</artifactId>
+        <version>1.4.4</version>
+        <executions>
+          <execution>
+            <configuration>
+              <!-- Optional -->
+              <!-- <onejarVersion>0.97</onejarVersion> -->
+              <!-- Optional, use only if you need to include native libraries
+                (dll's) -->
+              <!-- <binlibs> -->
+              <!-- <fileSet> -->
+              <!-- <directory>${project.build.directory}/${project.build.finalName}</directory> -->
+              <!-- <includes> -->
+              <!-- <include>**</include> -->
+              <!-- </includes> -->
+              <!-- </fileSet> -->
+              <!-- </binlibs> -->
+              <!-- Optional, default is false -->
+              <attachToBuild>true</attachToBuild>
+              <!-- Optional, default is "onejar" -->
+              <classifier>onejar</classifier>
+            </configuration>
+            <goals>
+              <goal>one-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+
+      <!-- <plugin> -->
+      <!-- <groupId>org.codehaus.mojo</groupId> -->
+      <!-- <artifactId>selenium-maven-plugin</artifactId> -->
+      <!-- <configuration> -->
+      <!-- <port>4441</port> -->
+      <!-- </configuration> -->
+      <!-- <executions> -->
+      <!-- <execution> -->
+      <!-- <phase>pre-integration-test</phase> -->
+      <!-- <goals> -->
+      <!-- <goal>start-server</goal> -->
+      <!-- </goals> -->
+      <!-- <configuration> -->
+      <!-- <background>true</background> -->
+      <!-- </configuration> -->
+      <!-- </execution> -->
+      <!-- </executions> -->
+      <!-- </plugin> -->
+      <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
+        <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
+        <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
+        </includes> </fileset> </filesets> </configuration> </plugin> -->
+    </plugins>
+    <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
+    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
+    <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
+    <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
+    <!-- <resources> -->
+    <!-- <resource> -->
+    <!-- <directory>src/main/resources</directory> -->
+    <!-- </resource> -->
+    <!-- <resource> -->
+    <!-- <directory>src/main/java</directory> -->
+    <!-- </resource> -->
+    <!-- </resources> -->
+    <extensions>
+      <extension>
+        <groupId>org.apache.maven.wagon</groupId>
+        <artifactId>wagon-ssh-external</artifactId>
+        <version>1.0-beta-2</version>
+      </extension>
+    </extensions>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jxr-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <version>2.4</version>
+        <configuration>
+          <linkXref>true</linkXref>
+          <sourceEncoding>utf-8</sourceEncoding>
+          <minimumTokens>100</minimumTokens>
+          <targetJdk>1.5</targetJdk>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>jdepend-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>

Deleted: tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java	2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java	2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,557 +0,0 @@
-package cc.kune.wave.server;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
-import org.eclipse.jetty.servlet.DefaultServlet;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.websocket.WebSocket;
-import org.eclipse.jetty.websocket.WebSocketServlet;
-import org.jruby.rack.RackFilter;
-import org.jruby.rack.RackServletContextListener;
-import org.ourproject.kune.rack.RackServletFilter;
-import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
-import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
-import org.waveprotocol.box.server.CoreSettings;
-import org.waveprotocol.box.server.authentication.SessionManager;
-import org.waveprotocol.box.server.rpc.BaseUrlHelper;
-import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
-import org.waveprotocol.box.server.rpc.ProtoCallback;
-import org.waveprotocol.box.server.rpc.Rpc;
-import org.waveprotocol.box.server.rpc.ServerRpcController;
-import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
-import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
-import org.waveprotocol.box.server.util.NetUtils;
-import org.waveprotocol.wave.model.util.Pair;
-import org.waveprotocol.wave.model.wave.ParticipantId;
-import org.waveprotocol.wave.util.logging.Log;
-
-import com.glines.socketio.server.SocketIOInbound;
-import com.glines.socketio.server.SocketIOServlet;
-import com.glines.socketio.server.transport.FlashSocketTransport;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-import com.google.inject.name.Named;
-import com.google.inject.servlet.GuiceServletContextListener;
-import com.google.protobuf.Descriptors;
-import com.google.protobuf.Descriptors.MethodDescriptor;
-import com.google.protobuf.Message;
-import com.google.protobuf.RpcCallback;
-import com.google.protobuf.Service;
-import com.google.protobuf.UnknownFieldSet;
-
-import de.spieleck.servlets.ProxyServlet;
-
-/**
- * ServerRpcProvider can provide instances of type Service over an incoming
- * network socket and service incoming RPCs to these services and their methods.
- * 
- * 
- */
-public class CustomServerRpcProvider {
-    abstract class Connection implements ProtoCallback {
-        private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
-
-        // The logged in user.
-        // Note: Due to this bug:
-        // http://code.google.com/p/wave-protocol/issues/detail?id=119,
-        // the field may be null on first connect and then set later using an
-        // RPC.
-        private ParticipantId loggedInUser;
-
-        /**
-         * @param loggedInUser
-         *            The currently logged in user, or null if no user is logged
-         *            in.
-         */
-        public Connection(final ParticipantId loggedInUser) {
-            this.loggedInUser = loggedInUser;
-        }
-
-        private ParticipantId authenticate(final String token) {
-            final HttpSession session = sessionManager.getSessionFromToken(token);
-            final ParticipantId user = sessionManager.getLoggedInUser(session);
-            return user;
-        }
-
-        protected void expectMessages(final MessageExpectingChannel channel) {
-            synchronized (registeredServices) {
-                for (final RegisteredServiceMethod serviceMethod : registeredServices.values()) {
-                    channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
-                    LOG.fine("Expecting: " + serviceMethod.method.getFullName());
-                }
-            }
-            channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
-        }
-
-        @Override
-        public void message(final long sequenceNo, final Message message) {
-            if (message instanceof Rpc.CancelRpc) {
-                final ServerRpcController controller = activeRpcs.get(sequenceNo);
-                if (controller == null) {
-                    throw new IllegalStateException("Trying to cancel an RPC that is not active!");
-                } else {
-                    LOG.info("Cancelling open RPC " + sequenceNo);
-                    controller.cancel();
-                }
-            } else if (message instanceof ProtocolAuthenticate) {
-                // Workaround for bug:
-                // http://codereview.waveprotocol.org/224001/
-
-                // When we get this message, either the connection will not be
-                // logged in
-                // (loggedInUser == null) or the connection will have been
-                // authenticated
-                // via cookies
-                // (in which case loggedInUser must match the authenticated
-                // user, and
-                // this message has no
-                // effect).
-
-                final ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
-                final ParticipantId authenticatedAs = authenticate(authMessage.getToken());
-
-                Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
-                Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
-                        "Session already authenticated as a different user");
-
-                loggedInUser = authenticatedAs;
-                LOG.info("Session authenticated as " + loggedInUser);
-                sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
-            } else if (registeredServices.containsKey(message.getDescriptorForType())) {
-                if (activeRpcs.containsKey(sequenceNo)) {
-                    throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
-                } else {
-                    final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
-
-                    // Create the internal ServerRpcController used to invoke
-                    // the call.
-                    final ServerRpcController controller = new ServerRpcControllerImpl(message, serviceMethod.service,
-                            serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
-                                @Override
-                                synchronized public void run(final Message message) {
-                                    if (message instanceof Rpc.RpcFinished
-                                            || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
-                                        // This RPC is over - remove it from the
-                                        // map.
-                                        final boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
-                                                : false;
-                                        LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
-                                        if (failed) {
-                                            LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
-                                        }
-                                        activeRpcs.remove(sequenceNo);
-                                    }
-                                    sendMessage(sequenceNo, message);
-                                }
-                            });
-
-                    // Kick off a new thread specific to this RPC.
-                    activeRpcs.put(sequenceNo, controller);
-                    threadPool.execute(controller);
-                }
-            } else {
-                // Sent a message type we understand, but don't expect -
-                // erronous case!
-                throw new IllegalStateException("Got expected but unknown message  (" + message + ") for sequence: "
-                        + sequenceNo);
-            }
-        }
-
-        protected abstract void sendMessage(long sequenceNo, Message message);
-
-        @Override
-        public void unknown(final long sequenceNo, final String messageType, final String message) {
-            throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
-                    + ") for sequence: " + sequenceNo);
-        }
-
-        @Override
-        public void unknown(final long sequenceNo, final String messageType, final UnknownFieldSet message) {
-            throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
-                    + ") for sequence: " + sequenceNo);
-        }
-    }
-
-    /**
-     * Internal, static container class for any specific registered service
-     * method.
-     */
-    static class RegisteredServiceMethod {
-        final MethodDescriptor method;
-        final Service service;
-
-        RegisteredServiceMethod(final Service service, final MethodDescriptor method) {
-            this.service = service;
-            this.method = method;
-        }
-    }
-    class SocketIOConnection extends Connection {
-        private final SocketIOServerChannel socketChannel;
-
-        SocketIOConnection(final ParticipantId loggedInUser) {
-            super(loggedInUser);
-            socketChannel = new SocketIOServerChannel(this);
-            LOG.info("New websocket connection set up for user " + loggedInUser);
-            expectMessages(socketChannel);
-        }
-
-        public SocketIOServerChannel getWebSocketServerChannel() {
-            return socketChannel;
-        }
-
-        @Override
-        protected void sendMessage(final long sequenceNo, final Message message) {
-            socketChannel.sendMessage(sequenceNo, message);
-        }
-    }
-    public class WaveSocketIOServlet extends SocketIOServlet {
-        @Override
-        protected SocketIOInbound doSocketIOConnect(final HttpServletRequest request, final String[] protocols) {
-            final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
-
-            final SocketIOConnection connection = new SocketIOConnection(loggedInUser);
-            return connection.getWebSocketServerChannel();
-        }
-    }
-    public class WaveWebSocketServlet extends WebSocketServlet {
-        @Override
-        protected WebSocket doWebSocketConnect(final HttpServletRequest request, final String protocol) {
-            final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
-
-            final WebSocketConnection connection = new WebSocketConnection(loggedInUser);
-            return connection.getWebSocketServerChannel();
-        }
-    }
-    class WebSocketConnection extends Connection {
-        private final WebSocketServerChannel socketChannel;
-
-        WebSocketConnection(final ParticipantId loggedInUser) {
-            super(loggedInUser);
-            socketChannel = new WebSocketServerChannel(this);
-            LOG.info("New websocket connection set up for user " + loggedInUser);
-            expectMessages(socketChannel);
-        }
-
-        public WebSocketServerChannel getWebSocketServerChannel() {
-            return socketChannel;
-        }
-
-        @Override
-        protected void sendMessage(final long sequenceNo, final Message message) {
-            socketChannel.sendMessage(sequenceNo, message);
-        }
-    }
-    private static final Log LOG = Log.get(CustomServerRpcProvider.class);
-
-    private static InetSocketAddress[] parseAddressList(final List<String> addressList) {
-        if (addressList == null || addressList.size() == 0) {
-            return new InetSocketAddress[0];
-        } else {
-            final Set<InetSocketAddress> addresses = Sets.newHashSet();
-            for (final String str : addressList) {
-                if (str.length() == 0) {
-                    LOG.warning("Encountered empty address in http addresses list.");
-                } else {
-                    try {
-                        final InetSocketAddress address = NetUtils.parseHttpAddress(str);
-                        if (!addresses.contains(address)) {
-                            addresses.add(address);
-                        } else {
-                            LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
-                                    + "' resolved to " + address.getAddress().getHostAddress());
-                        }
-                    } catch (final IOException e) {
-                        LOG.severe("Unable to process address " + str, e);
-                    }
-                }
-            }
-            return addresses.toArray(new InetSocketAddress[0]);
-        }
-    }
-    private final String baseUrl;
-
-    private final Integer flashsocketPolicyPort;
-
-    private final InetSocketAddress[] httpAddresses;
-
-    private Server httpServer = null;
-
-    private final Set<Connection> incomingConnections = Sets.newHashSet();
-
-    private final org.eclipse.jetty.server.SessionManager jettySessionManager;
-
-    // Mapping from incoming protocol buffer type -> specific handler.
-    private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
-
-    private final String resourceBase;
-
-    /**
-     * Set of servlets
-     */
-    List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
-
-    private final SessionManager sessionManager;
-
-    private final ExecutorService threadPool;
-
-    /**
-     * Construct a new ServerRpcProvider, hosting on the specified WebSocket
-     * addresses.
-     * 
-     * Also accepts an ExecutorService for spawning managing threads.
-     */
-    public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
-            final String baseUrl, final String resourceBase, final ExecutorService threadPool,
-            final SessionManager sessionManager, final org.eclipse.jetty.server.SessionManager jettySessionManager) {
-        this.httpAddresses = httpAddresses;
-        this.flashsocketPolicyPort = flashsocketPolicyPort;
-        this.baseUrl = BaseUrlHelper.removeLastSlash(baseUrl);
-        this.resourceBase = resourceBase;
-        this.threadPool = threadPool;
-        this.sessionManager = sessionManager;
-        this.jettySessionManager = jettySessionManager;
-    }
-
-    /**
-     * Constructs a new ServerRpcProvider with a default ExecutorService.
-     */
-    public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
-            final String baseUrl, final String resourceBase, final SessionManager sessionManager,
-            final org.eclipse.jetty.server.SessionManager jettySessionManager) {
-        this(httpAddresses, flashsocketPolicyPort, baseUrl, resourceBase, Executors.newCachedThreadPool(),
-                sessionManager, jettySessionManager);
-    }
-
-    @Inject
-    public CustomServerRpcProvider(@Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) final List<String> httpAddresses,
-            @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) final Integer flashsocketPolicyPort,
-            @Named(CoreSettings.HTTP_BASE_URL) final String baseUrl,
-            @Named(CoreSettings.RESOURCE_BASE) final String resourceBase, final SessionManager sessionManager,
-            final org.eclipse.jetty.server.SessionManager jettySessionManager) {
-        this(parseAddressList(httpAddresses), flashsocketPolicyPort, baseUrl, resourceBase, sessionManager,
-                jettySessionManager);
-    }
-
-    /**
-     * Add a servlet to the servlet registry. This servlet will be attached to
-     * the specified URL pattern when the server is started up.
-     * 
-     * @param urlPattern
-     *            URL pattern for paths. Eg, '/foo', '/foo/*'
-     * @param servlet
-     *            The servlet object to bind to the specified paths
-     * @return the {@link ServletHolder} that holds the servlet.
-     */
-    public ServletHolder addServlet(final String urlPattern, final Servlet servlet) {
-        final ServletHolder servletHolder = new ServletHolder(servlet);
-        servletRegistry.add(new Pair<String, ServletHolder>(urlPattern, servletHolder));
-        return servletHolder;
-    }
-
-    /**
-     * @return a list of {@link SelectChannelConnector} each bound to a
-     *         host:port pair form the list addresses.
-     */
-    private List<SelectChannelConnector> getSelectChannelConnectors(final InetSocketAddress[] httpAddresses) {
-        final List<SelectChannelConnector> list = Lists.newArrayList();
-        for (final InetSocketAddress address : httpAddresses) {
-            final SelectChannelConnector connector = new SelectChannelConnector();
-            connector.setHost(address.getAddress().getHostAddress());
-            connector.setPort(address.getPort());
-            list.add(connector);
-        }
-
-        return list;
-    }
-
-    /**
-     * Returns the socket the WebSocket server is listening on.
-     */
-    public SocketAddress getWebSocketAddress() {
-        if (httpServer == null) {
-            return null;
-        } else {
-            final Connector c = httpServer.getConnectors()[0];
-            return new InetSocketAddress(c.getHost(), c.getLocalPort());
-        }
-    }
-
-    /**
-     * Register all methods provided by the given service type.
-     */
-    public void registerService(final Service service) {
-        synchronized (registeredServices) {
-            for (final MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
-                registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
-                        methodDescriptor));
-            }
-        }
-    }
-
-    public void startWebSocketServer(final Injector injector) {
-        httpServer = new Server();
-
-        final List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
-        if (connectors.isEmpty()) {
-            LOG.severe("No valid http end point address provided!");
-        }
-        for (final SelectChannelConnector connector : connectors) {
-            httpServer.addConnector(connector);
-        }
-
-        // final WebAppContext webContext = new WebAppContext();
-        final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
-        if (jettySessionManager != null) {
-            context.getSessionHandler().setSessionManager(jettySessionManager);
-        }
-        context.setResourceBase(resourceBase);
-        context.setContextPath(baseUrl);
-
-        // webContext.setResourceBase(resourceBase);
-        // webContext.setContextPath(baseUrl);
-        // webContext.setWar(baseUrl);
-
-        final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
-        httpbindHolder.setInitParameter("remotePath", "/http-bind/");
-        httpbindHolder.setInitParameter("remotePort", "5280");
-        context.addServlet(httpbindHolder, "/http-bind/");
-
-        context.addEventListener(new ServletContextListener() {
-
-            @Override
-            public void contextDestroyed(final ServletContextEvent sce) {
-            }
-
-            @Override
-            public void contextInitialized(final ServletContextEvent sce) {
-                final ServletContext context = sce.getServletContext();
-                context.setAttribute("jruby.standalone", "true");
-                context.setAttribute("rails.root", "/WEB-INF/publicspace/");
-                context.setAttribute("files.prefix", "/WEB-INF/publicspace/public");
-                context.setAttribute("rails.env", "production");
-                context.setAttribute("jruby.max.runtimes", "1");
-                context.setAttribute("public.root", "/public/");
-            }
-        });
-
-        context.addEventListener(new RackServletContextListener());
-        // final FilterHolder rubyRack = new
-        // FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
-        // rubyRack.setFilter(new RackFilter());
-
-        // context.getInitParameter("rails.root");
-
-        context.addFilter(RackFilter.class, "/public/*", 0);
-
-        context.addEventListener(new GuiceServletContextListener() {
-            @Override
-            protected Injector getInjector() {
-                return injector;
-            }
-        });
-        context.setAttribute(RackServletFilter.INJECTOR_PARENT_ATTRIBUTE, injector);
-        final FilterHolder filterHolder = new FilterHolder(RackServletFilter.class);
-        filterHolder.setInitParameter("org.ourproject.kune.rack.RackModule",
-                "org.ourproject.kune.app.server.KuneRackModule");
-        context.addFilter(filterHolder, "/ws/*", 0);
-
-        // context.addFilter(GuiceFilter.class, "/*", 0);
-
-        // Servlet where the websocket connection is served from.
-        final ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
-        context.addServlet(wsholder, "/socket");
-        // TODO(zamfi): fix to let messages span frames.
-        wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
-
-        // Servlet where the websocket connection is served from.
-        final ServletHolder sioholder = new ServletHolder(new WaveSocketIOServlet());
-        context.addServlet(sioholder, "/socket.io/*");
-        // TODO(zamfi): fix to let messages span frames.
-        sioholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
-        // Set flash policy server parameters
-        String flashPolicyServerHost = "localhost";
-        final StringBuilder flashPolicyAllowedPorts = new StringBuilder();
-        /*
-         * Loop through addresses, collect list of ports, and determine if we
-         * are to use "localhost" of the AnyHost wildcard.
-         */
-        for (final InetSocketAddress addr : httpAddresses) {
-            if (flashPolicyAllowedPorts.length() > 0) {
-                flashPolicyAllowedPorts.append(",");
-            }
-            flashPolicyAllowedPorts.append(addr.getPort());
-            if (!addr.getAddress().isLoopbackAddress()) {
-                // Until it's possible to pass a list of address, this is the
-                // only valid alternative.
-                flashPolicyServerHost = "0.0.0.0";
-            }
-        }
-        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
-        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
-        // TODO: Change to use the public http address and all other bound
-        // addresses.
-        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
-        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
-
-        // Serve the static content and GWT web client with the default servlet
-        // (acts like a standard file-based web server).
-        final ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
-        context.addServlet(defaultServlet, "/static/*");
-        context.addServlet(defaultServlet, "/webclient/*");
-        context.addServlet(defaultServlet, "/ws/*");
-        context.addServlet(defaultServlet, "/images/*");
-        context.addServlet(defaultServlet, "/javascripts/*");
-        context.addServlet(defaultServlet, "/stylesheets/*");
-        context.addServlet(defaultServlet, "/templates/*");
-
-        for (final Pair<String, ServletHolder> servlet : servletRegistry) {
-            context.addServlet(servlet.getSecond(), servlet.getFirst());
-        }
-
-        httpServer.setHandler(context);
-
-        try {
-            httpServer.start();
-        } catch (final Exception e) { // yes, .start() throws "Exception"
-            LOG.severe("Fatal error starting http server.", e);
-            return;
-        }
-        LOG.fine("WebSocket server running. --------");
-    }
-
-    /**
-     * Stops this server.
-     */
-    public void stopServer() throws IOException {
-        try {
-            httpServer.stop(); // yes, .stop() throws "Exception"
-        } catch (final Exception e) {
-            LOG.warning("Fatal error stopping http server.", e);
-        }
-        LOG.fine("server shutdown.");
-    }
-}

Copied: tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java (from rev 1255, trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java)
===================================================================
--- tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java	                        (rev 0)
+++ tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java	2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,560 @@
+package cc.kune.wave.server;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.webapp.WebAppContext;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.jruby.rack.RackFilter;
+import org.jruby.rack.RackServletContextListener;
+import org.ourproject.kune.rack.RackServletFilter;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.rpc.BaseUrlHelper;
+import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
+import org.waveprotocol.box.server.rpc.ProtoCallback;
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
+import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
+import org.waveprotocol.box.server.util.NetUtils;
+import org.waveprotocol.wave.model.util.Pair;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.glines.socketio.server.SocketIOInbound;
+import com.glines.socketio.server.SocketIOServlet;
+import com.glines.socketio.server.transport.FlashSocketTransport;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.name.Named;
+import com.google.inject.servlet.GuiceServletContextListener;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Descriptors.MethodDescriptor;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+import com.google.protobuf.UnknownFieldSet;
+
+import de.spieleck.servlets.ProxyServlet;
+
+/**
+ * ServerRpcProvider can provide instances of type Service over an incoming
+ * network socket and service incoming RPCs to these services and their methods.
+ * 
+ * 
+ */
+public class CustomServerRpcProvider {
+    abstract class Connection implements ProtoCallback {
+        private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
+
+        // The logged in user.
+        // Note: Due to this bug:
+        // http://code.google.com/p/wave-protocol/issues/detail?id=119,
+        // the field may be null on first connect and then set later using an
+        // RPC.
+        private ParticipantId loggedInUser;
+
+        /**
+         * @param loggedInUser
+         *            The currently logged in user, or null if no user is logged
+         *            in.
+         */
+        public Connection(final ParticipantId loggedInUser) {
+            this.loggedInUser = loggedInUser;
+        }
+
+        private ParticipantId authenticate(final String token) {
+            final HttpSession session = sessionManager.getSessionFromToken(token);
+            final ParticipantId user = sessionManager.getLoggedInUser(session);
+            return user;
+        }
+
+        protected void expectMessages(final MessageExpectingChannel channel) {
+            synchronized (registeredServices) {
+                for (final RegisteredServiceMethod serviceMethod : registeredServices.values()) {
+                    channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
+                    LOG.fine("Expecting: " + serviceMethod.method.getFullName());
+                }
+            }
+            channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
+        }
+
+        @Override
+        public void message(final long sequenceNo, final Message message) {
+            if (message instanceof Rpc.CancelRpc) {
+                final ServerRpcController controller = activeRpcs.get(sequenceNo);
+                if (controller == null) {
+                    throw new IllegalStateException("Trying to cancel an RPC that is not active!");
+                } else {
+                    LOG.info("Cancelling open RPC " + sequenceNo);
+                    controller.cancel();
+                }
+            } else if (message instanceof ProtocolAuthenticate) {
+                // Workaround for bug:
+                // http://codereview.waveprotocol.org/224001/
+
+                // When we get this message, either the connection will not be
+                // logged in
+                // (loggedInUser == null) or the connection will have been
+                // authenticated
+                // via cookies
+                // (in which case loggedInUser must match the authenticated
+                // user, and
+                // this message has no
+                // effect).
+
+                final ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
+                final ParticipantId authenticatedAs = authenticate(authMessage.getToken());
+
+                Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
+                Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
+                        "Session already authenticated as a different user");
+
+                loggedInUser = authenticatedAs;
+                LOG.info("Session authenticated as " + loggedInUser);
+                sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
+            } else if (registeredServices.containsKey(message.getDescriptorForType())) {
+                if (activeRpcs.containsKey(sequenceNo)) {
+                    throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
+                } else {
+                    final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
+
+                    // Create the internal ServerRpcController used to invoke
+                    // the call.
+                    final ServerRpcController controller = new ServerRpcControllerImpl(message, serviceMethod.service,
+                            serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
+                                @Override
+                                synchronized public void run(final Message message) {
+                                    if (message instanceof Rpc.RpcFinished
+                                            || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
+                                        // This RPC is over - remove it from the
+                                        // map.
+                                        final boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
+                                                : false;
+                                        LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
+                                        if (failed) {
+                                            LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
+                                        }
+                                        activeRpcs.remove(sequenceNo);
+                                    }
+                                    sendMessage(sequenceNo, message);
+                                }
+                            });
+
+                    // Kick off a new thread specific to this RPC.
+                    activeRpcs.put(sequenceNo, controller);
+                    threadPool.execute(controller);
+                }
+            } else {
+                // Sent a message type we understand, but don't expect -
+                // erronous case!
+                throw new IllegalStateException("Got expected but unknown message  (" + message + ") for sequence: "
+                        + sequenceNo);
+            }
+        }
+
+        protected abstract void sendMessage(long sequenceNo, Message message);
+
+        @Override
+        public void unknown(final long sequenceNo, final String messageType, final String message) {
+            throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+                    + ") for sequence: " + sequenceNo);
+        }
+
+        @Override
+        public void unknown(final long sequenceNo, final String messageType, final UnknownFieldSet message) {
+            throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+                    + ") for sequence: " + sequenceNo);
+        }
+    }
+
+    /**
+     * Internal, static container class for any specific registered service
+     * method.
+     */
+    static class RegisteredServiceMethod {
+        final MethodDescriptor method;
+        final Service service;
+
+        RegisteredServiceMethod(final Service service, final MethodDescriptor method) {
+            this.service = service;
+            this.method = method;
+        }
+    }
+    class SocketIOConnection extends Connection {
+        private final SocketIOServerChannel socketChannel;
+
+        SocketIOConnection(final ParticipantId loggedInUser) {
+            super(loggedInUser);
+            socketChannel = new SocketIOServerChannel(this);
+            LOG.info("New websocket connection set up for user " + loggedInUser);
+            expectMessages(socketChannel);
+        }
+
+        public SocketIOServerChannel getWebSocketServerChannel() {
+            return socketChannel;
+        }
+
+        @Override
+        protected void sendMessage(final long sequenceNo, final Message message) {
+            socketChannel.sendMessage(sequenceNo, message);
+        }
+    }
+    public class WaveSocketIOServlet extends SocketIOServlet {
+        @Override
+        protected SocketIOInbound doSocketIOConnect(final HttpServletRequest request, final String[] protocols) {
+            final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+            final SocketIOConnection connection = new SocketIOConnection(loggedInUser);
+            return connection.getWebSocketServerChannel();
+        }
+    }
+    public class WaveWebSocketServlet extends WebSocketServlet {
+        @Override
+        protected WebSocket doWebSocketConnect(final HttpServletRequest request, final String protocol) {
+            final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+            final WebSocketConnection connection = new WebSocketConnection(loggedInUser);
+            return connection.getWebSocketServerChannel();
+        }
+    }
+    class WebSocketConnection extends Connection {
+        private final WebSocketServerChannel socketChannel;
+
+        WebSocketConnection(final ParticipantId loggedInUser) {
+            super(loggedInUser);
+            socketChannel = new WebSocketServerChannel(this);
+            LOG.info("New websocket connection set up for user " + loggedInUser);
+            expectMessages(socketChannel);
+        }
+
+        public WebSocketServerChannel getWebSocketServerChannel() {
+            return socketChannel;
+        }
+
+        @Override
+        protected void sendMessage(final long sequenceNo, final Message message) {
+            socketChannel.sendMessage(sequenceNo, message);
+        }
+    }
+    private static final Log LOG = Log.get(CustomServerRpcProvider.class);
+
+    private static InetSocketAddress[] parseAddressList(final List<String> addressList) {
+        if (addressList == null || addressList.size() == 0) {
+            return new InetSocketAddress[0];
+        } else {
+            final Set<InetSocketAddress> addresses = Sets.newHashSet();
+            for (final String str : addressList) {
+                if (str.length() == 0) {
+                    LOG.warning("Encountered empty address in http addresses list.");
+                } else {
+                    try {
+                        final InetSocketAddress address = NetUtils.parseHttpAddress(str);
+                        if (!addresses.contains(address)) {
+                            addresses.add(address);
+                        } else {
+                            LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
+                                    + "' resolved to " + address.getAddress().getHostAddress());
+                        }
+                    } catch (final IOException e) {
+                        LOG.severe("Unable to process address " + str, e);
+                    }
+                }
+            }
+            return addresses.toArray(new InetSocketAddress[0]);
+        }
+    }
+    private final String baseUrl;
+
+    private final Integer flashsocketPolicyPort;
+
+    private final InetSocketAddress[] httpAddresses;
+
+    private Server httpServer = null;
+
+    private final Set<Connection> incomingConnections = Sets.newHashSet();
+
+    private final org.eclipse.jetty.server.SessionManager jettySessionManager;
+
+    // Mapping from incoming protocol buffer type -> specific handler.
+    private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
+
+    private final String resourceBase;
+
+    /**
+     * Set of servlets
+     */
+    List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
+
+    private final SessionManager sessionManager;
+
+    private final ExecutorService threadPool;
+
+    /**
+     * Construct a new ServerRpcProvider, hosting on the specified WebSocket
+     * addresses.
+     * 
+     * Also accepts an ExecutorService for spawning managing threads.
+     */
+    public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
+            final String baseUrl, final String resourceBase, final ExecutorService threadPool,
+            final SessionManager sessionManager, final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+        this.httpAddresses = httpAddresses;
+        this.flashsocketPolicyPort = flashsocketPolicyPort;
+        this.baseUrl = BaseUrlHelper.removeLastSlash(baseUrl);
+        this.resourceBase = resourceBase;
+        this.threadPool = threadPool;
+        this.sessionManager = sessionManager;
+        this.jettySessionManager = jettySessionManager;
+    }
+
+    /**
+     * Constructs a new ServerRpcProvider with a default ExecutorService.
+     */
+    public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
+            final String baseUrl, final String resourceBase, final SessionManager sessionManager,
+            final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+        this(httpAddresses, flashsocketPolicyPort, baseUrl, resourceBase, Executors.newCachedThreadPool(),
+                sessionManager, jettySessionManager);
+    }
+
+    @Inject
+    public CustomServerRpcProvider(@Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) final List<String> httpAddresses,
+            @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) final Integer flashsocketPolicyPort,
+            @Named(CoreSettings.HTTP_BASE_URL) final String baseUrl,
+            @Named(CoreSettings.RESOURCE_BASE) final String resourceBase, final SessionManager sessionManager,
+            final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+        this(parseAddressList(httpAddresses), flashsocketPolicyPort, baseUrl, resourceBase, sessionManager,
+                jettySessionManager);
+    }
+
+    /**
+     * Add a servlet to the servlet registry. This servlet will be attached to
+     * the specified URL pattern when the server is started up.
+     * 
+     * @param urlPattern
+     *            URL pattern for paths. Eg, '/foo', '/foo/*'
+     * @param servlet
+     *            The servlet object to bind to the specified paths
+     * @return the {@link ServletHolder} that holds the servlet.
+     */
+    public ServletHolder addServlet(final String urlPattern, final Servlet servlet) {
+        final ServletHolder servletHolder = new ServletHolder(servlet);
+        servletRegistry.add(new Pair<String, ServletHolder>(urlPattern, servletHolder));
+        return servletHolder;
+    }
+
+    /**
+     * @return a list of {@link SelectChannelConnector} each bound to a
+     *         host:port pair form the list addresses.
+     */
+    private List<SelectChannelConnector> getSelectChannelConnectors(final InetSocketAddress[] httpAddresses) {
+        final List<SelectChannelConnector> list = Lists.newArrayList();
+        for (final InetSocketAddress address : httpAddresses) {
+            final SelectChannelConnector connector = new SelectChannelConnector();
+            connector.setHost(address.getAddress().getHostAddress());
+            connector.setPort(address.getPort());
+            list.add(connector);
+        }
+
+        return list;
+    }
+
+    /**
+     * Returns the socket the WebSocket server is listening on.
+     */
+    public SocketAddress getWebSocketAddress() {
+        if (httpServer == null) {
+            return null;
+        } else {
+            final Connector c = httpServer.getConnectors()[0];
+            return new InetSocketAddress(c.getHost(), c.getLocalPort());
+        }
+    }
+
+    /**
+     * Register all methods provided by the given service type.
+     */
+    public void registerService(final Service service) {
+        synchronized (registeredServices) {
+            for (final MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
+                registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
+                        methodDescriptor));
+            }
+        }
+    }
+
+    public void startWebSocketServer(final Injector injector) {
+        httpServer = new Server();
+
+        final List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
+        if (connectors.isEmpty()) {
+            LOG.severe("No valid http end point address provided!");
+        }
+        for (final SelectChannelConnector connector : connectors) {
+            httpServer.addConnector(connector);
+        }
+
+        final WebAppContext context = new WebAppContext();
+
+        // FIXME This was with previous ServletContextHandler: needed?
+        // final ServletContextHandler context = new
+        // ServletContextHandler(ServletContextHandler.SESSIONS);
+
+        if (jettySessionManager != null) {
+            context.getSessionHandler().setSessionManager(jettySessionManager);
+        }
+        context.setResourceBase(resourceBase);
+        context.setContextPath(baseUrl);
+        context.setWar(baseUrl);
+        context.setParentLoaderPriority(true);
+        context.setDescriptor("WEB-INF/web.xml");
+
+        final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
+        httpbindHolder.setInitParameter("remotePath", "/http-bind/");
+        httpbindHolder.setInitParameter("remotePort", "5280");
+        context.addServlet(httpbindHolder, "/http-bind/");
+
+        context.addEventListener(new ServletContextListener() {
+
+            @Override
+            public void contextDestroyed(final ServletContextEvent sce) {
+            }
+
+            @Override
+            public void contextInitialized(final ServletContextEvent sce) {
+                final ServletContext context = sce.getServletContext();
+                context.setAttribute("jruby.standalone", "true");
+                context.setAttribute("rails.root", "/WEB-INF/publicspace/");
+                context.setAttribute("files.prefix", "/WEB-INF/publicspace/public");
+                context.setAttribute("rails.env", "production");
+                context.setAttribute("jruby.max.runtimes", "1");
+                context.setAttribute("public.root", "/public/");
+            }
+        });
+
+        context.addEventListener(new RackServletContextListener());
+        // final FilterHolder rubyRack = new
+        // FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
+        // rubyRack.setFilter(new RackFilter());
+
+        // context.getInitParameter("rails.root");
+
+        context.addFilter(RackFilter.class, "/public/*", 0);
+
+        context.addEventListener(new GuiceServletContextListener() {
+            @Override
+            protected Injector getInjector() {
+                return injector;
+            }
+        });
+        context.setAttribute(RackServletFilter.INJECTOR_PARENT_ATTRIBUTE, injector);
+        final FilterHolder filterHolder = new FilterHolder(RackServletFilter.class);
+        filterHolder.setInitParameter("org.ourproject.kune.rack.RackModule",
+                "org.ourproject.kune.app.server.KuneRackModule");
+        context.addFilter(filterHolder, "/ws/*", 0);
+
+        // context.addFilter(GuiceFilter.class, "/*", 0);
+
+        // Servlet where the websocket connection is served from.
+        final ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
+        context.addServlet(wsholder, "/socket");
+        // TODO(zamfi): fix to let messages span frames.
+        wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+
+        // Servlet where the websocket connection is served from.
+        final ServletHolder sioholder = new ServletHolder(new WaveSocketIOServlet());
+        context.addServlet(sioholder, "/socket.io/*");
+        // TODO(zamfi): fix to let messages span frames.
+        sioholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+        // Set flash policy server parameters
+        String flashPolicyServerHost = "localhost";
+        final StringBuilder flashPolicyAllowedPorts = new StringBuilder();
+        /*
+         * Loop through addresses, collect list of ports, and determine if we
+         * are to use "localhost" of the AnyHost wildcard.
+         */
+        for (final InetSocketAddress addr : httpAddresses) {
+            if (flashPolicyAllowedPorts.length() > 0) {
+                flashPolicyAllowedPorts.append(",");
+            }
+            flashPolicyAllowedPorts.append(addr.getPort());
+            if (!addr.getAddress().isLoopbackAddress()) {
+                // Until it's possible to pass a list of address, this is the
+                // only valid alternative.
+                flashPolicyServerHost = "0.0.0.0";
+            }
+        }
+        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
+        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
+        // TODO: Change to use the public http address and all other bound
+        // addresses.
+        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
+        sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
+
+        // Serve the static content and GWT web client with the default servlet
+        // (acts like a standard file-based web server).
+        final ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
+        context.addServlet(defaultServlet, "/static/*");
+        context.addServlet(defaultServlet, "/webclient/*");
+        context.addServlet(defaultServlet, "/ws/*");
+        context.addServlet(defaultServlet, "/images/*");
+        context.addServlet(defaultServlet, "/javascripts/*");
+        context.addServlet(defaultServlet, "/stylesheets/*");
+        context.addServlet(defaultServlet, "/templates/*");
+
+        for (final Pair<String, ServletHolder> servlet : servletRegistry) {
+            context.addServlet(servlet.getSecond(), servlet.getFirst());
+        }
+
+        httpServer.setHandler(context);
+
+        try {
+            httpServer.start();
+        } catch (final Exception e) { // yes, .start() throws "Exception"
+            LOG.severe("Fatal error starting http server.", e);
+            return;
+        }
+        LOG.fine("WebSocket server running. --------");
+    }
+
+    /**
+     * Stops this server.
+     */
+    public void stopServer() throws IOException {
+        try {
+            httpServer.stop(); // yes, .stop() throws "Exception"
+        } catch (final Exception e) {
+            LOG.warning("Fatal error stopping http server.", e);
+        }
+        LOG.fine("server shutdown.");
+    }
+}




More information about the kune-commits mailing list