[kune-commits] r1185 - in trunk: . script src/main/java/cc/kune src/main/java/cc/kune/common/client/actions src/main/java/cc/kune/common/client/actions/gwtui src/main/java/cc/kune/common/client/actions/gxtui src/main/java/cc/kune/common/client/actions/ui src/main/java/cc/kune/common/client/actions/ui/bind src/main/java/cc/kune/common/client/actions/ui/descrip src/main/java/cc/kune/common/client/ui src/main/java/cc/kune/common/public src/main/java/cc/kune/common/public/img src/main/java/cc/kune/core/client src/main/java/cc/kune/core/client/sitebar src/main/java/cc/kune/core/client/sitebar/logo src/main/java/cc/kune/core/client/sitebar/spaces src/main/java/cc/kune/core/client/ui src/main/java/cc/kune/core/public src/main/java/cc/kune/wave src/main/java/cc/kune/wave/client src/main/java/cc/kune/wave/server src/main/java/cc/kune/wspace/client src/main/java/org src/main/java/org/ourproject/kune/platf/client/actions/ui

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Thu Jan 20 00:15:21 CET 2011


Author: vjrj_
Date: 2011-01-20 00:15:20 +0100 (Thu, 20 Jan 2011)
New Revision: 1185

Added:
   trunk/script/repopubli-src.sh
   trunk/src/main/java/cc/kune/common/public/img/
   trunk/src/main/java/cc/kune/common/public/img/ico.png
Removed:
   trunk/src/main/java/cc/kune/client/
   trunk/src/main/java/cc/kune/public/
   trunk/src/main/java/org/xwiki/
Modified:
   trunk/.classpath
   trunk/.project
   trunk/pom.xml
   trunk/src/main/java/cc/kune/Kune.gwt.xml
   trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java
   trunk/src/main/java/cc/kune/common/client/actions/Action.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSimpleGuiItem.java
   trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtButtonGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuItemGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtMenuGui.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/ActionFlowPanel.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/bind/AbstractGuiBinding.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
   trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java
   trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java
   trunk/src/main/java/cc/kune/common/public/kune-common.css
   trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java
   trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
   trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java
   trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java
   trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java
   trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.ui.xml
   trunk/src/main/java/cc/kune/core/client/ui/QTipsHelper.java
   trunk/src/main/java/cc/kune/core/public/ws.css
   trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml
   trunk/src/main/java/cc/kune/wave/client/WebClient.java
   trunk/src/main/java/cc/kune/wave/server/CustomServerRpcControllerImpl.java
   trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java
   trunk/src/main/java/cc/kune/wspace/client/WsArmorImpl.java
   trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractComposedGuiItem.java
Log:
CLOSED - # 10: Wave server code update 
http://kune.ourproject.org/issues/ticket/10
NEW - # 14: Site bar update 
http://kune.ourproject.org/issues/ticket/14

Modified: trunk/.classpath
===================================================================
--- trunk/.classpath	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/.classpath	2011-01-19 23:15:20 UTC (rev 1185)
@@ -14,19 +14,25 @@
   <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.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/box-src-0.3.0.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.2/c3p0-0.9.1.2.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1.2/c3p0-0.9.1.2-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib/2.1_3/cglib-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-common-src/0.3.0/client-common-src-0.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.0/client-scheduler-src-0.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.0/client-src-0.3.0.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/common-src-0.3.0.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.3/commons-codec-1.3.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.0/concurrencycontrol-src-0.3.0.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/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar" sourcepath="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3-sources.jar"/>
@@ -35,7 +41,6 @@
   <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/googlecode/gwt/inject/gin/r137/gin-r137.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/guava/guava/r07/guava-r07.jar" sourcepath="M2_REPO/com/google/guava/guava/r07/guava-r07-sources.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/code/guice/guice/2.1-SNAPSHOT-r1160/guice-2.1-SNAPSHOT-r1160.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/google/code/guice/guice-servlet/2.0.1/guice-servlet-2.0.1.jar"/>
@@ -43,7 +48,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/0.3.0/gwt-util-0.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
@@ -66,6 +71,7 @@
   <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.5.1/jruby-complete-1.5.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/1.0.3/jruby-rack-1.0.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
@@ -80,10 +86,13 @@
   <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/media-src-0.3.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-all/1.6/mockito-all-1.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.0/model-src-0.3.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
@@ -91,6 +100,7 @@
   <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
   <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/calclab/suco/0.6.5/suco-0.6.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.0/util-src-0.3.0.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/com/wideplay/warp-persist/2.0-SNAPSHOT/warp-persist-2.0-SNAPSHOT.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server/0.3.5/waveinabox-server-0.3.5.jar"/>
@@ -100,4 +110,4 @@
   <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
   <classpathentry kind="src" path="target/generated-sources/apt" including="**/*.java"/>  <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
-</classpath>
+</classpath>
\ No newline at end of file

Modified: trunk/.project
===================================================================
--- trunk/.project	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/.project	2011-01-19 23:15:20 UTC (rev 1185)
@@ -58,6 +58,12 @@
     <buildCommand>
       <name>org.eclipse.wst.validation.validationbuilder</name>
     </buildCommand>
+    <buildCommand>
+      <name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+    </buildCommand>
   </buildSpec>
   <natures>
     <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
@@ -66,5 +72,7 @@
     <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
     <nature>org.eclipse.ajdt.ui.ajnature</nature>
     <nature>com.google.gwt.eclipse.core.gwtNature</nature>
+    <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>
+    <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
   </natures>
 </projectDescription>
\ No newline at end of file

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/pom.xml	2011-01-19 23:15:20 UTC (rev 1185)
@@ -19,6 +19,10 @@
   </properties>
   <repositories>
     <repository>
+      <id>kune-maven</id>
+      <url>http://kune.ourproject.org/mavenrepo/</url>
+    </repository>
+    <repository>
       <id>guice-maven</id>
       <name>guice maven</name>
       <url>http://guice-maven.googlecode.com/svn/trunk</url>
@@ -88,10 +92,6 @@
       <url>http://maven.dyndns.org/2</url>
     </repository>
     <repository>
-      <id>kune-maven</id>
-      <url>http://kune.ourproject.org/mavenrepo/</url>
-    </repository>
-    <repository>
       <id>google-maven-snapshot-repository</id>
       <name>Google Maven Snapshot Repository</name>
       <url>https://oss.sonatype.org/content/repositories/google-snapshots/
@@ -495,7 +495,7 @@
       <version>1.0.3</version>
       <!-- <version>0.9.4</version> -->
     </dependency>
-	<!-- wave -->
+    <!-- wave -->
     <dependency>
       <groupId>org.waveprotocol</groupId>
       <artifactId>waveinabox-server</artifactId>
@@ -503,10 +503,71 @@
     </dependency>
     <dependency>
       <groupId>org.waveprotocol</groupId>
-      <artifactId>gwt-util</artifactId>
+      <artifactId>gwt-util-src</artifactId>
       <version>0.3.0</version>
-    </dependency> 
+    </dependency>
     <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava-gwt</artifactId>
+      <version>r07</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>proto-gwt</artifactId>
+      <version>0.3.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>box-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>model-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>client-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>client-common-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>common-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>util-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>concurrencycontrol-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>client-scheduler-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.waveprotocol</groupId>
+      <artifactId>media-src</artifactId>
+      <version>0.3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.findbugs</groupId>
+      <artifactId>jsr-305</artifactId>
+      <version>v0r47</version>
+    </dependency>
+    <!-- end wave -->
+    <dependency>
       <groupId>commons-cli</groupId>
       <artifactId>commons-cli</artifactId>
       <version>1.2</version>
@@ -515,77 +576,67 @@
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.3</version>
+      <version>1.4</version>
       <type>jar</type>
     </dependency>
