[kune-commits] r1826 - in trunk: . core core/.settings core/kune-cli core/kune-cli/.settings core/kune-cli/src core/kune-cli/src/main core/kune-cli/src/main/java core/kune-cli/src/main/java/cc core/kune-cli/src/main/java/cc/kune core/kune-cli/src/main/java/cc/kune/kunecli core/kune-cli/src/test core/src debian script src/main/java/cc/kune/core/public src/main/java/cc/kune/core/server src/main/java/cc/kune/core/server/content src/main/java/cc/kune/core/server/manager/file src/main/java/cc/kune/core/server/persist src/main/java/cc/kune/core/server/state src/main/java/cc/kune/gspace/client/viewers src/main/java/cc/kune/wave/client

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Tue Apr 3 16:44:12 CEST 2012


Author: vjrj_
Date: 2012-04-03 16:44:06 +0200 (Tue, 03 Apr 2012)
New Revision: 1826

Added:
   trunk/core/
   trunk/core/.project
   trunk/core/.settings/
   trunk/core/.settings/org.eclipse.m2e.core.prefs
   trunk/core/kune-cli/
   trunk/core/kune-cli/.classpath
   trunk/core/kune-cli/.project
   trunk/core/kune-cli/.settings/
   trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs
   trunk/core/kune-cli/.settings/org.eclipse.m2e.core.prefs
   trunk/core/kune-cli/pom.xml
   trunk/core/kune-cli/src/
   trunk/core/kune-cli/src/main/
   trunk/core/kune-cli/src/main/java/
   trunk/core/kune-cli/src/main/java/cc/
   trunk/core/kune-cli/src/main/java/cc/kune/
   trunk/core/kune-cli/src/main/java/cc/kune/kunecli/
   trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java
   trunk/core/kune-cli/src/main/resources/
   trunk/core/kune-cli/src/test/
   trunk/core/kune-cli/src/test/java/
   trunk/core/kune-cli/src/test/resources/
   trunk/core/pom.xml
   trunk/core/src/
   trunk/core/src/site/
   trunk/src/main/java/cc/kune/core/server/state/RenderedWavesCache.java
Modified:
   trunk/.classpath
   trunk/.project
   trunk/debian/changelog
   trunk/pom.xml
   trunk/script/kune client  -no-server.launch
   trunk/src/main/java/cc/kune/core/public/ws.css
   trunk/src/main/java/cc/kune/core/server/KuneContainerListener.java
   trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
   trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java
   trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java
   trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java
   trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java
   trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
   trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java
   trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
   trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
Log:
Improved openfire connection, debian init and wave offline render and cache.


