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 s
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); }
participants (1)
-
Vicente J. Ruiz Jurado