-    <!-- <dependency> -->
-    <!-- <groupId>dom4j</groupId> -->
-    <!-- <artifactId>dom4j</artifactId> -->
-    <!-- <version>1.6.1</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>com.google.code.guice</groupId> -->
-    <!-- <artifactId>guice-assistedinject</artifactId> -->
-    <!-- <version>2.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>jline<!/groupId> -->
-    <!-- <artifactId>jline</artifactId> -->
-    <!-- <version>0.9.94</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.gnu.inet</groupId> -->
-    <!-- <artifactId>libidn</artifactId> -->
-    <!-- <version>1.15</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>com.google.protobuf</groupId> -->
-    <!-- <artifactId>protobuf-java</artifactId> -->
-    <!-- <version>2.3.0</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>xpp3</groupId> -->
-    <!-- <artifactId>xpp3</artifactId> -->
-    <!-- <version>1.1.4c</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>xpp3</groupId> -->
-    <!-- <artifactId>xpp3_xpath</artifactId> -->
-    <!-- <version>1.1.4c</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>aopalliance</groupId> -->
-    <!-- <artifactId>aopalliance</artifactId> -->
-    <!-- <version>1.0</version> -->
-    <!-- <type>jar</type> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.wave-protocol</groupId> -->
-    <!-- <artifactId>xmpp</artifactId> -->
-    <!-- <version>1.0.0</version> -->
-    <!-- </dependency> -->
-    <!-- <dependency> -->
-    <!-- <groupId>org.wave-protocol</groupId> -->
-    <!-- <artifactId>whack</artifactId> -->
-    <!-- <version>1.0.0</version> -->
-    <!-- </dependency> -->
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>r07</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava-gwt</artifactId>
-      <version>r07</version>
-    </dependency>
   </dependencies>
+  <!-- <dependency> -->
+  <!-- <groupId>dom4j</groupId> -->
+  <!-- <artifactId>dom4j</artifactId> -->
+  <!-- <version>1.6.1</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>com.google.code.guice</groupId> -->
+  <!-- <artifactId>guice-assistedinject</artifactId> -->
+  <!-- <version>2.0</version> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>jline<!/groupId> -->
+  <!-- <artifactId>jline</artifactId> -->
+  <!-- <version>0.9.94</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>org.gnu.inet</groupId> -->
+  <!-- <artifactId>libidn</artifactId> -->
+  <!-- <version>1.15</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>com.google.protobuf</groupId> -->
+  <!-- <artifactId>protobuf-java</artifactId> -->
+  <!-- <version>2.3.0</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>xpp3</groupId> -->
+  <!-- <artifactId>xpp3</artifactId> -->
+  <!-- <version>1.1.4c</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>xpp3</groupId> -->
+  <!-- <artifactId>xpp3_xpath</artifactId> -->
+  <!-- <version>1.1.4c</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>aopalliance</groupId> -->
+  <!-- <artifactId>aopalliance</artifactId> -->
+  <!-- <version>1.0</version> -->
+  <!-- <type>jar</type> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>org.wave-protocol</groupId> -->
+  <!-- <artifactId>xmpp</artifactId> -->
+  <!-- <version>1.0.0</version> -->
+  <!-- </dependency> -->
+  <!-- <dependency> -->
+  <!-- <groupId>org.wave-protocol</groupId> -->
+  <!-- <artifactId>whack</artifactId> -->
+  <!-- <version>1.0.0</version> -->
+  <!-- </dependency> -->
   <distributionManagement>
     <repository>
       <id>kune.ourproject.org</id>
@@ -694,11 +745,9 @@
               <name>com.google.gwt.eclipse.core.gwtProjectValidator </name>
             </buildCommand>
           </additionalBuildcommands>
-          <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>      
+          <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
           <additionalProjectnatures>
-            <!--   
-            <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
-            -->
+            <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
             <projectnature>com.google.gwt.eclipse.core.gwtNature </projectnature>
           </additionalProjectnatures>
         </configuration>
@@ -735,13 +784,12 @@
         <version>7.1.2.v20100523</version>
         <!-- <version>7.2.1.v20101111</version> -->
         <configuration>
-          <webAppConfig>            
+          <webAppConfig>
             <!-- <contextPath>/${project.name}</contextPath> -->
-	    <contextPath>/</contextPath> 
+            <contextPath>/</contextPath>
           </webAppConfig>
-	  <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
-		<!-- <reload>manual</reload> 
-			<scanIntervalSeconds>0</scanIntervalSeconds> -->
+          <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
+          <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
         </configuration>
       </plugin>
       <!-- pensar/probar: openjpa-maven-plugin -->
@@ -753,7 +801,7 @@
         <goal>process</goal> </goals> <phase>generate-sources</phase> </execution> 
         </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId> 
         <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal> 
-					<goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
+        <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
       <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
       <plugin>
         <!-- =roo -->

Added: trunk/script/repopubli-src.sh
===================================================================
--- trunk/script/repopubli-src.sh	                        (rev 0)
+++ trunk/script/repopubli-src.sh	2011-01-19 23:15:20 UTC (rev 1185)
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+PARAMS=$#
+JAR=$1
+GROUP=$2
+ARTIFACT=$3
+VER=$4
+USER=$5
+
+# CORRECT PARAMS ###############################################################
+
+if [ $PARAMS -lt 4 ]
+then
+  echo "Use: $0 <jar> <group> <artifact> <version> <username>"
+  echo "$0 target/emite-0.4.6-emiteuimodule.jar com.calclab.emite emite 0.4.6 [luther]"
+  exit
+fi
+
+if [ $PARAMS -gt 4 ]
+then
+  EXTRA=$USER@
+fi
+
+mvn deploy:deploy-file -DgroupId=$2 -DartifactId=$3 -Dversion=$4 -Dclassifier=sources -Dpackaging=jar -Dfile=$1 -Durl=scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ -DrepositoryId=kune.ourproject.org


Property changes on: trunk/script/repopubli-src.sh
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml	2011-01-19 23:15:20 UTC (rev 1185)
@@ -4,11 +4,11 @@
   <inherits name="com.google.gwt.user.User" />
   <inherits name='com.google.gwt.logging.Logging' />
   <inherits name="cc.kune.core.Core" />
-<!--  <inherits name="cc.kune.wave.KuneWave" />-->
+  <inherits name="cc.kune.wave.KuneWave" />
   <inherits name="com.calclab.suco.Suco" />
   <inherits name="org.adamtacy.GWTEffects"></inherits>
-  <source path='client'
-    excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
+	<!-- <source path='client'
+			excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" /> -->
   <!-- <source path='shared'/> -->
   <!-- <public path="public"/> -->
   <!-- Logging Configuration -->
@@ -33,4 +33,4 @@
   <set-property name="user.agent" value="safari,gecko1_8" />
   <!-- Entrypoint =============================================== -->
   <entry-point class="cc.kune.core.client.KuneEntryPoint" />
-</module>
\ No newline at end of file
+</module>