Modified: trunk/.classpath
===================================================================
--- trunk/.classpath	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/.classpath	2012-04-03 14:44:06 UTC (rev 1826)
@@ -1,174 +1,10 @@
+<?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.1.0-SNAPSHOT/WEB-INF/classes"/>
-  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
-  <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/mail/mail/1.4.4/mail-1.4.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4.4/mail-1.4.4-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/org/waveprotocol/api/0.3.14/api-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/api-src/0.3.14/api-src-0.3.14.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/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar" sourcepath="M2_REPO/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box/0.3.14/box-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box-src/0.3.14/box-src-0.3.14.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/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-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/0.3.14/client-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common/0.3.14/client-common-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common-src/0.3.14/client-common-src-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler/0.3.14/client-scheduler-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.14/client-scheduler-src-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.14/client-src-0.3.14.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.14/common-src-0.3.14.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.2/commons-fileupload-1.2.jar" sourcepath="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-sources.jar"/>
-  <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.14/communication-src-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.14/concurrencycontrol-src-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/crypto/0.3.14/crypto-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/crypto-src/0.3.14/crypto-src-0.3.14.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"/>
-  <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/gxp/google-gxp/0.2.4-beta/google-gxp-0.2.4-beta.jar" sourcepath="M2_REPO/com/google/gxp/google-gxp/0.2.4-beta/google-gxp-0.2.4-beta-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/guava/guava/10.0.1/guava-10.0.1.jar" sourcepath="M2_REPO/com/google/guava/guava/10.0.1/guava-10.0.1-sources.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/guice-3.0.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0/guice-3.0-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-assistedinject/3.0/guice-assistedinject-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-assistedinject/3.0/guice-assistedinject-3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-grapher/3.0/guice-grapher-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-grapher/3.0/guice-grapher-3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-multibindings/3.0/guice-multibindings-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-multibindings/3.0/guice-multibindings-3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/bradrydzewski/gwt-cal/0.9.3-dndCreation/gwt-cal-0.9.3-dndCreation.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/dnd/gwt-dnd/gwt-dnd/3.0.1/gwt-dnd-3.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.14/gwt-util-src-0.3.14.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/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-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/googlecode/gwtquery/gwtquery/1.1.0/gwtquery-1.1.0-2.1.0.jar" sourcepath="M2_REPO/com/googlecode/gwtquery/gwtquery/1.1.0/gwtquery-1.1.0-2.1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/googlecode/gwtrpccommlayer/0.0.1-SNAPSHOT/gwtrpccommlayer-0.0.1-SNAPSHOT.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat.jar" sourcepath="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat-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/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.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/net/sourceforge/htmlunit/htmlunit/2.9/htmlunit-2.9.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.9/htmlunit-2.9-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.9/htmlunit-core-js-2.9.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.9/htmlunit-core-js-2.9-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.1.2/httpcore-4.1.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpcore/4.1.2/httpcore-4.1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpmime/4.1.2/httpmime-4.1.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpmime/4.1.2/httpmime-4.1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mnode/ical4j/ical4j/1.0.2/ical4j-1.0.2.jar" sourcepath="M2_REPO/org/mnode/ical4j/ical4j/1.0.2/ical4j-1.0.2-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.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.3.0/jna-3.3.0.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.3.0/jna-3.3.0-sources.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/org/json/json/20080701/json-20080701.jar" sourcepath="M2_REPO/org/json/json/20080701/json-20080701-sources.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/org/jsoup/jsoup/1.2.2/jsoup-1.2.2.jar" sourcepath="M2_REPO/org/jsoup/jsoup/1.2.2/jsoup-1.2.2-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/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.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.10/junit-4.10.jar" sourcepath="M2_REPO/junit/junit/4.10/junit-4.10-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.8.1/liquibase-core-1.8.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.8.1.0/liquibase-plugin-1.8.1.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/waveprotocol/media-src/0.3.14/media-src-0.3.14.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/0.3.14/model-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.14/model-src-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16.jar" sourcepath="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16-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/net/sourceforge/nekohtml/nekohtml/1.9.15/nekohtml-1.9.15.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.15/nekohtml-1.9.15-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.14/proto-msg-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/quartz-scheduler/quartz/2.1.0/quartz-2.1.0.jar" sourcepath="M2_REPO/org/quartz-scheduler/quartz/2.1.0/quartz-2.1.0-sources.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-android-driver/2.12.0/selenium-android-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-android-driver/2.12.0/selenium-android-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-api/2.12.0/selenium-api-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-api/2.12.0/selenium-api-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.12.0/selenium-chrome-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.12.0/selenium-chrome-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.12.0/selenium-firefox-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.12.0/selenium-firefox-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.12.0/selenium-htmlunit-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.12.0/selenium-htmlunit-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.12.0/selenium-ie-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.12.0/selenium-ie-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-iphone-driver/2.12.0/selenium-iphone-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-iphone-driver/2.12.0/selenium-iphone-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-java/2.12.0/selenium-java-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-java/2.12.0/selenium-java-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-driver/2.12.0/selenium-remote-driver-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-driver/2.12.0/selenium-remote-driver-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-support/2.12.0/selenium-support-2.12.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-support/2.12.0/selenium-support-2.12.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.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/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/com/glines/socketio/java/socketio-gwt/23-10-2011/socketio-gwt-23-10-2011.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/glines/socketio/java/socketio-gwt-sources/23-10-2011/socketio-gwt-sources-23-10-2011.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/6.2.1/testng-6.2.1.jar" sourcepath="M2_REPO/org/testng/testng/6.2.1/testng-6.2.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5.jar" sourcepath="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util/0.3.14/util-0.3.14.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.14/util-src-0.3.14.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.14/waveinabox-server-0.3-0.3.14.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"/>
-  <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="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="src" path=".apt_generated" including="**/*.java"/>  <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
-</classpath>
\ No newline at end of file
+	<classpathentry kind="src" output="target/kune-0.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/java"/>
+	<classpathentry kind="src" output="target/kune-0.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
+	<classpathentry kind="output" path="target/kune-0.1.0-SNAPSHOT/WEB-INF/classes"/>
+</classpath>

Modified: trunk/.project
===================================================================
--- trunk/.project	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/.project	2012-04-03 14:44:06 UTC (rev 1826)
@@ -1,42 +1,66 @@
+<?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/>
-  <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>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>org.eclipse.recommenders.rcp.analysis.RecommendersNature</nature>
-  </natures>
-</projectDescription>
\ No newline at end of file
+	<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>org.eclipse.recommenders.rcp.analysis.RecommendersBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<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>org.eclipse.recommenders.rcp.analysis.RecommendersNature</nature>
+	</natures>
+</projectDescription>

Added: trunk/core/.project
===================================================================
--- trunk/core/.project	                        (rev 0)
+++ trunk/core/.project	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>kune-core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: trunk/core/.settings/org.eclipse.m2e.core.prefs
===================================================================
--- trunk/core/.settings/org.eclipse.m2e.core.prefs	                        (rev 0)
+++ trunk/core/.settings/org.eclipse.m2e.core.prefs	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1

Added: trunk/core/kune-cli/.classpath
===================================================================
--- trunk/core/kune-cli/.classpath	                        (rev 0)
+++ trunk/core/kune-cli/.classpath	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,9 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+  <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
+  <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/org/naturalcli/naturalcli/1.2.3/naturalcli-1.2.3.jar" sourcepath="M2_REPO/org/naturalcli/naturalcli/1.2.3/naturalcli-1.2.3-sources.jar"/>
+</classpath>
\ No newline at end of file

Added: trunk/core/kune-cli/.project
===================================================================
--- trunk/core/kune-cli/.project	                        (rev 0)
+++ trunk/core/kune-cli/.project	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,17 @@
+<projectDescription>
+  <name>kune-cli</name>
+  <comment>Kune command line interface</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.m2e.core.maven2Builder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+    <nature>org.eclipse.m2e.core.maven2Nature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Added: trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5

Added: trunk/core/kune-cli/.settings/org.eclipse.m2e.core.prefs
===================================================================
--- trunk/core/kune-cli/.settings/org.eclipse.m2e.core.prefs	                        (rev 0)
+++ trunk/core/kune-cli/.settings/org.eclipse.m2e.core.prefs	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1

Added: trunk/core/kune-cli/pom.xml
===================================================================
--- trunk/core/kune-cli/pom.xml	                        (rev 0)
+++ trunk/core/kune-cli/pom.xml	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,19 @@
+<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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>kune-core</artifactId>
+    <groupId>cc.kune</groupId>
+    <version>0.0.1-SNAPSHOT</version>
+    <relativePath>..</relativePath>
+  </parent>
+  <artifactId>kune-cli</artifactId>
+  <description>Kune command line interface</description>
+  <dependencies>
+    <dependency>
+      <groupId>org.naturalcli</groupId>
+      <artifactId>naturalcli</artifactId>
+      <version>1.2.3</version>
+      <scope>runtime</scope>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Added: trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java
===================================================================
--- trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java	                        (rev 0)
+++ trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,74 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.kunecli;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.naturalcli.Command;
+import org.naturalcli.ExecutionException;
+import org.naturalcli.ICommandExecutor;
+import org.naturalcli.InvalidSyntaxException;
+import org.naturalcli.NaturalCLI;
+import org.naturalcli.ParseResult;
+import org.naturalcli.commands.ExecuteFileCommand;
+import org.naturalcli.commands.HTMLHelpCommand;
+import org.naturalcli.commands.HelpCommand;
+import org.naturalcli.commands.SleepCommand;
+
+public class KuneCliMain {
+
+  public static void main(String[] args) throws InvalidSyntaxException, ExecutionException {
+    Command showDateCommand =
+        new Command(
+          "hello world [<name:string>]", 
+          "Says hello to the world and, may be, especially to some one.", 
+          new ICommandExecutor ()
+          {
+            public void execute(ParseResult pr) 
+            {  
+              System.out.print("Hello world!");
+              String p0 = pr.getParameterValue(0).toString();
+              if (p0 == null)
+                System.out.println();
+              else
+                System.out.println(" And hello especially to "+p0);  
+            }
+          }   
+        );
+    // Create an empty command set
+    Set<Command> cs = new HashSet<Command>();
+   
+    // Create the interpreter
+    NaturalCLI nc = new NaturalCLI(cs);
+   
+    // Add the commands that can be understood
+    cs.add(showDateCommand);
+    cs.add(new HelpCommand(cs)); // help
+    cs.add(new HTMLHelpCommand(cs)); // htmlhelp
+    cs.add(new SleepCommand());  // sleep <seconds:number> 
+    cs.add(new ExecuteFileCommand(nc)); // execute file <filename:string>
+   
+    // Execute the command line 
+    nc.execute(args, 0);
+     
+  }
+}

Added: trunk/core/pom.xml
===================================================================
--- trunk/core/pom.xml	                        (rev 0)
+++ trunk/core/pom.xml	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,17 @@
+<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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>cc.kune</groupId>
+  <artifactId>kune-core</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  <modules>
+    <module>kune-cli</module>
+  </modules>
+<!--   <repositories> -->
+<!--     <repository> -->
+<!--       <id>kune-maven</id> -->
+<!--       <url>http://kune.ourproject.org/mavenrepo/</url> -->
+<!--     </repository> -->
+<!--   </repositories> -->
+</project>
\ No newline at end of file

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/debian/changelog	2012-04-03 14:44:06 UTC (rev 1826)
@@ -1,6 +1,6 @@
 kune (0.1.0+b7) oneiric; urgency=low
 
-  * Improved openfire connection. Improved debian init
+  * Improved openfire connection, debian init andº wave offline render and cache.
 
  -- Vicente J. Ruiz Jurado <vjrj at ourproject.org>  Mon, 02 Apr 2012 22:51:59 +0200
 

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/pom.xml	2012-04-03 14:44:06 UTC (rev 1826)
@@ -496,7 +496,7 @@
       <version>3.3.5</version>
       <!-- <scope>test</scope> -->
     </dependency>
-  
+
     <!-- public side -->
     <dependency>
       <groupId>org.jruby.rack</groupId>
@@ -712,7 +712,7 @@
       <groupId>com.googlecode</groupId>
       <artifactId>gwtrpccommlayer</artifactId>
       <version>0.0.1-SNAPSHOT</version>
-   </dependency>
+    </dependency>
   </dependencies>
   <distributionManagement>
     <repository>
@@ -1029,6 +1029,37 @@
           </archive>
         </configuration>
         <executions>
+                  <execution>
+            <id>common</id>
+            <phase>package</phase>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+            <configuration>
+              <classifier>common</classifier>
+              <includes>
+                <include>**/KuneCommon.gwt.xml**</include>
+                <include>**/kune/common/**</include>
+              </includes>
+            </configuration>
+          </execution>
+          <execution>
+            <id>services</id>
+            <phase>package</phase>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+            <configuration>
+              <classifier>services</classifier>
+              <includes>
+                <include>**/rpcservices/UserService**</include>
+                <include>**/shared/domain/*</include>
+                <include>**/shared/domain/utils/*</include>
+                <include>**/shared/dto/*</include>
+                <include>**/client/errors/*</include>
+              </includes>
+            </configuration>
+          </execution>
         </executions>
       </plugin>
     </plugins>
@@ -1041,6 +1072,49 @@
         <version>1.0-beta-2</version>
       </extension>
     </extensions>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId></groupId>
+                    <artifactId></artifactId>
+                    <versionRange></versionRange>
+                    <goals>
+                      <goal></goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.liquibase</groupId>
+                    <artifactId>liquibase-plugin</artifactId>
+                    <versionRange>1.7.0.0,1.7.0.0</versionRange>
+                    <goals>
+                      <goal>update</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
   </build>
   <profiles>
     <profile>

Modified: trunk/script/kune client  -no-server.launch
===================================================================
--- trunk/script/kune client  -no-server.launch	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/script/kune client  -no-server.launch	2012-04-03 14:44:06 UTC (rev 1826)
@@ -18,7 +18,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.maven.mavenClasspathProvider"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war /home/vjrj/proyectos/dev/kune/trunk/target/kune-0.1.0-SNAPSHOT -startupUrl /?locale=en&amp;log_level=INFO -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 cc.kune.KuneDev"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="kune"/>

Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/public/ws.css	2012-04-03 14:44:06 UTC (rev 1826)
@@ -1,5 +1,5 @@
-GCHARSET                          "UTF-8                         "; body
-  {
+GCHARSET                           "UTF-8                          ";
+  body {
   background-color: transparent;
   color: black;
   font-family: "Ubuntu Beta", UbuntuBeta, Ubuntu, "Bitstream Vera Sans",
@@ -423,7 +423,7 @@
 }
 
 div.gwt-TabLayoutPanelTabInner {
-  padding-top:3px;
+  padding-top: 3px;
 }
 
 .k-link {
@@ -901,7 +901,6 @@
   padding: 0 2px;
 }
 
-
 button.k-btn-go-up {
   margin-right: 5px;
 }
@@ -976,8 +975,8 @@
   color: gray !important;
   border-color: #CCCCCC !important;
   background: inherits !important;
-  kfilter: alpha(opacity = 
-               50) !important;
+  kfilter: alpha(opacity =  
+                50) !important;
   -moz-opacity: 0.50 !important;
   -khtml-opacity: 0.50 !important;
   opacity: 0.50 !important;
@@ -991,7 +990,6 @@
 }
 
 /* end buttons */
