[kune-commits] r1416 - in trunk: . script src/main/java/cc/kune/gspace/client/viewers src/main/java/cc/kune/wave/client src/main/java/cc/kune/wave/server
Vicente J. Ruiz Jurado
vjrj_ at ourproject.org
Fri Jun 24 18:50:59 CEST 2011
Author: vjrj_
Date: 2011-06-24 18:50:59 +0200 (Fri, 24 Jun 2011)
New Revision: 1416
Modified:
trunk/.classpath
trunk/.project
trunk/pom.xml
trunk/script/repopubli.sh
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml
trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java
trunk/src/main/java/cc/kune/wave/server/WaveMain.java
Log:
wave code updated (with several fixes)
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/.classpath 2011-06-24 16:50:59 UTC (rev 1416)
@@ -11,15 +11,18 @@
<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/waveprotocol/box-src/0.3.0-SNAPSHOT/box-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box/0.3.1-SNAPSHOT/box-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box-src/0.3.1-SNAPSHOT/box-src-0.3.1-SNAPSHOT.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/waveprotocol/client-common-src/0.3.0-SNAPSHOT/client-common-src-0.3.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.0-SNAPSHOT/client-scheduler-src-0.3.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.0-SNAPSHOT/client-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client/0.3.1-SNAPSHOT/client-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common/0.3.1-SNAPSHOT/client-common-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common-src/0.3.1-SNAPSHOT/client-common-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.1-SNAPSHOT/client-scheduler-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.1-SNAPSHOT/client-src-0.3.1-SNAPSHOT.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/org/waveprotocol/common-src/0.3.0-SNAPSHOT/common-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/common-src/0.3.1-SNAPSHOT/common-src-0.3.1-SNAPSHOT.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"/>
@@ -29,8 +32,8 @@
<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1-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/org/waveprotocol/communication-src/0.3.0-SNAPSHOT/communication-src-0.3.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.0-SNAPSHOT/concurrencycontrol-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/communication-src/0.3.1-SNAPSHOT/communication-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.1-SNAPSHOT/concurrencycontrol-src-0.3.1-SNAPSHOT.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/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar" sourcepath="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5-sources.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"/>
@@ -40,7 +43,7 @@
<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/guava/guava-gwt/r09/guava-gwt-r09.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"/>
@@ -50,7 +53,7 @@
<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-SNAPSHOT/gwt-util-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.1-SNAPSHOT/gwt-util-src-0.3.1-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/2.0.0/gwt-voices-2.0.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"/>
@@ -81,7 +84,7 @@
<classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7-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/com/beust/jcommander/1.5/jcommander-1.5.jar" sourcepath="M2_REPO/com/beust/jcommander/1.5/jcommander-1.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12.jar" sourcepath="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12-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/net/java/dev/jna/jna/3.2.2/jna-3.2.2.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2-sources.jar"/>
@@ -92,7 +95,7 @@
<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/junit/junit/4.8.2/junit-4.8.2.jar" sourcepath="M2_REPO/junit/junit/4.8.2/junit-4.8.2-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"/>
@@ -105,15 +108,15 @@
<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/waveprotocol/media-src/0.3.0-SNAPSHOT/media-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/media-src/0.3.1-SNAPSHOT/media-src-0.3.1-SNAPSHOT.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/org/waveprotocol/model-src/0.3.0-SNAPSHOT/model-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.1-SNAPSHOT/model-src-0.3.1-SNAPSHOT.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/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14-sources.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-msg/0.3.0-SNAPSHOT/proto-msg-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.1-SNAPSHOT/proto-msg-0.3.1-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/w3c/css/sac/1.3/sac-1.3.jar" sourcepath="M2_REPO/org/w3c/css/sac/1.3/sac-1.3-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4-sources.jar"/>
@@ -130,11 +133,12 @@
<classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.1.0/smack-3.1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/jivesoftware/smackx/3.1.0/smackx-3.1.0.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/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar" sourcepath="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6-sources.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/testng/testng/5.14/testng-5.14.jar" sourcepath="M2_REPO/org/testng/testng/5.14/testng-5.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.0-SNAPSHOT/util-src-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1.jar" sourcepath="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.1-SNAPSHOT/util-src-0.3.1-SNAPSHOT.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-0.3/0.3.0-SNAPSHOT/waveinabox-server-0.3-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-0.3/0.3.1-SNAPSHOT/waveinabox-server-0.3-0.3.1-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar" sourcepath="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.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"/>
Modified: trunk/.project
===================================================================
--- trunk/.project 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/.project 2011-06-24 16:50:59 UTC (rev 1416)
@@ -1,66 +1,46 @@
-<?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>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.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>
- <buildCommand>
- <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.recommenders.rcp.analysis.RecommendersBuilder</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>
- <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature>
- <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>
- <nature>org.eclipse.recommenders.rcp.analysis.RecommendersNature</nature>
- </natures>
-</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>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.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>
+ <buildCommand>
+ <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.recommenders.rcp.analysis.RecommendersBuilder</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>
+ <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature>
+ <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>
+ <nature>org.eclipse.recommenders.rcp.analysis.RecommendersNature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/pom.xml 2011-06-24 16:50:59 UTC (rev 1416)
@@ -547,72 +547,87 @@
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>waveinabox-server-0.3</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>proto-msg</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>gwt-util-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-gwt</artifactId>
- <version>r07</version>
+ <version>r09</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
+ <artifactId>box</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
<artifactId>box-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>model-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
+ <artifactId>client</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
<artifactId>client-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
+ <artifactId>client-common</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
<artifactId>client-common-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>common-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>util-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>concurrencycontrol-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>client-scheduler-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>media-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
<artifactId>communication-src</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.sourceforge.findbugs</groupId>
Modified: trunk/script/repopubli.sh
===================================================================
--- trunk/script/repopubli.sh 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/script/repopubli.sh 2011-06-24 16:50:59 UTC (rev 1416)
@@ -47,5 +47,5 @@
-Dversion=$VER \
-Dpackaging=$PACKAGING \
-Dfile=$JAR \
- -Durl=scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ \
+ -Durl=scpexe://ourproject.org/home/groups/kune/htdocs/mavenrepo/ \
-DrepositoryId=kune.ourproject.org
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-06-24 16:50:59 UTC (rev 1416)
@@ -212,7 +212,7 @@
waveHolder.getElement().appendChild(loading);
final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
final StagesProvider wave = new StagesProvider(holder, waveHolder, waveRef, channel, idGenerator,
- profiles, waveStore, isNewWave);
+ profiles, waveStore, isNewWave, org.waveprotocol.box.webclient.client.Session.get().getDomain());
this.wave = wave;
wave.load(new Command() {
@Override
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-06-24 16:50:59 UTC (rev 1416)
@@ -196,49 +196,34 @@
// Please also see WebClientDemo.gwt.xml.
private static final Logger REMOTE_LOG = Logger.getLogger("REMOTE_LOG");
- /**
- * Returns <code>ws://yourhost[:port]/</code>.
- */
- // XXX check formatting wrt GPE
- public native static String getWebSocketBaseUrl(String moduleBase) /*-{
- return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
- }-*/;
+ // TODO (Yuri Z.) Change the implementation to RemoteProfileManagerImpl when
+ // it will be ready.
+ private final ProfileManager profiles = new ProfileManagerImpl();
- public native static boolean useSocketIO() /*-{
- return !!$wnd.__useSocketIO
- }-*/;
+ @UiField
+ SplitLayoutPanel splitPanel;
- private RemoteViewServiceMultiplexer channel;
-
private final EventBus eventBus;
- private IdGenerator idGenerator;
- private final Element loading = new LoadingIndicator().getElement();
+ @UiField
+ Style style;
- private ParticipantId loggedInUser;
-
@UiField
- DebugMessagePanel logPanel;
+ FramedPanel waveFrame;
- private final ProfileManager profiles = new ProfileManagerImpl(Session.get().getDomain());
+ ImplPanel waveHolder;
+ private final Element loading = new LoadingIndicator().getElement();
+
@UiField(provided = true)
final SearchPanelWidget searchPanel = new SearchPanelWidget(new SearchPanelRenderer(profiles));
@UiField
- SplitLayoutPanel splitPanel;
+ DebugMessagePanel logPanel;
- @UiField
- Style style;
-
/** The wave panel, if a wave is open. */
private StagesProvider wave;
- at UiField
-FramedPanel waveFrame;
-
- ImplPanel waveHolder;
-
private final WaveStore waveStore = new SimpleWaveStore();
/**
@@ -246,6 +231,12 @@
*/
private WaveWebSocketClient websocket;
+ private ParticipantId loggedInUser;
+
+ private IdGenerator idGenerator;
+
+ private RemoteViewServiceMultiplexer channel;
+
/**
* This is the entry point method.
*/
@@ -279,7 +270,7 @@
setupUi();
- // History.fireCurrentHistoryState();
+ // History.fireCurrentHistoryState();
LOG.info("SimpleWebClient.onModuleLoad() done");
}
@@ -328,7 +319,19 @@
return websocket;
}
/**
+ * Returns <code>ws://yourhost[:port]/</code>.
*/
+ // XXX check formatting wrt GPE
+ private native String getWebSocketBaseUrl(String moduleBase) /*-{
+ return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
+ }-*/;
+
+ private native boolean useSocketIO() /*-{
+ return !!$wnd.__useSocketIO
+ }-*/;
+
+ /**
+ */
private void loginToServer() {
assert loggedInUser != null;
channel = new RemoteViewServiceMultiplexer(websocket, loggedInUser.getAddress());
@@ -369,7 +372,7 @@
waveHolder.getElement().appendChild(loading);
final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
final StagesProvider wave = new StagesProvider(
- holder, waveHolder, waveRef, channel, idGenerator, profiles, waveStore, isNewWave);
+ holder, waveHolder, waveRef, channel, idGenerator, profiles, waveStore, isNewWave, Session.get().getDomain());
this.wave = wave;
wave.load(new Command() {
@Override
@@ -426,17 +429,18 @@
private void setupSearchPanel() {
// On wave selection, fire an event.
- final SearchPresenter.WaveSelectionHandler selectHandler =
+ SearchPresenter.WaveSelectionHandler selectHandler =
new SearchPresenter.WaveSelectionHandler() {
@Override
- public void onWaveSelected(final WaveId id) {
+ public void onWaveSelected(WaveId id) {
ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(id)));
}
};
- final Search search = SimpleSearch.create(RemoteSearchService.create(), waveStore);
- SearchPresenter.create(search, searchPanel, selectHandler);
+ Search search = SimpleSearch.create(RemoteSearchService.create(), waveStore);
+ SearchPresenter.create(search, searchPanel, selectHandler, profiles);
}
+
private void setupUi() {
// Set up UI
final DockLayoutPanel self = BINDER.createAndBindUi(this);
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml 2011-06-24 16:50:59 UTC (rev 1416)
@@ -22,20 +22,19 @@
}
.splitPanel {
-
}
@external gwt-SplitLayoutPanel-HDragger;
@external gwt-SplitLayoutPanel-VDragger;
- .splitPanel .gwt-SplitLayoutPanel-HDragger,.splitPanel .gwt-SplitLayoutPanel-VDragger
- {
+ .splitPanel .gwt-SplitLayoutPanel-HDragger,.splitPanel .gwt-SplitLayoutPanel-VDragger {
background-color: rootBackground;
}
- .searchPanel { /*
- * GWT's drag panel separators are already huge, so no margin needed on
- * sides that have drag panels.
- */
+ .searchPanel {
+ /*
+ * GWT's drag panel separators are already huge, so no margin needed on
+ * sides that have drag panels.
+ */
margin: gap 0 0 gap;
}
@@ -46,10 +45,11 @@
margin: 0 gap gap gap;
}
- .wavePanel { /*
- * GWT's drag panel separators are already huge, so no margin needed on
- * sides that have drag panels.
- */
+ .wavePanel {
+ /*
+ * GWT's drag panel separators are already huge, so no margin needed on
+ * sides that have drag panels.
+ */
margin: gap 0 0 0;
}
@@ -63,19 +63,15 @@
</ui:style>
<g:DockLayoutPanel unit="PX" styleName="{style.root}">
<g:center>
- <g:SplitLayoutPanel ui:field="splitPanel"
- stylePrimaryName="{style.splitPanel}">
+ <g:SplitLayoutPanel ui:field="splitPanel" stylePrimaryName="{style.splitPanel}">
<g:south size="200">
- <d:DebugMessagePanel ui:field="logPanel"
- addStyleNames="{style.debugPanel}" />
+ <d:DebugMessagePanel ui:field="logPanel" addStyleNames="{style.debugPanel}" />
</g:south>
<g:west size="400">
- <s:SearchPanelWidget ui:field="searchPanel"
- addStyleNames="{style.searchPanel}" />
+ <s:SearchPanelWidget ui:field="searchPanel" addStyleNames="{style.searchPanel}"/>
</g:west>
<g:center>
- <f:FramedPanel ui:field="waveFrame"
- addStyleNames="{style.wavePanel}">
+ <f:FramedPanel ui:field="waveFrame" addStyleNames="{style.wavePanel}">
<!-- <w:ImplPanel ui:field="waveHolder"
addStyleNames="{style.waveHolder}" /> -->
</f:FramedPanel>
Modified: trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/src/main/java/cc/kune/wave/server/CustomWaveClientServlet.java 2011-06-24 16:50:59 UTC (rev 1416)
@@ -23,6 +23,7 @@
import java.util.Enumeration;
import java.util.HashMap;
+import javax.inject.Singleton;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -45,7 +46,6 @@
import com.google.common.collect.Maps;
import com.google.gxp.base.GxpContext;
import com.google.inject.Inject;
-import com.google.inject.Singleton;
import com.google.inject.name.Named;
/**
Modified: trunk/src/main/java/cc/kune/wave/server/WaveMain.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/WaveMain.java 2011-06-24 01:51:23 UTC (rev 1415)
+++ trunk/src/main/java/cc/kune/wave/server/WaveMain.java 2011-06-24 16:50:59 UTC (rev 1416)
@@ -19,8 +19,17 @@
package cc.kune.wave.server;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+
import org.apache.commons.configuration.ConfigurationException;
-import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.servlets.ProxyServlet;
import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolWaveClientRpc;
import org.waveprotocol.box.server.CoreSettings;
@@ -37,11 +46,14 @@
import org.waveprotocol.box.server.robots.RobotApiModule;
import org.waveprotocol.box.server.robots.RobotRegistrationServlet;
import org.waveprotocol.box.server.robots.active.ActiveApiServlet;
+import org.waveprotocol.box.server.robots.agent.passwd.PasswordAdminRobot;
+import org.waveprotocol.box.server.robots.agent.passwd.PasswordRobot;
import org.waveprotocol.box.server.robots.dataapi.DataApiOAuthServlet;
import org.waveprotocol.box.server.robots.dataapi.DataApiServlet;
import org.waveprotocol.box.server.robots.passive.RobotsGateway;
import org.waveprotocol.box.server.rpc.AttachmentServlet;
import org.waveprotocol.box.server.rpc.AuthenticationServlet;
+import org.waveprotocol.box.server.rpc.FetchProfilesServlet;
import org.waveprotocol.box.server.rpc.FetchServlet;
import org.waveprotocol.box.server.rpc.SearchServlet;
import org.waveprotocol.box.server.rpc.ServerRpcProvider;
@@ -62,9 +74,12 @@
import com.google.gwt.logging.server.RemoteLoggingServiceImpl;
import com.google.inject.Guice;
+import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Key;
import com.google.inject.Module;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
import com.google.inject.name.Names;
/**
@@ -72,66 +87,40 @@
*/
public class WaveMain {
- /**
- * This is the name of the system property used to find the server config file.
- */
- private static final String PROPERTIES_FILE_KEY = "wave.server.config";
+ @SuppressWarnings("serial")
+ @Singleton
+ public static class GadgetProxyServlet extends HttpServlet {
- private static final Log LOG = Log.get(WaveMain.class);
+ ProxyServlet.Transparent proxyServlet;
- public static void main(String... args) {
- try {
- Module coreSettings = SettingsBinder.bindSettings(PROPERTIES_FILE_KEY, CoreSettings.class);
- run(coreSettings);
- return;
- } catch (PersistenceException e) {
- LOG.severe("PersistenceException when running server:", e);
- } catch (ConfigurationException e) {
- LOG.severe("ConfigurationException when running server:", e);
- } catch (WaveServerException e) {
- LOG.severe("WaveServerException when running server:", e);
+ @Inject
+ public GadgetProxyServlet(@Named(CoreSettings.GADGET_SERVER_HOSTNAME) final String gadgetServerHostname,
+ @Named(CoreSettings.GADGET_SERVER_PORT) final int gadgetServerPort){
+
+ LOG.info("Starting GadgetProxyServlet for " + gadgetServerHostname + ":" + gadgetServerPort);
+ proxyServlet = new ProxyServlet.Transparent("/gadgets", "http", gadgetServerHostname,
+ gadgetServerPort,"/gadgets");
}
- }
- public static void run(Module coreSettings) throws PersistenceException,
- ConfigurationException, WaveServerException {
- Injector settingsInjector = Guice.createInjector(coreSettings);
- boolean enableFederation = settingsInjector.getInstance(Key.get(Boolean.class,
- Names.named(CoreSettings.ENABLE_FEDERATION)));
-
- if (enableFederation) {
- Module federationSettings =
- SettingsBinder.bindSettings(PROPERTIES_FILE_KEY, FederationSettings.class);
- // This MUST happen first, or bindings will fail if federation is enabled.
- settingsInjector = settingsInjector.createChildInjector(federationSettings);
+ @Override
+ public void init(final ServletConfig config) throws ServletException {
+ proxyServlet.init(config);
}
- Module federationModule = buildFederationModule(settingsInjector, enableFederation);
- PersistenceModule persistenceModule = settingsInjector.getInstance(PersistenceModule.class);
- Injector injector =
- settingsInjector.createChildInjector(new ServerModule(enableFederation),
- new RobotApiModule(), federationModule, persistenceModule);
-
- ServerRpcProvider server = injector.getInstance(ServerRpcProvider.class);
- WaveBus waveBus = injector.getInstance(WaveBus.class);
-
- String domain =
- injector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN)));
- if (!ParticipantIdUtil.isDomainAddress(ParticipantIdUtil.makeDomainAddress(domain))) {
- throw new WaveServerException("Invalid wave domain: " + domain);
+ @Override
+ public void service(final ServletRequest req, final ServletResponse res) throws ServletException, IOException {
+ proxyServlet.service(req, res);
}
+ }
- initializeServer(injector, domain);
- initializeServlets(injector, server);
- initializeRobots(injector, waveBus);
- initializeFrontend(injector, server, waveBus);
- initializeFederation(injector);
+ private static final Log LOG = Log.get(WaveMain.class);
- LOG.info("Starting server");
- server.startWebSocketServer(injector);
- }
+ /**
+ * This is the name of the system property used to find the server config file.
+ */
+ private static final String PROPERTIES_FILE_KEY = "wave.server.config";
- private static Module buildFederationModule(Injector settingsInjector, boolean enableFederation)
+ private static Module buildFederationModule(final Injector settingsInjector, final boolean enableFederation)
throws ConfigurationException {
Module federationModule;
if (enableFederation) {
@@ -142,78 +131,132 @@
return federationModule;
}
- private static void initializeServer(Injector injector, String waveDomain)
+ private static void initializeFederation(final Injector injector) {
+ final FederationTransport federationManager = injector.getInstance(FederationTransport.class);
+ federationManager.startFederation();
+ }
+
+ private static void initializeFrontend(final Injector injector, final ServerRpcProvider server,
+ final WaveBus waveBus) throws WaveServerException {
+ final HashedVersionFactory hashFactory = injector.getInstance(HashedVersionFactory.class);
+
+ final WaveletProvider provider = injector.getInstance(WaveletProvider.class);
+ final ClientFrontend frontend =
+ ClientFrontendImpl.create(hashFactory, provider, waveBus);
+
+ final ProtocolWaveClientRpc.Interface rpcImpl = WaveClientRpcImpl.create(frontend, false);
+ server.registerService(ProtocolWaveClientRpc.newReflectiveService(rpcImpl));
+ }
+
+ private static void initializeRobotAgents(final Injector injector, final ServerRpcProvider server) {
+ final PasswordRobot passRobot = new PasswordRobot(injector);
+ final PasswordAdminRobot passAdminRobot = new PasswordAdminRobot(injector);
+ injector.injectMembers(passRobot);
+ server.addServlet(PasswordRobot.ROBOT_URI + "/*", passRobot);
+ server.addServlet(PasswordAdminRobot.ROBOT_URI + "/*", passAdminRobot);
+ }
+
+ private static void initializeRobots(final Injector injector, final WaveBus waveBus) {
+ final RobotsGateway robotsGateway = injector.getInstance(RobotsGateway.class);
+ waveBus.subscribe(robotsGateway);
+ }
+
+ private static void initializeServer(final Injector injector, final String waveDomain)
throws PersistenceException, WaveServerException {
- AccountStore accountStore = injector.getInstance(AccountStore.class);
+ final AccountStore accountStore = injector.getInstance(AccountStore.class);
accountStore.initializeAccountStore();
AccountStoreHolder.init(accountStore, waveDomain);
// Initialize the SignerInfoStore.
- CertPathStore certPathStore = injector.getInstance(CertPathStore.class);
+ final CertPathStore certPathStore = injector.getInstance(CertPathStore.class);
if (certPathStore instanceof SignerInfoStore) {
((SignerInfoStore)certPathStore).initializeSignerInfoStore();
}
// Initialize the server.
- WaveletProvider waveServer = injector.getInstance(WaveletProvider.class);
+ final WaveletProvider waveServer = injector.getInstance(WaveletProvider.class);
waveServer.initialize();
}
- private static void initializeServlets(Injector injector, ServerRpcProvider server) {
+ private static void initializeServlets(final Injector injector, final ServerRpcProvider server) {
server.addServlet("/attachment/*", injector.getInstance(AttachmentServlet.class));
- server.addServlet(SessionManager.SIGN_IN_URL,
- injector.getInstance(AuthenticationServlet.class));
+ server.addServlet(SessionManager.SIGN_IN_URL, injector.getInstance(AuthenticationServlet.class));
server.addServlet("/auth/signout", injector.getInstance(SignOutServlet.class));
server.addServlet("/auth/register", injector.getInstance(UserRegistrationServlet.class));
-
server.addServlet("/fetch/*", injector.getInstance(FetchServlet.class));
-
server.addServlet("/search/*", injector.getInstance(SearchServlet.class));
server.addServlet("/robot/dataapi", injector.getInstance(DataApiServlet.class));
- server.addServlet(DataApiOAuthServlet.DATA_API_OAUTH_PATH + "/*",
- injector.getInstance(DataApiOAuthServlet.class));
+ server.addServlet(DataApiOAuthServlet.DATA_API_OAUTH_PATH + "/*", injector.getInstance(DataApiOAuthServlet.class));
server.addServlet("/robot/dataapi/rpc", injector.getInstance(DataApiServlet.class));
server.addServlet("/robot/register/*", injector.getInstance(RobotRegistrationServlet.class));
server.addServlet("/robot/rpc", injector.getInstance(ActiveApiServlet.class));
+ server.addServlet("/webclient/remote_logging", injector.getInstance(RemoteLoggingServiceImpl.class));
+ server.addServlet("/profile/*", injector.getInstance(FetchProfilesServlet.class));
- String gadgetServerHostname =injector.getInstance(Key.get(String.class,
- Names.named(CoreSettings.GADGET_SERVER_HOSTNAME)));
- int gadgetServerPort =
- injector.getInstance(Key.get(int.class, Names.named(CoreSettings.GADGET_SERVER_PORT)));
- String gadgetServerPath =
- injector.getInstance(Key.get(String.class, Names.named(CoreSettings.GADGET_SERVER_PATH)));
- ProxyServlet.Transparent proxyServlet =
- new ProxyServlet.Transparent("/gadgets", "http", gadgetServerHostname,gadgetServerPort,
- gadgetServerPath);
- ServletHolder proxyServletHolder = server.addServlet("/gadgets/*", proxyServlet);
- proxyServletHolder.setInitParameter("HostHeader", gadgetServerHostname);
-
- server.addServlet("/webclient/remote_logging",
- injector.getInstance(RemoteLoggingServiceImpl.class));
- // server.addServlet("/", injector.getInstance(WaveClientServlet.class));
+ final String gadgetHostName =
+ injector
+ .getInstance(Key.get(String.class, Names.named(CoreSettings.GADGET_SERVER_HOSTNAME)));
+ final int port =
+ injector.getInstance(Key.get(Integer.class, Names.named(CoreSettings.GADGET_SERVER_PORT)));
+ final Map<String, String> initParams =
+ Collections.singletonMap("HostHeader", gadgetHostName + ":" + port);
+ server.addServlet("/gadgets/*", injector.getInstance(GadgetProxyServlet.class), initParams);
+
+ //server.addServlet("/", injector.getInstance(WaveClientServlet.class));
}
- private static void initializeRobots(Injector injector, WaveBus waveBus) {
- RobotsGateway robotsGateway = injector.getInstance(RobotsGateway.class);
- waveBus.subscribe(robotsGateway);
+ public static void main(final String... args) {
+ try {
+ final Module coreSettings = SettingsBinder.bindSettings(PROPERTIES_FILE_KEY, CoreSettings.class);
+ run(coreSettings);
+ return;
+ } catch (final PersistenceException e) {
+ LOG.severe("PersistenceException when running server:", e);
+ } catch (final ConfigurationException e) {
+ LOG.severe("ConfigurationException when running server:", e);
+ } catch (final WaveServerException e) {
+ LOG.severe("WaveServerException when running server:", e);
+ }
}
- private static void initializeFrontend(Injector injector, ServerRpcProvider server,
- WaveBus waveBus) throws WaveServerException {
- HashedVersionFactory hashFactory = injector.getInstance(HashedVersionFactory.class);
-
- WaveletProvider provider = injector.getInstance(WaveletProvider.class);
- ClientFrontend frontend =
- ClientFrontendImpl.create(hashFactory, provider, waveBus);
+ public static void run(final Module coreSettings) throws PersistenceException,
+ ConfigurationException, WaveServerException {
+ Injector settingsInjector = Guice.createInjector(coreSettings);
+ final boolean enableFederation = settingsInjector.getInstance(Key.get(Boolean.class,
+ Names.named(CoreSettings.ENABLE_FEDERATION)));
- ProtocolWaveClientRpc.Interface rpcImpl = WaveClientRpcImpl.create(frontend, false);
- server.registerService(ProtocolWaveClientRpc.newReflectiveService(rpcImpl));
- }
+ if (enableFederation) {
+ final Module federationSettings =
+ SettingsBinder.bindSettings(PROPERTIES_FILE_KEY, FederationSettings.class);
+ // This MUST happen first, or bindings will fail if federation is enabled.
+ settingsInjector = settingsInjector.createChildInjector(federationSettings);
+ }
- private static void initializeFederation(Injector injector) {
- FederationTransport federationManager = injector.getInstance(FederationTransport.class);
- federationManager.startFederation();
+ final Module federationModule = buildFederationModule(settingsInjector, enableFederation);
+ final PersistenceModule persistenceModule = settingsInjector.getInstance(PersistenceModule.class);
+ final Injector injector =
+ settingsInjector.createChildInjector(new ServerModule(enableFederation),
+ new RobotApiModule(), federationModule, persistenceModule);
+
+ final ServerRpcProvider server = injector.getInstance(ServerRpcProvider.class);
+ final WaveBus waveBus = injector.getInstance(WaveBus.class);
+
+ final String domain =
+ injector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN)));
+ if (!ParticipantIdUtil.isDomainAddress(ParticipantIdUtil.makeDomainAddress(domain))) {
+ throw new WaveServerException("Invalid wave domain: " + domain);
+ }
+
+ initializeServer(injector, domain);
+ initializeServlets(injector, server);
+ initializeRobotAgents(injector, server);
+ initializeRobots(injector, waveBus);
+ initializeFrontend(injector, server, waveBus);
+ initializeFederation(injector);
+
+ LOG.info("Starting server");
+ server.startWebSocketServer(injector);
}
}
More information about the kune-commits
mailing list