Modified: trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -47,7 +47,7 @@
  */
 public abstract class AbstractAction extends ChangeableObject implements Action {
 
-    public static AbstractAction NO_ACTION = new NoAction();
+    public final static AbstractAction NO_ACTION = new NoAction();
 
     /**
      * Creates a new action with no properties set.
@@ -105,6 +105,7 @@
      * 
      * @see #setEnabled(boolean)
      */
+    @Override
     public boolean isEnabled() {
         return (Boolean) super.getValue(ENABLED);
     }
@@ -145,6 +146,7 @@
      * 
      * @see #isEnabled()
      */
+    @Override
     public void setEnabled(final boolean enabled) {
         putValue(ENABLED, enabled);
     }

Modified: trunk/src/main/java/cc/kune/common/client/actions/Action.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/Action.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/Action.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -49,24 +49,39 @@
 public interface Action extends ActionListener {
 
     /**
+     * A key to access the KeyStroke used as the accelerator for the action.
+     */
+    String ACCELERATOR_KEY = "AcceleratorKey";
+
+    /**
+     * A key to access the action command string for the action.
+     */
+    String ACTION_COMMAND_KEY = "ActionCommandKey";
+
+    /**
      * A key to access the default property for the action (this is not used).
      */
     String DEFAULT = "Default";
 
     /**
+     * A key to access the enabled property for the action.
+     */
+    String ENABLED = "enabled";
+
+    /**
      * A key to access the long description for the action.
      */
     String LONG_DESCRIPTION = "LongDescription";
 
     /**
-     * A key to access the name for the action.
+     * A key to access the mnemonic for the action.
      */
-    String NAME = "Name";
+    String MNEMONIC_KEY = "MnemonicKey";
 
     /**
-     * A key to access the enabled property for the action.
+     * A key to access the name for the action.
      */
-    String ENABLED = "enabled";
+    String NAME = "Name";
 
     /**
      * A key to access the short description for the action (the short
@@ -80,19 +95,9 @@
     String SMALL_ICON = "SmallIcon";
 
     /**
-     * A key to access the KeyStroke used as the accelerator for the action.
-     */
-    String ACCELERATOR_KEY = "AcceleratorKey";
-
-    /**
-     * A key to access the action command string for the action.
-     */
-    String ACTION_COMMAND_KEY = "ActionCommandKey";
-
-    /**
      * A key to access the mnemonic for the action.
      */
-    String MNEMONIC_KEY = "MnemonicKey";
+    String STYLES = "Styles";
 
     /**
      * Registers a listener to receive notification whenever one of the action's

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -115,7 +115,7 @@
     }
 
     @Override
-    public boolean shouldBeAdded() {
+    public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:48
         return true;
     }
 

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -151,7 +151,7 @@
     }
 
     @Override
-    public boolean shouldBeAdded() {
+    public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:48
         return false;
     }
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSimpleGuiItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSimpleGuiItem.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSimpleGuiItem.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -8,22 +8,23 @@
 
 public class GwtSimpleGuiItem extends AbstractComposedGuiItem {
 
-    private final HorizontalPanel hpanel;
+    private final HorizontalPanel bar;
 
     public GwtSimpleGuiItem(final GuiProvider provider) {
         super(provider);
-        hpanel = new HorizontalPanel();
-        initWidget(hpanel);
+        bar = new HorizontalPanel();
+        initWidget(bar);
     }
 
     @Override
-    protected void add(final AbstractGuiItem item) {
-        hpanel.add(item);
+    protected void addWidget(final AbstractGuiItem item) {
+        bar.add(item);
     }
 
     @Override
-    protected void insert(final AbstractGuiItem item, final int position) {
-        hpanel.insert(item, position);
+    protected void insertWidget(final AbstractGuiItem item, final int position) {
+        int count = bar.getWidgetCount();
+        bar.insert(item, count < position ? count : position);
     }
 
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtButtonGui.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtButtonGui.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -28,6 +28,11 @@
     }
 
     @Override
+    protected void addStyle(String style) {
+        button.addStyleName(style);
+    }
+
+    @Override
     public AbstractGuiItem create(final AbstractGuiActionDescrip descriptor) {
         super.descriptor = descriptor;
         if (descriptor instanceof PushButtonDescriptor) {

Modified: trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuItemGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuItemGui.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuItemGui.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -133,7 +133,7 @@
     }
 
     @Override
-    public boolean shouldBeAdded() {
+    public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:48
         return false;
     }
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtMenuGui.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtMenuGui.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -34,6 +34,11 @@
     }
 
     @Override
+    protected void addStyle(String style) {
+        button.addStyleName(style);
+    }
+
+    @Override
     public void configureItemFromProperties() {
         super.configureItemFromProperties();
         descriptor.addPropertyChangeListener(new PropertyChangeListener() {
@@ -110,7 +115,9 @@
     @Override
     public void setToolTipText(final String tooltip) {
         if (button != null) {
-            button.setToolTip(new GxtDefTooltip(tooltip));
+            if (tooltip != null && tooltip.length() > 0) {
+                button.setToolTip(new GxtDefTooltip(tooltip));
+            }
         }
     }
 
@@ -119,6 +126,5 @@
         if (button != null) {
             button.setVisible(visible);
         }
-
     }
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -25,8 +25,6 @@
         }
     }
 
-    protected abstract void add(AbstractGuiItem item);
-
     @Override
     public void addAction(final AbstractGuiActionDescrip descriptor) {
         getGuiItems().add(descriptor);
@@ -53,6 +51,8 @@
         }
     }
 
+    protected abstract void addWidget(AbstractGuiItem item);
+
     protected void beforeAddWidget(final AbstractGuiActionDescrip descrip) {
         if (descrip.mustBeAdded()) {
             final GuiBinding binding = bindings.get(descrip.getType());
@@ -64,9 +64,9 @@
                 // Log.debug("Adding: " + descrip);
                 if (binding.shouldBeAdded()) {
                     if (descrip.getPosition() == AbstractGuiActionDescrip.NO_POSITION) {
-                        add(item);
+                        addWidget(item);
                     } else {
-                        insert(item, descrip.getPosition());
+                        insertWidget(item, descrip.getPosition());
                     }
                 }
             }
@@ -80,5 +80,5 @@
         return guiItems;
     }
 
-    protected abstract void insert(AbstractGuiItem item, int position);
+    protected abstract void insertWidget(AbstractGuiItem item, int position);
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -6,6 +6,7 @@
 import cc.kune.common.client.actions.PropertyChangeListener;
 import cc.kune.common.client.actions.ui.bind.GuiBinding;
 import cc.kune.common.client.actions.ui.descrip.AbstractGuiActionDescrip;
+import cc.kune.common.client.utils.TextUtils;
 
 import com.google.gwt.user.client.ui.Composite;
 
@@ -22,6 +23,14 @@
         this.descriptor = descriptor;
     }
 
+    protected void addStyle(String style) {
+        super.addStyleName(style);
+    }
+
+    protected void clearStyles() {
+        super.setStyleName("");
+    }
+
     private void configure() {
         configureProperties();
         final PropertyChangeListener changeListener = createActionPropertyChangeListener();
@@ -38,10 +47,11 @@
 
     private void configureProperties() {
         setText((String) (descriptor.getValue(Action.NAME)));
+        setToolTipText((String) (descriptor.getValue(Action.SHORT_DESCRIPTION)));
         setIcon(descriptor.getValue(Action.SMALL_ICON));
         setEnabled((Boolean) descriptor.getValue(AbstractAction.ENABLED));
-        setToolTipText((String) (descriptor.getValue(Action.SHORT_DESCRIPTION)));
         setVisible((Boolean) descriptor.getValue(AbstractGuiActionDescrip.VISIBLE));
+        setStyles((String) descriptor.getValue(AbstractGuiActionDescrip.STYLES));
     }
 
     @Override
@@ -62,6 +72,8 @@
                     setToolTipText((String) newValue);
                 } else if (event.getPropertyName().equals(AbstractGuiActionDescrip.VISIBLE)) {
                     setVisible((Boolean) newValue);
+                } else if (event.getPropertyName().equals(AbstractGuiActionDescrip.STYLES)) {
+                    setStyles((String) newValue);
                 }
             }
         };
@@ -81,6 +93,15 @@
 
     protected abstract void setIconStyle(String style);
 
+    private void setStyles(String styles) {
+        if (styles != null) {
+            clearStyles();
+            for (String style : TextUtils.splitTags(styles)) {
+                addStyle(style);
+            }
+        }
+    }
+
     protected abstract void setText(String text);
 
     protected abstract void setToolTipText(String text);
@@ -90,7 +111,7 @@
     }
 
     @Override
-    public boolean shouldBeAdded() {
+    public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:48
         return true;
     }
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/ActionFlowPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/ActionFlowPanel.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/ActionFlowPanel.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -17,13 +17,13 @@
     }
 
     @Override
-    protected void add(final AbstractGuiItem item) {
+    protected void addWidget(final AbstractGuiItem item) {
         bar.add(item);
     }
 
     @Override
-    protected void insert(final AbstractGuiItem item, final int position) {
-        bar.insert(item, position);
+    protected void insertWidget(final AbstractGuiItem item, final int position) {
+        int count = bar.getWidgetCount();
+        bar.insert(item, count < position ? count : position);
     }
-
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/bind/AbstractGuiBinding.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/bind/AbstractGuiBinding.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/bind/AbstractGuiBinding.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -6,12 +6,12 @@
 public abstract class AbstractGuiBinding implements GuiBinding {
 
     @Override
-    public AbstractGuiItem create(final AbstractGuiActionDescrip descriptor) {
+    public AbstractGuiItem create(final AbstractGuiActionDescrip descriptor) { // NOPMD by vjrj on 18/01/11 0:47
         return null;
     }
 
     @Override
-    public boolean shouldBeAdded() {
+    public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:47
         return true;
     }
 

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -12,6 +12,10 @@
 
     protected static final AbstractGuiActionDescrip NO_PARENT = new NoParentGuiActionDescriptor();
     public static final int NO_POSITION = -1;
+    /**
+     * Coma separated, styles of the Gui item
+     */
+    public static final String STYLES = "stylesprop";
     public static final String VISIBLE = "visibleprop";
 
     /** The action. */
@@ -156,6 +160,10 @@
         this.position = position;
     }
 
+    public void setStyles(final String styles) {
+        putValue(STYLES, styles);
+    }
+
     public void setVisible(final boolean visible) {
         putValue(VISIBLE, visible);
     }

Modified: trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/ui/PopupPanelBottomCentered.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -13,13 +13,13 @@
         init();
     }
 