-
 .k-sn-collabslabel {
   
 }
@@ -1270,8 +1268,8 @@
   -webkit-border-bottom-left-radius: 5px;
   -moz-border-radius-bottomleft: 5px;
   border-bottom-left-radius: 5px;
-  kfilter: alpha(opacity = 
-               90);
+  kfilter: alpha(opacity =  
+                90);
   -moz-opacity: 0.90;
   -khtml-opacity: 0.90;
   opacity: 0.90;
@@ -1605,8 +1603,14 @@
 }
 
 /* Wave public (not logged) render (splash) */
+div.docEditorContainer div.docEditor div.thread {
+  padding: 0 10px !important;
+}
 
-div.docEditorContainer div.docEditor div.thread { 
- padding: 0 10px !important;  
+.author-count-root {
+  margin: -30px 0 0 -30px;
 }
 
+div.docEditorContainer div.thread div.time {
+  color: #A05A2C;
+}
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/server/KuneContainerListener.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneContainerListener.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/KuneContainerListener.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -23,14 +23,9 @@
  \*/
 package cc.kune.core.server;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.log4j.PropertyConfigurator;
-
 import cc.kune.core.server.persist.KunePersistenceService;
 import cc.kune.core.server.rack.ContainerListener;
 
@@ -48,18 +43,21 @@
     this.logger = logger;
   }
 
-  private void configureLog4j() {
-    try {
-      final Properties properties = new Properties();
-      final InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(
-          "log4j.properties");
-      // "log4j.dev.properties");
-      properties.load(input);
-      PropertyConfigurator.configure(properties);
-    } catch (final IOException e) {
-      e.printStackTrace();
-    }
-  }
+  //
+  // private void configureLog4j() {
+  // try {
+  // final Properties properties = new Properties();
+  // // FIXME this should be optional
+  // final InputStream input =
+  // Thread.currentThread().getContextClassLoader().getResourceAsStream(
+  // "log4j.properties");
+  // // "log4j.dev.properties");
+  // properties.load(input);
+  // PropertyConfigurator.configure(properties);
+  // } catch (final IOException e) {
+  // e.printStackTrace();
+  // }
+  // }
 
   public Logger getLogger() {
     return logger;
@@ -67,7 +65,7 @@
 
   @Override
   public void start() {
-    configureLog4j();
+    // configureLog4j();
     logger.log(Level.INFO, "Kune persistence starting");
     persistenceService.start();
     logger.log(Level.INFO, "Kune persistence started");

Modified: trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -182,13 +182,12 @@
     bindServices();
     // bind(KuneProperties.class).to(KunePropertiesDefault.class);
     bind(Mapper.class).to(DozerMapper.class);
-    bind(ServerToolRegistry.class);
-    // bind(FileUploadManager.class).in(ServletScopes.REQUEST);
-    bind(FileUploadManager.class);
-    bind(FileDownloadManager.class);
-    bind(EntityLogoUploadManager.class);
-    bind(EntityLogoDownloadManager.class);
-    bind(ParticipantUtils.class);
+    bind(ServerToolRegistry.class).in(Singleton.class);
+    bind(FileUploadManager.class).in(Singleton.class);
+    bind(FileDownloadManager.class).in(Singleton.class);
+    bind(EntityLogoUploadManager.class).in(Singleton.class);
+    bind(EntityLogoDownloadManager.class).in(Singleton.class);
+    bind(ParticipantUtils.class).in(Singleton.class);
     bind(UsersOnline.class).to(UserSessionManager.class).in(Singleton.class);
     requestStaticInjection(AccessRightsUtils.class);
     bind(WaveEmailNotifier.class).in(Singleton.class);

Modified: trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -46,7 +46,7 @@
   @Inject
   public XMLActionReader(@Named(CoreSettings.RESOURCE_BASES) final List<String> resourceBases) {
     try {
-      final InputStream iStream = FileDownloadManagerUtils.searchFileInResourcBases(resourceBases,
+      final InputStream iStream = FileDownloadManagerUtils.getInputStreamInResourceBases(resourceBases,
           XMLActionsConstants.ACTIONS_XML_LOCATION_PATH_ABS);
       final StringWriter writer = new StringWriter();
       IOUtils.copy(iStream, writer, "UTF-8");

Modified: trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -19,10 +19,14 @@
  \*/
 package cc.kune.core.server.manager.file;
 
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.List;
 
+import javax.activation.MimetypesFileTypeMap;
 import javax.persistence.NoResultException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -46,21 +50,30 @@
   public static final Log LOG = LogFactory.getLog(EntityLogoDownloadManager.class);
 
   private static final long serialVersionUID = -1958945058088446881L;
-  private final InputStream groupLogo;
+  private final byte[] groupLogo;
   GroupManager groupManager;
-  private final InputStream personLogo;
-  private final InputStream unknownLogo;
+  private final String groupMime;
+  private final byte[] personLogo;
+  private final String personMime;
+  private final byte[] unknownLogo;
+  private final String unknownMime;
 
   @Inject
   public EntityLogoDownloadManager(@Named(CoreSettings.RESOURCE_BASES) final List<String> resourceBases,
-      final GroupManager groupManager) {
+      final GroupManager groupManager) throws IOException {
     this.groupManager = groupManager;
-    personLogo = FileDownloadManagerUtils.searchFileInResourcBases(resourceBases,
-        FileConstants.PERSON_NO_AVATAR_IMAGE);
-    groupLogo = FileDownloadManagerUtils.searchFileInResourcBases(resourceBases,
-        FileConstants.GROUP_NO_AVATAR_IMAGE);
-    unknownLogo = FileDownloadManagerUtils.searchFileInResourcBases(resourceBases,
-        FileConstants.NO_RESULT_AVATAR_IMAGE);
+
+    final File personFile = getFile(resourceBases, FileConstants.PERSON_NO_AVATAR_IMAGE);
+    personMime = getMime(personFile);
+    personLogo = getBy(personFile);
+
+    final File groupFile = getFile(resourceBases, FileConstants.GROUP_NO_AVATAR_IMAGE);
+    groupMime = getMime(groupFile);
+    groupLogo = getBy(groupFile);
+
+    final File unknownFile = getFile(resourceBases, FileConstants.NO_RESULT_AVATAR_IMAGE);
+    unknownMime = getMime(unknownFile);
+    unknownLogo = getBy(unknownFile);
   }
 
   @Override
@@ -82,25 +95,46 @@
         return;
       }
       if (!group.hasLogo()) {
-        FileDownloadManagerUtils.returnFile((group.isPersonal() ? personLogo : groupLogo),
-            resp.getOutputStream());
+        if (group.isPersonal()) {
+          reply(resp, personLogo, personMime);
+        } else {
+          reply(resp, groupLogo, groupMime);
+        }
+
       } else {
         // Has logo
-        final byte[] logo = group.getLogo();
-
-        resp.setContentLength(logo.length);
-        resp.setContentType(group.getLogoMime().toString());
-        resp.setHeader("Content-Disposition", "attachment; filename=\"" + group.getShortName()
-            + "-logo\"");
-        resp.getOutputStream().write(logo);
+        reply(resp, group.getLogo(), group.getLogoMime().toString());
       }
     } catch (final NoResultException e) {
       unknownResult(resp);
     }
   }
 
+  private byte[] getBy(final File file) throws IOException {
+    final BufferedInputStream is = new BufferedInputStream(new FileInputStream(file));
+    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    org.apache.commons.io.IOUtils.copy(is, baos);
+    return baos.toByteArray();
+  }
+
+  private File getFile(final List<String> resourceBases, final String location) {
+    final File file = FileDownloadManagerUtils.searchFileInResourceBases(resourceBases, location);
+    return file;
+  }
+
+  private String getMime(final File file) {
+    return new MimetypesFileTypeMap().getContentType(file);
+  }
+
+  private void reply(final HttpServletResponse resp, final byte[] logo, final String mime)
+      throws IOException {
+    resp.setContentLength(logo.length);
+    resp.setContentType(mime);
+    resp.getOutputStream().write(logo);
+  }
+
   private void unknownResult(final HttpServletResponse resp) throws IOException {
-    FileDownloadManagerUtils.returnFile(unknownLogo, resp.getOutputStream());
+    reply(resp, unknownLogo, unknownMime);
   }
 
 }

Modified: trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -37,6 +37,20 @@
 
   public static final Log LOG = LogFactory.getLog(FileDownloadManagerUtils.class);
 
+  public static InputStream getInputStreamInResourceBases(final List<String> resourceBases,
+      final String filename) {
+    InputStream in = null;
+    final File icon = searchFileInResourceBases(resourceBases, filename);
+    try {
+      if (icon != null) {
+        in = new BufferedInputStream(new FileInputStream(icon));
+      }
+    } catch (final FileNotFoundException e) {
+      LOG.error(String.format("Cannot read filename: %s in %s", filename, resourceBases.toString()));
+    }
+    return in;
+  }
+
   public static void returnFile(final InputStream in, final OutputStream out)
       throws FileNotFoundException, IOException {
     try {
@@ -74,25 +88,17 @@
     resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
   }
 
-  public static InputStream searchFileInResourcBases(final List<String> resourceBases,
-      final String filename) {
-    InputStream in = null;
+  public static File searchFileInResourceBases(final List<String> resourceBases, final String filename) {
     File icon = null;
     for (final String path : resourceBases) {
-      final String pathAndfilename = path + (path.endsWith(File.separator) ? "" : File.separator) + filename;
+      final String pathAndfilename = path + (path.endsWith(File.separator) ? "" : File.separator)
+          + filename;
       final File file = new File(pathAndfilename);
       if (file.exists()) {
         icon = file;
         break;
       }
     }
-    try {
-      if (icon != null) {
-        in = new BufferedInputStream(new FileInputStream(icon));
-      }
-    } catch (final FileNotFoundException e) {
-      LOG.error(String.format("Cannot read filename: %s in %s", filename, resourceBases.toString()));
-    }
-    return in;
+    return icon;
   }
 }

Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -19,6 +19,8 @@
  */
 package cc.kune.core.server.persist;
 
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.Properties;
 
 import javax.persistence.EntityManager;
@@ -26,6 +28,7 @@
 import org.apache.commons.configuration.SystemConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.log4j.PropertyConfigurator;
 import org.hibernate.Session;
 
 import cc.kune.core.server.properties.KuneProperties;
@@ -50,7 +53,6 @@
 import com.google.inject.persist.jpa.KuneJpaLocalTxnInterceptor;
 
 public class DataSourceKunePersistModule extends PrivateModule {
-  // FIXME Trying to make this PrivateModule so we can have two Persist sources
   // http://code.google.com/p/google-guice/wiki/GuicePersistMultiModules
 
   public static final Log LOG = LogFactory.getLog(DataSourceKunePersistModule.class);
@@ -58,6 +60,7 @@
       CustomPersistFilter.class, DataSourceKune.class);
   private String kuneConfig;
   private KunePropertiesDefault kuneProperties;
+  private String log4Conf = null;
   private String settedJpaUnit = null;
   private KuneJpaLocalTxnInterceptor transactionInterceptor;
 
@@ -86,6 +89,10 @@
 
     bind(KuneProperties.class).toInstance(kuneProperties);
 
+    if (log4Conf == null) {
+      configureLog4j();
+    }
+
     // precedence method param > properties
     final String configuredJpaUnit = kuneProperties.get(KuneProperties.SITE_DB_PERSISTENCE_NAME);
     final String jpaUnit = settedJpaUnit != null ? settedJpaUnit
@@ -158,6 +165,19 @@
     bind(GenericPersistenceInitializer.class).asEagerSingleton();
   }
 
+  private void configureLog4j() {
+    try {
+      final Properties properties = new Properties();
+      final InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(
+          "log4j.properties");
+      // "log4j.dev.properties");
+      properties.load(input);
+      PropertyConfigurator.configure(properties);
+    } catch (final IOException e) {
+      e.printStackTrace();
+    }
+  }
+
   public KuneProperties getKuneProperties() {
     return kuneProperties;
   }
@@ -170,5 +190,6 @@
     final SystemConfiguration sysConf = new SystemConfiguration();
     kuneConfig = settedProperties != null ? settedProperties : sysConf.getString("kune.server.config");
     kuneProperties = new KunePropertiesDefault(kuneConfig);
+    log4Conf = sysConf.getString("log4j.configuration");
   }
 }