-    public PopupPanelBottomCentered(boolean autohide, boolean modal) {
-        super(autohide, modal);
+    public PopupPanelBottomCentered(boolean autohide) {
+        super(autohide);
         init();
     }
 
-    public PopupPanelBottomCentered(boolean autohide) {
-        super(autohide);
+    public PopupPanelBottomCentered(boolean autohide, boolean modal) {
+        super(autohide, modal);
         init();
     }
 
@@ -31,12 +31,16 @@
         Window.addResizeHandler(new ResizeHandler() {
             @Override
             public void onResize(ResizeEvent event) {
-                setCenterPosition();
+                setCenterPositionImpl();
             }
         });
     }
 
     public void setCenterPosition() {
+        setCenterPositionImpl();
+    }
+
+    private void setCenterPositionImpl() {
         Widget widget = getWidget();
         int x = (Window.getClientWidth() - (widget != null ? getWidget().getOffsetWidth() : 0)) / 2;
         int y = Window.getClientHeight() - (widget != null ? getWidget().getOffsetHeight() : 0);

Modified: trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/client/ui/PopupPanelTopCentered.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -12,13 +12,13 @@
         init();
     }
 
-    public PopupPanelTopCentered(boolean autohide, boolean modal) {
-        super(autohide, modal);
+    public PopupPanelTopCentered(boolean autohide) {
+        super(autohide);
         init();
     }
 
-    public PopupPanelTopCentered(boolean autohide) {
-        super(autohide);
+    public PopupPanelTopCentered(boolean autohide, boolean modal) {
+        super(autohide, modal);
         init();
     }
 
@@ -30,12 +30,16 @@
         Window.addResizeHandler(new ResizeHandler() {
             @Override
             public void onResize(ResizeEvent event) {
-                setCenterPosition();
+                setCenterPositionImpl();
             }
         });
     }
 
     public void setCenterPosition() {
+        setCenterPositionImpl();
+    }
+
+    private void setCenterPositionImpl() {
         Widget widget = getWidget();
         int x = (Window.getClientWidth() - (widget != null ? getWidget().getOffsetWidth() : 0)) / 2;
         int y = 0;

Added: trunk/src/main/java/cc/kune/common/public/img/ico.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/common/public/img/ico.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css	2011-01-19 23:15:20 UTC (rev 1185)
@@ -381,4 +381,8 @@
 #oc-mshortcut a {
   text-decoration: none;
   color: black;
-}
\ No newline at end of file
+}
+
+.k-no-backimage, .k-no-backimage td {
+	background-image: none;
+}

Modified: trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/KuneEntryPoint.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -50,6 +50,5 @@
         ginjector.getUserNotifierPresenter();
         ginjector.getSpinerPresenter();
         ginjector.getStateManager();
-        ginjector.getSitebarActionsPresenter();
     }
 }

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -36,7 +36,8 @@
     public interface SitebarActionsView extends View, IsActionExtensible {
     }
 
-    public static final ToolbarDescriptor toolbar = new ToolbarDescriptor();
+    public static final ToolbarDescriptor TOOLBAR = new ToolbarDescriptor();
+
     private final I18nTranslationService i18n;
     private MenuDescriptor optionsMenu;
 
@@ -79,14 +80,17 @@
             }
         };
         MenuItemDescriptor mItem = new MenuItemDescriptor(optionsMenu, action);
+        optionsMenu.setStyles("k-floatright, k-no-backimage");
         action.putValue(Action.NAME, "kk");
         action.putValue(Action.SHORT_DESCRIPTION, "tooltip");
         ButtonDescriptor signIn = new ButtonDescriptor(action);
-        ToolbarSeparatorDescriptor fill = new ToolbarSeparatorDescriptor(Type.fill, toolbar);
-        addAction(toolbar);
+        ToolbarSeparatorDescriptor fill = new ToolbarSeparatorDescriptor(Type.fill, TOOLBAR);
+        addAction(TOOLBAR);
         addAction(fill);
         addAction(icon);
         addAction(signIn);
+        icon.setStyles("k-floatright");
+        signIn.setStyles("k-floatright, k-no-backimage");
         addAction(optionsMenu);
         addAction(mItem);
     }

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -17,23 +17,27 @@
     @Inject
     public SitebarActionsViewImpl(WsArmor armor, ActionFlowPanel panel) {
         this.panel = panel;
+        armor.getSitebar().add(panel);
         // panel.setWidth("100%");
-        armor.getDocContainer().add(panel);
     }
 
     @Override
     public void addAction(AbstractGuiActionDescrip action) {
-        panel.add(action);
+        panel.addAction(action);
     }
 
     @Override
     public void addActions(AbstractGuiActionDescrip... actions) {
-        panel.addActions(actions);
+        for (AbstractGuiActionDescrip action : actions) {
+            this.addAction(action);
+        }
     }
 
     @Override
     public void addActions(GuiActionDescCollection actions) {
-        panel.addActions(actions);
+        for (AbstractGuiActionDescrip action : actions) {
+            this.addAction(action);
+        }
     }
 
     @Override

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -16,18 +16,23 @@
 
 public class SiteLogoViewImpl extends ViewWithUiHandlers<SiteLogoUiHandlers> implements SiteLogoView {
 
-    private static SiteLogoViewImplUiBinder uiBinder = GWT.create(SiteLogoViewImplUiBinder.class);
-
     interface SiteLogoViewImplUiBinder extends UiBinder<Widget, SiteLogoViewImpl> {
     }
 
+    private static SiteLogoViewImplUiBinder uiBinder = GWT.create(SiteLogoViewImplUiBinder.class);
+
+    @UiField
+    Image logo;
+
     @Inject
     public SiteLogoViewImpl(WsArmor armor, PlaceManager placeManager) {
-        armor.getSitebar().insert(uiBinder.createAndBindUi(this),0);
+        armor.getSitebar().insert(uiBinder.createAndBindUi(this), 0);
     }
 
-    @UiField
-    Image logo;
+    @Override
+    public Widget asWidget() {
+        return logo;
+    }
 
     @UiHandler("logo")
     void onLogoClick(ClickEvent event) {
@@ -37,11 +42,6 @@
     }
 
     @Override
-    public Widget asWidget() {
-        return logo;
-    }
-
-    @Override
     public void setSiteLogoUrl(String siteLogoUrl) {
         logo.setUrl(siteLogoUrl);
     }

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -16,21 +16,21 @@
 import com.gwtplatform.mvp.client.ViewWithUiHandlers;
 
 public class SpaceSelectorViewImpl extends ViewWithUiHandlers<SpaceSelectorUiHandlers> implements SpaceSelectorView {
+    interface SpaceSelectorViewImplUiBinder extends UiBinder<Widget, SpaceSelectorViewImpl> {
+    }
     private static SpaceSelectorViewImplUiBinder uiBinder = GWT.create(SpaceSelectorViewImplUiBinder.class);
     @UiField
+    ToggleButton groupButton;
+    @UiField
     ToggleButton homeButton;
     @UiField
-    ToggleButton userButton;
+    HorizontalPanel panel;
     @UiField
-    ToggleButton groupButton ;
-    @UiField
     ToggleButton publicButton;
+
     @UiField
-    HorizontalPanel panel;
+    ToggleButton userButton;
 
-    interface SpaceSelectorViewImplUiBinder extends UiBinder<Widget, SpaceSelectorViewImpl> {
-    }
-
     @Inject
     public SpaceSelectorViewImpl(WsArmor armor, I18nTranslationService i18n) {
         armor.getSitebar().insert(uiBinder.createAndBindUi(this), 0);
@@ -45,44 +45,44 @@
         return panel;
     }
 
-    @Override
-    public void setHomeBtnDown(boolean down) {
-        homeButton.setDown(down);
+    @UiHandler("groupButton")
+    void onGroupSpaceClick(ClickEvent event) {
+        getUiHandlers().onGroupSpaceSelect();
     }
 
-    @Override
-    public void setUserBtnDown(boolean down) {
-        userButton.setDown(down);
+    @UiHandler("homeButton")
+    void onHomeSpaceClick(ClickEvent event) {
+        getUiHandlers().onHomeSpaceSelect();
     }
 
+    @UiHandler("publicButton")
+    void onPublicSpaceClick(ClickEvent event) {
+        getUiHandlers().onPublicSpaceClick();
+    }
+
+    @UiHandler("userButton")
+    void onUserSpaceClick(ClickEvent event) {
+        getUiHandlers().onUserSpaceSelect();
+    }
+
     @Override
     public void setGroupBtnDown(boolean down) {
         groupButton.setDown(down);
     }
 
     @Override
+    public void setHomeBtnDown(boolean down) {
+        homeButton.setDown(down);
+    }
+
+    @Override
     public void setPublicBtnDown(boolean down) {
         publicButton.setDown(down);
     }
 
-    @UiHandler("homeButton")
-    void onHomeSpaceClick(ClickEvent event) {
-        getUiHandlers().onHomeSpaceSelect();
+    @Override
+    public void setUserBtnDown(boolean down) {
+        userButton.setDown(down);
     }
 
-    @UiHandler("userButton")
-    void onUserSpaceClick(ClickEvent event) {
-        getUiHandlers().onUserSpaceSelect();
-    }
-
-    @UiHandler("groupButton")
-    void onGroupSpaceClick(ClickEvent event) {
-        getUiHandlers().onGroupSpaceSelect();
-    }
-
-    @UiHandler("publicButton")
-    void onPublicSpaceClick(ClickEvent event) {
-        getUiHandlers().onPublicSpaceClick();
-    }
-
 }

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.ui.xml	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.ui.xml	2011-01-19 23:15:20 UTC (rev 1185)
@@ -3,7 +3,7 @@
   xmlns:g="urn:import:com.google.gwt.user.client.ui">
   <ui:with field='img'
     type='cc.kune.wspace.client.resources.WsArmorResources' />
-  <g:HorizontalPanel ui:field="panel" addStyleNames="k-space-sel k-floatright k-pointer" >
+  <g:HorizontalPanel ui:field="panel" addStyleNames="k-space-sel k-10corners k-floatright k-pointer" >
     <g:ToggleButton ui:field="homeButton" styleName="k-space-sel-btn">
       <g:upFace image='{img.homeSpaceDisabled}' />
       <g:downFace image='{img.homeSpaceEnabled}' />

Modified: trunk/src/main/java/cc/kune/core/client/ui/QTipsHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/QTipsHelper.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/client/ui/QTipsHelper.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -9,7 +9,7 @@
         init();
     }
 
-    void init() {
+    private void init() {
         /*-{
         $wnd.jQuery('div[title]').qtip({
         style: {
@@ -27,7 +27,7 @@
         tooltip: 'topLeft'
         } }
         }
-        }-*/
+    }-*/
         ;
     }
 }

Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/core/public/ws.css	2011-01-19 23:15:20 UTC (rev 1185)
@@ -329,10 +329,13 @@
 .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger {
 	background-color: white;
 	background: none;
+	cursor: col-resize;
 }
 
 .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger {
-	
+	background-color: white;
+	background: none;
+	cursor: row-resize;
 }
 
 .kLoadingPanel {
@@ -352,8 +355,10 @@
 
 .k-space-sel {
 	margin-right: 10px;
-	}
+	background-color: #F2F2F2;
+}
 
 .k-space-sel-btn {
-	margin-left: 3px;	
-}
+	margin-left: 3px;
+	margin: 0 0 -2px;
+}
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml	2011-01-19 23:15:20 UTC (rev 1185)
@@ -1,7 +1,45 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.1/distro-source/core/src/gwt-module.dtd">
 <module>
-	<inherits name="com.google.gwt.user.User" />
-	<source path="client"/>
-    <inherits name="org.waveprotocol.box.webclient.WebClientDev" />
+  <inherits name="com.google.gwt.user.User" />
+  <source path="client" />
+  <inherits name="com.google.common.base.Base" />
+  <inherits name='com.google.gwt.user.User' />
+  <inherits name="com.google.gwt.event.EventBase" />
+
+  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome' /> -->
+
+  <inherits name='com.glines.socketio.client.Client' />
+  <inherits name='com.google.gwt.json.JSON' />
+  <inherits name='com.google.gwt.websockets.WebSockets' />
+
+  <inherits name='org.waveprotocol.wave.client.Client' />
+  <inherits name='org.waveprotocol.wave.client.editor.Editor' />
+  <inherits name='org.waveprotocol.wave.client.gadget.Gadget' />
+  <inherits name='org.waveprotocol.wave.client.util.ClientFlags' />
+
+  <inherits name='org.waveprotocol.wave.model.Model' />
+  <inherits name="org.waveprotocol.wave.model.account.Account" />
+  <inherits name='org.waveprotocol.wave.model.conversation.Conversation' />
+
+  <inherits name="org.waveprotocol.box.common.Common" />
+  <inherits name='org.waveprotocol.box.common.comms.WaveClientRpc' />
+  <inherits
+    name='org.waveprotocol.box.webclient.common.communication.Communication' />
+  <inherits name='org.waveprotocol.box.webclient.util.Util' />
+
+  <inherits name='org.waveprotocol.box.webclient.waveclient.common.Common' />
+
+  <inherits name='org.waveprotocol.box.webclient.widget.error.Error' />
+  <inherits name="org.waveprotocol.box.webclient.WebClientDev" />
+
+<!--  Added from errors -->
+  <inherits name='org.waveprotocol.wave.client.common.safehtml.SafeHtml' />
+  <inherits name='org.waveprotocol.wave.client.common.util.Util' />
+  <inherits name='org.waveprotocol.wave.client.debug.logger.Logger' />
+  <inherits name='org.waveprotocol.wave.client.widget.common.Common' />
+  <inherits name='org.waveprotocol.wave.concurrencycontrol.Channel' />
+  <inherits name='org.waveprotocol.wave.concurrencycontrol.Common' />
+  <inherits name='org.waveprotocol.wave.concurrencycontrol.Wave' />
+
 </module>
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -72,335 +72,348 @@
 import com.google.gwt.user.client.ui.RootPanel;
 import com.google.gwt.user.client.ui.SplitLayoutPanel;
 
+/**
+ * Entry point classes define <code>onModuleLoad()</code>.
+ */
 public class WebClient extends Composite {
-  interface Binder extends UiBinder<DockLayoutPanel, WebClient> {
-  }
+    interface Binder extends UiBinder<DockLayoutPanel, WebClient> {
+    }
 
-  interface Style extends CssResource {
-    String subPanel();
-    String waveView();
-  }
+    /**
+     * An exception handler that reports exceptions using a
+     * <em>shiny banner</em> (an alert placed on the top of the screen). Once
+     * the stack trace is prepared, it is revealed in the banner via a link.
+     */
+    static class ErrorHandler implements UncaughtExceptionHandler {
+        public static void install() {
+            GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
+        }
 
-  private static final Binder BINDER = GWT.create(Binder.class);
+        private static String maybe(int value, String otherwise) {
+            return value != -1 ? String.valueOf(value) : otherwise;
+        }
 
-  @UiField
-  SplitLayoutPanel splitPanel;
+        private static String maybe(String value, String otherwise) {
+            return value != null ? value : otherwise;
+        }
 
-  @UiField
-  Style style;
+        /**
+         * Indicates whether an error has already been reported (at most one
+         * error is ever reported by this handler).
+         */
+        private boolean hasFired;
 
-  @UiField
-  ImplPanel contentPanel;
+        /** Next handler in the handler chain. */
+        private final UncaughtExceptionHandler next;
 
-  @UiField
-  DebugMessagePanel logPanel;
+        private ErrorHandler(UncaughtExceptionHandler next) {
+            this.next = next;
+        }
 
-  static Log LOG = Log.get(WebClient.class);
+        private void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) {
+            // TODO: Request stack-trace de-obfuscation. For now, just use the
+            // javascript stack trace.
+            //
+            // Use minimal services here, in order to avoid the chance that
+            // reporting
+            // the error produces more errors. In particular, do not use
+            // Scheduler.
+            // Also, this code could potentially be put behind a runAsync
+            // boundary, to
+            // save whatever dependencies it uses from the initial download.
+            DeferredCommand.addCommand(new Command() {
+                @Override
+                public void execute() {
+                    SafeHtmlBuilder stack = new SafeHtmlBuilder();
 
-  private WebClientBackend backend = null;
+                    Throwable error = t;
+                    while (error != null) {
+                        stack.appendEscaped(String.valueOf(error.getMessage())).appendHtmlConstant("<br>");
+                        for (StackTraceElement elt : error.getStackTrace()) {
+                            stack.appendHtmlConstant("  ").appendEscaped(maybe(elt.getClassName(), "??")).appendHtmlConstant(
+                                    ".") //
+                            .appendEscaped(maybe(elt.getMethodName(), "??")).appendHtmlConstant(" (") //
+                            .appendEscaped(maybe(elt.getFileName(), "??")).appendHtmlConstant(":") //
+                            .appendEscaped(maybe(elt.getLineNumber(), "??")).appendHtmlConstant(")") //
+                            .appendHtmlConstant("<br>");
+                        }
+                        error = error.getCause();
+                        if (error != null) {
+                            stack.appendHtmlConstant("Caused by: ");
+                        }
+                    }
 
-  /** The wave panel, if a wave is open. */
-  private StagesProvider wave;
+                    whenReady.use(stack.toSafeHtml());
+                }
+            });
+        }
 
-  /** The old wave panel */
-  private WaveView waveView = null;
+        @Override
+        public void onUncaughtException(Throwable e) {
+            if (!hasFired) {
+                hasFired = true;
+                final ErrorIndicatorPresenter error = ErrorIndicatorPresenter.create(RootPanel.get("banner"));
+                getStackTraceAsync(e, new Accessor<SafeHtml>() {
+                    @Override
+                    public void use(SafeHtml stack) {
+                        error.addDetail(stack, null);
+                    }
+                });
+            }
 
-  /**
-   * Create a remote websocket to talk to the server-side FedOne service.
-   */
-  private WaveWebSocketClient websocket;
+            if (next != null) {
+                next.onUncaughtException(e);
+            }
+        }
+    }
 
-  private ParticipantId loggedInUser;
+    interface Style extends CssResource {
+        String subPanel();
 
-  private IdGenerator idGenerator;
+        String waveView();
+    }
 
-  private RemoteViewServiceMultiplexer channel;
+    private static final Binder BINDER = GWT.create(Binder.class);
 
-  public WebClient() {
+    static Log LOG = Log.get(WebClient.class); // NOPMD by vjrj on 18/01/11
+                                               // 15:52
 
-    ErrorHandler.install();
+    private WebClientBackend backend = null;
 
-    // Set up UI
-    DockLayoutPanel self = BINDER.createAndBindUi(this);
-    initWidget(self);
-    // DockLayoutPanel forcibly conflicts with sensible layout control, and
-    // sticks inline styles on elements without permission. They must be
-    // cleared.
-    self.getElement().getStyle().clearPosition();
+    private RemoteViewServiceMultiplexer channel;
 
-    if (LogLevel.showDebug()) {
-      logPanel.enable();
-    } else {
-      logPanel.removeFromParent();
-    }
+    @UiField
+    ImplPanel contentPanel;
 
-    if (ClientFlags.get().enableWavePanelHarness()) {
-      // For handling the opening of wave using the new wave panel
-      ClientEvents.get().addWaveSelectionEventHandler(
-          new WaveSelectionEventHandler() {
-            @Override
-            public void onSelection(WaveRef waveRef) {
-              openWave(waveRef, false);
-            }
-          });
-      waveView = null;
-    } else {
-      waveView = new WaveView();
-      contentPanel.add(waveView);
+    private IdGenerator idGenerator;
 
-      // DockLayoutPanel manually set position relative. We need to clear it.
-      waveView.getElement().getStyle().clearPosition();
-    }
+    private ParticipantId loggedInUser;
 
-    ClientEvents.get().addWaveCreationEventHandler(
-        new WaveCreationEventHandler() {
+    @UiField
+    DebugMessagePanel logPanel;
 
-          @Override
-          public void onCreateRequest(WaveCreationEvent event) {
-            LOG.info("WaveCreationEvent received");
-            if (channel == null) {
-              throw new RuntimeException("Spaghetti attack.  Create occured before login");
-            }
+    @UiField
+    SplitLayoutPanel splitPanel;
 
-            if (ClientFlags.get().enableWavePanelHarness()) {
-              WaveId newWaveId = idGenerator.newWaveId();
-              openWave(WaveRef.of(newWaveId), true);
-            } else {
-              WaveId newWaveId = idGenerator.newWaveId();
-              ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(newWaveId)));
-              ObservableConversation convo = waveView.getConversationView().createRoot();
-              CcBasedWavelet rootWavelet = waveView.getCcStackManager().getView().getRoot();
-              rootWavelet.addParticipant(loggedInUser);
-              LOG.info("created conversation: " + convo);
-              convo.getRootThread().appendBlip();
-            }
-          }
-        });
+    @UiField
+    Style style;
 