\ No newline at end of file

Added: trunk/src/main/java/cc/kune/core/server/state/RenderedWavesCache.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/RenderedWavesCache.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/state/RenderedWavesCache.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -0,0 +1,67 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.core.server.state;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import cc.kune.common.shared.utils.Pair;
+import cc.kune.core.server.persist.CachedCollection;
+import cc.kune.wave.server.kspecific.KuneWaveService;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.wave.api.Wavelet;
+
+ at Singleton
+public class RenderedWavesCache extends CachedCollection<String, Pair<Long, String>> {
+  public static final Log LOG = LogFactory.getLog(RenderedWavesCache.class);
+
+  private static final String SEP = "---";
+
+  private final KuneWaveService kuneWaveService;
+
+  @Inject
+  public RenderedWavesCache(final KuneWaveService kuneWaveService) {
+    super(50);
+    this.kuneWaveService = kuneWaveService;
+  }
+
+  public String getOrRender(final Wavelet wavelet) {
+    final Pair<Long, String> pair = get(ref(wavelet));
+    final long lastModifiedTime = wavelet.getLastModifiedTime();
+    if (pair != null) {
+      LOG.debug("Existing rendered wave");
+    }
+    if (pair == null || pair.getLeft() < lastModifiedTime) {
+      LOG.debug("not returning not existing or expired rendered wave");
+      final String rendered = kuneWaveService.render(wavelet);
+      put(ref(wavelet), Pair.create(lastModifiedTime, rendered));
+      return rendered;
+    }
+    return pair.getRight();
+  }
+
+  private String ref(final Wavelet wavelet) {
+    return wavelet.getWaveId() + SEP + wavelet.getWaveletId();
+  }
+
+}

Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -47,7 +47,8 @@
   public static final Log LOG = LogFactory.getLog(StateServiceDefault.class);
   private final GroupManager groupManager;
   private final I18nTranslationService i18n;