-    configureConnectionIndicator();
+    /** The wave panel, if a wave is open. */
+    private StagesProvider wave;
 
-    HistorySupport.init();
+    /** The old wave panel */
+    private WaveView waveView = null;
 
-    websocket = new WaveWebSocketClient(useSocketIO(), getWebSocketBaseUrl(GWT.getModuleBaseURL()));
-    websocket.connect();
+    /**
+     * Create a remote websocket to talk to the server-side FedOne service.
+     */
+    private final WaveWebSocketClient websocket;
 
-    if (Session.get().isLoggedIn()) {
-      loggedInUser = new ParticipantId(Session.get().getAddress());
-      idGenerator = ClientIdGenerator.create();
-      loginToServer();
-    }
-    History.fireCurrentHistoryState();
-    LOG.info("SimpleWebClient.onModuleLoad() done");
-  }
+    public WebClient() {
 
-  private void configureConnectionIndicator() {
-    ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
-      @Override
-      public void onNetworkStatus(NetworkStatusEvent event) {
-        Element element = Document.get().getElementById("netstatus");
-        if (element != null) {
-          switch (event.getStatus()) {
-            case CONNECTED:
-            case RECONNECTED:
-              element.setInnerText("Online");
-              element.setClassName("online");
-              break;
-            case DISCONNECTED:
-              element.setInnerText("Offline");
-              element.setClassName("offline");
-              break;
-            case RECONNECTING:
-              element.setInnerText("Connecting...");
-              element.setClassName("connecting");
-              break;
-          }
-        }
-      }
-    });
-  }
+        ErrorHandler.install();
 