-  private final KuneWaveService kuneWaveManager;
+  private final KuneWaveService kuneWaveService;
+  private final RenderedWavesCache renderedWaves;
   private final AccessRightsService rightsService;
   private final SocialNetworkManager socialNetworkManager;
   private final TagUserContentManager tagManager;
@@ -56,13 +57,14 @@
   public StateServiceDefault(final GroupManager groupManager,
       final SocialNetworkManager socialNetworkManager, final TagUserContentManager tagManager,
       final AccessRightsService rightsService, final I18nTranslationService i18n,
-      final KuneWaveService kuneWaveManager) {
+      final KuneWaveService kuneWaveService, final RenderedWavesCache renderedWaves) {
     this.groupManager = groupManager;
     this.socialNetworkManager = socialNetworkManager;
     this.tagManager = tagManager;
     this.rightsService = rightsService;
     this.i18n = i18n;
-    this.kuneWaveManager = kuneWaveManager;
+    this.kuneWaveService = kuneWaveService;
+    this.renderedWaves = renderedWaves;
   }
 
   private Container calculateRootContainer(final Container container) {
@@ -109,10 +111,11 @@
       state.setWaveRef(waveId);
       try {
         // FIXME if we remove the authors this fails...
-        final Wavelet wavelet = kuneWaveManager.fetchWave(
+        final Wavelet wavelet = kuneWaveService.fetchWave(
             JavaWaverefEncoder.decodeWaveRefFromPath(waveId), content.getAuthors().get(0).getShortName());
         // final String currentContent = wavelet.getRootBlip().getContent();
-        state.setContent(kuneWaveManager.render(wavelet));
+
+        state.setContent(renderedWaves.getOrRender(wavelet));
         // Well we "cache" the last modified time of waves in db (w'll find
         // another way to do it better in the future with db persitence of
         // waves)
@@ -120,7 +123,7 @@
         // contentManager.setModifiedOn(content, wavelet.getLastModifiedTime());
         // contentManager.save(userLogged, content, currentContent);
         state.setTitle(wavelet.getTitle());
-        state.setIsParticipant(userLogged != User.UNKNOWN_USER ? kuneWaveManager.isParticipant(wavelet,
+        state.setIsParticipant(userLogged != User.UNKNOWN_USER ? kuneWaveService.isParticipant(wavelet,
             userLogged.getShortName()) : false);
       } catch (final Exception e) {
         LOG.error("Error accessing wave " + waveId, e);

Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -103,6 +103,7 @@
     Tooltip.to(itemWidget, item.getTooltip());
     // FIXME make this under demand
     itemWidget.getRowClick().addClickHandler(clickHandler);
+    itemWidget.getRowDoubleClick().addDoubleClickHandler(doubleClickHandler);
     if (ContentStatus.inTheDustbin.equals(item.getContentStatus())) {
       itemWidget.getTitleWidget().addStyleName("k-line-through");
     }

Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -120,12 +120,14 @@
       getView().addItem(item, new ClickHandler() {
         @Override
         public void onClick(final ClickEvent event) {
+          event.stopPropagation();
           stateManager.gotoStateToken(stateToken);
         }
       }, new DoubleClickHandler() {
         @Override
         public void onDoubleClick(final DoubleClickEvent event) {
-          stateManager.gotoStateToken(stateToken);
+          event.stopPropagation();
+          // stateManager.gotoStateToken(stateToken);
         }
       });
     }

Modified: trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java	2012-04-03 13:42:14 UTC (rev 1825)
+++ trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java	2012-04-03 14:44:06 UTC (rev 1826)
@@ -56,13 +56,13 @@
         public void onNetworkStatus(final NetworkStatusEvent event) {
           switch (event.getStatus()) {
           case CONNECTED:
-          case RECONNECTED:
             session.check(new AsyncCallbackSimple<Void>() {
               @Override
               public void onSuccess(final Void result) {
                 goOnline();
               }
             });
+          case RECONNECTED:
             break;
           case DISCONNECTED:
             NotifyUser.showProgress(i18n.t("Connecting"));




More information about the kune-commits mailing list