-  /**
-   * Returns <code>ws://yourhost[:port]/</code>.
-   */
-  // XXX check formatting wrt GPE
-  private native String getWebSocketBaseUrl(String moduleBase) /*-{return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";}-*/;
+        // Set up UI
+        DockLayoutPanel self = BINDER.createAndBindUi(this);
+        initWidget(self);
+        // RootPanel.get("app").add(self);
+        // DockLayoutPanel forcibly conflicts with sensible layout control, and
+        // sticks inline styles on elements without permission. They must be
+        // cleared.
+        self.getElement().getStyle().clearPosition();
 
-  private native boolean useSocketIO() /*-{ return !!$wnd.__useSocketIO }-*/;
+        if (LogLevel.showDebug()) {
+            logPanel.enable();
+        } else {
+            logPanel.removeFromParent();
+        }
 
-  /**
-   */
-  private void loginToServer() {
-    assert loggedInUser != null;
-    backend = new WebClientBackend(loggedInUser, websocket);
-    channel = new RemoteViewServiceMultiplexer(websocket, loggedInUser.getAddress());
+        if (ClientFlags.get().enableWavePanelHarness()) {
+            // For handling the opening of wave using the new wave panel
+            ClientEvents.get().addWaveSelectionEventHandler(new WaveSelectionEventHandler() {
+                @Override
+                public void onSelection(WaveRef waveRef) {
+                    openWave(waveRef, false);
+                }
+            });
+            waveView = null;
+        } else {
+            waveView = new WaveView();
+            contentPanel.add(waveView);
 
-    websocket.attachLegacy(backend);
-    if (!ClientFlags.get().enableWavePanelHarness()) {
-      waveView.setLegacy(backend, idGenerator);
-    }
-
-    ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
-      @Override
-      public void onNetworkStatus(NetworkStatusEvent event) {
-        if (event.getStatus() == ConnectionStatus.CONNECTED) {
-          openIndexWave();
+            // DockLayoutPanel manually set position relative. We need to clear
+            // it.
+            waveView.getElement().getStyle().clearPosition();
         }
-      }
-    });
-  }
 
-  private void openIndexWave() {
-    SimpleCcDocumentFactory docFactory = new SimpleCcDocumentFactory();
-    final WaveViewServiceImpl indexWave = (WaveViewServiceImpl) backend.getIndexWave(docFactory);
-    indexWave.viewOpen(IdFilters.ALL_IDS, null,
-        new WaveViewService.OpenCallback() {
+        ClientEvents.get().addWaveCreationEventHandler(new WaveCreationEventHandler() {
 
-          @Override
-          public void onException(ChannelException e) {
-            LOG.severe("ChannelException opening index wave", e);
-          }
+            @Override
+            public void onCreateRequest(WaveCreationEvent event) {
+                LOG.info("WaveCreationEvent received");
+                if (channel == null) {
+                    throw new RuntimeException("Spaghetti attack.  Create occured before login"); // NOPMD
+                                                                                                  // by
+                                                                                                  // vjrj
+                                                                                                  // on
+                                                                                                  // 18/01/11
+                                                                                                  // 15:52
+                }
 
-          @Override
-          public void onFailure(String reason) {
-            LOG.info("Failure for index wave " + reason);
-          }
+                if (ClientFlags.get().enableWavePanelHarness()) {
+                    WaveId newWaveId = idGenerator.newWaveId();
+                    openWave(WaveRef.of(newWaveId), true);
+                } else {
+                    WaveId newWaveId = idGenerator.newWaveId();
+                    ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(newWaveId)));
+                    ObservableConversation convo = waveView.getConversationView().createRoot();
+                    CcBasedWavelet rootWavelet = waveView.getCcStackManager().getView().getRoot();
+                    rootWavelet.addParticipant(loggedInUser);
+                    LOG.info("created conversation: " + convo);
+                    convo.getRootThread().appendBlip();
+                }
+            }
+        });
 
-          @Override
-          public void onSuccess(String response) {
-            LOG.info("Success for index wave subscription");
-          }
+        configureConnectionIndicator();
 
-          @Override
-          public void onUpdate(WaveViewService.WaveViewServiceUpdate update) {
-            LOG.info("IndexWave update received hasDeltas="
-                + update.hasDeltas() + "  hasWaveletSnapshot="
-                + update.hasWaveletSnapshot());
-            ClientEvents.get().fireEvent(
-                new WaveUpdatedEvent(indexWave, update.getChannelId(),
-                    update.getWaveletId()));
-            ClientEvents.get().fireEvent(
-                new WaveIndexUpdatedEvent(
-                    WebClientUtils.getIndexEntries(indexWave)));
-          }
-        });
-  }
+        HistorySupport.init();
 
-  /**
-   * Shows a wave in a wave panel.
-   *
-   * @param waveRef wave id to open
-   * @param isNewWave whether the wave is being created by this client session.
-   */
-  private void openWave(WaveRef waveRef, boolean isNewWave) {
-    LOG.info("WebClient.openWave()");
+        websocket = new WaveWebSocketClient(useSocketIO(), getWebSocketBaseUrl(GWT.getModuleBaseURL()));
+        websocket.connect();
 
-    if (wave != null) {
-      wave.destroy();
-      wave = null;
+        if (Session.get().isLoggedIn()) {
+            loggedInUser = new ParticipantId(Session.get().getAddress());
+            idGenerator = ClientIdGenerator.create();
+            loginToServer();
+        }
+        History.fireCurrentHistoryState();
+        LOG.info("SimpleWebClient.onModuleLoad() done");
     }
 
-    wave = new StagesProvider(contentPanel.getElement().appendChild(Document.get().createDivElement()),
-        contentPanel, waveRef, channel, idGenerator, isNewWave);
-    wave.load(null);
-    String encodedToken = History.getToken();
-    if (encodedToken != null && !encodedToken.isEmpty()) {
-      WaveRef fromWaveRef = HistorySupport.waveRefFromHistoryToken(encodedToken);
-      if (waveRef == null) { 
-        LOG.info("History token contains invalid path: " + encodedToken);
-        return;
-      }
-      if (fromWaveRef.getWaveId().equals(waveRef.getWaveId())) {
-        // History change was caused by clicking on a link, it's already
-        // updated by browser.
-        return;
-      }
+    private void configureConnectionIndicator() {
+        ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
+            @Override
+            public void onNetworkStatus(NetworkStatusEvent event) {
+                Element element = Document.get().getElementById("netstatus");
+                if (element != null) {
+                    switch (event.getStatus()) {
+                    case CONNECTED:
+                    case RECONNECTED:
+                        element.setInnerText("Online");
+                        element.setClassName("online");
+                        break;
+                    case DISCONNECTED:
+                        element.setInnerText("Offline");
+                        element.setClassName("offline");
+                        break;
+                    case RECONNECTING:
+                        element.setInnerText("Connecting...");
+                        element.setClassName("connecting");
+                        break;
+                    }
+                }
+            }
+        });
     }
-    History.newItem(HistorySupport.historyTokenFromWaveref(waveRef), false);
-  }
 
-  /**
-   * An exception handler that reports exceptions using a <em>shiny banner</em>
-   * (an alert placed on the top of the screen). Once the stack trace is
-   * prepared, it is revealed in the banner via a link.
-   */
-  static class ErrorHandler implements UncaughtExceptionHandler {
-    /** Next handler in the handler chain. */
-    private final UncaughtExceptionHandler next;
-
     /**
-     * Indicates whether an error has already been reported (at most one error
-     * is ever reported by this handler).
+     * Returns <code>ws://yourhost[:port]/</code>.
      */
-    private boolean hasFired;
+    // XXX check formatting wrt GPE
+    private native String getWebSocketBaseUrl(String moduleBase) /*-{
+        return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
+    }-*/;
 
-    private ErrorHandler(UncaughtExceptionHandler next) {
-      this.next = next;
-    }
+    /**
+   */
+    private void loginToServer() {
+        assert loggedInUser != null;
+        backend = new WebClientBackend(loggedInUser, websocket);
+        channel = new RemoteViewServiceMultiplexer(websocket, loggedInUser.getAddress());
 
-    public static void install() {
-      GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
-    }
+        websocket.attachLegacy(backend);
+        if (!ClientFlags.get().enableWavePanelHarness()) {
+            waveView.setLegacy(backend, idGenerator);
+        }
 
-    @Override
-    public void onUncaughtException(Throwable e) {
-      if (!hasFired) {
-        hasFired = true;
-        final ErrorIndicatorPresenter error =
-            ErrorIndicatorPresenter.create(RootPanel.get("banner"));
-        getStackTraceAsync(e, new Accessor<SafeHtml>() {
-          @Override
-          public void use(SafeHtml stack) {
-            error.addDetail(stack, null);
-          }
+        ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
+            @Override
+            public void onNetworkStatus(NetworkStatusEvent event) {
+                if (event.getStatus() == ConnectionStatus.CONNECTED) {
+                    openIndexWave();
+                }
+            }
         });
-      }
-
-      if (next != null) {
-        next.onUncaughtException(e);
-      }
     }
 
-    private void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) {
-      // TODO: Request stack-trace de-obfuscation. For now, just use the
-      // javascript stack trace.
-      //
-      // Use minimal services here, in order to avoid the chance that reporting
-      // the error produces more errors. In particular, do not use Scheduler.
-      // Also, this code could potentially be put behind a runAsync boundary, to
-      // save whatever dependencies it uses from the initial download.
-      DeferredCommand.addCommand(new Command() {
-        @Override
-        public void execute() {
-          SafeHtmlBuilder stack = new SafeHtmlBuilder();
+    private void openIndexWave() {
+        SimpleCcDocumentFactory docFactory = new SimpleCcDocumentFactory();
+        final WaveViewServiceImpl indexWave = (WaveViewServiceImpl) backend.getIndexWave(docFactory);
+        indexWave.viewOpen(IdFilters.ALL_IDS, null, new WaveViewService.OpenCallback() {
 
-          Throwable error = t;
-          while (error != null) {
-            stack.appendEscaped(String.valueOf(error.getMessage())).appendHtmlConstant("<br>");
-            for (StackTraceElement elt : error.getStackTrace()) {
-              stack.appendHtmlConstant("  ")
-                  .appendEscaped(maybe(elt.getClassName(), "??")).appendHtmlConstant(".") //
-                  .appendEscaped(maybe(elt.getMethodName(), "??")).appendHtmlConstant(" (") //
-                  .appendEscaped(maybe(elt.getFileName(), "??")).appendHtmlConstant(":") //
-                  .appendEscaped(maybe(elt.getLineNumber(), "??")).appendHtmlConstant(")") //
-                  .appendHtmlConstant("<br>");
+            @Override
+            public void onException(ChannelException e) {
+                LOG.severe("ChannelException opening index wave", e);
             }
-            error = error.getCause();
-            if (error != null) {
-              stack.appendHtmlConstant("Caused by: ");
+
+            @Override
+            public void onFailure(String reason) {
+                LOG.info("Failure for index wave " + reason);
             }
-          }
 
-          whenReady.use(stack.toSafeHtml());
-        }
-      });
+            @Override
+            public void onSuccess(String response) {
+                LOG.info("Success for index wave subscription");
+            }
+
+            @Override
+            public void onUpdate(WaveViewService.WaveViewServiceUpdate update) {
+                LOG.info("IndexWave update received hasDeltas=" + update.hasDeltas() + "  hasWaveletSnapshot="
+                        + update.hasWaveletSnapshot());
+                ClientEvents.get().fireEvent(
+                        new WaveUpdatedEvent(indexWave, update.getChannelId(), update.getWaveletId()));
+                ClientEvents.get().fireEvent(new WaveIndexUpdatedEvent(WebClientUtils.getIndexEntries(indexWave)));
+            }
+        });
     }
 
-    private static String maybe(String value, String otherwise) {
-      return value != null ? value : otherwise;
+    /**
+     * Shows a wave in a wave panel.
+     * 
+     * @param waveRef
+     *            wave id to open
+     * @param isNewWave
+     *            whether the wave is being created by this client session.
+     */
+    private void openWave(WaveRef waveRef, boolean isNewWave) {
+        LOG.info("WebClient.openWave()");
+
+        if (wave != null) {
+            wave.destroy();
+            wave = null;
+        }
+
+        wave = new StagesProvider(contentPanel.getElement().appendChild(Document.get().createDivElement()),
+                contentPanel, waveRef, channel, idGenerator, isNewWave);
+        wave.load(null);
+        String encodedToken = History.getToken();
+        if (encodedToken != null && !encodedToken.isEmpty()) {
+            WaveRef fromWaveRef = HistorySupport.waveRefFromHistoryToken(encodedToken);
+            if (waveRef == null) {
+                LOG.info("History token contains invalid path: " + encodedToken);
+                return;
+            }
+            if (fromWaveRef.getWaveId().equals(waveRef.getWaveId())) {
+                // History change was caused by clicking on a link, it's already
+                // updated by browser.
+                return;
+            }
+        }
+        History.newItem(HistorySupport.historyTokenFromWaveref(waveRef), false);
     }
 
-    private static String maybe(int value, String otherwise) {
-      return value != -1 ? String.valueOf(value) : otherwise;
-    }
-  }
+    private native boolean useSocketIO() /*-{
+        return !!$wnd.__useSocketIO
+    }-*/;
 }

Modified: trunk/src/main/java/cc/kune/wave/server/CustomServerRpcControllerImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomServerRpcControllerImpl.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/wave/server/CustomServerRpcControllerImpl.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -173,7 +173,7 @@
     public void run() {
         RpcCallback<Message> messageCallback = new RpcCallback<Message>() {
             @Override
-            public void run(Message result) {
+            public void run(Message result) { // NOPMD by vjrj on 18/01/11 0:53
                 RpcCallback<Object> runCallback = null;
                 synchronized (statusLock) {
                     if (complete) {

Modified: trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -59,7 +59,7 @@
         boolean check(Type type);
     }
 
-    private static final Map<Type, SettingTypeValidator> supportedSettingTypes;
+    private static final Map<Type, SettingTypeValidator> supportedSettingTypes; // NOPMD by vjrj on 18/01/11 0:53
 
     /**
      * This default validator just returns true.

Modified: trunk/src/main/java/cc/kune/wspace/client/WsArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/wspace/client/WsArmorImpl.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/cc/kune/wspace/client/WsArmorImpl.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -71,6 +71,7 @@
         homeSpace.add(RootPanel.get("k-home-ini"));
         publicSpace.setUrl("http://www.google.com");
         userSpace.add(new Label("User space"));
+        // userSpace.add(new WebClient());
     }
 
     @Override

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractComposedGuiItem.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractComposedGuiItem.java	2011-01-17 20:26:16 UTC (rev 1184)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractComposedGuiItem.java	2011-01-19 23:15:20 UTC (rev 1185)
@@ -7,14 +7,16 @@
 import com.google.gwt.user.client.ui.Composite;
 
 public abstract class AbstractComposedGuiItem extends Composite {
+    private final GuiBindingsRegister bindings;
     private GuiActionDescCollection guiItems;
-    private final GuiBindingsRegister bindings;
 
     public AbstractComposedGuiItem(final GuiBindingsRegister bindings) {
         super();
         this.bindings = bindings;
     }
 
+    protected abstract void add(AbstractGuiItem item);
+
     public void add(final GuiActionDescrip... descriptors) {
         for (final GuiActionDescrip descriptor : descriptors) {
             addAction(descriptor);
@@ -38,15 +40,6 @@
         }
     }
 
-    public GuiActionDescCollection getGuiItems() {
-        if (guiItems == null) {
-            guiItems = new GuiActionDescCollection();
-        }
-        return guiItems;
-    }
-
-    protected abstract void add(AbstractGuiItem item);
-
     protected void beforeAddWidget(final GuiActionDescrip descrip) {
         if (descrip.mustBeAdded()) {
             final GuiBinding binding = bindings.get(descrip.getType());
@@ -65,5 +58,12 @@
         }
     }
 
+    public GuiActionDescCollection getGuiItems() {
+        if (guiItems == null) {
+            guiItems = new GuiActionDescCollection();
+        }
+        return guiItems;
+    }
+
     protected abstract void insert(AbstractGuiItem item, int position);
 }




More information about the kune-commits mailing list