kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
February 2011
- 1 participants
- 35 discussions
r1256 - in tags: . 0.0.7 0.0.7/src/main/java/cc/kune/wave/server
by Vicente J. Ruiz Jurado 18 Feb '11
by Vicente J. Ruiz Jurado 18 Feb '11
18 Feb '11
Author: vjrj_
Date: 2011-02-18 02:00:51 +0100 (Fri, 18 Feb 2011)
New Revision: 1256
Added:
tags/0.0.7/
tags/0.0.7/.classpath
tags/0.0.7/.project
tags/0.0.7/pom.xml
tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
Removed:
tags/0.0.7/.classpath
tags/0.0.7/.project
tags/0.0.7/pom.xml
tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
Log:
0.0.7
Copied: tags/0.0.7 (from rev 1254, trunk)
Deleted: tags/0.0.7/.classpath
===================================================================
--- trunk/.classpath 2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/.classpath 2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
- <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
- <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
- <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/googlecode/gwt/inject/gin/r137/gin-r137.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gxt-uibinder/0.6/gxt-uibinder-0.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="target/generated-sources/apt" including="**/*.java"/> <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
-</classpath>
\ No newline at end of file
Copied: tags/0.0.7/.classpath (from rev 1255, trunk/.classpath)
===================================================================
--- tags/0.0.7/.classpath (rev 0)
+++ tags/0.0.7/.classpath 2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gxt-uibinder/0.6/gxt-uibinder-0.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry including="**/*.java" kind="src" path="target/generated-sources/apt"/>
+ <classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-user.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-dev.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
+</classpath>
Deleted: tags/0.0.7/.project
===================================================================
--- trunk/.project 2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/.project 2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>kune</name>
- <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.ajdt.ui.ajnature</nature>
- <nature>com.google.gwt.eclipse.core.gwtNature</nature>
- <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
- </natures>
-</projectDescription>
Copied: tags/0.0.7/.project (from rev 1255, trunk/.project)
===================================================================
--- tags/0.0.7/.project (rev 0)
+++ tags/0.0.7/.project 2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,74 @@
+<projectDescription>
+ <name>kune</name>
+ <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
+ </buildCommand>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.ajdt.ui.ajnature</nature>
+ <nature>com.google.gwt.eclipse.core.gwtNature</nature>
+ <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Deleted: tags/0.0.7/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/pom.xml 2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,1108 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cc.kune</groupId>
- <artifactId>kune</artifactId>
- <packaging>jar</packaging>
- <version>0.0.7</version>
- <name>kune</name>
- <description> kune free/open/libre collaboration platform </description>
- <url>http://kune.ourproject.org</url>
- <properties>
- <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
- <gwt.version>2.1.1</gwt.version>
- <maven.compiler.source>1.6</maven.compiler.source>
- <maven.compiler.target>1.6</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <slf4j.version>1.6.1</slf4j.version>
- <openjpa.version>2.0.1</openjpa.version>
- </properties>
- <repositories>
- <repository>
- <id>kune-maven</id>
- <url>http://kune.ourproject.org/mavenrepo/</url>
- </repository>
- <repository>
- <id>guice-maven</id>
- <name>guice maven</name>
- <url>http://guice-maven.googlecode.com/svn/trunk</url>
- </repository>
- <repository>
- <id>Codehaus Snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>jboss-public-repository-group</id>
- <name>JBoss Public Maven Repository Group</name>
- <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
- </url>
- <layout>default</layout>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- </repository>
- <repository>
- <id>mvp4g.googlecode.releases</id>
- <name>Releases Repository for Mvp4g</name>
- <url>http://mvp4g.googlecode.com/svn/maven2/releases/</url>
- </repository>
- <repository>
- <id>ext-gxt</id>
- <name>ext-gxt at jahia</name>
- <url>http://maven.jahia.org/maven2/</url>
- </repository>
- <repository>
- <id>ext-gxt</id>
- <name>ext-gxt at jahia</name>
- <url>http://maven.jahia.org/maven2/</url>
- </repository>
- <repository>
- <id>cobogw</id>
- <name>Cobogw repository at googlecode</name>
- <url>http://cobogw.googlecode.com/svn/maven2</url>
- </repository>
- <repository>
- <id>gwt-repo</id>
- <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
- <name>Google Web Toolkit Repository</name>
- </repository>
- <repository>
- <id>gwt-maven-rewraps</id>
- <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
- </repository>
- <!-- cc -->
- <repository>
- <id>dyndns-repo</id>
- <url>http://maven.dyndns.org/2</url>
- </repository>
- <repository>
- <id>google-maven-snapshot-repository</id>
- <name>Google Maven Snapshot Repository</name>
- <url>https://oss.sonatype.org/content/repositories/google-snapshots/
- </url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>openqa.org</id>
- <name>Openqa Release Repository</name>
- <url>http://archiva.openqa.org/repository/releases</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- </releases>
- </repository>
- <repository>
- <id>openqa.org snapshots</id>
- <name>Openqa Snapshot Repository</name>
- <url>http://archiva.openqa.org/repository/snapshots</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>ignore</checksumPolicy>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>xwiki-releases</id>
- <name>XWiki Maven2 Remote Repository for Releases</name>
- <url>http://maven.xwiki.org/releases</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>xwiki</id>
- <name>XWiki Repository</name>
- <url>http://maven.xwiki.org/snapshots</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <!-- cc -->
- <pluginRepository>
- <id>jboss-public-repository-group</id>
- <name>JBoss Public Maven Repository Group</name>
- <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
- </url>
- <layout>default</layout>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- </pluginRepository>
- <!-- cc -->
- <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
- </pluginRepository> -->
- <pluginRepository>
- <id>Codehaus Snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>maven2-repository.dev.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </pluginRepository>
- <pluginRepository>
- <id>gwt-plugin-repo</id>
- <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
- <name>Google Web Toolkit Plugin Repository</name>
- </pluginRepository>
- <pluginRepository>
- <id>onejar-maven-plugin.googlecode.com</id>
- <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
- </pluginRepository>
- </pluginRepositories>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwt.version}</version>
- <scope>provided</scope>
- </dependency>
- <!-- guice -->
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <!-- <version>2.1-SNAPSHOT-r1160</version> -->
- <version>3.0-rc2</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.gwt.inject</groupId>
- <artifactId>gin</artifactId>
- <version>r137</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-servlet</artifactId>
- <version>3.0-rc2</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-persist</artifactId>
- <version>3.0-rc2</version>
- </dependency>
- <dependency>
- <groupId>com.extjs</groupId>
- <artifactId>gxt</artifactId>
- <version>2.2.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.cobogw.gwt</groupId>
- <artifactId>cobogw</artifactId>
- <version>1.3.1</version>
- </dependency>
- <dependency>
- <groupId>com.gwtplatform</groupId>
- <artifactId>gwtp-all</artifactId>
- <version>0.5</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.adamtacy</groupId>
- <artifactId>gwt-fx</artifactId>
- <version>r464</version>
- </dependency>
- <dependency>
- <groupId>com.jhickman.web.gwt</groupId>
- <artifactId>gwt-customuibinder</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>com.jhickman.web.gwt</groupId>
- <artifactId>gxt-uibinder</artifactId>
- <version>0.6</version>
- </dependency>
- <!-- cc -->
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>2.0.5</version>
- </dependency>
- <dependency>
- <groupId>com.gwtextux</groupId>
- <artifactId>gwtextux</artifactId>
- <version>0.4.0.924</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
- <artifactId>gwt-log</artifactId>
- <version>3.0.1</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
- <artifactId>gwt-voices</artifactId>
- <version>1.6.0</version>
- </dependency>
- <!-- utilities -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.14</version>
- </dependency>
- <dependency>
- <groupId>net.sf.dozer</groupId>
- <artifactId>dozer</artifactId>
- <version>4.0</version>
- </dependency>
- <!-- <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId>
- <version>0.6.5</version> </dependency> -->
- <dependency>
- <groupId>jmagick</groupId>
- <artifactId>jmagick</artifactId>
- <version>6.2.6-0</version>
- </dependency>
- <dependency>
- <groupId>org.xwiki.platform</groupId>
- <artifactId>xwiki-web-gwt-dom</artifactId>
- <version>2.3-rc-1</version>
- <!-- <version>2.0-SNAPSHOT-g164</version> -->
- <!-- <version>2.0-SNAPSHOT</version> -->
- <!-- <version>2.0-SNAPSHOT-g20s</version> -->
- </dependency>
- <!-- xmpp -->
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite</artifactId>
- <version>r1694</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite-proxy</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>hablar</artifactId>
- <version>r1694</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smack</groupId>
- <artifactId>smack</artifactId>
- <version>3.0.4</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx</groupId>
- <artifactId>smackx</artifactId>
- <version>3.0.4</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx.debugger</groupId>
- <artifactId>smackx-debugger</artifactId>
- <version>3.0.4</version>
- </dependency>
- <!-- mysql -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.13</version>
- </dependency>
- <!-- hibernate JPA -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <version>3.3.1.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>3.1.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>3.4.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>3.3.0.ga</version>
- <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsourc… -->
- <exclusions>
- <exclusion>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
- <!-- <version>3.3.1.GA</version> </dependency> -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-search</artifactId>
- <version>3.1.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>3.4.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-tools</artifactId>
- <version>3.2.3.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-c3p0</artifactId>
- <version>3.3.1.GA</version>
- </dependency>
- <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
- <version>0.9.1.2</version> </dependency> -->
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <!-- wave use 2.5 -->
- <version>2.5</version>
- </dependency>
- <!-- <dependency> <groupId>com.wideplay</groupId> <artifactId>warp-persist</artifactId>
- <version>2.0-SNAPSHOT</version> </dependency> -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.16</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <!-- REST: xml and json (stax) -->
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.2.2</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>1.0-RC2</version>
- </dependency>
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>2.1</version>
- <classifier>jdk15</classifier>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2</version>
- </dependency>
- <!-- File upload -->
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.7.0</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.1.1</version>
- </dependency>
- <!-- db upgrades -->
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>1.7.0</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.7.0.0</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <!-- testing dependencies -->
- <!-- <dependency> -->
- <!-- <groupId>org.mockito</groupId> -->
- <!-- <artifactId>mockito-all</artifactId> -->
- <!-- <scope>test</scope> -->
- <!-- <version>1.6</version> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.jukito</groupId>
- <artifactId>jukito</artifactId>
- <version>1.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>1.0.20070617</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <!-- =roo -->
- <scope>test</scope>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
- <!-- <artifactId>selenium-java-client-driver</artifactId> -->
- <!-- <version>1.0-beta-1</version> -->
- <!-- <scope>test</scope> -->
- <!-- </dependency> -->
- <!-- public side -->
- <dependency>
- <groupId>org.jruby.rack</groupId>
- <artifactId>jruby-rack</artifactId>
- <!-- <version>1.0.3</version> -->
- <version>0.9.4</version>
- </dependency>
- <!-- wave -->
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>waveinabox-server-custom</artifactId>
- <version>0.3.6</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>proto-gwt</artifactId>
- <version>0.3.1</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>gwt-util-src</artifactId>
- <version>0.3.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-gwt</artifactId>
- <version>r07</version>
- </dependency>
- <!-- From here necessary as .java not included in waveinabox-serve.jar -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>box-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>model-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>client-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>client-common-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>common-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>util-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>concurrencycontrol-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>client-scheduler-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.waveprotocol</groupId> -->
- <!-- <artifactId>media-src</artifactId> -->
- <!-- <version>0.3.0</version> -->
- <!-- </dependency> -->
- <!-- to here -->
- <dependency>
- <groupId>net.sourceforge.findbugs</groupId>
- <artifactId>jsr-305</artifactId>
- <version>v0r47</version>
- </dependency>
- <!-- end wave -->
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.2</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.4</version>
- <type>jar</type>
- </dependency>
- </dependencies>
- <!-- <dependency> -->
- <!-- <groupId>dom4j</groupId> -->
- <!-- <artifactId>dom4j</artifactId> -->
- <!-- <version>1.6.1</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>com.google.code.guice</groupId> -->
- <!-- <artifactId>guice-assistedinject</artifactId> -->
- <!-- <version>2.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>jline<!/groupId> -->
- <!-- <artifactId>jline</artifactId> -->
- <!-- <version>0.9.94</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.gnu.inet</groupId> -->
- <!-- <artifactId>libidn</artifactId> -->
- <!-- <version>1.15</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>com.google.protobuf</groupId> -->
- <!-- <artifactId>protobuf-java</artifactId> -->
- <!-- <version>2.3.0</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>xpp3</groupId> -->
- <!-- <artifactId>xpp3</artifactId> -->
- <!-- <version>1.1.4c</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>xpp3</groupId> -->
- <!-- <artifactId>xpp3_xpath</artifactId> -->
- <!-- <version>1.1.4c</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>aopalliance</groupId> -->
- <!-- <artifactId>aopalliance</artifactId> -->
- <!-- <version>1.0</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.wave-protocol</groupId> -->
- <!-- <artifactId>xmpp</artifactId> -->
- <!-- <version>1.0.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.wave-protocol</groupId> -->
- <!-- <artifactId>whack</artifactId> -->
- <!-- <version>1.0.0</version> -->
- <!-- </dependency> -->
- <distributionManagement>
- <repository>
- <id>kune.ourproject.org</id>
- <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ </url>
- </repository>
- </distributionManagement>
- <issueManagement>
- <system>kune issues list at ourproject.org</system>
- <url>http://kune.ourproject.org/issues/</url>
- </issueManagement>
- <developers>
- <developer>
- <id>dani</id>
- <name>Daniel Gómez Blasco</name>
- <email>danigb(a)gmail.com</email>
- </developer>
- <developer>
- <name>Samer Hassan</name>
- <email>samer2004(a)gmail.com</email>
- </developer>
- <developer>
- <name>Vicente J. Ruiz Jurado</name>
- <email>vjrj(a)ourproject.org</email>
- </developer>
- </developers>
- <scm>
- <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
- </scm>
- <build>
- <plugins>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1-beta-1</version>
- <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <!-- Uncomment and run mvn with -X -e if we have same compile problems
- <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.4.2</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo + custom -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.5</version>
- <configuration>
- <excludes>
- <exclude>**/*_Roo_*</exclude>
- </excludes>
- <forkMode>pertest</forkMode>
- <!-- Skip the normal tests, we'll run them in the integration-test
- phase -->
- <skip>true</skip>
- </configuration>
- <executions>
- <execution>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>false</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <dependencySets>
- <dependencySet>
- <scope>runtime</scope>
- <unpackOptions>
- <excludes>
- <exclude>**/gxt/**</exclude>
- <exclude>**/extjs/**</exclude>
- <exclude>**extjs**</exclude>
- <exclude>**gxt**</exclude>
- </excludes>
- </unpackOptions>
- </dependencySet>
- </dependencySets>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo sin spring executions -->
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.8</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>false</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- <additionalBuildcommands>
- <buildCommand>
- <name>com.google.gwt.eclipse.core.gwtProjectValidator </name>
- </buildCommand>
- </additionalBuildcommands>
- <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
- <additionalProjectnatures>
- <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
- <projectnature>com.google.gwt.eclipse.core.gwtNature </projectnature>
- </additionalProjectnatures>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-idea-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <dependenciesAsLibraries>true</dependenciesAsLibraries>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <version>1.0</version>
- <configuration>
- <path>/</path>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>7.1.2.v20100523</version>
- <!-- <version>7.2.1.v20101111</version> -->
- <configuration>
- <webAppConfig>
- <!-- <contextPath>/${project.name}</contextPath> -->
- <contextPath>/</contextPath>
- </webAppConfig>
- <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
- <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
- </configuration>
- </plugin>
- <!-- pensar/probar: openjpa-maven-plugin -->
- <!-- gwtp & GenEvent need this plugin -->
- <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
- <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
- <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
- <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
- <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
- </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
- <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
- <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
- <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
- <plugin>
- <!-- =roo -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>1.3.2.google</version>
- <configuration>
- <logLevel>INFO</logLevel>
- <style>OBF</style>
- <soyc>false</soyc>
- <gwtVersion>${gwt.version}</gwtVersion>
- <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
- <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
- <modules>
- <module>${project.groupId}.Kune</module>
- </modules>
- <copyWebapp>true</copyWebapp>
- </configuration>
- <executions>
- <execution>
- <id>gwtcompile</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>compile</goal>
- <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
- <!-- <goal>resources</goal> -->
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
- <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
- collaboration platform</description> <maintainer>Kune Development Team <kune-devel(a)lists.ourproject.org></maintainer>
- <section>web</section> <priority>optional</priority> <architecture>all</architecture>
- </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
- </execution> </executions> </plugin> -->
- <plugin>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.7.0.0</version>
- <executions>
- <execution>
- <phase>process-resources</phase>
- <configuration>
- <changeLogFile>
- src/main/resources/db/liquibase_changelog.xml </changeLogFile>
- <driver>com.mysql.jdbc.Driver</driver>
- <url>jdbc:mysql://localhost/kune_dev</url>
- <username>kune</username>
- <password>db4kune</password>
- <verbose>true</verbose>
- </configuration>
- <!-- <configuration> <verbose>true</verbose> <propertiesFile>
- src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
- <goals>
- <goal>update</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
- <!-- <classpathLayoutType>repository</classpathLayoutType> -->
- <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
- instead. -->
- <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
- <!-- <packageName>cc.kune.wave.server</packageName> -->
- </manifest>
- <manifestEntries>
- <mode>development</mode>
- <url>${pom.url}</url>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- <!-- <execution> -->
- <!-- <id>core</id> -->
- <!-- <phase>package</phase> -->
- <!-- <goals> -->
- <!-- <goal>jar</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <classifier>core</classifier> -->
- <!-- <includes> -->
- <!-- <include>**/KunePlatform.gwt.xml**</include> -->
- <!-- <include>**/i18n/I18nTranslationService.**</include> -->
- <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
- <!-- <include>**/TextUtils.**</include> -->
- <!-- <include>**/IconLabelEditable.**</include> -->
- <!-- <include>**/QuickTipsHelper.**</include> -->
- <!-- <include>**/RichText.gwt.xml**</include> -->
- <!-- <include>**/BasicDialog.**</include> -->
- <!-- <include>**/HorizontalLine.**</include> -->
- <!-- <include>**/AbstractLabel.**</include> -->
- <!-- <include>**/IconLabel.**</include> -->
- <!-- <include> **/EditableIconLabel.**</include> -->
- <!-- <include> **/EditableClickListener.**</include> -->
- <!-- <include>**/KuneStringUtils.**</include> -->
- <!-- <include>**/IconHyperlink*.**</include> -->
- <!-- <include>**/LabelWrapper*.**</include> -->
- <!-- <include>**/KuneUiUtils.**</include> -->
- <!-- <include>**/View.**</include> -->
- <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
- <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
- <!-- <include>**/platf/client/dispatch/**</include> -->
- <!-- </includes> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- <!-- <execution> -->
- <!-- <id>helloworldmodule</id> -->
- <!-- <phase>package</phase> -->
- <!-- <goals> -->
- <!-- <goal>jar</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <classifier>helloworldmodule</classifier> -->
- <!-- <includes> -->
- <!-- <include>**/HelloWorld*</include> -->
- <!-- </includes> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- </executions>
- </plugin>
- <plugin>
- <groupId>org.dstovall</groupId>
- <artifactId>onejar-maven-plugin</artifactId>
- <version>1.4.4</version>
- <executions>
- <execution>
- <configuration>
- <!-- Optional -->
- <!-- <onejarVersion>0.97</onejarVersion> -->
- <!-- Optional, use only if you need to include native libraries
- (dll's) -->
-<!-- <binlibs>-->
-<!-- <fileSet>-->
-<!-- <directory>${project.build.directory}/${project.build.finalName}</directory>-->
-<!-- <includes>-->
-<!-- <include>**</include>-->
-<!-- </includes>-->
-<!-- </fileSet>-->
-<!-- </binlibs>-->
- <!-- Optional, default is false -->
- <attachToBuild>true</attachToBuild>
- <!-- Optional, default is "onejar" -->
- <classifier>onejar</classifier>
- </configuration>
- <goals>
- <goal>one-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
-
- <!-- <plugin> -->
- <!-- <groupId>org.codehaus.mojo</groupId> -->
- <!-- <artifactId>selenium-maven-plugin</artifactId> -->
- <!-- <configuration> -->
- <!-- <port>4441</port> -->
- <!-- </configuration> -->
- <!-- <executions> -->
- <!-- <execution> -->
- <!-- <phase>pre-integration-test</phase> -->
- <!-- <goals> -->
- <!-- <goal>start-server</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <background>true</background> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- <!-- </executions> -->
- <!-- </plugin> -->
- <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
- <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
- <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
- </includes> </fileset> </filesets> </configuration> </plugin> -->
- </plugins>
- <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
- <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
- <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
- <!-- <resources> -->
- <!-- <resource> -->
- <!-- <directory>src/main/resources</directory> -->
- <!-- </resource> -->
- <!-- <resource> -->
- <!-- <directory>src/main/java</directory> -->
- <!-- </resource> -->
- <!-- </resources> -->
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>1.0-beta-2</version>
- </extension>
- </extensions>
- </build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <linkXref>true</linkXref>
- <sourceEncoding>utf-8</sourceEncoding>
- <minimumTokens>100</minimumTokens>
- <targetJdk>1.5</targetJdk>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jdepend-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
-</project>
Copied: tags/0.0.7/pom.xml (from rev 1255, trunk/pom.xml)
===================================================================
--- tags/0.0.7/pom.xml (rev 0)
+++ tags/0.0.7/pom.xml 2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,1115 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>cc.kune</groupId>
+ <artifactId>kune</artifactId>
+ <packaging>jar</packaging>
+ <version>0.0.7</version>
+ <name>kune</name>
+ <description> kune free/open/libre collaboration platform </description>
+ <url>http://kune.ourproject.org</url>
+ <properties>
+ <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
+ <gwt.version>2.1.1</gwt.version>
+ <maven.compiler.source>1.6</maven.compiler.source>
+ <maven.compiler.target>1.6</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <slf4j.version>1.6.1</slf4j.version>
+ <openjpa.version>2.0.1</openjpa.version>
+ </properties>
+ <repositories>
+ <repository>
+ <id>kune-maven</id>
+ <url>http://kune.ourproject.org/mavenrepo/</url>
+ </repository>
+ <repository>
+ <id>guice-maven</id>
+ <name>guice maven</name>
+ <url>http://guice-maven.googlecode.com/svn/trunk</url>
+ </repository>
+ <repository>
+ <id>Codehaus Snapshots</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+ </url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>mvp4g.googlecode.releases</id>
+ <name>Releases Repository for Mvp4g</name>
+ <url>http://mvp4g.googlecode.com/svn/maven2/releases/</url>
+ </repository>
+ <repository>
+ <id>ext-gxt</id>
+ <name>ext-gxt at jahia</name>
+ <url>http://maven.jahia.org/maven2/</url>
+ </repository>
+ <repository>
+ <id>ext-gxt</id>
+ <name>ext-gxt at jahia</name>
+ <url>http://maven.jahia.org/maven2/</url>
+ </repository>
+ <repository>
+ <id>cobogw</id>
+ <name>Cobogw repository at googlecode</name>
+ <url>http://cobogw.googlecode.com/svn/maven2</url>
+ </repository>
+ <repository>
+ <id>gwt-repo</id>
+ <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
+ <name>Google Web Toolkit Repository</name>
+ </repository>
+ <repository>
+ <id>gwt-maven-rewraps</id>
+ <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
+ </repository>
+ <!-- cc -->
+ <repository>
+ <id>dyndns-repo</id>
+ <url>http://maven.dyndns.org/2</url>
+ </repository>
+ <repository>
+ <id>google-maven-snapshot-repository</id>
+ <name>Google Maven Snapshot Repository</name>
+ <url>https://oss.sonatype.org/content/repositories/google-snapshots/
+ </url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>gwtplatform.snapshot.repo</id>
+ <name>Gwtplatform snapshot repository</name>
+ <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>openqa.org</id>
+ <name>Openqa Release Repository</name>
+ <url>http://archiva.openqa.org/repository/releases</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>openqa.org snapshots</id>
+ <name>Openqa Snapshot Repository</name>
+ <url>http://archiva.openqa.org/repository/snapshots</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>ignore</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>xwiki-releases</id>
+ <name>XWiki Maven2 Remote Repository for Releases</name>
+ <url>http://maven.xwiki.org/releases</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>xwiki</id>
+ <name>XWiki Repository</name>
+ <url>http://maven.xwiki.org/snapshots</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <!-- cc -->
+ <pluginRepository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+ </url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </pluginRepository>
+ <!-- cc -->
+ <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
+ </pluginRepository> -->
+ <pluginRepository>
+ <id>Codehaus Snapshots</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
+ </releases>
+ </pluginRepository>
+ <pluginRepository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </pluginRepository>
+ <pluginRepository>
+ <id>gwt-plugin-repo</id>
+ <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
+ <name>Google Web Toolkit Plugin Repository</name>
+ </pluginRepository>
+ <pluginRepository>
+ <id>onejar-maven-plugin.googlecode.com</id>
+ <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- guice -->
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <!-- <version>2.1-SNAPSHOT-r1160</version> -->
+ <version>3.0-rc2</version>
+ </dependency>
+ <!-- <dependency>
+<groupId>com.googlecode.gwt.inject</groupId>
+<artifactId>gin</artifactId>
+<version>gin-1.1-SNAPSHOT</version>
+</dependency>-->
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-servlet</artifactId>
+ <version>3.0-rc2</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-persist</artifactId>
+ <version>3.0-rc2</version>
+ </dependency>
+ <dependency>
+ <groupId>com.extjs</groupId>
+ <artifactId>gxt</artifactId>
+ <version>2.2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.cobogw.gwt</groupId>
+ <artifactId>cobogw</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtplatform</groupId>
+ <artifactId>gwtp-all</artifactId>
+ <version>0.5</version>
+<!-- <version>0.6-SNAPSHOT</version>-->
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.adamtacy</groupId>
+ <artifactId>gwt-fx</artifactId>
+ <version>r464</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jhickman.web.gwt</groupId>
+ <artifactId>gwt-customuibinder</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jhickman.web.gwt</groupId>
+ <artifactId>gxt-uibinder</artifactId>
+ <version>0.6</version>
+ </dependency>
+ <!-- cc -->
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>2.0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtextux</groupId>
+ <artifactId>gwtextux</artifactId>
+ <version>0.4.0.924</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
+ <artifactId>gwt-log</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
+ <artifactId>gwt-voices</artifactId>
+ <version>1.6.0</version>
+ </dependency>
+ <!-- utilities -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.dozer</groupId>
+ <artifactId>dozer</artifactId>
+ <version>4.0</version>
+ </dependency>
+ <!-- <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId>
+ <version>0.6.5</version> </dependency> -->
+ <dependency>
+ <groupId>jmagick</groupId>
+ <artifactId>jmagick</artifactId>
+ <version>6.2.6-0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.xwiki.platform</groupId>
+ <artifactId>xwiki-web-gwt-dom</artifactId>
+ <version>2.3-rc-1</version>
+ <!-- <version>2.0-SNAPSHOT-g164</version> -->
+ <!-- <version>2.0-SNAPSHOT</version> -->
+ <!-- <version>2.0-SNAPSHOT-g20s</version> -->
+ </dependency>
+ <!-- xmpp -->
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite</artifactId>
+ <version>r1694</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite-proxy</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>hablar</artifactId>
+ <version>r1694</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smack</groupId>
+ <artifactId>smack</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx</groupId>
+ <artifactId>smackx</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx.debugger</groupId>
+ <artifactId>smackx-debugger</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <!-- mysql -->
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>5.1.13</version>
+ </dependency>
+ <!-- hibernate JPA -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.3.0.ga</version>
+ <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsourc… -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
+ <!-- <version>3.3.1.GA</version> </dependency> -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-search</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.4.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-tools</artifactId>
+ <version>3.2.3.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-c3p0</artifactId>
+ <version>3.3.1.GA</version>
+ </dependency>
+ <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
+ <version>0.9.1.2</version> </dependency> -->
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <!-- wave use 2.5 -->
+ <version>2.5</version>
+ </dependency>
+ <!-- <dependency> <groupId>com.wideplay</groupId> <artifactId>warp-persist</artifactId>
+ <version>2.0-SNAPSHOT</version> </dependency> -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.16</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <!-- REST: xml and json (stax) -->
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.0-RC2</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>2.1</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <!-- File upload -->
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <!-- db upgrades -->
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.7.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- testing dependencies -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.mockito</groupId> -->
+ <!-- <artifactId>mockito-all</artifactId> -->
+ <!-- <scope>test</scope> -->
+ <!-- <version>1.6</version> -->
+ <!-- </dependency> -->
+ <dependency>
+ <groupId>org.jukito</groupId>
+ <artifactId>jukito</artifactId>
+ <version>1.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.0.20070617</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <!-- =roo -->
+ <scope>test</scope>
+ </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
+ <!-- <artifactId>selenium-java-client-driver</artifactId> -->
+ <!-- <version>1.0-beta-1</version> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
+ <!-- public side -->
+ <dependency>
+ <groupId>org.jruby.rack</groupId>
+ <artifactId>jruby-rack</artifactId>
+ <!-- <version>1.0.3</version> -->
+ <version>0.9.4</version>
+ </dependency>
+ <!-- wave -->
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>waveinabox-server-custom</artifactId>
+ <version>0.3.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>proto-gwt</artifactId>
+ <version>0.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>gwt-util-src</artifactId>
+ <version>0.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-gwt</artifactId>
+ <version>r07</version>
+ </dependency>
+ <!-- From here necessary as .java not included in waveinabox-serve.jar -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>box-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>model-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>client-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>client-common-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>common-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>util-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>concurrencycontrol-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>client-scheduler-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.waveprotocol</groupId> -->
+ <!-- <artifactId>media-src</artifactId> -->
+ <!-- <version>0.3.0</version> -->
+ <!-- </dependency> -->
+ <!-- to here -->
+ <dependency>
+ <groupId>net.sourceforge.findbugs</groupId>
+ <artifactId>jsr-305</artifactId>
+ <version>v0r47</version>
+ </dependency>
+ <!-- end wave -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.4</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ <!-- <dependency> -->
+ <!-- <groupId>dom4j</groupId> -->
+ <!-- <artifactId>dom4j</artifactId> -->
+ <!-- <version>1.6.1</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>com.google.code.guice</groupId> -->
+ <!-- <artifactId>guice-assistedinject</artifactId> -->
+ <!-- <version>2.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>jline<!/groupId> -->
+ <!-- <artifactId>jline</artifactId> -->
+ <!-- <version>0.9.94</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.gnu.inet</groupId> -->
+ <!-- <artifactId>libidn</artifactId> -->
+ <!-- <version>1.15</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>com.google.protobuf</groupId> -->
+ <!-- <artifactId>protobuf-java</artifactId> -->
+ <!-- <version>2.3.0</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3_xpath</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>aopalliance</groupId> -->
+ <!-- <artifactId>aopalliance</artifactId> -->
+ <!-- <version>1.0</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>xmpp</artifactId> -->
+ <!-- <version>1.0.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>whack</artifactId> -->
+ <!-- <version>1.0.0</version> -->
+ <!-- </dependency> -->
+ <distributionManagement>
+ <repository>
+ <id>kune.ourproject.org</id>
+ <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/ </url>
+ </repository>
+ </distributionManagement>
+ <issueManagement>
+ <system>kune issues list at ourproject.org</system>
+ <url>http://kune.ourproject.org/issues/</url>
+ </issueManagement>
+ <developers>
+ <developer>
+ <id>dani</id>
+ <name>Daniel Gómez Blasco</name>
+ <email>danigb(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Samer Hassan</name>
+ <email>samer2004(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Vicente J. Ruiz Jurado</name>
+ <email>vjrj(a)ourproject.org</email>
+ </developer>
+ </developers>
+ <scm>
+ <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ <!-- Uncomment and run mvn with -X -e if we have same compile problems
+ <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4.2</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo + custom -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.5</version>
+ <configuration>
+ <excludes>
+ <exclude>**/*_Roo_*</exclude>
+ </excludes>
+ <forkMode>pertest</forkMode>
+ <!-- Skip the normal tests, we'll run them in the integration-test
+ phase -->
+ <skip>true</skip>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ <dependencySets>
+ <dependencySet>
+ <scope>runtime</scope>
+ <unpackOptions>
+ <excludes>
+ <exclude>**/gxt/**</exclude>
+ <exclude>**/extjs/**</exclude>
+ <exclude>**extjs**</exclude>
+ <exclude>**gxt**</exclude>
+ </excludes>
+ </unpackOptions>
+ </dependencySet>
+ </dependencySets>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo sin spring executions -->
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.8</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>false</downloadJavadocs>
+ <wtpversion>2.0</wtpversion>
+ <additionalBuildcommands>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator </name>
+ </buildCommand>
+ </additionalBuildcommands>
+ <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
+ <additionalProjectnatures>
+ <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
+ <projectnature>com.google.gwt.eclipse.core.gwtNature </projectnature>
+ </additionalProjectnatures>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <dependenciesAsLibraries>true</dependenciesAsLibraries>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>tomcat-maven-plugin</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <path>/</path>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>7.1.2.v20100523</version>
+ <!-- <version>7.2.1.v20101111</version> -->
+ <configuration>
+ <webAppConfig>
+ <!-- <contextPath>/${project.name}</contextPath> -->
+ <contextPath>/</contextPath>
+ </webAppConfig>
+ <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
+ <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
+ </configuration>
+ </plugin>
+ <!-- pensar/probar: openjpa-maven-plugin -->
+ <!-- gwtp & GenEvent need this plugin -->
+ <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
+ <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
+ <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
+ <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
+ <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
+ </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
+ <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
+ <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
+ <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>1.3.2.google</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+ <soyc>false</soyc>
+ <gwtVersion>${gwt.version}</gwtVersion>
+ <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
+ <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
+ <modules>
+ <module>${project.groupId}.Kune</module>
+ </modules>
+ <copyWebapp>true</copyWebapp>
+ </configuration>
+ <executions>
+ <execution>
+ <id>gwtcompile</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>compile</goal>
+ <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
+ <!-- <goal>resources</goal> -->
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
+ <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
+ collaboration platform</description> <maintainer>Kune Development Team <kune-devel(a)lists.ourproject.org></maintainer>
+ <section>web</section> <priority>optional</priority> <architecture>all</architecture>
+ </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
+ </execution> </executions> </plugin> -->
+ <plugin>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.7.0.0</version>
+ <executions>
+ <execution>
+ <phase>process-resources</phase>
+ <configuration>
+ <changeLogFile>
+ src/main/resources/db/liquibase_changelog.xml </changeLogFile>
+ <driver>com.mysql.jdbc.Driver</driver>
+ <url>jdbc:mysql://localhost/kune_dev</url>
+ <username>kune</username>
+ <password>db4kune</password>
+ <verbose>true</verbose>
+ </configuration>
+ <!-- <configuration> <verbose>true</verbose> <propertiesFile>
+ src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
+ <goals>
+ <goal>update</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
+ <!-- <classpathLayoutType>repository</classpathLayoutType> -->
+ <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
+ instead. -->
+ <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+ <!-- <packageName>cc.kune.wave.server</packageName> -->
+ </manifest>
+ <manifestEntries>
+ <mode>development</mode>
+ <url>${pom.url}</url>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ <executions>
+ <!-- <execution> -->
+ <!-- <id>core</id> -->
+ <!-- <phase>package</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>jar</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <classifier>core</classifier> -->
+ <!-- <includes> -->
+ <!-- <include>**/KunePlatform.gwt.xml**</include> -->
+ <!-- <include>**/i18n/I18nTranslationService.**</include> -->
+ <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
+ <!-- <include>**/TextUtils.**</include> -->
+ <!-- <include>**/IconLabelEditable.**</include> -->
+ <!-- <include>**/QuickTipsHelper.**</include> -->
+ <!-- <include>**/RichText.gwt.xml**</include> -->
+ <!-- <include>**/BasicDialog.**</include> -->
+ <!-- <include>**/HorizontalLine.**</include> -->
+ <!-- <include>**/AbstractLabel.**</include> -->
+ <!-- <include>**/IconLabel.**</include> -->
+ <!-- <include> **/EditableIconLabel.**</include> -->
+ <!-- <include> **/EditableClickListener.**</include> -->
+ <!-- <include>**/KuneStringUtils.**</include> -->
+ <!-- <include>**/IconHyperlink*.**</include> -->
+ <!-- <include>**/LabelWrapper*.**</include> -->
+ <!-- <include>**/KuneUiUtils.**</include> -->
+ <!-- <include>**/View.**</include> -->
+ <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
+ <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
+ <!-- <include>**/platf/client/dispatch/**</include> -->
+ <!-- </includes> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ <!-- <execution> -->
+ <!-- <id>helloworldmodule</id> -->
+ <!-- <phase>package</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>jar</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <classifier>helloworldmodule</classifier> -->
+ <!-- <includes> -->
+ <!-- <include>**/HelloWorld*</include> -->
+ <!-- </includes> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>1.4.4</version>
+ <executions>
+ <execution>
+ <configuration>
+ <!-- Optional -->
+ <!-- <onejarVersion>0.97</onejarVersion> -->
+ <!-- Optional, use only if you need to include native libraries
+ (dll's) -->
+ <!-- <binlibs> -->
+ <!-- <fileSet> -->
+ <!-- <directory>${project.build.directory}/${project.build.finalName}</directory> -->
+ <!-- <includes> -->
+ <!-- <include>**</include> -->
+ <!-- </includes> -->
+ <!-- </fileSet> -->
+ <!-- </binlibs> -->
+ <!-- Optional, default is false -->
+ <attachToBuild>true</attachToBuild>
+ <!-- Optional, default is "onejar" -->
+ <classifier>onejar</classifier>
+ </configuration>
+ <goals>
+ <goal>one-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <!-- <plugin> -->
+ <!-- <groupId>org.codehaus.mojo</groupId> -->
+ <!-- <artifactId>selenium-maven-plugin</artifactId> -->
+ <!-- <configuration> -->
+ <!-- <port>4441</port> -->
+ <!-- </configuration> -->
+ <!-- <executions> -->
+ <!-- <execution> -->
+ <!-- <phase>pre-integration-test</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>start-server</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <background>true</background> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ <!-- </executions> -->
+ <!-- </plugin> -->
+ <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
+ <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
+ <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
+ </includes> </fileset> </filesets> </configuration> </plugin> -->
+ </plugins>
+ <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
+ <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
+ <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
+ <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
+ <!-- <resources> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/resources</directory> -->
+ <!-- </resource> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/java</directory> -->
+ <!-- </resource> -->
+ <!-- </resources> -->
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <linkXref>true</linkXref>
+ <sourceEncoding>utf-8</sourceEncoding>
+ <minimumTokens>100</minimumTokens>
+ <targetJdk>1.5</targetJdk>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jdepend-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
Deleted: tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-17 17:31:43 UTC (rev 1254)
+++ tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-18 01:00:51 UTC (rev 1256)
@@ -1,557 +0,0 @@
-package cc.kune.wave.server;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
-import org.eclipse.jetty.servlet.DefaultServlet;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.websocket.WebSocket;
-import org.eclipse.jetty.websocket.WebSocketServlet;
-import org.jruby.rack.RackFilter;
-import org.jruby.rack.RackServletContextListener;
-import org.ourproject.kune.rack.RackServletFilter;
-import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
-import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
-import org.waveprotocol.box.server.CoreSettings;
-import org.waveprotocol.box.server.authentication.SessionManager;
-import org.waveprotocol.box.server.rpc.BaseUrlHelper;
-import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
-import org.waveprotocol.box.server.rpc.ProtoCallback;
-import org.waveprotocol.box.server.rpc.Rpc;
-import org.waveprotocol.box.server.rpc.ServerRpcController;
-import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
-import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
-import org.waveprotocol.box.server.util.NetUtils;
-import org.waveprotocol.wave.model.util.Pair;
-import org.waveprotocol.wave.model.wave.ParticipantId;
-import org.waveprotocol.wave.util.logging.Log;
-
-import com.glines.socketio.server.SocketIOInbound;
-import com.glines.socketio.server.SocketIOServlet;
-import com.glines.socketio.server.transport.FlashSocketTransport;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-import com.google.inject.name.Named;
-import com.google.inject.servlet.GuiceServletContextListener;
-import com.google.protobuf.Descriptors;
-import com.google.protobuf.Descriptors.MethodDescriptor;
-import com.google.protobuf.Message;
-import com.google.protobuf.RpcCallback;
-import com.google.protobuf.Service;
-import com.google.protobuf.UnknownFieldSet;
-
-import de.spieleck.servlets.ProxyServlet;
-
-/**
- * ServerRpcProvider can provide instances of type Service over an incoming
- * network socket and service incoming RPCs to these services and their methods.
- *
- *
- */
-public class CustomServerRpcProvider {
- abstract class Connection implements ProtoCallback {
- private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
-
- // The logged in user.
- // Note: Due to this bug:
- // http://code.google.com/p/wave-protocol/issues/detail?id=119,
- // the field may be null on first connect and then set later using an
- // RPC.
- private ParticipantId loggedInUser;
-
- /**
- * @param loggedInUser
- * The currently logged in user, or null if no user is logged
- * in.
- */
- public Connection(final ParticipantId loggedInUser) {
- this.loggedInUser = loggedInUser;
- }
-
- private ParticipantId authenticate(final String token) {
- final HttpSession session = sessionManager.getSessionFromToken(token);
- final ParticipantId user = sessionManager.getLoggedInUser(session);
- return user;
- }
-
- protected void expectMessages(final MessageExpectingChannel channel) {
- synchronized (registeredServices) {
- for (final RegisteredServiceMethod serviceMethod : registeredServices.values()) {
- channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
- LOG.fine("Expecting: " + serviceMethod.method.getFullName());
- }
- }
- channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
- }
-
- @Override
- public void message(final long sequenceNo, final Message message) {
- if (message instanceof Rpc.CancelRpc) {
- final ServerRpcController controller = activeRpcs.get(sequenceNo);
- if (controller == null) {
- throw new IllegalStateException("Trying to cancel an RPC that is not active!");
- } else {
- LOG.info("Cancelling open RPC " + sequenceNo);
- controller.cancel();
- }
- } else if (message instanceof ProtocolAuthenticate) {
- // Workaround for bug:
- // http://codereview.waveprotocol.org/224001/
-
- // When we get this message, either the connection will not be
- // logged in
- // (loggedInUser == null) or the connection will have been
- // authenticated
- // via cookies
- // (in which case loggedInUser must match the authenticated
- // user, and
- // this message has no
- // effect).
-
- final ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
- final ParticipantId authenticatedAs = authenticate(authMessage.getToken());
-
- Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
- Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
- "Session already authenticated as a different user");
-
- loggedInUser = authenticatedAs;
- LOG.info("Session authenticated as " + loggedInUser);
- sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
- } else if (registeredServices.containsKey(message.getDescriptorForType())) {
- if (activeRpcs.containsKey(sequenceNo)) {
- throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
- } else {
- final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
-
- // Create the internal ServerRpcController used to invoke
- // the call.
- final ServerRpcController controller = new ServerRpcControllerImpl(message, serviceMethod.service,
- serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
- @Override
- synchronized public void run(final Message message) {
- if (message instanceof Rpc.RpcFinished
- || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
- // This RPC is over - remove it from the
- // map.
- final boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
- : false;
- LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
- if (failed) {
- LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
- }
- activeRpcs.remove(sequenceNo);
- }
- sendMessage(sequenceNo, message);
- }
- });
-
- // Kick off a new thread specific to this RPC.
- activeRpcs.put(sequenceNo, controller);
- threadPool.execute(controller);
- }
- } else {
- // Sent a message type we understand, but don't expect -
- // erronous case!
- throw new IllegalStateException("Got expected but unknown message (" + message + ") for sequence: "
- + sequenceNo);
- }
- }
-
- protected abstract void sendMessage(long sequenceNo, Message message);
-
- @Override
- public void unknown(final long sequenceNo, final String messageType, final String message) {
- throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
- + ") for sequence: " + sequenceNo);
- }
-
- @Override
- public void unknown(final long sequenceNo, final String messageType, final UnknownFieldSet message) {
- throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
- + ") for sequence: " + sequenceNo);
- }
- }
-
- /**
- * Internal, static container class for any specific registered service
- * method.
- */
- static class RegisteredServiceMethod {
- final MethodDescriptor method;
- final Service service;
-
- RegisteredServiceMethod(final Service service, final MethodDescriptor method) {
- this.service = service;
- this.method = method;
- }
- }
- class SocketIOConnection extends Connection {
- private final SocketIOServerChannel socketChannel;
-
- SocketIOConnection(final ParticipantId loggedInUser) {
- super(loggedInUser);
- socketChannel = new SocketIOServerChannel(this);
- LOG.info("New websocket connection set up for user " + loggedInUser);
- expectMessages(socketChannel);
- }
-
- public SocketIOServerChannel getWebSocketServerChannel() {
- return socketChannel;
- }
-
- @Override
- protected void sendMessage(final long sequenceNo, final Message message) {
- socketChannel.sendMessage(sequenceNo, message);
- }
- }
- public class WaveSocketIOServlet extends SocketIOServlet {
- @Override
- protected SocketIOInbound doSocketIOConnect(final HttpServletRequest request, final String[] protocols) {
- final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
-
- final SocketIOConnection connection = new SocketIOConnection(loggedInUser);
- return connection.getWebSocketServerChannel();
- }
- }
- public class WaveWebSocketServlet extends WebSocketServlet {
- @Override
- protected WebSocket doWebSocketConnect(final HttpServletRequest request, final String protocol) {
- final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
-
- final WebSocketConnection connection = new WebSocketConnection(loggedInUser);
- return connection.getWebSocketServerChannel();
- }
- }
- class WebSocketConnection extends Connection {
- private final WebSocketServerChannel socketChannel;
-
- WebSocketConnection(final ParticipantId loggedInUser) {
- super(loggedInUser);
- socketChannel = new WebSocketServerChannel(this);
- LOG.info("New websocket connection set up for user " + loggedInUser);
- expectMessages(socketChannel);
- }
-
- public WebSocketServerChannel getWebSocketServerChannel() {
- return socketChannel;
- }
-
- @Override
- protected void sendMessage(final long sequenceNo, final Message message) {
- socketChannel.sendMessage(sequenceNo, message);
- }
- }
- private static final Log LOG = Log.get(CustomServerRpcProvider.class);
-
- private static InetSocketAddress[] parseAddressList(final List<String> addressList) {
- if (addressList == null || addressList.size() == 0) {
- return new InetSocketAddress[0];
- } else {
- final Set<InetSocketAddress> addresses = Sets.newHashSet();
- for (final String str : addressList) {
- if (str.length() == 0) {
- LOG.warning("Encountered empty address in http addresses list.");
- } else {
- try {
- final InetSocketAddress address = NetUtils.parseHttpAddress(str);
- if (!addresses.contains(address)) {
- addresses.add(address);
- } else {
- LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
- + "' resolved to " + address.getAddress().getHostAddress());
- }
- } catch (final IOException e) {
- LOG.severe("Unable to process address " + str, e);
- }
- }
- }
- return addresses.toArray(new InetSocketAddress[0]);
- }
- }
- private final String baseUrl;
-
- private final Integer flashsocketPolicyPort;
-
- private final InetSocketAddress[] httpAddresses;
-
- private Server httpServer = null;
-
- private final Set<Connection> incomingConnections = Sets.newHashSet();
-
- private final org.eclipse.jetty.server.SessionManager jettySessionManager;
-
- // Mapping from incoming protocol buffer type -> specific handler.
- private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
-
- private final String resourceBase;
-
- /**
- * Set of servlets
- */
- List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
-
- private final SessionManager sessionManager;
-
- private final ExecutorService threadPool;
-
- /**
- * Construct a new ServerRpcProvider, hosting on the specified WebSocket
- * addresses.
- *
- * Also accepts an ExecutorService for spawning managing threads.
- */
- public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
- final String baseUrl, final String resourceBase, final ExecutorService threadPool,
- final SessionManager sessionManager, final org.eclipse.jetty.server.SessionManager jettySessionManager) {
- this.httpAddresses = httpAddresses;
- this.flashsocketPolicyPort = flashsocketPolicyPort;
- this.baseUrl = BaseUrlHelper.removeLastSlash(baseUrl);
- this.resourceBase = resourceBase;
- this.threadPool = threadPool;
- this.sessionManager = sessionManager;
- this.jettySessionManager = jettySessionManager;
- }
-
- /**
- * Constructs a new ServerRpcProvider with a default ExecutorService.
- */
- public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
- final String baseUrl, final String resourceBase, final SessionManager sessionManager,
- final org.eclipse.jetty.server.SessionManager jettySessionManager) {
- this(httpAddresses, flashsocketPolicyPort, baseUrl, resourceBase, Executors.newCachedThreadPool(),
- sessionManager, jettySessionManager);
- }
-
- @Inject
- public CustomServerRpcProvider((a)Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) final List<String> httpAddresses,
- @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) final Integer flashsocketPolicyPort,
- @Named(CoreSettings.HTTP_BASE_URL) final String baseUrl,
- @Named(CoreSettings.RESOURCE_BASE) final String resourceBase, final SessionManager sessionManager,
- final org.eclipse.jetty.server.SessionManager jettySessionManager) {
- this(parseAddressList(httpAddresses), flashsocketPolicyPort, baseUrl, resourceBase, sessionManager,
- jettySessionManager);
- }
-
- /**
- * Add a servlet to the servlet registry. This servlet will be attached to
- * the specified URL pattern when the server is started up.
- *
- * @param urlPattern
- * URL pattern for paths. Eg, '/foo', '/foo/*'
- * @param servlet
- * The servlet object to bind to the specified paths
- * @return the {@link ServletHolder} that holds the servlet.
- */
- public ServletHolder addServlet(final String urlPattern, final Servlet servlet) {
- final ServletHolder servletHolder = new ServletHolder(servlet);
- servletRegistry.add(new Pair<String, ServletHolder>(urlPattern, servletHolder));
- return servletHolder;
- }
-
- /**
- * @return a list of {@link SelectChannelConnector} each bound to a
- * host:port pair form the list addresses.
- */
- private List<SelectChannelConnector> getSelectChannelConnectors(final InetSocketAddress[] httpAddresses) {
- final List<SelectChannelConnector> list = Lists.newArrayList();
- for (final InetSocketAddress address : httpAddresses) {
- final SelectChannelConnector connector = new SelectChannelConnector();
- connector.setHost(address.getAddress().getHostAddress());
- connector.setPort(address.getPort());
- list.add(connector);
- }
-
- return list;
- }
-
- /**
- * Returns the socket the WebSocket server is listening on.
- */
- public SocketAddress getWebSocketAddress() {
- if (httpServer == null) {
- return null;
- } else {
- final Connector c = httpServer.getConnectors()[0];
- return new InetSocketAddress(c.getHost(), c.getLocalPort());
- }
- }
-
- /**
- * Register all methods provided by the given service type.
- */
- public void registerService(final Service service) {
- synchronized (registeredServices) {
- for (final MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
- registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
- methodDescriptor));
- }
- }
- }
-
- public void startWebSocketServer(final Injector injector) {
- httpServer = new Server();
-
- final List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
- if (connectors.isEmpty()) {
- LOG.severe("No valid http end point address provided!");
- }
- for (final SelectChannelConnector connector : connectors) {
- httpServer.addConnector(connector);
- }
-
- // final WebAppContext webContext = new WebAppContext();
- final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
- if (jettySessionManager != null) {
- context.getSessionHandler().setSessionManager(jettySessionManager);
- }
- context.setResourceBase(resourceBase);
- context.setContextPath(baseUrl);
-
- // webContext.setResourceBase(resourceBase);
- // webContext.setContextPath(baseUrl);
- // webContext.setWar(baseUrl);
-
- final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
- httpbindHolder.setInitParameter("remotePath", "/http-bind/");
- httpbindHolder.setInitParameter("remotePort", "5280");
- context.addServlet(httpbindHolder, "/http-bind/");
-
- context.addEventListener(new ServletContextListener() {
-
- @Override
- public void contextDestroyed(final ServletContextEvent sce) {
- }
-
- @Override
- public void contextInitialized(final ServletContextEvent sce) {
- final ServletContext context = sce.getServletContext();
- context.setAttribute("jruby.standalone", "true");
- context.setAttribute("rails.root", "/WEB-INF/publicspace/");
- context.setAttribute("files.prefix", "/WEB-INF/publicspace/public");
- context.setAttribute("rails.env", "production");
- context.setAttribute("jruby.max.runtimes", "1");
- context.setAttribute("public.root", "/public/");
- }
- });
-
- context.addEventListener(new RackServletContextListener());
- // final FilterHolder rubyRack = new
- // FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
- // rubyRack.setFilter(new RackFilter());
-
- // context.getInitParameter("rails.root");
-
- context.addFilter(RackFilter.class, "/public/*", 0);
-
- context.addEventListener(new GuiceServletContextListener() {
- @Override
- protected Injector getInjector() {
- return injector;
- }
- });
- context.setAttribute(RackServletFilter.INJECTOR_PARENT_ATTRIBUTE, injector);
- final FilterHolder filterHolder = new FilterHolder(RackServletFilter.class);
- filterHolder.setInitParameter("org.ourproject.kune.rack.RackModule",
- "org.ourproject.kune.app.server.KuneRackModule");
- context.addFilter(filterHolder, "/ws/*", 0);
-
- // context.addFilter(GuiceFilter.class, "/*", 0);
-
- // Servlet where the websocket connection is served from.
- final ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
- context.addServlet(wsholder, "/socket");
- // TODO(zamfi): fix to let messages span frames.
- wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
-
- // Servlet where the websocket connection is served from.
- final ServletHolder sioholder = new ServletHolder(new WaveSocketIOServlet());
- context.addServlet(sioholder, "/socket.io/*");
- // TODO(zamfi): fix to let messages span frames.
- sioholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
- // Set flash policy server parameters
- String flashPolicyServerHost = "localhost";
- final StringBuilder flashPolicyAllowedPorts = new StringBuilder();
- /*
- * Loop through addresses, collect list of ports, and determine if we
- * are to use "localhost" of the AnyHost wildcard.
- */
- for (final InetSocketAddress addr : httpAddresses) {
- if (flashPolicyAllowedPorts.length() > 0) {
- flashPolicyAllowedPorts.append(",");
- }
- flashPolicyAllowedPorts.append(addr.getPort());
- if (!addr.getAddress().isLoopbackAddress()) {
- // Until it's possible to pass a list of address, this is the
- // only valid alternative.
- flashPolicyServerHost = "0.0.0.0";
- }
- }
- sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
- sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
- // TODO: Change to use the public http address and all other bound
- // addresses.
- sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
- sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
-
- // Serve the static content and GWT web client with the default servlet
- // (acts like a standard file-based web server).
- final ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
- context.addServlet(defaultServlet, "/static/*");
- context.addServlet(defaultServlet, "/webclient/*");
- context.addServlet(defaultServlet, "/ws/*");
- context.addServlet(defaultServlet, "/images/*");
- context.addServlet(defaultServlet, "/javascripts/*");
- context.addServlet(defaultServlet, "/stylesheets/*");
- context.addServlet(defaultServlet, "/templates/*");
-
- for (final Pair<String, ServletHolder> servlet : servletRegistry) {
- context.addServlet(servlet.getSecond(), servlet.getFirst());
- }
-
- httpServer.setHandler(context);
-
- try {
- httpServer.start();
- } catch (final Exception e) { // yes, .start() throws "Exception"
- LOG.severe("Fatal error starting http server.", e);
- return;
- }
- LOG.fine("WebSocket server running. --------");
- }
-
- /**
- * Stops this server.
- */
- public void stopServer() throws IOException {
- try {
- httpServer.stop(); // yes, .stop() throws "Exception"
- } catch (final Exception e) {
- LOG.warning("Fatal error stopping http server.", e);
- }
- LOG.fine("server shutdown.");
- }
-}
Copied: tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java (from rev 1255, trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java)
===================================================================
--- tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java (rev 0)
+++ tags/0.0.7/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-18 01:00:51 UTC (rev 1256)
@@ -0,0 +1,560 @@
+package cc.kune.wave.server;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.webapp.WebAppContext;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.jruby.rack.RackFilter;
+import org.jruby.rack.RackServletContextListener;
+import org.ourproject.kune.rack.RackServletFilter;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.rpc.BaseUrlHelper;
+import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
+import org.waveprotocol.box.server.rpc.ProtoCallback;
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
+import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
+import org.waveprotocol.box.server.util.NetUtils;
+import org.waveprotocol.wave.model.util.Pair;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.glines.socketio.server.SocketIOInbound;
+import com.glines.socketio.server.SocketIOServlet;
+import com.glines.socketio.server.transport.FlashSocketTransport;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.name.Named;
+import com.google.inject.servlet.GuiceServletContextListener;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Descriptors.MethodDescriptor;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+import com.google.protobuf.UnknownFieldSet;
+
+import de.spieleck.servlets.ProxyServlet;
+
+/**
+ * ServerRpcProvider can provide instances of type Service over an incoming
+ * network socket and service incoming RPCs to these services and their methods.
+ *
+ *
+ */
+public class CustomServerRpcProvider {
+ abstract class Connection implements ProtoCallback {
+ private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
+
+ // The logged in user.
+ // Note: Due to this bug:
+ // http://code.google.com/p/wave-protocol/issues/detail?id=119,
+ // the field may be null on first connect and then set later using an
+ // RPC.
+ private ParticipantId loggedInUser;
+
+ /**
+ * @param loggedInUser
+ * The currently logged in user, or null if no user is logged
+ * in.
+ */
+ public Connection(final ParticipantId loggedInUser) {
+ this.loggedInUser = loggedInUser;
+ }
+
+ private ParticipantId authenticate(final String token) {
+ final HttpSession session = sessionManager.getSessionFromToken(token);
+ final ParticipantId user = sessionManager.getLoggedInUser(session);
+ return user;
+ }
+
+ protected void expectMessages(final MessageExpectingChannel channel) {
+ synchronized (registeredServices) {
+ for (final RegisteredServiceMethod serviceMethod : registeredServices.values()) {
+ channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
+ LOG.fine("Expecting: " + serviceMethod.method.getFullName());
+ }
+ }
+ channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
+ }
+
+ @Override
+ public void message(final long sequenceNo, final Message message) {
+ if (message instanceof Rpc.CancelRpc) {
+ final ServerRpcController controller = activeRpcs.get(sequenceNo);
+ if (controller == null) {
+ throw new IllegalStateException("Trying to cancel an RPC that is not active!");
+ } else {
+ LOG.info("Cancelling open RPC " + sequenceNo);
+ controller.cancel();
+ }
+ } else if (message instanceof ProtocolAuthenticate) {
+ // Workaround for bug:
+ // http://codereview.waveprotocol.org/224001/
+
+ // When we get this message, either the connection will not be
+ // logged in
+ // (loggedInUser == null) or the connection will have been
+ // authenticated
+ // via cookies
+ // (in which case loggedInUser must match the authenticated
+ // user, and
+ // this message has no
+ // effect).
+
+ final ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
+ final ParticipantId authenticatedAs = authenticate(authMessage.getToken());
+
+ Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
+ Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
+ "Session already authenticated as a different user");
+
+ loggedInUser = authenticatedAs;
+ LOG.info("Session authenticated as " + loggedInUser);
+ sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
+ } else if (registeredServices.containsKey(message.getDescriptorForType())) {
+ if (activeRpcs.containsKey(sequenceNo)) {
+ throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
+ } else {
+ final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
+
+ // Create the internal ServerRpcController used to invoke
+ // the call.
+ final ServerRpcController controller = new ServerRpcControllerImpl(message, serviceMethod.service,
+ serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
+ @Override
+ synchronized public void run(final Message message) {
+ if (message instanceof Rpc.RpcFinished
+ || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
+ // This RPC is over - remove it from the
+ // map.
+ final boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
+ : false;
+ LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
+ if (failed) {
+ LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
+ }
+ activeRpcs.remove(sequenceNo);
+ }
+ sendMessage(sequenceNo, message);
+ }
+ });
+
+ // Kick off a new thread specific to this RPC.
+ activeRpcs.put(sequenceNo, controller);
+ threadPool.execute(controller);
+ }
+ } else {
+ // Sent a message type we understand, but don't expect -
+ // erronous case!
+ throw new IllegalStateException("Got expected but unknown message (" + message + ") for sequence: "
+ + sequenceNo);
+ }
+ }
+
+ protected abstract void sendMessage(long sequenceNo, Message message);
+
+ @Override
+ public void unknown(final long sequenceNo, final String messageType, final String message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+
+ @Override
+ public void unknown(final long sequenceNo, final String messageType, final UnknownFieldSet message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+ }
+
+ /**
+ * Internal, static container class for any specific registered service
+ * method.
+ */
+ static class RegisteredServiceMethod {
+ final MethodDescriptor method;
+ final Service service;
+
+ RegisteredServiceMethod(final Service service, final MethodDescriptor method) {
+ this.service = service;
+ this.method = method;
+ }
+ }
+ class SocketIOConnection extends Connection {
+ private final SocketIOServerChannel socketChannel;
+
+ SocketIOConnection(final ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new SocketIOServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ public SocketIOServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+
+ @Override
+ protected void sendMessage(final long sequenceNo, final Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+ }
+ public class WaveSocketIOServlet extends SocketIOServlet {
+ @Override
+ protected SocketIOInbound doSocketIOConnect(final HttpServletRequest request, final String[] protocols) {
+ final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ final SocketIOConnection connection = new SocketIOConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+ public class WaveWebSocketServlet extends WebSocketServlet {
+ @Override
+ protected WebSocket doWebSocketConnect(final HttpServletRequest request, final String protocol) {
+ final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ final WebSocketConnection connection = new WebSocketConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+ class WebSocketConnection extends Connection {
+ private final WebSocketServerChannel socketChannel;
+
+ WebSocketConnection(final ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new WebSocketServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ public WebSocketServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+
+ @Override
+ protected void sendMessage(final long sequenceNo, final Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+ }
+ private static final Log LOG = Log.get(CustomServerRpcProvider.class);
+
+ private static InetSocketAddress[] parseAddressList(final List<String> addressList) {
+ if (addressList == null || addressList.size() == 0) {
+ return new InetSocketAddress[0];
+ } else {
+ final Set<InetSocketAddress> addresses = Sets.newHashSet();
+ for (final String str : addressList) {
+ if (str.length() == 0) {
+ LOG.warning("Encountered empty address in http addresses list.");
+ } else {
+ try {
+ final InetSocketAddress address = NetUtils.parseHttpAddress(str);
+ if (!addresses.contains(address)) {
+ addresses.add(address);
+ } else {
+ LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
+ + "' resolved to " + address.getAddress().getHostAddress());
+ }
+ } catch (final IOException e) {
+ LOG.severe("Unable to process address " + str, e);
+ }
+ }
+ }
+ return addresses.toArray(new InetSocketAddress[0]);
+ }
+ }
+ private final String baseUrl;
+
+ private final Integer flashsocketPolicyPort;
+
+ private final InetSocketAddress[] httpAddresses;
+
+ private Server httpServer = null;
+
+ private final Set<Connection> incomingConnections = Sets.newHashSet();
+
+ private final org.eclipse.jetty.server.SessionManager jettySessionManager;
+
+ // Mapping from incoming protocol buffer type -> specific handler.
+ private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
+
+ private final String resourceBase;
+
+ /**
+ * Set of servlets
+ */
+ List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
+
+ private final SessionManager sessionManager;
+
+ private final ExecutorService threadPool;
+
+ /**
+ * Construct a new ServerRpcProvider, hosting on the specified WebSocket
+ * addresses.
+ *
+ * Also accepts an ExecutorService for spawning managing threads.
+ */
+ public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
+ final String baseUrl, final String resourceBase, final ExecutorService threadPool,
+ final SessionManager sessionManager, final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this.httpAddresses = httpAddresses;
+ this.flashsocketPolicyPort = flashsocketPolicyPort;
+ this.baseUrl = BaseUrlHelper.removeLastSlash(baseUrl);
+ this.resourceBase = resourceBase;
+ this.threadPool = threadPool;
+ this.sessionManager = sessionManager;
+ this.jettySessionManager = jettySessionManager;
+ }
+
+ /**
+ * Constructs a new ServerRpcProvider with a default ExecutorService.
+ */
+ public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
+ final String baseUrl, final String resourceBase, final SessionManager sessionManager,
+ final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(httpAddresses, flashsocketPolicyPort, baseUrl, resourceBase, Executors.newCachedThreadPool(),
+ sessionManager, jettySessionManager);
+ }
+
+ @Inject
+ public CustomServerRpcProvider((a)Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) final List<String> httpAddresses,
+ @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) final Integer flashsocketPolicyPort,
+ @Named(CoreSettings.HTTP_BASE_URL) final String baseUrl,
+ @Named(CoreSettings.RESOURCE_BASE) final String resourceBase, final SessionManager sessionManager,
+ final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(parseAddressList(httpAddresses), flashsocketPolicyPort, baseUrl, resourceBase, sessionManager,
+ jettySessionManager);
+ }
+
+ /**
+ * Add a servlet to the servlet registry. This servlet will be attached to
+ * the specified URL pattern when the server is started up.
+ *
+ * @param urlPattern
+ * URL pattern for paths. Eg, '/foo', '/foo/*'
+ * @param servlet
+ * The servlet object to bind to the specified paths
+ * @return the {@link ServletHolder} that holds the servlet.
+ */
+ public ServletHolder addServlet(final String urlPattern, final Servlet servlet) {
+ final ServletHolder servletHolder = new ServletHolder(servlet);
+ servletRegistry.add(new Pair<String, ServletHolder>(urlPattern, servletHolder));
+ return servletHolder;
+ }
+
+ /**
+ * @return a list of {@link SelectChannelConnector} each bound to a
+ * host:port pair form the list addresses.
+ */
+ private List<SelectChannelConnector> getSelectChannelConnectors(final InetSocketAddress[] httpAddresses) {
+ final List<SelectChannelConnector> list = Lists.newArrayList();
+ for (final InetSocketAddress address : httpAddresses) {
+ final SelectChannelConnector connector = new SelectChannelConnector();
+ connector.setHost(address.getAddress().getHostAddress());
+ connector.setPort(address.getPort());
+ list.add(connector);
+ }
+
+ return list;
+ }
+
+ /**
+ * Returns the socket the WebSocket server is listening on.
+ */
+ public SocketAddress getWebSocketAddress() {
+ if (httpServer == null) {
+ return null;
+ } else {
+ final Connector c = httpServer.getConnectors()[0];
+ return new InetSocketAddress(c.getHost(), c.getLocalPort());
+ }
+ }
+
+ /**
+ * Register all methods provided by the given service type.
+ */
+ public void registerService(final Service service) {
+ synchronized (registeredServices) {
+ for (final MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
+ registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
+ methodDescriptor));
+ }
+ }
+ }
+
+ public void startWebSocketServer(final Injector injector) {
+ httpServer = new Server();
+
+ final List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
+ if (connectors.isEmpty()) {
+ LOG.severe("No valid http end point address provided!");
+ }
+ for (final SelectChannelConnector connector : connectors) {
+ httpServer.addConnector(connector);
+ }
+
+ final WebAppContext context = new WebAppContext();
+
+ // FIXME This was with previous ServletContextHandler: needed?
+ // final ServletContextHandler context = new
+ // ServletContextHandler(ServletContextHandler.SESSIONS);
+
+ if (jettySessionManager != null) {
+ context.getSessionHandler().setSessionManager(jettySessionManager);
+ }
+ context.setResourceBase(resourceBase);
+ context.setContextPath(baseUrl);
+ context.setWar(baseUrl);
+ context.setParentLoaderPriority(true);
+ context.setDescriptor("WEB-INF/web.xml");
+
+ final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
+ httpbindHolder.setInitParameter("remotePath", "/http-bind/");
+ httpbindHolder.setInitParameter("remotePort", "5280");
+ context.addServlet(httpbindHolder, "/http-bind/");
+
+ context.addEventListener(new ServletContextListener() {
+
+ @Override
+ public void contextDestroyed(final ServletContextEvent sce) {
+ }
+
+ @Override
+ public void contextInitialized(final ServletContextEvent sce) {
+ final ServletContext context = sce.getServletContext();
+ context.setAttribute("jruby.standalone", "true");
+ context.setAttribute("rails.root", "/WEB-INF/publicspace/");
+ context.setAttribute("files.prefix", "/WEB-INF/publicspace/public");
+ context.setAttribute("rails.env", "production");
+ context.setAttribute("jruby.max.runtimes", "1");
+ context.setAttribute("public.root", "/public/");
+ }
+ });
+
+ context.addEventListener(new RackServletContextListener());
+ // final FilterHolder rubyRack = new
+ // FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
+ // rubyRack.setFilter(new RackFilter());
+
+ // context.getInitParameter("rails.root");
+
+ context.addFilter(RackFilter.class, "/public/*", 0);
+
+ context.addEventListener(new GuiceServletContextListener() {
+ @Override
+ protected Injector getInjector() {
+ return injector;
+ }
+ });
+ context.setAttribute(RackServletFilter.INJECTOR_PARENT_ATTRIBUTE, injector);
+ final FilterHolder filterHolder = new FilterHolder(RackServletFilter.class);
+ filterHolder.setInitParameter("org.ourproject.kune.rack.RackModule",
+ "org.ourproject.kune.app.server.KuneRackModule");
+ context.addFilter(filterHolder, "/ws/*", 0);
+
+ // context.addFilter(GuiceFilter.class, "/*", 0);
+
+ // Servlet where the websocket connection is served from.
+ final ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
+ context.addServlet(wsholder, "/socket");
+ // TODO(zamfi): fix to let messages span frames.
+ wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+
+ // Servlet where the websocket connection is served from.
+ final ServletHolder sioholder = new ServletHolder(new WaveSocketIOServlet());
+ context.addServlet(sioholder, "/socket.io/*");
+ // TODO(zamfi): fix to let messages span frames.
+ sioholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+ // Set flash policy server parameters
+ String flashPolicyServerHost = "localhost";
+ final StringBuilder flashPolicyAllowedPorts = new StringBuilder();
+ /*
+ * Loop through addresses, collect list of ports, and determine if we
+ * are to use "localhost" of the AnyHost wildcard.
+ */
+ for (final InetSocketAddress addr : httpAddresses) {
+ if (flashPolicyAllowedPorts.length() > 0) {
+ flashPolicyAllowedPorts.append(",");
+ }
+ flashPolicyAllowedPorts.append(addr.getPort());
+ if (!addr.getAddress().isLoopbackAddress()) {
+ // Until it's possible to pass a list of address, this is the
+ // only valid alternative.
+ flashPolicyServerHost = "0.0.0.0";
+ }
+ }
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
+ // TODO: Change to use the public http address and all other bound
+ // addresses.
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
+
+ // Serve the static content and GWT web client with the default servlet
+ // (acts like a standard file-based web server).
+ final ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
+ context.addServlet(defaultServlet, "/static/*");
+ context.addServlet(defaultServlet, "/webclient/*");
+ context.addServlet(defaultServlet, "/ws/*");
+ context.addServlet(defaultServlet, "/images/*");
+ context.addServlet(defaultServlet, "/javascripts/*");
+ context.addServlet(defaultServlet, "/stylesheets/*");
+ context.addServlet(defaultServlet, "/templates/*");
+
+ for (final Pair<String, ServletHolder> servlet : servletRegistry) {
+ context.addServlet(servlet.getSecond(), servlet.getFirst());
+ }
+
+ httpServer.setHandler(context);
+
+ try {
+ httpServer.start();
+ } catch (final Exception e) { // yes, .start() throws "Exception"
+ LOG.severe("Fatal error starting http server.", e);
+ return;
+ }
+ LOG.fine("WebSocket server running. --------");
+ }
+
+ /**
+ * Stops this server.
+ */
+ public void stopServer() throws IOException {
+ try {
+ httpServer.stop(); // yes, .stop() throws "Exception"
+ } catch (final Exception e) {
+ LOG.warning("Fatal error stopping http server.", e);
+ }
+ LOG.fine("server shutdown.");
+ }
+}
1
0
18 Feb '11
Author: vjrj_
Date: 2011-02-18 01:52:37 +0100 (Fri, 18 Feb 2011)
New Revision: 1255
Modified:
trunk/.classpath
trunk/.project
trunk/pom.xml
trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
Log:
Minor changes towards gwt 2.2.0
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2011-02-17 17:31:43 UTC (rev 1254)
+++ trunk/.classpath 2011-02-18 00:52:37 UTC (rev 1255)
@@ -1,116 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
- <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
- <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
- <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/googlecode/gwt/inject/gin/r137/gin-r137.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gxt-uibinder/0.6/gxt-uibinder-0.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="target/generated-sources/apt" including="**/*.java"/> <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
-</classpath>
\ No newline at end of file
+ <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gxt-uibinder/0.6/gxt-uibinder-0.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.1/proto-gwt-0.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry including="**/*.java" kind="src" path="target/generated-sources/apt"/>
+ <classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-user.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-dev.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
+</classpath>
Modified: trunk/.project
===================================================================
--- trunk/.project 2011-02-17 17:31:43 UTC (rev 1254)
+++ trunk/.project 2011-02-18 00:52:37 UTC (rev 1255)
@@ -1,88 +1,74 @@
-<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>kune</name>
- <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.ajdt.ui.ajnature</nature>
- <nature>com.google.gwt.eclipse.core.gwtNature</nature>
- <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
- </natures>
-</projectDescription>
+ <name>kune</name>
+ <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
+ </buildCommand>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.ajdt.ui.ajnature</nature>
+ <nature>com.google.gwt.eclipse.core.gwtNature</nature>
+ <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-17 17:31:43 UTC (rev 1254)
+++ trunk/pom.xml 2011-02-18 00:52:37 UTC (rev 1255)
@@ -96,6 +96,12 @@
</snapshots>
</repository>
<repository>
+ <id>gwtplatform.snapshot.repo</id>
+ <name>Gwtplatform snapshot repository</name>
+ <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
<id>openqa.org</id>
<name>Openqa Release Repository</name>
<url>http://archiva.openqa.org/repository/releases</url>
@@ -211,12 +217,12 @@
<!-- <version>2.1-SNAPSHOT-r1160</version> -->
<version>3.0-rc2</version>
</dependency>
+ <!-- <dependency>
+<groupId>com.googlecode.gwt.inject</groupId>
+<artifactId>gin</artifactId>
+<version>gin-1.1-SNAPSHOT</version>
+</dependency>-->
<dependency>
- <groupId>com.googlecode.gwt.inject</groupId>
- <artifactId>gin</artifactId>
- <version>r137</version>
- </dependency>
- <dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
<version>3.0-rc2</version>
@@ -241,6 +247,7 @@
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-all</artifactId>
<version>0.5</version>
+<!-- <version>0.6-SNAPSHOT</version>-->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
@@ -1010,14 +1017,14 @@
<!-- <onejarVersion>0.97</onejarVersion> -->
<!-- Optional, use only if you need to include native libraries
(dll's) -->
-<!-- <binlibs>-->
-<!-- <fileSet>-->
-<!-- <directory>${project.build.directory}/${project.build.finalName}</directory>-->
-<!-- <includes>-->
-<!-- <include>**</include>-->
-<!-- </includes>-->
-<!-- </fileSet>-->
-<!-- </binlibs>-->
+ <!-- <binlibs> -->
+ <!-- <fileSet> -->
+ <!-- <directory>${project.build.directory}/${project.build.finalName}</directory> -->
+ <!-- <includes> -->
+ <!-- <include>**</include> -->
+ <!-- </includes> -->
+ <!-- </fileSet> -->
+ <!-- </binlibs> -->
<!-- Optional, default is false -->
<attachToBuild>true</attachToBuild>
<!-- Optional, default is "onejar" -->
Modified: trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-17 17:31:43 UTC (rev 1254)
+++ trunk/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-18 00:52:37 UTC (rev 1255)
@@ -22,8 +22,8 @@
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.websocket.WebSocket;
import org.eclipse.jetty.websocket.WebSocketServlet;
import org.jruby.rack.RackFilter;
@@ -423,18 +423,21 @@
httpServer.addConnector(connector);
}
- // final WebAppContext webContext = new WebAppContext();
- final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ final WebAppContext context = new WebAppContext();
+
+ // FIXME This was with previous ServletContextHandler: needed?
+ // final ServletContextHandler context = new
+ // ServletContextHandler(ServletContextHandler.SESSIONS);
+
if (jettySessionManager != null) {
context.getSessionHandler().setSessionManager(jettySessionManager);
}
context.setResourceBase(resourceBase);
context.setContextPath(baseUrl);
+ context.setWar(baseUrl);
+ context.setParentLoaderPriority(true);
+ context.setDescriptor("WEB-INF/web.xml");
- // webContext.setResourceBase(resourceBase);
- // webContext.setContextPath(baseUrl);
- // webContext.setWar(baseUrl);
-
final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
httpbindHolder.setInitParameter("remotePath", "/http-bind/");
httpbindHolder.setInitParameter("remotePort", "5280");
1
0
Author: vjrj_
Date: 2011-02-14 01:14:58 +0100 (Mon, 14 Feb 2011)
New Revision: 1252
Added:
branches/wave-jetty-embed-guice/img/webtemplate/web_home_template-2011.svg
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/logo-big-home.png
Modified:
branches/wave-jetty-embed-guice/.project
branches/wave-jetty-embed-guice/TODO
branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatClientDefault.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/client/noti/NotifyUser.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInPresenter.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SessionDefault.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/UserSignInEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.html
branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmor.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmorImpl.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/pspace/client/PSpacePanel.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/client/WaveClientTester.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml
Log:
Few wiab changes
Modified: branches/wave-jetty-embed-guice/.project
===================================================================
--- branches/wave-jetty-embed-guice/.project 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/.project 2011-02-14 00:14:58 UTC (rev 1252)
@@ -1,78 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>kune</name>
- <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
- <projects/>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
- </buildCommand>
- <buildCommand>
- <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</name>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
- </buildCommand>
- <buildCommand>
- <name>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>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.ajdt.ui.ajnature</nature>
- <nature>com.google.gwt.eclipse.core.gwtNature</nature>
- <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>
- <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
- </natures>
-</projectDescription>
\ No newline at end of file
+ <name>kune</name>
+ <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.common.project.facet.core.builder (2).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (3).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/com.google.gwt.eclipse.core.gwtProjectValidator (2).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (4).launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.ajdt.ui.ajnature</nature>
+ <nature>com.google.gwt.eclipse.core.gwtNature</nature>
+ <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+ </natures>
+</projectDescription>
Modified: branches/wave-jetty-embed-guice/TODO
===================================================================
--- branches/wave-jetty-embed-guice/TODO 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/TODO 2011-02-14 00:14:58 UTC (rev 1252)
@@ -12,6 +12,7 @@
* SHORT-TERM (URGENT)
** >> Delete host/room conf in ws.html
+** >> kune.properties from cmd line
** HelloWord with samples of extensions: sitebar, sitebar options menu, siteuseroptions, sn, ...
** TODO Register of "reserved words" not permitted for groups/users names (in server and in client)
** TODO WIAB under proxies
Added: branches/wave-jetty-embed-guice/img/webtemplate/web_home_template-2011.svg
===================================================================
--- branches/wave-jetty-embed-guice/img/webtemplate/web_home_template-2011.svg (rev 0)
+++ branches/wave-jetty-embed-guice/img/webtemplate/web_home_template-2011.svg 2011-02-14 00:14:58 UTC (rev 1252)
@@ -0,0 +1,3125 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1024"
+ height="768"
+ id="svg3182"
+ version="1.1"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="web_home_template-2011.svg"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ style="display:inline">
+ <defs
+ id="defs3184" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="546.88652"
+ inkscape:cy="736.55101"
+ inkscape:current-layer="layer1"
+ inkscape:document-units="px"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="974"
+ inkscape:window-x="0"
+ inkscape:window-y="21"
+ inkscape:window-maximized="1"
+ inkscape:snap-bbox="false"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-page="true"
+ inkscape:snap-object-midpoints="false"
+ inkscape:snap-global="true"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:snap-nodes="false"
+ inkscape:snap-bbox-edge-midpoints="true"
+ borderlayer="false"
+ showborder="false"
+ inkscape:showpageshadow="false">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3446"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ dotted="true"
+ color="#58586d"
+ opacity="0.90980392"
+ empcolor="#b2b2b2"
+ empopacity="0" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3187">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="background"
+ style="display:inline"
+ sodipodi:insensitive="true">
+ <rect
+ style="color:#000000;fill:#ececec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect5254"
+ width="1508.2104"
+ height="880"
+ x="-228.21049"
+ y="-32"
+ rx="5"
+ ry="4.9999995"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ </g>
+ <g
+ id="layer1"
+ inkscape:label="normal"
+ inkscape:groupmode="layer"
+ style="display:inline">
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect5037"
+ width="1013"
+ height="657.95032"
+ x="7"
+ y="112"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#ff9999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4635"
+ width="87.859406"
+ height="19.905512"
+ x="2.0708618"
+ y="111.27247"
+ rx="4"
+ ry="4" />
+ <g
+ style="opacity:0.5;display:inline"
+ id="g5064"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ transform="translate(804.21116,-0.597721)">
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-logo-16px.png"
+ id="path5050"
+ d="m 206.0077,119.17481 c -0.23779,0 -0.46633,8.7e-4 -0.69567,0.0158 -0.0214,0.004 -0.0417,0.0118 -0.0632,0.0158 -0.21349,0.0399 -0.4241,0.0739 -0.6482,0.0791 -0.0311,0.004 -0.064,-0.005 -0.0949,0 -1.82915,0.27537 -3.37459,1.06959 -4.61662,2.38736 -1.45043,1.53186 -2.18178,3.36697 -2.18178,5.50197 0,2.15893 0.73135,4.00649 2.18178,5.53358 1.57013,1.64669 3.61017,2.46636 6.11859,2.46636 1.33077,0 2.61016,-0.33065 3.82604,-0.99601 1.21588,-0.64624 2.27312,-1.56093 3.1779,-2.71936 l -2.73518,-1.51778 c -1.17765,1.57013 -2.6245,2.35569 -4.34781,2.35569 -1.19676,0 -2.26981,-0.3882 -3.1937,-1.1541 -0.93824,-0.76596 -1.40711,-1.69889 -1.40711,-2.81422 l 12.5059,0 0,-0.63244 c 0,-2.70464 -0.91615,-4.8704 -2.73518,-6.49798 -1.53185,-1.35475 -3.22873,-2.02374 -5.09086,-2.02374 z m -58.15001,0.11067 0,6.0553 -2.1186,0 0,3.09885 2.1186,0 0,6.32407 3.22527,0 0,-6.32407 1.94464,0 3.96838,6.32407 3.82609,0 -5.32806,-8.03161 5.09091,-7.14623 -3.90514,0 -3.93676,5.75492 -1.66006,0 0,-6.0553 -3.22527,0 z m 39.573,0 c -0.55523,0.0991 -1.07256,0.26037 -1.5494,0.50596 -0.80423,0.43082 -1.43916,0.99904 -1.91307,1.7075 l 0,-1.91308 -3.24108,0 0,15.17784 3.24108,0 0,-8.5059 c 0,-1.21588 0.3431,-2.14881 1.02768,-2.81422 0.68934,-0.66536 1.5632,-0.99601 2.64032,-0.99607 1.13926,6e-5 2.02899,0.30575 2.65612,0.93283 0.62708,0.62713 0.93277,1.60993 0.93277,2.94069 l 0,8.44267 3.24113,0 0,-9.1541 c -5e-5,-1.86218 -0.56822,-3.40069 -1.70754,-4.61662 -0.85448,-0.91187 -1.84318,-1.4795 -2.97232,-1.7075 l -2.35569,0 z m -24.56913,0.30038 0,8.79053 c 0,2.0584 0.69395,3.72268 2.08698,4.99601 1.29249,1.19676 2.89338,1.80235 4.77467,1.80235 1.90046,0 3.49322,-0.60559 4.79053,-1.80235 1.39298,-1.27333 2.08693,-2.93761 2.08693,-4.99601 l 0,-8.79053 -3.24108,0 0,8.50591 c -6e-5,1.12015 -0.34316,2.03148 -1.02768,2.73517 -0.70851,0.72762 -1.56992,1.09092 -2.6087,1.09092 -1.0005,0 -1.86857,-0.36806 -2.57708,-1.09092 -0.70369,-0.72762 -1.04349,-1.63413 -1.04343,-2.73517 l 0,-8.50591 -3.24114,0 z m 42.73504,2.49803 c 1.05794,0 1.98172,0.2966 2.76679,0.8854 0.76114,0.60314 1.32167,1.48182 1.67593,2.64031 l -8.71148,0 c 0.25371,-1.11539 0.78014,-1.98162 1.5652,-2.60869 0.76114,-0.60797 1.66002,-0.91702 2.70356,-0.91702 z"
+ style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem" />
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-logo-16px.png"
+ transform="matrix(0.1111494,0,0,0.111008,121.5678,22.515968)"
+ id="g5052">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path5054"
+ d="m 60.321717,411.99998 377.014613,0"
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path5056"
+ d="m 252.61203,788.60332 0,-377.01178"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path5058"
+ d="m 252.86937,597.15755 377.0124,0"
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path5060"
+ d="m 437.45588,596.97447 0,-377.01491"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path5062"
+ d="m 372.87905,411.27704 64.93441,0"
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ </g>
+ </g>
+ <g
+ style="display:inline"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ transform="matrix(1.0005291,0,0,1,-859.84649,-399.18897)"
+ id="g5355">
+ <g
+ style="opacity:0.5;display:inline"
+ id="g5357"
+ transform="translate(1196.4702,509.33669)"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-org-home-draft-0.5.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <rect
+ style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect5359"
+ width="15.999997"
+ height="15.999997"
+ x="405.52979"
+ y="8.8522816"
+ rx="3.7976301"
+ ry="3.7996395" />
+ <g
+ transform="matrix(1.635216,0,0,1.635216,-260.6467,-12.57016)"
+ id="g5361">
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.74860978;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.37500004;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 409.34583,20.876719 3.87812,-3.835542"
+ id="path5363" />
+ <g
+ id="g5365">
+ <path
+ transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)"
+ d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
+ sodipodi:ry="26.82268"
+ sodipodi:rx="26.82268"
+ sodipodi:cy="332.62314"
+ sodipodi:cx="250.53525"
+ id="path5367"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99973555pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.05245387,0,0,0.05245387,400.1808,-0.554549)"
+ d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
+ sodipodi:ry="26.82268"
+ sodipodi:rx="26.82268"
+ sodipodi:cy="332.62314"
+ sodipodi:cx="250.53525"
+ id="path5369"
+ style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:#dd8a3d;stroke-width:0.99973555pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+ </g>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffba7f;stroke-width:0.95032339pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ id="rect5371"
+ width="158.81178"
+ height="14.922246"
+ x="1622.4989"
+ y="518.67261"
+ rx="0.34581041"
+ ry="0.24117236"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-org-home-draft-0.5.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu"
+ id="text5373"
+ font-size="11"
+ x="1626.7657"
+ y="529.99762"
+ sodipodi:linespacing="125%"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-org-home-draft-0.5.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <tspan
+ sodipodi:role="line"
+ id="tspan5375"
+ x="1626.7657"
+ y="529.99762">Search</tspan>
+ </text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="-324.67099"
+ y="280.7749"
+ id="text3019"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3021"
+ x="-324.67099"
+ y="280.7749">720x90</tspan></text>
+ <rect
+ y="18.5"
+ x="-651.5"
+ height="99.000008"
+ width="299"
+ id="rect3029"
+ style="color:#000000;fill:none;stroke:#b3b3b3;stroke-width:0.99999988;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3033"
+ y="34.92186"
+ x="-408.26172"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="34.92186"
+ x="-408.26172"
+ id="tspan3035"
+ sodipodi:role="line">300x100</tspan></text>
+ <g
+ id="g3091"
+ transform="translate(-359.28223,-129.8584)">
+ <rect
+ style="color:#000000;fill:none;stroke:#b3b3b3;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3029-4"
+ width="49"
+ height="49"
+ x="12.053711"
+ y="39.436508" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3073"
+ y="67.858398"
+ x="19.282227"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan3081"
+ y="67.858398"
+ x="19.282227"
+ sodipodi:role="line">50x50</tspan></text>
+ </g>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3073-8"
+ y="368.84732"
+ x="-806.35638"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="368.84732"
+ x="-806.35638"
+ sodipodi:role="line"
+ id="tspan3125">centrado vertical/horizontal, tamaño y color letra, editor ??? mmm igual...</tspan></text>
+ <g
+ id="g3877"
+ style="fill:#a05a2c"
+ transform="translate(-288,1795)">
+ <rect
+ rx="10"
+ ry="10"
+ y="118.5"
+ x="819.5"
+ height="51.955261"
+ width="195"
+ id="rect3045"
+ style="color:#000000;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3871"
+ width="81.320587"
+ height="51.955261"
+ x="819.5"
+ y="118.5" />
+ <rect
+ y="135.73912"
+ x="933.07611"
+ height="34.716145"
+ width="81.320587"
+ id="rect3873"
+ style="color:#000000;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <g
+ id="g5389"
+ transform="translate(-751,-12)">
+ <path
+ transform="translate(0,-3)"
+ d="m 333,232 c 0,6.07513 -4.92487,11 -11,11 -6.07513,0 -11,-4.92487 -11,-11 0,-6.07513 4.92487,-11 11,-11 6.07513,0 11,4.92487 11,11 z"
+ sodipodi:ry="11"
+ sodipodi:rx="11"
+ sodipodi:cy="232"
+ sodipodi:cx="322"
+ id="path5365"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#c8b7b7;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="314.99805"
+ y="213.47852"
+ id="text5381"
+ sodipodi:linespacing="100%"><tspan
+ id="tspan5383"
+ sodipodi:role="line"
+ x="314.99805"
+ y="213.47852" /><tspan
+ id="tspan5385"
+ sodipodi:role="line"
+ x="314.99805"
+ y="237.47852">+</tspan></text>
+ </g>
+ <rect
+ ry="5"
+ rx="5"
+ y="-113.91792"
+ x="791.33704"
+ height="28"
+ width="193.76195"
+ id="rect5041"
+ style="color:#000000;fill:#f9f9f9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <image
+ width="16"
+ height="16"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAdpJREFU OI2lkk1I03EYxz97aYyx9J9lCWlYNjZaIE16uYTUZVDdgsJjt6B7lBEMIlAvmRV5VAovXTuFCRUD KRy71ETLpcPR2EsrRi/7b/9vh3+0lkqFz+nh+3s+Dw/f39chic2Uc1M04Aa4ccRx2OMzxr9VypF/ gbx+I1H9Ur54/aVeIYmhfmMuPjmiulmVUtNSblHKvpYWnkkLz+0+tyilplU3q4pPjmio35iTBJKI 9WHDdVOKhaXSinTntJR6Ks3P2H1pxX6rm6qbVcX6kKSGB073FsgkoSMEvjYoLEHoJARPQCFtax0h yCTt2XVNLKRhWxeUlsHobOjGbltr2wP5pSakeUF7DxTfw4698DHT0MursL0bisv2zJ+/AGDVTJyd vZB/B59zsCsIb56A0wU7A1ApQP4tdPVi1czmC7x+IzE7NYplWTBwF2TB2WHwbgWPz+6tOpwfw7LE 7NQoXr+RAHBI+pUDyYqcGRznYHSASvEDM/eukXw8gSxrwxw4fo/yw0vRB4HjpwJHwz1OJi4EcXtu 8zV7kzF9Xy9QTR48OudwZfOt0WOVFzDfnUbeAwxnVjcC1ywof2q52u6pte4PH7rF5fiVv4FrFhgu M7Kvhfv/A8NPEzdTPwCqtvHRDwWVwwAAAABJRU5ErkJggg== "
+ id="image5043"
+ x="972.55145"
+ y="-76.540894" />
+ <image
+ y="112.88816"
+ x="7.4508514"
+ id="image4632"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAV5JREFU OI2lk01OAkEQhb8axgGG30EiEEiMLoxuvK1X8ABewDsQdy4gBhNiJgg4IuhMl4vWAQSFxFp2+n2v XnW1mJsr5R/l/jyQSh3qbai1oVhFb6/3B0jnDDrnUArAcTZvOw4Ysx0grRM4uQTXQx/vkXAAk3CD IRkXTeJ1gJQC6FxAxoX+HfS6bB2MMeB5FvI+t00BELQg56PDPtrr/pmZJIaMi2TcJUArddteOPhb DKgaEAe83BIgfhmSD5huZt4aAyyE7yEakx7sVQcemGQlwssI1IBf3qkVL2fNkhWARCPbRdDc7Z7N W4CaJYDREH0dQ62JNI5/d/fLkC9Z8dczugA6myJPD2jrFI6OES8P09BGAyRXhKwPhbIVLmbpMqWb qOEASWI4bKGlGhSq0IgRk9i8SQzzCKIx+halXa39BX0eIvMIKVTtQL2sFc8msHiD2TTdwK0AwNJX HHbVJ0YdhWYwKlACAAAAAElFTkSuQmCC "
+ height="16"
+ width="16" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ sodipodi:linespacing="125%"
+ id="text4717"
+ y="125.59216"
+ x="25.170853"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ y="125.59216"
+ x="25.170853"
+ id="tspan4719"
+ sodipodi:role="line"
+ style="font-size:16px;font-weight:bold;-inkscape-font-specification:Ubuntu Bold">Loading</tspan></text>
+ <rect
+ style="color:#000000;fill:#ff9999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4721"
+ width="87.663948"
+ height="3.7137473"
+ x="2.0788269"
+ y="111.25339" />
+ <g
+ transform="translate(804.21116,-270.59772)"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/kune-logo.png"
+ id="g8266"
+ style="opacity:0.5;display:inline">
+ <path
+ style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem"
+ d="m 206.0077,119.17481 c -0.23779,0 -0.46633,8.7e-4 -0.69567,0.0158 -0.0214,0.004 -0.0417,0.0118 -0.0632,0.0158 -0.21349,0.0399 -0.4241,0.0739 -0.6482,0.0791 -0.0311,0.004 -0.064,-0.005 -0.0949,0 -1.82915,0.27537 -3.37459,1.06959 -4.61662,2.38736 -1.45043,1.53186 -2.18178,3.36697 -2.18178,5.50197 0,2.15893 0.73135,4.00649 2.18178,5.53358 1.57013,1.64669 3.61017,2.46636 6.11859,2.46636 1.33077,0 2.61016,-0.33065 3.82604,-0.99601 1.21588,-0.64624 2.27312,-1.56093 3.1779,-2.71936 l -2.73518,-1.51778 c -1.17765,1.57013 -2.6245,2.35569 -4.34781,2.35569 -1.19676,0 -2.26981,-0.3882 -3.1937,-1.1541 -0.93824,-0.76596 -1.40711,-1.69889 -1.40711,-2.81422 l 12.5059,0 0,-0.63244 c 0,-2.70464 -0.91615,-4.8704 -2.73518,-6.49798 -1.53185,-1.35475 -3.22873,-2.02374 -5.09086,-2.02374 z m -58.15001,0.11067 0,6.0553 -2.1186,0 0,3.09885 2.1186,0 0,6.32407 3.22527,0 0,-6.32407 1.94464,0 3.96838,6.32407 3.82609,0 -5.32806,-8.03161 5.09091,-7.14623 -3.90514,0 -3.93676,5.75492 -1.66006,0 0,-6.0553 -3.22527,0 z m 39.573,0 c -0.55523,0.0991 -1.07256,0.26037 -1.5494,0.50596 -0.80423,0.43082 -1.43916,0.99904 -1.91307,1.7075 l 0,-1.91308 -3.24108,0 0,15.17784 3.24108,0 0,-8.5059 c 0,-1.21588 0.3431,-2.14881 1.02768,-2.81422 0.68934,-0.66536 1.5632,-0.99601 2.64032,-0.99607 1.13926,6e-5 2.02899,0.30575 2.65612,0.93283 0.62708,0.62713 0.93277,1.60993 0.93277,2.94069 l 0,8.44267 3.24113,0 0,-9.1541 c -5e-5,-1.86218 -0.56822,-3.40069 -1.70754,-4.61662 -0.85448,-0.91187 -1.84318,-1.4795 -2.97232,-1.7075 l -2.35569,0 z m -24.56913,0.30038 0,8.79053 c 0,2.0584 0.69395,3.72268 2.08698,4.99601 1.29249,1.19676 2.89338,1.80235 4.77467,1.80235 1.90046,0 3.49322,-0.60559 4.79053,-1.80235 1.39298,-1.27333 2.08693,-2.93761 2.08693,-4.99601 l 0,-8.79053 -3.24108,0 0,8.50591 c -6e-5,1.12015 -0.34316,2.03148 -1.02768,2.73517 -0.70851,0.72762 -1.56992,1.09092 -2.6087,1.09092 -1.0005,0 -1.86857,-0.36806 -2.57708,-1.09092 -0.70369,-0.72762 -1.04349,-1.63413 -1.04343,-2.73517 l 0,-8.50591 -3.24114,0 z m 42.73504,2.49803 c 1.05794,0 1.98172,0.2966 2.76679,0.8854 0.76114,0.60314 1.32167,1.48182 1.67593,2.64031 l -8.71148,0 c 0.25371,-1.11539 0.78014,-1.98162 1.5652,-2.60869 0.76114,-0.60797 1.66002,-0.91702 2.70356,-0.91702 z"
+ id="path8268"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-logo-16px.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g8270"
+ transform="matrix(0.1111494,0,0,0.111008,121.5678,22.515968)"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-logo-16px.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 60.321717,411.99998 377.014613,0"
+ id="path8272"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 252.61203,788.60332 0,-377.01178"
+ id="path8274"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 252.86937,597.15755 377.0124,0"
+ id="path8276"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 437.45588,596.97447 0,-377.01491"
+ id="path8278"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ d="m 372.87905,411.27704 64.93441,0"
+ id="path8280"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot3835"
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:justify;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.85;color:#000000;fill:#2b1100;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ transform="translate(-103,-19)"><flowRegion
+ id="flowRegion3837"><rect
+ id="rect3839"
+ width="666.18433"
+ height="187.65573"
+ x="286.03818"
+ y="329.61539"
+ style="text-align:justify;text-anchor:start" /></flowRegion><flowPara
+ style="font-size:28px;font-weight:bold;text-align:justify;text-anchor:start;-inkscape-font-specification:Ubuntu Bold"
+ id="flowPara5637"><flowSpan
+ id="flowSpan5644"
+ style="font-size:28px;font-weight:normal;text-align:justify;text-anchor:start;-inkscape-font-specification:Ubuntu">Welcome! This site is a Kune node. Kune, which means "together" in esperanto, it's a network of interconnected sites like this one, where you can <flowSpan
+ style="font-weight:bold;-inkscape-font-specification:Ubuntu Bold"
+ id="flowSpan5635">communicate, share, collaborate with others and </flowSpan></flowSpan>create your web spaces easily. <flowSpan
+ style="fill:#803300"
+ id="flowSpan5641">Join!</flowSpan></flowPara></flowRoot> <g
+ transform="translate(527.82096,-660.09755)"
+ id="g2737"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/logo-big-home.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="399.59854"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ id="path2689"
+ d="m 298.07933,890.09763 c -0.74303,0 -1.45723,0.003 -2.17391,0.0494 -0.0669,0.0136 -0.13033,0.0368 -0.19763,0.0494 -0.66715,0.12461 -1.32536,0.23087 -2.02569,0.24704 -0.097,0.0136 -0.19995,-0.0145 -0.29644,0 -5.71605,0.86055 -10.54554,3.34248 -14.42688,7.46047 -4.53271,4.78706 -6.81817,10.52182 -6.81818,17.19368 0,6.74672 2.28548,12.52044 6.81818,17.29249 4.90667,5.14604 11.2818,7.70749 19.12055,7.70751 4.15869,-2e-5 8.15681,-1.03328 11.95652,-3.11265 3.79965,-2.01951 7.10345,-4.87783 9.93083,-8.49802 l -8.54743,-4.74308 c -3.68005,4.90668 -8.20158,7.36166 -13.58695,7.36166 -3.73988,0 -7.0931,-1.21319 -9.98024,-3.60672 -2.93207,-2.39351 -4.39727,-5.30891 -4.39723,-8.79447 l 39.08102,0 0,-1.97629 c -4e-5,-8.45204 -2.86291,-15.22007 -8.54743,-20.30632 -4.78705,-4.23347 -10.0899,-6.32405 -15.90909,-6.32411 z m -181.71937,0.34585 0,18.92292 -6.62055,0 0,9.6838 6.62055,0 0,19.76285 10.07905,0 0,-19.76285 6.07708,0 12.40119,19.76285 11.95652,0 -16.6502,-25.09882 15.90909,-22.33202 -12.20356,0 -12.30237,17.98419 -5.18775,0 0,-18.92292 -10.07905,0 z m 123.66601,0 c -1.73503,0.30966 -3.35171,0.81366 -4.8419,1.58103 -2.5132,1.34638 -4.49729,3.12201 -5.97826,5.33597 l 0,-5.97827 -10.12846,0 0,47.43084 10.12846,0 0,-26.58103 c -1e-5,-3.79965 1.07224,-6.71507 3.21147,-8.79447 2.15413,-2.07932 4.88507,-3.11262 8.25098,-3.11265 3.56032,3e-5 6.34065,0.95537 8.3004,2.91502 1.95964,1.95972 2.91496,5.03102 2.91502,9.18973 l 0,26.3834 10.12846,0 0,-28.60672 c -5e-5,-5.8192 -1.77567,-10.62715 -5.33597,-14.42688 -2.67029,-2.84973 -5.76,-4.62351 -9.28854,-5.33597 l -7.36166,0 z m -76.77865,0.93873 0,27.47036 c -2e-5,6.43257 2.16853,11.63344 6.52173,15.61265 4.03904,3.73986 9.04189,5.63239 14.92095,5.63241 5.93886,-2e-5 10.91633,-1.89255 14.97036,-5.63241 4.35315,-3.97921 6.52169,-9.18008 6.52174,-15.61265 l 0,-27.47036 -10.12846,0 0,26.58103 c -5e-5,3.50052 -1.0723,6.34841 -3.21146,8.54743 -2.21404,2.27385 -4.906,3.40909 -8.15218,3.40909 -3.12654,2e-5 -5.83938,-1.15019 -8.05336,-3.40909 -2.19905,-2.27381 -3.2609,-5.10673 -3.26087,-8.54743 l 0,-26.58103 -10.12845,0 z m 133.54743,7.80633 c 3.306,5e-5 6.19285,0.92683 8.64624,2.7668 2.37851,1.88491 4.13014,4.63084 5.23716,8.25099 l -27.22332,0 c 0.79283,-3.48552 2.43792,-6.19246 4.8913,-8.15218 2.37853,-1.89981 5.18745,-2.86556 8.44862,-2.86561 z"
+ style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem" />
+ <g
+ inkscape:export-ydpi="399.59854"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ transform="matrix(0.347343,0,0,0.346901,34.203754,588.03773)"
+ id="g2691">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2693"
+ d="m 60.321717,411.99998 377.014613,0"
+ style="fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2695"
+ d="m 252.61203,788.60332 0,-377.01178"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2697"
+ d="m 252.86937,597.15755 377.0124,0"
+ style="fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2699"
+ d="m 437.45588,596.97447 0,-377.01491"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2701"
+ d="m 372.87905,411.27704 64.93441,0"
+ style="fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ </g>
+ </g>
+ <rect
+ style="opacity:0.85;color:#000000;fill:#e3dbdb;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4652"
+ width="317"
+ height="189"
+ x="1473"
+ y="534" />
+ <flowRoot
+ transform="translate(-101,201)"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:justify;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.85;color:#000000;fill:#c87137;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ id="flowRoot4636"
+ xml:space="preserve"><flowRegion
+ id="flowRegion4638"><rect
+ style="font-size:22px;text-align:justify;text-anchor:start;fill:#c87137;fill-opacity:1"
+ y="329.61539"
+ x="286.03818"
+ height="62.655731"
+ width="331.18436"
+ id="rect4640" /></flowRegion><flowPara
+ style="font-size:22px;font-weight:bold;text-align:start;text-anchor:start;fill:#c87137;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
+ id="flowPara4642">Latests groups created</flowPara></flowRoot> <flowRoot
+ transform="translate(-100,388)"
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:justify;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.85;color:#000000;fill:#8a5050;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ id="flowRoot4644"
+ xml:space="preserve"><flowRegion
+ id="flowRegion4646"><rect
+ style="text-align:justify;text-anchor:start;color:#000000;fill:#8a5050;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ y="329.61539"
+ x="286.03818"
+ height="187.65573"
+ width="666.18433"
+ id="rect4648" /></flowRegion><flowPara
+ style="font-size:20px;font-weight:bold;text-align:justify;text-anchor:start;color:#000000;fill:#8a5050;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;-inkscape-font-specification:Ubuntu Bold"
+ id="flowPara4650">(©) cc-by-sa kune.beta.ieapala.es </flowPara></flowRoot> <flowRoot
+ transform="translate(-103,238)"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:justify;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.85;color:#000000;fill:#8a5050;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ id="flowRoot4654"
+ xml:space="preserve"><flowRegion
+ id="flowRegion4656"><rect
+ style="font-size:18px;text-align:justify;text-anchor:start;fill:#8a5050;fill-opacity:1"
+ y="329.61539"
+ x="286.03818"
+ height="187.65573"
+ width="666.18433"
+ id="rect4658" /></flowRegion><flowPara
+ id="flowPara4662">11/Feb/2011 - Some project</flowPara><flowPara
+ id="flowPara4664">11/Feb/2011 - Other project</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5602"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:justify;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.85;color:#000000;fill:#c87137;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ transform="translate(-98,306)"><flowRegion
+ id="flowRegion5604"><rect
+ id="rect5606"
+ width="331.18436"
+ height="62.655731"
+ x="286.03818"
+ y="329.61539"
+ style="font-size:22px;text-align:justify;text-anchor:start;fill:#c87137;fill-opacity:1" /></flowRegion><flowPara
+ id="flowPara5608"
+ style="font-size:22px;font-weight:bold;text-align:start;text-anchor:start;fill:#c87137;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Other stats</flowPara></flowRoot> <g
+ style="display:inline"
+ transform="translate(354.82096,-1105.0975)"
+ id="g2737-4"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/logo-big-home.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="399.59854"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ id="path2689-7"
+ d="m 298.07933,890.09763 c -0.74303,0 -1.45723,0.003 -2.17391,0.0494 -0.0669,0.0136 -0.13033,0.0368 -0.19763,0.0494 -0.66715,0.12461 -1.32536,0.23087 -2.02569,0.24704 -0.097,0.0136 -0.19995,-0.0145 -0.29644,0 -5.71605,0.86055 -10.54554,3.34248 -14.42688,7.46047 -4.53271,4.78706 -6.81817,10.52182 -6.81818,17.19368 0,6.74672 2.28548,12.52044 6.81818,17.29249 4.90667,5.14604 11.2818,7.70749 19.12055,7.70751 4.15869,-2e-5 8.15681,-1.03328 11.95652,-3.11265 3.79965,-2.01951 7.10345,-4.87783 9.93083,-8.49802 l -8.54743,-4.74308 c -3.68005,4.90668 -8.20158,7.36166 -13.58695,7.36166 -3.73988,0 -7.0931,-1.21319 -9.98024,-3.60672 -2.93207,-2.39351 -4.39727,-5.30891 -4.39723,-8.79447 l 39.08102,0 0,-1.97629 c -4e-5,-8.45204 -2.86291,-15.22007 -8.54743,-20.30632 -4.78705,-4.23347 -10.0899,-6.32405 -15.90909,-6.32411 z m -181.71937,0.34585 0,18.92292 -6.62055,0 0,9.6838 6.62055,0 0,19.76285 10.07905,0 0,-19.76285 6.07708,0 12.40119,19.76285 11.95652,0 -16.6502,-25.09882 15.90909,-22.33202 -12.20356,0 -12.30237,17.98419 -5.18775,0 0,-18.92292 -10.07905,0 z m 123.66601,0 c -1.73503,0.30966 -3.35171,0.81366 -4.8419,1.58103 -2.5132,1.34638 -4.49729,3.12201 -5.97826,5.33597 l 0,-5.97827 -10.12846,0 0,47.43084 10.12846,0 0,-26.58103 c -1e-5,-3.79965 1.07224,-6.71507 3.21147,-8.79447 2.15413,-2.07932 4.88507,-3.11262 8.25098,-3.11265 3.56032,3e-5 6.34065,0.95537 8.3004,2.91502 1.95964,1.95972 2.91496,5.03102 2.91502,9.18973 l 0,26.3834 10.12846,0 0,-28.60672 c -5e-5,-5.8192 -1.77567,-10.62715 -5.33597,-14.42688 -2.67029,-2.84973 -5.76,-4.62351 -9.28854,-5.33597 l -7.36166,0 z m -76.77865,0.93873 0,27.47036 c -2e-5,6.43257 2.16853,11.63344 6.52173,15.61265 4.03904,3.73986 9.04189,5.63239 14.92095,5.63241 5.93886,-2e-5 10.91633,-1.89255 14.97036,-5.63241 4.35315,-3.97921 6.52169,-9.18008 6.52174,-15.61265 l 0,-27.47036 -10.12846,0 0,26.58103 c -5e-5,3.50052 -1.0723,6.34841 -3.21146,8.54743 -2.21404,2.27385 -4.906,3.40909 -8.15218,3.40909 -3.12654,2e-5 -5.83938,-1.15019 -8.05336,-3.40909 -2.19905,-2.27381 -3.2609,-5.10673 -3.26087,-8.54743 l 0,-26.58103 -10.12845,0 z m 133.54743,7.80633 c 3.306,5e-5 6.19285,0.92683 8.64624,2.7668 2.37851,1.88491 4.13014,4.63084 5.23716,8.25099 l -27.22332,0 c 0.79283,-3.48552 2.43792,-6.19246 4.8913,-8.15218 2.37853,-1.89981 5.18745,-2.86556 8.44862,-2.86561 z"
+ style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem" />
+ <g
+ inkscape:export-ydpi="399.59854"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ transform="matrix(0.347343,0,0,0.346901,34.203754,588.03773)"
+ id="g2691-6">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2693-7"
+ d="m 60.321717,411.99998 377.014613,0"
+ style="fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2695-8"
+ d="m 252.61203,788.60332 0,-377.01178"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2697-9"
+ d="m 252.86937,597.15755 377.0124,0"
+ style="fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2699-7"
+ d="m 437.45588,596.97447 0,-377.01491"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path2701-4"
+ d="m 372.87905,411.27704 64.93441,0"
+ style="fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block" />
+ </g>
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer7"
+ inkscape:label="chat" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="overlay"
+ style="display:none">
+ <rect
+ style="opacity:0.68399999;color:#000000;fill:#f7ebe3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3865"
+ width="1017"
+ height="654"
+ x="5"
+ y="111"
+ ry="0" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="dialogs"
+ style="display:none"
+ sodipodi:insensitive="true">
+ <rect
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect24748"
+ width="646.41687"
+ height="245.19261"
+ x="190.29156"
+ y="113.49999"
+ rx="10"
+ ry="10" />
+ <rect
+ y="113.49999"
+ x="190.29156"
+ height="201.29102"
+ width="646.41687"
+ id="rect24750"
+ style="color:#000000;fill:#6c5353;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3894"
+ width="646.41687"
+ height="8.5292969"
+ x="190.29156"
+ y="111" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3896"
+ width="320"
+ height="32"
+ x="221.5"
+ y="148.5"
+ rx="5"
+ ry="5" />
+ <rect
+ ry="5"
+ rx="5"
+ y="204"
+ x="221.5"
+ height="32"
+ width="193"
+ id="rect3899"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3901"
+ width="193"
+ height="32"
+ x="221.5"
+ y="259.5"
+ rx="5"
+ ry="5" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="221.40039"
+ y="143.76562"
+ id="text3903"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3905"
+ x="221.40039"
+ y="143.76562">name</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3907"
+ y="199.76562"
+ x="271.49805"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:end;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:end;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="199.76562"
+ x="271.49805"
+ id="tspan3909"
+ sodipodi:role="line">email</tspan></text>
+ <rect
+ style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3911"
+ width="103.29102"
+ height="26"
+ x="218.99998"
+ y="325"
+ rx="6.9999995"
+ ry="7" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="232.03516"
+ y="343.10547"
+ id="text3903-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3905-6"
+ x="232.03516"
+ y="343.10547">Continuar</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="219.83398"
+ y="254.76562"
+ id="text3958"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3960"
+ x="219.83398"
+ y="254.76562">language</tspan></text>
+ <rect
+ ry="5"
+ rx="4.9999995"
+ y="259.5"
+ x="391.5"
+ height="32"
+ width="23"
+ id="rect3962"
+ style="color:#000000;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3964"
+ y="328.44327"
+ x="339.50107"
+ style="font-size:21.83877945px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"
+ transform="scale(1.1657305,0.8578312)"><tspan
+ y="328.44327"
+ x="339.50107"
+ id="tspan3966"
+ sodipodi:role="line">v</tspan></text>
+ <rect
+ ry="7"
+ rx="6.9999995"
+ y="325"
+ x="705"
+ height="26"
+ width="103.29102"
+ id="rect3968"
+ style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3970"
+ y="343.10547"
+ x="722.03516"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="343.10547"
+ x="722.03516"
+ id="tspan3972"
+ sodipodi:role="line">Cancelar</tspan></text>
+ <path
+ style="opacity:0.81000001;color:#000000;fill:#ac9393;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 795,144 211,-25"
+ id="path8441"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:#6c5353;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:transform-center-x="-5.9580116"
+ inkscape:transform-center-y="-0.62993359"
+ d="m 862.37995,145.60404 -26.67151,29.29513 -1.53827,-47.36987 z"
+ id="path8447"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <g
+ style="display:none"
+ inkscape:label="confirmation"
+ id="g8450"
+ inkscape:groupmode="layer">
+ <rect
+ ry="10"
+ rx="10"
+ y="113.49999"
+ x="277.29156"
+ height="205.09827"
+ width="476.85486"
+ id="rect8452"
+ style="opacity:0.85;color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="opacity:0.85;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8454"
+ width="444.9288"
+ height="120.59032"
+ x="293.62372"
+ y="149.06573"
+ rx="3"
+ ry="3" />
+ <rect
+ y="112.08939"
+ x="277.29156"
+ height="7.9567051"
+ width="476.85486"
+ id="rect8456"
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#241c1c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="317.16895"
+ y="191.81694"
+ id="text8468"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8470"
+ x="317.16895"
+ y="191.81694">Confirm please</tspan></text>
+ <rect
+ ry="7"
+ rx="6.9999995"
+ y="280"
+ x="509"
+ height="26"
+ width="103.29102"
+ id="rect8472"
+ style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text8474"
+ y="298.10547"
+ x="522.03516"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="298.10547"
+ x="522.03516"
+ id="tspan8476"
+ sodipodi:role="line">Continuar</tspan></text>
+ <rect
+ style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8488"
+ width="103.29102"
+ height="26"
+ x="636"
+ y="280"
+ rx="6.9999995"
+ ry="7" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="653.03516"
+ y="298.10547"
+ id="text8490"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8492"
+ x="653.03516"
+ y="298.10547">Cancelar</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ id="path8494"
+ d="m 795,144 211,-25"
+ style="opacity:0.81000001;color:#000000;fill:#ac9393;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text8498"
+ y="229.14001"
+ x="317.08438"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ sodipodi:role="line"
+ id="tspan8502"
+ x="317.08438"
+ y="229.14001">Are you sure?</tspan></text>
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path8496"
+ d="m 819.54682,-91.528118 -26.67151,29.29513 -1.53827,-47.369872 z"
+ inkscape:transform-center-y="-0.62993359"
+ inkscape:transform-center-x="-5.9580116"
+ style="color:#000000;fill:#6c5353;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="notify"
+ style="display:none"
+ sodipodi:insensitive="true">
+ <g
+ style="display:inline"
+ id="g8344"
+ transform="translate(0,323)">
+ <g
+ transform="matrix(1,0,0,-0.84861,315.32544,35.16246)"
+ style="opacity:0.85;fill:#892c00;fill-opacity:1"
+ id="g4532">
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4520"
+ width="322.0191"
+ height="182.65163"
+ x="4.9808998"
+ y="110.34837"
+ ry="5.8919883"
+ rx="5" />
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4522"
+ width="71"
+ height="45"
+ x="5"
+ y="247.1942" />
+ <rect
+ y="247.5"
+ x="5"
+ height="45"
+ width="71"
+ id="rect4528"
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#892c00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4530"
+ width="71"
+ height="45"
+ x="256"
+ y="248.37251" />
+ </g>
+ <rect
+ rx="3"
+ ry="3"
+ y="-206.48027"
+ x="332.32544"
+ height="42"
+ width="294.9017"
+ id="rect4538"
+ style="opacity:0.79000005;color:#000000;fill:#fff0e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <use
+ height="768"
+ width="1024"
+ transform="translate(0,49)"
+ id="use4540"
+ xlink:href="#rect4538"
+ y="0"
+ x="0" />
+ <use
+ height="768"
+ width="1024"
+ transform="translate(0,49)"
+ id="use4542"
+ xlink:href="#use4540"
+ y="0"
+ x="0" />
+ <image
+ width="40"
+ height="40"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAWpJREFU OI3V07svw1EUB/Bv65FqtKrUY0A8QjQIaRCbgUZSoQkSiSYSj8mASEgHg8dfYDWRWjvUahAj0QRD k9+AySAsIvq7j985tqYJ9UgtTnJyh5v7Od/hHhszI5+y5/X6L4DCXBf3p7NTTLTGxGNNQ7HHXyW4 PYm4SamtsvrxflJq/asEnwKk1Iq7LtTuru2BFmo+FQ/3/hgwEpN+LdSyq9ID6yWB6q4FjyXk5k1s pOhbIBUP27WQUZ9/xgszifPDI5R60tCmHNWmHPsWsIQMOiu6Iq7yN5C4A5hgvV6gcXDNpoXYOd8b cOUErg6CxdqUu576btDbNZjSCEy0geQDHA4D1Z3T7VrI1ZyAJeSityUUcLqewPoZsBXgMm4AIJBp wNfaAEuopbPtDn82kPkH2hRRn38csN/D7vYBYPTNhTNzCkqa0TS8UWUcb28BmPoICOlI7k+kmRhM lNWcOUEEZq7JTmD7/8v0DkyzqBlaCormAAAAAElFTkSuQmCC "
+ id="image5750"
+ x="332.32544"
+ y="-207.48027" />
+ <flowRoot
+ transform="translate(319.49574,-354.48391)"
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ id="flowRoot5765"
+ xml:space="preserve"><flowRegion
+ id="flowRegion5767"><rect
+ style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ y="156.35263"
+ x="51.618793"
+ height="32.526917"
+ width="272.94324"
+ id="rect5769" /></flowRegion><flowPara
+ id="flowPara5771">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</flowPara></flowRoot> <image
+ style="opacity:0.81000001;fill:#cccccc"
+ width="16"
+ height="16"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAsNJREFU OI1tk7tPk1EUwH/fow+0NRIjg48YGgOt4KOp4aWk2iBqYkLixmJw8T9w6cBgpHFwMHEwLsRBB/AB MbiYUDSasIjBxA4OKLXUFkppsR/C1373uw6UCupNbm5ykt/vnHtOjsK28zgc1tNv344IuMp/jgaT Ai5HobIVU/6Cnzb5fJcu3rjhVjQNACklCIG0LN49emR+mpt7I+BKFKyaoAo/9/t8vZHr192LU1OY +fyO7E6vl4bOTt6NjpqJZHJSQF8ULG04FHJkp6dfBI4e7Y0MDGzCa2tgWTsEQlVZT6cJRCL62sLC 4ZVS6fRAOPxM68pkXh5rauo5f+2aOxuPYzU0oMdikEwis9nNvx8/zt5796gkEhifP3MsHNaNVOrI t0QiqPWo6pP+mzf1zOvXlAsF1L4+1NZWlM5O+PoVdd8+9gwN4aqvR5GS0tQUvwoFWsJhfebjx4Cu KApISblQ2Cx1eBhcLly9vbgHB9EVBafHgxmPk797FxvYMAykECiA+s+spEQ8eICcmcG5axdOrxdr dpZcLIawbWzABmS1R/8KAK2lBXcohK7rOBwOdgeD1IVCyCosymXEwsIfgRSiBqutrXhv38bp9bIR j7M2MYHT48F3/z6ejg7MXA7jyxfkz58A6FLKTZthICyLuvZ2XFV4eWgI2zTRgP39/dSdPMnGw4eg adjVpNoFKbsrxeKhQHu7VkokKI2PU/n+naVbtyhnMpSXl8mNjbE+P0/yzh0UTcPn95NeWbG/ra7m lRg4NXh1orGxuy0YdKXicdaLxVqztl/F4aCxuZl0oSDep9NLNnRpkyAiMJIrFs+ahnEw0NamlxYX qZjmDlh1OGj0+5nP58X0jx8pGzqikKot01Yl/gMHus+cOuVShMC2LKRl1d5EMml9yGbnbDgbheUd 27hdIqDnf+NVYdaGc1FY3Yr9BsdNUva1UTzZAAAAAElFTkSuQmCC "
+ id="image8263"
+ x="618.4762"
+ y="-176.44423" />
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="browser"
+ sodipodi:insensitive="true"
+ style="display:inline">
+ <g
+ id="g5439">
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11164"
+ d="m 1.9999,2.03929 0,4.96831 0.9937,0 L 6.9682,3.03295 1.9999,2.03929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7579ba;stroke:none"
+ id="path11166"
+ d="m 4.9809,3.03295 0,0.99366 57.6324,-0.99366 109.3027,0 340.8258,0 342.8131,0 109.3028,0 57.6323,0.99366 c -5.4154,-3.69749 -14.5174,-1.98732 -20.8669,-1.98732 l -48.6894,0 -185.8146,0 -519.6849,0 -162.9604,0 c -24.8566,0 -55.3276,-4.75943 -79.4929,0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11168"
+ d="m 1020.5027,2.03929 0,0.99366 3.9747,3.97465 0.9936,0 0,-4.96831 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a0d4a1;stroke:none"
+ id="path11170"
+ d="m 6.9682,3.03295 0,0.99366 1013.5345,0 -26.8288,-0.99366 -59.6197,0 -207.6752,0 -719.4108,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#8fcc8f;stroke:none"
+ id="path11172"
+ d="m 3.9872,4.02661 0,0.99367 1019.4965,0 -26.8289,-0.99367 -59.6196,0 -208.6689,0 -724.3791,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7579ba;stroke:none"
+ id="path11174"
+ d="m 2.9936,5.02028 -0.9937,28.81617 0,52.66404 0,167.92869 0,537.57082 1023.4711,0 0,-537.57082 0,-167.92869 0,-52.66404 -0.9936,-28.81617 -0.9937,0 c 5.0081,26.97621 0.9937,58.0148 0.9937,85.45486 l 0,169.9161 0,530.61516 -1021.4838,0 0,-539.55811 0,-168.92243 0,-53.65772 0,-23.84786 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7ac37b;stroke:none"
+ id="path11176"
+ d="m 3.9872,5.02028 0,0.99366 1019.4965,0 -26.8289,-0.99366 -59.6196,0 -208.6689,0 -724.3791,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#67ba68;stroke:none"
+ id="path11178"
+ d="m 2.9936,7.0076 0,0.99365 L 934.0542,7.0076 C 927.659,4.32398 918.1069,6.01394 911.2,6.01394 l -50.6767,0 -173.8908,0 -472.9827,0 -144.0809,0 C 49.393,6.01394 22.3021,1.30017 2.9936,7.0076 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5f9860;stroke:none"
+ id="path11180"
+ d="m 934.0542,6.01394 0,0.99366 56.6387,1.73126 33.7845,-0.73761 c -5.7136,-4.32671 -17.8561,-1.98731 -24.8416,-1.98731 l -65.5816,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#48607f;stroke:none"
+ id="path11182"
+ d="m 10.9429,8.99491 2.9809,0.99366 c 0.064,2.97453 -0.054,4.31806 2.981,4.96831 l 0,-0.99366 0,-5.96197 -5.9619,0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#58b359;stroke:none"
+ id="path11184"
+ d="m 16.9048,7.0076 0.9937,2.98097 29.8098,-1.98732 55.6451,0 188.7956,0 640.9115,0 -24.8415,-0.99365 -53.6577,0 -187.802,0 -649.8545,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#48ac49;stroke:none"
+ id="path11186"
+ d="m 933.0605,7.0076 c -19.3088,5.70749 -46.399,0.99365 -66.5753,0.99365 l -144.0809,0 -472.9827,0 -170.9098,0 -42.7274,0 c -4.3826,0 -11.8388,-1.52154 -14.9049,1.98732 C 32.1147,7.31381 45.1362,8.99491 56.6513,8.99491 l 66.5753,0 213.6372,0 74.5246,0 c 7.9512,0 21.7462,-2.7556 27.8225,2.98099 6.8145,-4.91979 15.0122,-2.14386 22.8542,-2.98099 l 0,3.97465 0.9936,0 0,-3.97465 2.981,0 0,3.97465 0.9937,0 0,-3.97465 19.8732,0 -2.981,1.98733 0,0.99366 4.9683,1.98732 0,-4.96831 338.8385,0 80.4866,0 24.8415,-1.98731 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#77c177;stroke:none"
+ id="path11188"
+ d="m 934.0542,7.0076 c 3.2751,3.74837 22.5601,3.74848 25.8352,0 l -25.8352,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#95cf96;stroke:none"
+ id="path11190"
+ d="m 935.0478,7.0076 0,0.99365 23.8479,0 -23.8479,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#77c177;stroke:none"
+ id="path11192"
+ d="m 961.8767,7.0076 c 2.4146,4.19 24.7173,5.21682 25.8352,0 l -25.8352,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#94ce95;stroke:none"
+ id="path11194"
+ d="m 962.8704,7.0076 0,0.99365 23.8478,0 -23.8478,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#77c177;stroke:none"
+ id="path11196"
+ d="m 993.6739,7.0076 c 3.279,3.74837 22.5561,3.74848 25.8351,0 l -25.8351,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#94ce95;stroke:none"
+ id="path11198"
+ d="m 994.6675,7.0076 0,0.99365 23.8479,0 -23.8479,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0c720d;stroke:none"
+ id="path11200"
+ d="m 1019.509,7.0076 0,5.96196 -8.9429,0 0.9937,5.96197 -3.9747,-2.98098 -0.9936,0 -3.9747,2.98098 0.9937,-4.96831 -22.8542,0 0,4.96831 -11.924,0 0,-5.96197 -6.9556,0 0,-4.96831 -1.9873,0 0,4.96831 -6.9557,0 0,3.97465 -10.9302,0 0,-2.98099 -420.3187,0 0,1.98733 411.3757,0 0,4.9683 27.8225,-0.56738 63.5944,1.56105 0,-13.91127 -4.9684,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3aa63c;stroke:none"
+ id="path11202"
+ d="m 2.9936,8.00125 0,2.98099 6.9556,0.99366 1.9873,-2.98099 -8.9429,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3497d1;stroke:none"
+ id="path11204"
+ d="m 14.9175,8.00125 0,5.96197 2.981,-5.96197 -2.981,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#da6a15;stroke:none"
+ id="path11206"
+ d="m 9.9492,8.99491 0,8.94296 10.9303,0.99366 -0.9937,-2.98098 -4.9683,0.99366 0,-0.99366 1.9873,0 0,-0.99367 -2.981,-4.96831 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#eec030;stroke:none"
+ id="path11208"
+ d="m 18.8922,8.99491 0.9936,8.94296 0.9937,0 c 1.9069,-3.98032 2.5907,-7.10125 -1.9873,-8.94296 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#31a233;stroke:none"
+ id="path11210"
+ d="m 21.8731,8.99491 0,0.99366 41.7338,0.99367 87.4422,0 284.1871,0 0,-1.98733 -413.3631,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ebf6eb;stroke:none"
+ id="path11212"
+ d="m 435.2362,8.99491 0,7.9493 1.9873,0 0,-4.96831 0.9937,0 0.9937,2.98098 0.9936,0 0.9937,-2.98098 0.9937,0 0,4.96831 0.9936,0 0,-7.9493 -3.9746,2.98099 -0.9937,-2.98099 -2.981,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c2e0c2;stroke:none"
+ id="path11214"
+ d="m 443.1855,8.99491 0,7.9493 0.9937,0 -0.9937,-7.9493 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#31a233;stroke:none"
+ id="path11216"
+ d="m 444.1792,8.99491 0,3.97465 c 4.8302,-1.35621 6.578,-1.02914 7.9493,3.97465 l 0.9936,-4.96831 0,-0.99366 4.9683,1.98732 C 459.4001,7.14035 447.7991,8.99491 444.1792,8.99491 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d8edd8;stroke:none"
+ id="path11218"
+ d="m 459.7469,9.32611 0.6618,0.33126 -0.6618,-0.33126 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0d800f;stroke:none"
+ id="path11220"
+ d="m 461.0714,8.99491 0,7.9493 -1.9873,0 0,-3.97465 -2.981,0.99366 1.9873,2.98099 c -5.0666,-0.17618 -9.4636,0.0848 -12.9176,-3.97465 l -0.9936,0 0,3.97465 -5.962,-4.96831 -0.9937,0 0,4.96831 -414.3567,0 0,0.99366 910.1937,0 0,-1.98732 -305.054,0 -83.4675,0 c -12.4119,0 -26.7216,2.86402 -37.7592,-2.98099 l 0,3.97465 -1.9873,0 0,-3.97465 -4.9683,2.98099 3.9747,-0.99367 c -3.463,2.26575 -5.6679,-0.24523 -8.943,-1.98732 l 0,3.97465 -2.981,-4.96831 -0.9936,0 0,4.96831 -1.9874,-2.98099 -6.9556,2.98099 0,-3.97465 -4.9683,0 0,3.97465 -6.9556,-0.99366 0.9936,-3.97465 -1.9873,4.96831 -1.9873,0 -0.9937,-7.9493 -0.9936,0 0,7.9493 -1.9874,0 -1.9873,-7.9493 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d2ebd3;stroke:none"
+ id="path11222"
+ d="m 464.0524,8.99491 0,7.9493 0.9937,0 -0.9937,-7.9493 m 3.9746,0 0,7.9493 0.9937,0 -0.9937,-7.9493 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#31a233;stroke:none"
+ id="path11224"
+ d="m 469.0207,11.9759 12.9176,0.99366 0,-3.97465 c -4.076,0 -11.8842,-1.84109 -12.9176,2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d8edd8;stroke:none"
+ id="path11226"
+ d="m 489.5567,9.32611 0.6618,0.33126 -0.6618,-0.33126 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#31a233;stroke:none"
+ id="path11228"
+ d="m 490.8813,8.99491 0.9936,4.96831 0.9937,0 0,-2.98098 11.9239,1.98732 0,-3.97465 -13.9112,0 m 15.8985,0.99366 0,1.98733 0,0.99366 53.6577,-1.98732 89.4296,0 283.1934,0 0,-1.98733 -289.1554,0 -91.4168,0 -45.7085,0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#1f9a21;stroke:none"
+ id="path11230"
+ d="m 933.0605,8.99491 c -5.5555,4.20915 -17.0631,1.98733 -23.8479,1.98733 l -59.6196,0 -230.5294,0 -73.531,0 c -6.9069,0 -21.0596,-2.8834 -24.8415,3.97464 l 48.6894,-0.99366 95.3915,0 295.1174,-0.99366 0,-2.98099 -26.8289,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#57b358;stroke:none"
+ id="path11232"
+ d="m 934.0542,8.99491 0,0.99366 25.8352,0 -25.8352,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#588858;stroke:none"
+ id="path11234"
+ d="m 961.8767,8.99491 0,0.99366 6.9556,0 0,8.94296 11.924,0 0,-9.93662 -0.9937,0 0,8.94296 -9.9366,0 0,-8.94296 -7.9493,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#1e9920;stroke:none"
+ id="path11236"
+ d="m 980.7563,9.98857 0,3.97465 22.8542,0 C 999.0694,7.66399 987.4943,9.84951 980.7563,9.98857 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#57b358;stroke:none"
+ id="path11238"
+ d="m 993.6739,8.99491 0,0.99366 25.8351,0 -25.8351,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2071ab;stroke:none"
+ id="path11240"
+ d="m 17.8985,9.98857 -0.9937,4.96831 2.981,-4.96831 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#88c989;stroke:none"
+ id="path11242"
+ d="m 459.7469,10.31977 0.6618,0.33128 -0.6618,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9cd29d;stroke:none"
+ id="path11244"
+ d="m 483.9256,9.98857 0,0.99367 2.981,0 -2.981,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#88c989;stroke:none"
+ id="path11246"
+ d="m 489.5567,10.31977 0.6618,0.33128 -0.6618,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#289e29;stroke:none"
+ id="path11248"
+ d="m 961.8767,9.98857 0,2.98099 6.9556,0 0,-2.98099 -6.9556,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#eaf5ea;stroke:none"
+ id="path11250"
+ d="m 969.826,9.98857 0,7.9493 9.9366,0 0,-7.9493 -9.9366,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#37a539;stroke:none"
+ id="path11252"
+ d="m 993.6739,9.98857 0,0.99367 12.9176,2.98098 0.9936,0 11.9239,-0.99366 0,-2.98099 -25.8351,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0f9111;stroke:none"
+ id="path11254"
+ d="m 2.9936,10.98224 0,10.93028 931.0606,0 0,-0.99367 -707.4868,0 -165.9415,0 c -12.988,0 -49.0337,6.66181 -51.6704,-9.93661 l -5.9619,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#90995f;stroke:none"
+ id="path11256"
+ d="m 19.8858,10.98224 0,2.98098 0.9937,0 -0.9937,-2.98098 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#1f9a21;stroke:none"
+ id="path11258"
+ d="m 22.8668,10.98224 0,1.98732 412.3694,0 0,-1.98732 -412.3694,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cee4cf;stroke:none"
+ id="path11260"
+ d="m 460.0778,10.98224 0,5.96197 0.9936,0 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f4faf4;stroke:none"
+ id="path11262"
+ d="m 471.008,10.98224 0,0.99366 2.981,0 0,0.99366 -2.981,3.97465 4.9683,0 c -0.2981,-3.83991 -1.0821,-5.31437 -4.9683,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cee4cf;stroke:none"
+ id="path11264"
+ d="m 489.8876,10.98224 0,5.96197 0.9937,0 -0.9937,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#bbe0bb;stroke:none"
+ id="path11266"
+ d="m 493.8622,10.98224 0.9937,1.98732 0.9937,0 0.9936,-1.98732 -2.981,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6abb6b;stroke:none"
+ id="path11268"
+ d="m 496.8432,10.98224 -0.9936,0.99366 0.9936,2.98098 0.9937,0 0.9936,-3.97464 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fcfefc;stroke:none"
+ id="path11270"
+ d="m 502.8052,16.94421 0,-0.99366 -2.981,-1.98733 3.9747,0 c -3.8604,-5.30036 -8.1501,1.78661 -0.9937,2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e7f1e7;stroke:none"
+ id="path11272"
+ d="m 516.7164,10.98224 0,5.96197 1.9874,-1.98733 2.981,1.98733 0,-5.96197 -4.9684,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3a8d3b;stroke:none"
+ id="path11274"
+ d="m 441.1982,11.9759 0,4.96831 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#99d19a;stroke:none"
+ id="path11276"
+ d="m 457.0968,11.9759 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a4d1a5;stroke:none"
+ id="path11278"
+ d="m 471.3389,12.63838 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5cb55d;stroke:none"
+ id="path11280"
+ d="m 472.6645,12.30709 0.6617,0.33129 -0.6617,-0.33129 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#73b074;stroke:none"
+ id="path11282"
+ d="m 475.9763,11.9759 0,4.96831 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#96cf97;stroke:none"
+ id="path11284"
+ d="m 500.487,12.30709 0.6618,0.33129 -0.6618,-0.33129 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e7810;stroke:none"
+ id="path11286"
+ d="m 515.7228,11.9759 0,3.97465 0.9936,0 -0.9936,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#578558;stroke:none"
+ id="path11288"
+ d="m 942.0035,11.9759 0,4.96831 10.9302,0 0,-4.96831 -10.9302,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e7f2e7;stroke:none"
+ id="path11290"
+ d="m 1002.6168,11.9759 0,5.96197 3.9747,-1.98732 0.9936,0 3.9747,1.98732 0,-5.96197 -3.9747,1.98732 -4.9683,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0d7b0e;stroke:none"
+ id="path11292"
+ d="m 22.8668,12.96956 0,0.99366 411.3758,0 0,1.98733 -411.3758,0 0,0.99366 412.3694,0 0,-3.97465 -412.3694,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#81b682;stroke:none"
+ id="path11294"
+ d="m 445.5037,13.63204 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#84b885;stroke:none"
+ id="path11296"
+ d="m 447.491,13.63204 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#217e22;stroke:none"
+ id="path11298"
+ d="m 448.1538,12.96956 0,1.98732 1.9873,0 0,-1.98732 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#92c893;stroke:none"
+ id="path11300"
+ d="m 483.9256,12.96956 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#81b682;stroke:none"
+ id="path11302"
+ d="m 509.098,13.63204 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#84b885;stroke:none"
+ id="path11304"
+ d="m 511.0854,13.63204 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#217f22;stroke:none"
+ id="path11306"
+ d="m 511.7481,12.96956 0,1.98732 1.9874,0 0,-1.98732 -1.9874,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e7f1e7;stroke:none"
+ id="path11308"
+ d="m 942.9971,12.96956 0,2.98099 8.943,0 0,-2.98099 -8.943,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#578558;stroke:none"
+ id="path11310"
+ d="m 970.8197,12.96956 0,3.97465 7.9492,0 0,-3.97465 -7.9492,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#827948;stroke:none"
+ id="path11312"
+ d="m 19.2233,14.6257 0.3313,0.66238 -0.3313,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0c760e;stroke:none"
+ id="path11314"
+ d="m 22.8668,13.96322 0,1.98733 411.3758,0 0,-1.98733 -411.3758,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#88ba88;stroke:none"
+ id="path11316"
+ d="m 438.2172,13.96322 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7cb57e;stroke:none"
+ id="path11318"
+ d="m 470.3453,14.6257 0.3318,0.66238 -0.3318,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#97c498;stroke:none"
+ id="path11320"
+ d="m 472.3326,14.6257 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#378e39;stroke:none"
+ id="path11322"
+ d="m 473.3262,14.6257 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0c760e;stroke:none"
+ id="path11324"
+ d="m 971.8133,13.96322 0,1.98733 5.962,0 0,-1.98733 -5.962,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#578358;stroke:none"
+ id="path11326"
+ d="m 1003.9384,14.6257 0.3378,0.66238 -0.3378,-0.66238 m 5.9619,0 0.3379,0.66238 -0.3379,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#27203a;stroke:none"
+ id="path11328"
+ d="m 14.9175,15.95055 0,0.99366 3.9747,-1.98733 -3.9747,0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e840f;stroke:none"
+ id="path11330"
+ d="m 21.8731,14.95688 -0.9936,3.97465 912.181,0 0,-0.99366 -680.658,0 -170.9097,0 -41.7338,0 c -6.0213,0 -13.2263,1.46704 -17.8859,-2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b2d3b2;stroke:none"
+ id="path11332"
+ d="m 448.8166,15.28808 0.6618,0.33128 -0.6618,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#60a561;stroke:none"
+ id="path11334"
+ d="m 455.1094,14.95688 0,0.99367 2.981,0 -2.981,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#80b881;stroke:none"
+ id="path11336"
+ d="m 501.8115,14.95688 1.9874,1.98733 0,-1.98733 -1.9874,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b2d4b2;stroke:none"
+ id="path11338"
+ d="m 512.4109,15.28808 0.6618,0.33128 -0.6618,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7eb77f;stroke:none"
+ id="path11340"
+ d="m 518.7038,14.95688 0.9936,0.99367 -0.9936,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#82bb82;stroke:none"
+ id="path11342"
+ d="m 515.7228,15.95055 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#86bd87;stroke:none"
+ id="path11344"
+ d="m 517.7101,15.95055 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#76b477;stroke:none"
+ id="path11346"
+ d="m 521.6848,15.95055 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ab130d;stroke:none"
+ id="path11348"
+ d="m 10.9429,17.93787 0,0.99366 5.9619,0.99366 -5.9619,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#588858;stroke:none"
+ id="path11350"
+ d="m 1002.6168,17.93787 0,0.99366 2.981,0 -2.981,-0.99366 m 5.962,0 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e8c10;stroke:none"
+ id="path11352"
+ d="m 16.9048,19.92519 0,0.99366 916.1557,0 -23.8479,-0.99366 -52.664,0 -183.8273,0 -443.173,0 -144.0808,0 -68.5627,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e8810;stroke:none"
+ id="path11354"
+ d="m 20.8795,18.93153 0,0.99366 912.181,0 -23.8479,-0.99366 -53.6577,0 -186.8083,0 -647.8671,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#644323;stroke:none"
+ id="path11356"
+ d="m 12.9302,19.92519 0,0.99366 3.9746,0 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#289e29;stroke:none"
+ id="path11358"
+ d="m 934.0542,19.92519 0.9936,2.98099 -932.0542,0 0,0.99366 1021.4838,0 0,-1.98732 -90.4232,-1.98733 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#4fae50;stroke:none"
+ id="path11360"
+ d="m 935.0478,20.91885 0,0.99367 23.8479,0 -23.8479,-0.99367 m 27.8226,0 0,0.99367 23.8478,0 -23.8478,-0.99367 m 31.7971,0 0,0.99367 23.8479,0 -23.8479,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#179619;stroke:none"
+ id="path11362"
+ d="m 2.9936,21.91252 0,0.99366 932.0542,0 -24.8415,-0.99366 -54.6514,0 -190.7829,0 -661.7784,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#38a539;stroke:none"
+ id="path11364"
+ d="m 2.9936,23.89984 0,0.99365 1021.4838,0 -26.8289,-0.99365 -60.6133,0 -208.6689,0 -725.3727,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#48ac49;stroke:none"
+ id="path11366"
+ d="m 2.9936,24.89349 0,0.99366 1021.4838,0 -26.8289,-0.99366 -60.6133,0 -208.6689,0 -725.3727,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e9210;stroke:none"
+ id="path11368"
+ d="m 2.9936,25.88715 0,765.11925 1021.4838,0 0,-765.11925 -1.9874,0 0,763.13195 -1017.5091,0 0,-763.13195 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11370"
+ d="m 4.9809,25.88715 0,56.63871 1017.5091,0 0,-56.63871 -1017.5091,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b2b2b2;stroke:none"
+ id="path11372"
+ d="m 1008.5788,28.86814 -0.9937,2.98098 -2.981,-0.99366 -0.9936,0.99366 0.9936,2.98099 -2.981,0.99366 0,1.98732 2.981,0.99367 -0.9936,2.98098 0.9936,0.99365 2.981,-0.99365 0.9937,2.98099 1.9873,0 0.9937,-2.98099 2.9809,0.99365 0.9937,-0.99365 -0.9937,-2.98098 2.981,-0.99367 0,-1.98732 -2.981,-0.99366 0.9937,-2.98099 -0.9937,-0.99366 -2.9809,0.99366 -0.9937,-2.98098 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11374"
+ d="m 1007.5851,31.84912 -2.981,2.98099 0,3.97465 2.981,2.98098 3.9747,0 2.9809,-2.98098 0,-3.97465 -2.9809,-2.98099 -3.9747,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0a0a0a;stroke:none"
+ id="path11376"
+ d="m 18.8922,32.84279 0,7.94929 0.9936,0 2.981,-3.97465 0,-0.99366 -2.981,-0.99366 2.981,-0.99366 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#818181;stroke:none"
+ id="path11378"
+ d="m 22.8668,32.84279 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11380"
+ d="m 24.8541,32.84279 0.9937,0.99366 -0.9937,-0.99366 m 2.981,0 0,7.94929 0.9937,0 -0.9937,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0a0a0a;stroke:none"
+ id="path11382"
+ d="m 57.6449,32.84279 0,7.94929 4.9684,0 0,-0.99366 -3.9747,0 0,-2.98099 3.9747,0 0,-0.99366 -3.9747,0 0,-1.98732 3.9747,0 -4.9684,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#303030;stroke:none"
+ id="path11384"
+ d="m 68.5752,32.84279 0,7.94929 0.9937,0 -0.9937,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11386"
+ d="m 71.5562,32.84279 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7a7a7a;stroke:none"
+ id="path11388"
+ d="m 74.5372,32.84279 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3f3f3f;stroke:none"
+ id="path11390"
+ d="m 97.3914,32.84279 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#979797;stroke:none"
+ id="path11392"
+ d="m 98.3851,32.84279 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#545454;stroke:none"
+ id="path11394"
+ d="m 103.3534,32.84279 -0.9937,1.98732 1.9873,0 -0.9936,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11396"
+ d="m 105.3407,32.84279 0.9936,0.99366 -0.9936,-0.99366 m 38.7528,0 0,7.94929 0.9936,0 0,-3.97465 3.9747,0 0,3.97465 0.9936,0 0,-7.94929 -0.9936,0 0,2.98098 -4.9683,-2.98098 m 7.9493,0 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7a7a7a;stroke:none"
+ id="path11398"
+ d="m 160.9857,32.84279 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0a0a0a;stroke:none"
+ id="path11400"
+ d="m 207.6878,32.84279 0,7.94929 3.9746,0 0,-0.99366 -2.9809,-2.98099 3.9746,0.99366 c -0.5733,-3.45238 -1.5163,-4.39546 -4.9683,-4.9683 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#727272;stroke:none"
+ id="path11402"
+ d="m 211.6624,32.84279 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e0e0e;stroke:none"
+ id="path11404"
+ d="m 228.5547,32.84279 0,7.94929 0.9936,0 -0.9936,-7.94929 m 26.8288,0 0,7.94929 0.9937,0 -0.9937,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#343434;stroke:none"
+ id="path11406"
+ d="m 292.149,32.84279 0,0.99366 2.981,0 0,6.95563 0.9936,0 1.9874,-6.95563 -5.962,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7b7b7b;stroke:none"
+ id="path11408"
+ d="m 298.111,32.84279 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11410"
+ d="m 314.0095,32.84279 0,7.94929 0.9937,0 -0.9937,-7.94929 m 28.8162,0 0,7.94929 0.9937,0 0,-3.97465 3.9746,0 0,3.97465 0.9937,0 0,-7.94929 -0.9937,0 0,2.98098 -4.9683,-2.98098 m 14.9049,0 0,7.94929 0.9937,0 -0.9937,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0a0a0a;stroke:none"
+ id="path11412"
+ d="m 74.5372,33.83645 c 0,3.34139 -0.7113,6.16438 2.981,6.95563 l 0,-0.99366 -2.981,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e0e0e;stroke:none"
+ id="path11414"
+ d="m 98.7162,34.49893 0.3313,0.66236 -0.3313,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0a0a0a;stroke:none"
+ id="path11416"
+ d="m 160.9857,33.83645 c 0,3.34139 -0.7114,6.16438 2.981,6.95563 l 0,-0.99366 -2.981,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11418"
+ d="m 208.6815,33.83645 0,1.98732 2.9809,0 0,-1.98732 -2.9809,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#acacac;stroke:none"
+ id="path11420"
+ d="m 294.1363,33.83645 0,6.95563 0.9937,0 -0.9937,-6.95563 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11422"
+ d="m 24.8541,34.83011 0,5.96197 0.9937,0 -0.9937,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#292929;stroke:none"
+ id="path11424"
+ d="m 31.8097,34.83011 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#919191;stroke:none"
+ id="path11426"
+ d="m 64.6006,34.83011 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5f5f5f;stroke:none"
+ id="path11428"
+ d="m 65.5942,34.83011 0,0.99366 2.981,0.99366 -2.981,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11430"
+ d="m 71.5562,34.83011 0,5.96197 0.9937,0 -0.9937,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6d6d6d;stroke:none"
+ id="path11432"
+ d="m 73.5435,34.83011 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#494949;stroke:none"
+ id="path11434"
+ d="m 76.1933,35.16129 0.6624,0.3313 -0.6624,-0.3313 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#191919;stroke:none"
+ id="path11436"
+ d="m 102.6906,35.49259 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11438"
+ d="m 105.3407,34.83011 0,5.96197 0.9936,0 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#292929;stroke:none"
+ id="path11440"
+ d="m 109.3153,34.83011 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#707070;stroke:none"
+ id="path11442"
+ d="m 114.9464,35.16129 0.6618,0.3313 -0.6618,-0.3313 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#404040;stroke:none"
+ id="path11444"
+ d="m 117.2646,37.81109 -0.9936,0 0,-1.98732 -0.9937,0 2.981,3.97465 0.9936,-4.96831 -1.9873,2.98098 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#1d1d1d;stroke:none"
+ id="path11446"
+ d="m 121.5702,35.49259 0.3318,0.66236 -0.3318,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#070707;stroke:none"
+ id="path11448"
+ d="m 152.0428,34.83011 0,5.96197 0.9936,0 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#545454;stroke:none"
+ id="path11450"
+ d="m 157.0111,37.81109 1.9873,-1.98732 c -2.3788,-1.33597 -5.0885,0.24534 -1.9873,1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6d6d6d;stroke:none"
+ id="path11452"
+ d="m 159.992,34.83011 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#494949;stroke:none"
+ id="path11454"
+ d="m 162.6421,35.16129 0.6618,0.3313 -0.6618,-0.3313 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11456"
+ d="m 164.9604,34.83011 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#575757;stroke:none"
+ id="path11458"
+ d="m 165.954,34.83011 0,0.99366 3.9747,0.99366 0,-0.99366 -3.9747,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e0e0e;stroke:none"
+ id="path11460"
+ d="m 171.916,34.83011 0,5.96197 0.9937,0 -0.9937,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#444444;stroke:none"
+ id="path11462"
+ d="m 172.9097,34.83011 0,0.99366 2.9809,1.98732 c 0.945,-2.49062 -0.6478,-2.68864 -2.9809,-2.98098 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#343434;stroke:none"
+ id="path11464"
+ d="m 179.8653,34.83011 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11466"
+ d="m 214.6434,34.83011 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#575757;stroke:none"
+ id="path11468"
+ d="m 215.6371,34.83011 0,0.99366 3.9746,0.99366 0,-0.99366 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11470"
+ d="m 221.5991,34.83011 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#575757;stroke:none"
+ id="path11472"
+ d="m 222.5927,34.83011 0,0.99366 3.9747,0.99366 0,-0.99366 -3.9747,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5c5c5c;stroke:none"
+ id="path11474"
+ d="m 231.5357,34.83011 c -1.0861,3.17047 -0.947,4.25834 1.9873,5.96197 l 0,-5.96197 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e0e0e;stroke:none"
+ id="path11476"
+ d="m 234.5166,34.83011 0,5.96197 0.9937,0 -0.9937,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a4a4a4;stroke:none"
+ id="path11478"
+ d="m 235.8412,35.49259 0.3319,0.66236 -0.3319,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2a2a2a;stroke:none"
+ id="path11480"
+ d="m 237.1667,35.16129 0.6618,0.3313 -0.6618,-0.3313 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#464646;stroke:none"
+ id="path11482"
+ d="m 239.485,34.83011 0,0.99366 2.9809,0.99366 -2.9809,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#686868;stroke:none"
+ id="path11484"
+ d="m 244.4533,34.83011 0,0.99366 3.9746,0.99366 0,3.97465 c 1.41,-3.71223 -0.312,-5.35107 -3.9746,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#0e0e0e;stroke:none"
+ id="path11486"
+ d="m 251.4089,34.83011 0,5.96197 0.9936,0 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#444444;stroke:none"
+ id="path11488"
+ d="m 253.0653,35.16129 0.6618,0.3313 -0.6618,-0.3313 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5c5c5c;stroke:none"
+ id="path11490"
+ d="m 258.3645,34.83011 c -1.0861,3.17047 -0.9469,4.25834 1.9873,5.96197 l 0,-5.96197 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#545454;stroke:none"
+ id="path11492"
+ d="m 263.3328,37.81109 1.9873,-1.98732 c -2.3788,-1.33597 -5.0885,0.24523 -1.9873,1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11494"
+ d="m 300.0983,34.83011 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#575757;stroke:none"
+ id="path11496"
+ d="m 301.092,34.83011 0,0.99366 3.9746,0.99366 0,-0.99366 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11498"
+ d="m 307.0539,34.83011 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#575757;stroke:none"
+ id="path11500"
+ d="m 308.0476,34.83011 0,0.99366 3.9746,0.99366 0,-0.99366 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#545454;stroke:none"
+ id="path11502"
+ d="m 318.9779,37.81109 1.9873,-1.98732 c -2.3788,-1.33597 -5.0886,0.24523 -1.9873,1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#292929;stroke:none"
+ id="path11504"
+ d="m 351.7687,34.83011 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#030303;stroke:none"
+ id="path11506"
+ d="m 360.7116,34.83011 0,7.94928 0.9937,0 -0.9937,-7.94928 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#4e4e4e;stroke:none"
+ id="path11508"
+ d="m 361.7053,34.83011 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#161616;stroke:none"
+ id="path11510"
+ d="m 30.8161,35.82377 0,3.97465 0.9936,0 -0.9936,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11512"
+ d="m 31.8097,35.82377 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3b3b3b;stroke:none"
+ id="path11514"
+ d="m 34.7907,35.82377 -2.981,0.99366 0,0.99366 2.981,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#515151;stroke:none"
+ id="path11516"
+ d="m 64.6006,35.82377 0,4.96831 3.9746,-1.98732 -2.981,0.99366 -0.9936,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11518"
+ d="m 65.5942,35.82377 0,3.97465 2.981,-0.99366 0,-1.98733 -0.9936,-0.99366 -1.9874,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#808080;stroke:none"
+ id="path11520"
+ d="m 98.3851,35.82377 0,1.98732 1.9873,-1.98732 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#161616;stroke:none"
+ id="path11522"
+ d="m 108.3217,35.82377 0,3.97465 0.9936,0 -0.9936,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11524"
+ d="m 109.3153,35.82377 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3b3b3b;stroke:none"
+ id="path11526"
+ d="m 112.2963,35.82377 -2.981,0.99366 0,0.99366 2.981,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#525252;stroke:none"
+ id="path11528"
+ d="m 164.9604,35.82377 0,4.96831 0.9936,0 -0.9936,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11530"
+ d="m 165.954,35.82377 0,3.97465 2.981,-0.99366 0,-1.98733 -0.9937,-0.99366 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#686868;stroke:none"
+ id="path11532"
+ d="m 177.878,38.80476 2.9809,-2.98099 -2.9809,2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#707070;stroke:none"
+ id="path11534"
+ d="m 214.6434,35.82377 -2.981,4.96831 2.981,0 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11536"
+ d="m 215.6371,35.82377 0,3.97465 2.981,-0.99366 0,-1.98733 -0.9937,-0.99366 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#525252;stroke:none"
+ id="path11538"
+ d="m 221.5991,35.82377 0,4.96831 0.9936,0 -0.9936,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11540"
+ d="m 222.5927,35.82377 0,3.97465 2.981,-0.99366 0,-1.98733 -0.9937,-0.99366 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#afafaf;stroke:none"
+ id="path11542"
+ d="m 237.4976,35.82377 0,4.96831 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#464646;stroke:none"
+ id="path11544"
+ d="m 238.4913,35.82377 0,4.96831 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7b7b7b;stroke:none"
+ id="path11546"
+ d="m 242.4659,35.82377 -0.9936,4.96831 2.981,-0.99366 -1.9874,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#525252;stroke:none"
+ id="path11548"
+ d="m 300.0983,35.82377 0,4.96831 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11550"
+ d="m 301.092,35.82377 0,3.97465 2.9809,-0.99366 0,-1.98733 -0.9936,-0.99366 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#525252;stroke:none"
+ id="path11552"
+ d="m 307.0539,35.82377 0,4.96831 0.9937,0 -0.9937,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11554"
+ d="m 308.0476,35.82377 0,3.97465 2.981,-0.99366 0,-1.98733 -0.9937,-0.99366 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#161616;stroke:none"
+ id="path11556"
+ d="m 350.775,35.82377 0,3.97465 0.9937,0 -0.9937,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11558"
+ d="m 351.7687,35.82377 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3b3b3b;stroke:none"
+ id="path11560"
+ d="m 354.7497,35.82377 -2.981,0.99366 0,0.99366 2.981,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11562"
+ d="m 361.7053,35.82377 2.981,3.97465 0,-3.97465 -2.981,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#1d1d1d;stroke:none"
+ id="path11564"
+ d="m 364.6863,35.82377 0,3.97465 0.9936,0 -0.9936,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11566"
+ d="m 30.1536,37.4799 0.3313,0.66238 -0.3313,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#989898;stroke:none"
+ id="path11568"
+ d="m 63.9381,37.4799 0.3313,0.66238 -0.3313,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2f2f2f;stroke:none"
+ id="path11570"
+ d="m 99.3787,36.81743 0.9937,3.97465 0.9936,0 0.9937,-2.98099 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#707070;stroke:none"
+ id="path11572"
+ d="m 102.0288,37.14862 0.6618,0.33128 -0.6618,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11574"
+ d="m 107.6589,37.4799 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#686868;stroke:none"
+ id="path11576"
+ d="m 118.2583,36.81743 0,0.99366 3.9746,0.99367 -3.9746,-1.98733 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#989898;stroke:none"
+ id="path11578"
+ d="m 164.2976,37.4799 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#242424;stroke:none"
+ id="path11580"
+ d="m 168.935,36.81743 -2.981,2.98099 0,0.99366 2.981,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11582"
+ d="m 208.6815,36.81743 0,2.98099 2.9809,0 0,-2.98099 -2.9809,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#242424;stroke:none"
+ id="path11584"
+ d="m 218.6181,36.81743 -2.981,2.98099 0,0.99366 2.981,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#989898;stroke:none"
+ id="path11586"
+ d="m 220.9363,37.4799 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#242424;stroke:none"
+ id="path11588"
+ d="m 225.5737,36.81743 -2.981,2.98099 0,0.99366 2.981,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#484848;stroke:none"
+ id="path11590"
+ d="m 244.4533,36.81743 0,3.97465 3.9746,-1.98732 -2.981,0.99366 2.981,-1.98733 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#989898;stroke:none"
+ id="path11592"
+ d="m 299.4355,37.4799 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#242424;stroke:none"
+ id="path11594"
+ d="m 304.0729,36.81743 -2.9809,2.98099 0,0.99366 2.9809,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#989898;stroke:none"
+ id="path11596"
+ d="m 306.3911,37.4799 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#242424;stroke:none"
+ id="path11598"
+ d="m 311.0286,36.81743 -2.981,2.98099 0,0.99366 2.981,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#999999;stroke:none"
+ id="path11600"
+ d="m 350.1123,37.4799 0.3318,0.66238 -0.3318,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#1d1d1d;stroke:none"
+ id="path11602"
+ d="m 119.2519,37.81109 1.9874,2.98099 -1.9874,-2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#393939;stroke:none"
+ id="path11604"
+ d="m 157.0111,37.81109 1.9873,1.98733 0,-1.98733 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#474747;stroke:none"
+ id="path11606"
+ d="m 176.8843,37.81109 -0.9937,4.9683 c 2.2656,-1.63009 2.4842,-2.62107 0.9937,-4.9683 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11608"
+ d="m 245.4469,37.81109 0,1.98733 1.9873,0 0,-1.98733 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#393939;stroke:none"
+ id="path11610"
+ d="m 263.3328,37.81109 1.9873,1.98733 0,-1.98733 -1.9873,0 m 55.6451,0 1.9873,1.98733 0,-1.98733 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11612"
+ d="m 116.6018,39.46723 0.3319,0.66237 -0.3319,-0.66237 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6b6b6b;stroke:none"
+ id="path11614"
+ d="m 362.0362,39.46723 0.3319,0.66237 -0.3319,-0.66237 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#262626;stroke:none"
+ id="path11616"
+ d="m 31.8097,39.79842 0,0.99366 3.9747,0 -3.9747,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#8b8b8b;stroke:none"
+ id="path11618"
+ d="m 101.366,39.79842 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#262626;stroke:none"
+ id="path11620"
+ d="m 109.3153,39.79842 0,0.99366 3.9747,0 -3.9747,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2c2c2c;stroke:none"
+ id="path11622"
+ d="m 155.0237,39.79842 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#919191;stroke:none"
+ id="path11624"
+ d="m 158.0047,39.79842 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2c2c2c;stroke:none"
+ id="path11626"
+ d="m 261.3455,39.79842 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#919191;stroke:none"
+ id="path11628"
+ d="m 264.3265,39.79842 0.9936,0.99366 -0.9936,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2c2c2c;stroke:none"
+ id="path11630"
+ d="m 316.9905,39.79842 0,0.99366 2.981,0 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#919191;stroke:none"
+ id="path11632"
+ d="m 319.9715,39.79842 0.9937,0.99366 -0.9937,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#262626;stroke:none"
+ id="path11634"
+ d="m 351.7687,39.79842 0,0.99366 3.9746,0 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#252525;stroke:none"
+ id="path11636"
+ d="m 363.3617,40.1296 0.6618,0.33129 -0.6618,-0.33129 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11638"
+ d="m 17.8985,41.78574 0,0.99365 5.962,0 -5.962,-0.99365 m 38.7528,0 0,0.99365 6.9556,0 -6.9556,-0.99365 m 40.7401,0 0,0.99365 6.9556,0 -6.9556,-0.99365 m 56.6387,0 0,0.99365 5.9619,0 -5.9619,-0.99365 m 52.664,0 0,0.99365 6.9557,0 -6.9557,-0.99365 m 85.4549,0 0,0.99365 6.9556,0 -6.9556,-0.99365 m 49.6831,0 0,0.99365 7.9493,0 -7.9493,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c0c0c0;stroke:none"
+ id="path11640"
+ d="m 151.0491,53.70967 0,0.99367 8.9429,0 -8.9429,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#96969d;stroke:none"
+ id="path11642"
+ d="m 212.6561,53.70967 0,21.86055 596.1968,0 0,-0.99366 -22.8543,0 0,-19.87322 22.8543,0 -16.8923,-0.99367 -34.7781,0 -122.2204,0 -422.306,0 m 606.1334,0 0,21.86055 193.7639,0 0,-0.99366 -22.8542,0 0,-19.87322 22.8542,0 -18.8795,-0.99367 -38.7528,0 -136.1316,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c7c7c7;stroke:none"
+ id="path11644"
+ d="m 119.2519,54.70334 -7.9492,12.91759 2.9809,-2.98099 10.9303,-3.97463 0,-0.99368 -5.962,-4.96829 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#979797;stroke:none"
+ id="path11646"
+ d="m 144.0935,70.60191 c 7.3203,-2.62625 9.6345,-5.09708 4.9683,-11.92393 l 14.9049,0 c -10.187,-12.23038 -19.8732,1.145 -19.8732,11.92393 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fdf453;stroke:none"
+ id="path11648"
+ d="m 196.995,55.87178 c -3.9567,1.77448 -1.5054,8.39107 2.6074,6.60607 4.1902,-1.81861 1.5123,-8.45328 -2.6074,-6.60607 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#96969d;stroke:none"
+ id="path11650"
+ d="m 768.1127,54.70334 0,19.87322 -554.4629,0 0,-19.87322 554.4629,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f0f0f0;stroke:none"
+ id="path11652"
+ d="m 769.1064,54.70334 0,19.87322 15.8986,0 0,-19.87322 -15.8986,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11654"
+ d="m 819.7831,54.70334 0,19.87322 29.8099,0 0,-19.87322 -29.8099,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#96969d;stroke:none"
+ id="path11656"
+ d="m 988.7056,54.70334 0,19.87322 -138.119,0 0,-19.87322 138.119,0 m -178.8591,0.99366 0,17.8859 0.9937,0 -0.9937,-17.8859 m 203.7006,0 0,17.8859 0.9936,0 -0.9936,-17.8859 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#bbbeb7;stroke:none"
+ id="path11658"
+ d="m 200.7322,62.65262 -0.9937,0 0,10.93028 -15.8986,0 0,-15.89858 10.9303,0 c -9.7468,-4.08982 -17.3772,7.12475 -10.9025,15.299 2.1682,2.73794 13.6748,2.73794 15.843,0 1.9267,-2.43199 1.0215,-7.42185 1.0215,-10.3307 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#828282;stroke:none"
+ id="path11660"
+ d="m 216.6307,56.69066 0,14.90492 3.9747,0 0,-0.99367 -2.981,0 0,-12.91759 11.9239,0 -12.9175,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#bcd3df;stroke:none"
+ id="path11662"
+ d="m 1001.6231,66.62727 0,-0.99366 -3.9746,0 3.9746,-4.9683 0,-0.99368 -6.9556,3.97465 c 1.1427,-3.94045 2.9214,-5.33277 6.9556,-5.96196 -9.078,-3.66124 -10.4831,11.4908 0,8.94295 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e48b40;stroke:none"
+ id="path11664"
+ d="M 23.8605,57.68432 C 20.5938,60.99251 16.001,64.3648 19.8858,68.61459 L 23.8605,57.68432 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d86c00;stroke:none"
+ id="path11666"
+ d="m 24.8541,57.68432 0,4.9683 8.943,2.98099 0.9936,0 0,-3.97464 -8.9429,0 -0.9937,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b9b9b9;stroke:none"
+ id="path11668"
+ d="m 73.5435,57.68432 0,3.97465 -8.9429,0 0,7.94928 8.9429,0 0,3.97465 c 9.3905,-4.39467 7.4618,-10.62373 0,-15.89858 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ececec;stroke:none"
+ id="path11670"
+ d="m 183.8399,57.68432 0,15.89858 15.8986,0 0,-9.93662 -14.9049,-2.98097 0,-1.98733 9.9366,0 -10.9303,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d5deea;stroke:none"
+ id="path11672"
+ d="m 217.6244,57.68432 0,12.91759 2.981,0 0.9937,-5.96197 0.9936,0 0,7.9493 9.9366,-4.96831 0,-0.99366 -1.9873,-0.99366 c 3.8355,-2.88589 -5.173,-2.46666 -6.9556,-1.98733 l 0,-0.99366 5.9619,-0.99365 0,-3.97465 -11.9239,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5e7ca6;stroke:none"
+ id="path11674"
+ d="m 229.5483,57.68432 0,3.97465 -5.9619,0.99365 0,0.99366 6.9556,-0.99366 -0.9937,-4.9683 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f6f6f6;stroke:none"
+ id="path11676"
+ d="m 149.0618,58.67798 c 2.5815,5.43841 2.5815,7.47919 0,12.9176 l 4.9683,-3.97465 1.9873,0 4.9683,3.97465 c -2.5815,-5.43831 -2.5815,-7.47919 0,-12.9176 l -11.9239,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#777777;stroke:none"
+ id="path11678"
+ d="m 160.9857,71.59558 -11.9239,0 1.9873,-3.97465 -5.962,2.98098 c 7.4704,10.26095 24.6597,4.93085 20.5509,-8.79191 -1.4,-4.67598 -6.5611,-1.30458 -7.5508,1.87991 -0.935,3.00671 1.3216,5.59669 2.8985,7.90567 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fdb03d;stroke:none"
+ id="path11680"
+ d="m 184.8336,58.67798 0,0.99365 8.9429,0 -8.9429,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fffaac;stroke:none"
+ id="path11682"
+ d="m 197.7512,58.67798 0,1.98733 1.9873,0 0,-1.98733 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#246740;stroke:none"
+ id="path11684"
+ d="m 793.9479,58.67798 0,11.92393 2.981,-0.99366 c -2.035,-3.66462 -2.035,-6.27179 0,-9.93662 l -2.981,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fab46e;stroke:none"
+ id="path11686"
+ d="m 23.8605,59.67163 -4.9683,6.95564 0.9936,0.99366 13.9113,-2.98099 0,-1.98732 -9.9366,-2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dd7613;stroke:none"
+ id="path11688"
+ d="m 184.8336,59.67163 0,0.99368 9.9366,0 -9.9366,-0.99368 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c7c7c7;stroke:none"
+ id="path11690"
+ d="m 219.6117,59.67163 0,0.99368 7.9493,0 -7.9493,-0.99368 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#191819;stroke:none"
+ id="path11692"
+ d="m 823.7578,59.67163 1.9873,4.96831 0.9937,0 -2.981,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b9bab9;stroke:none"
+ id="path11694"
+ d="m 825.7451,59.67163 0,2.98099 0.9937,0 -0.9937,-2.98099 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#191819;stroke:none"
+ id="path11696"
+ d="m 828.7261,59.67163 1.9873,4.96831 0.9937,0 -2.981,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c8c7c8;stroke:none"
+ id="path11698"
+ d="m 830.7134,59.67163 2.981,3.97465 -2.981,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#848384;stroke:none"
+ id="path11700"
+ d="m 832.7007,59.67163 0,2.98099 1.9874,-2.98099 -1.9874,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7a7b7a;stroke:none"
+ id="path11702"
+ d="m 836.6754,59.67163 -2.981,8.94296 4.9683,-8.94296 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c7c7c7;stroke:none"
+ id="path11704"
+ d="m 165.954,60.66531 0,8.94294 0.9937,0 -0.9937,-8.94294 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#8ecaa2;stroke:none"
+ id="path11706"
+ d="m 794.9416,60.66531 0,7.94928 2.981,-0.99366 -0.9937,-2.98099 2.981,-0.99366 0,-0.99366 -4.9683,-1.98731 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5c9a4d;stroke:none"
+ id="path11708"
+ d="m 796.9289,60.66531 0,0.99366 2.981,0.99365 0,0.99366 -2.981,0.99366 0,3.97465 7.9493,-2.98098 0,-1.98733 -7.9493,-2.98097 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e5e5e5;stroke:none"
+ id="path11710"
+ d="m 853.5676,60.66531 3.9747,7.94928 0.9936,-4.96831 0.9937,0 0,2.98099 0.9937,0 -2.981,-5.96196 0,3.97463 -1.9874,0 -1.9873,-3.97463 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c7c7c7;stroke:none"
+ id="path11712"
+ d="m 862.5106,60.66531 -1.9873,7.94928 0.9936,0 0.9937,-7.94928 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dddddd;stroke:none"
+ id="path11714"
+ d="m 868.4725,60.66531 0,7.94928 0.9937,0 0.9937,-1.98732 2.9809,1.98732 0,-5.96197 -3.9746,1.98732 -0.9937,-3.97463 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dadada;stroke:none"
+ id="path11716"
+ d="m 895.3014,60.66531 c -3.5702,3.66998 -5.9689,7.39362 0.9937,7.94928 l -0.9937,-7.94928 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c9c9c9;stroke:none"
+ id="path11718"
+ d="m 911.2,61.65897 -0.9937,0.99365 3.9747,5.96197 0,-0.99366 0,-4.96831 -2.981,-0.99365 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d1d1d1;stroke:none"
+ id="path11720"
+ d="m 34.7907,62.65262 0,7.94929 c -3.6208,0 -8.045,-1.20918 -8.9429,2.98099 l -9.9366,-7.94929 9.9366,9.93661 0.9937,-3.97464 c 6.1909,-0.0219 10.9191,-1.84812 7.9492,-8.94296 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#adadad;stroke:none"
+ id="path11722"
+ d="m 111.3027,62.65262 c -3.7819,13.19731 14.3633,17.89832 16.8922,3.97465 -5.6589,0.44109 -10.5964,5.98472 -12.9176,-1.98733 l -0.9937,0 -2.9809,2.98099 0,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#949494;stroke:none"
+ id="path11724"
+ d="m 119.2519,62.65262 0,2.98099 1.9874,-0.99367 0,-0.99366 -1.9874,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7b94b6;stroke:none"
+ id="path11726"
+ d="m 230.542,62.65262 1.9873,1.98732 0,-1.98732 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#636363;stroke:none"
+ id="path11728"
+ d="m 774.0747,62.65262 2.981,3.97465 0.9937,0 1.9873,-3.97465 -5.962,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c9c9c9;stroke:none"
+ id="path11730"
+ d="m 865.4915,62.65262 0,5.96197 0.9937,0 -0.9937,-5.96197 m 8.943,0 0,5.96197 0.9937,0 -0.9937,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c8c8c8;stroke:none"
+ id="path11732"
+ d="m 877.4155,62.65262 0,7.94929 0.9937,0 2.9809,-1.98732 0,-0.99366 c -1.722,-1.88169 -2.0787,-2.40268 0,-3.97465 l -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c9c9c9;stroke:none"
+ id="path11734"
+ d="m 898.2824,62.65262 0,5.96197 0.9936,0 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d8d8d8;stroke:none"
+ id="path11736"
+ d="m 901.2634,62.65262 0,0.99366 2.9809,0 0,0.99366 -2.9809,0 0,3.97465 4.9683,0 c -0.2981,-3.8398 -1.0821,-5.3144 -4.9683,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dadada;stroke:none"
+ id="path11738"
+ d="m 916.4694,63.8165 c -2.7157,1.48185 -0.3915,5.60088 2.1045,3.72314 2.0261,-1.52427 0.327,-5.04958 -2.1045,-3.72314 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c8c8c8;stroke:none"
+ id="path11740"
+ d="m 922.1303,62.65262 0,7.94929 0.9936,0 2.981,-1.98732 0,-0.99366 c -1.722,-1.88169 -2.0787,-2.40268 0,-3.97465 l -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c9c9c9;stroke:none"
+ id="path11742"
+ d="m 929.0859,62.65262 0,5.96197 0.9936,0 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11744"
+ d="m 46.7147,63.64628 1.9873,2.98099 0.9936,0 1.9874,-2.98099 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7f7f7f;stroke:none"
+ id="path11746"
+ d="m 93.4167,63.64628 1.9874,2.98099 0.9936,0 1.9874,-2.98099 -4.9684,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#484748;stroke:none"
+ id="path11748"
+ d="m 826.7388,63.64628 2.9809,6.95563 -2.9809,-6.95563 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3c3a3c;stroke:none"
+ id="path11750"
+ d="m 831.7071,63.64628 c -0.796,3.27322 0.024,5.24723 2.981,6.95563 l -2.981,-6.95563 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11752"
+ d="m 841.6437,63.64628 1.9873,2.98099 0.9937,0 1.9873,-2.98099 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cecece;stroke:none"
+ id="path11754"
+ d="m 881.3901,63.64628 0,3.97465 0.9937,0 -0.9937,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d5d5d5;stroke:none"
+ id="path11756"
+ d="m 884.3711,63.64628 0,3.97465 0.9937,0 3.9746,-3.97465 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dadada;stroke:none"
+ id="path11758"
+ d="m 893.3141,63.64628 0.9936,0 -1.9873,3.97465 0.9937,-3.97465 m 23.8478,0 0.9937,0 -1.9873,3.97465 0.9936,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cecece;stroke:none"
+ id="path11760"
+ d="m 926.1049,63.64628 0,3.97465 0.9937,0 -0.9937,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#8894a0;stroke:none"
+ id="path11762"
+ d="m 1002.6168,63.64628 c -0.477,3.34885 2.2457,9.62024 5.962,5.96197 l -5.962,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f88700;stroke:none"
+ id="path11764"
+ d="m 19.8858,67.62093 5.962,5.96197 0,-3.97465 8.9429,0 C 33.4841,61.7784 25.0604,65.69214 19.8858,67.62093 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5b7aa5;stroke:none"
+ id="path11766"
+ d="m 221.5991,64.63994 0.9936,7.9493 -0.9936,-7.9493 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c3c4c6;stroke:none"
+ id="path11768"
+ d="m 1003.6105,64.63994 3.9746,5.96197 0.9937,-0.99366 -4.9683,-4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c4c4c4;stroke:none"
+ id="path11770"
+ d="m 795.9353,69.60825 0,0.99366 6.9556,-2.98098 -6.9556,1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a9a8a9;stroke:none"
+ id="path11772"
+ d="m 829.7197,66.62727 0.9937,2.98098 -0.9937,-2.98098 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#bebebe;stroke:none"
+ id="path11774"
+ d="m 154.6929,67.95212 0.6617,0.33129 -0.6617,-0.33129 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a9a8a9;stroke:none"
+ id="path11776"
+ d="m 827.0697,68.28341 0.3318,0.66236 -0.3318,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b9bab9;stroke:none"
+ id="path11778"
+ d="m 832.038,68.28341 0.3318,0.66236 -0.3318,-0.66236 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d0d0d0;stroke:none"
+ id="path11780"
+ d="m 885.3648,67.62093 0,0.99366 3.9746,0 -3.9746,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#959595;stroke:none"
+ id="path11782"
+ d="m 25.8478,69.60825 0,0.99366 8.9429,0 -8.9429,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9dbee1;stroke:none"
+ id="path11784"
+ d="m 227.561,69.60825 -1.9873,0.99366 0,0.99367 1.9873,-1.98733 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6c97c6;stroke:none"
+ id="path11786"
+ d="m 226.5674,71.59558 0,0.99366 3.9746,-1.98733 -3.9746,0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c8c7c8;stroke:none"
+ id="path11788"
+ d="m 828.3952,70.93311 0.6618,0.33127 -0.6618,-0.33127 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b9bab9;stroke:none"
+ id="path11790"
+ d="m 833.3635,70.93311 0.6618,0.33127 -0.6618,-0.33127 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cbcbcb;stroke:none"
+ id="path11792"
+ d="m 4.9809,82.52586 0,0.99365 1017.5091,0 -26.8288,-0.99365 -59.6197,0 -208.6689,0 -722.3917,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cdcdcd;stroke:none"
+ id="path11794"
+ d="m 4.9809,83.51951 0,4.96831 5.962,0 -0.9937,5.96197 8.943,0 0,-0.99366 -6.9557,0 0,-5.96198 c 4.3582,0 9.3259,-1.02645 11.924,2.98099 l 0.9936,0 8.943,-2.98099 0.9936,-0.99366 -0.9936,-1.98732 964.8451,0.99366 0,4.96831 3.9746,0 0,11.92393 0.9937,0 c 0,-11.94192 1.9674,-13.91125 13.9112,-13.91125 l -0.9936,14.90491 0.9936,0 0.9937,-12.91759 3.9746,0 0,-6.95563 -1017.5091,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9b9b9b;stroke:none"
+ id="path11796"
+ d="m 33.7971,84.51317 0,0.99366 244.4406,0 -22.8542,-0.99366 -49.683,0 -171.9034,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cfcfcf;stroke:none"
+ id="path11798"
+ d="m 278.2377,87.49415 0.9937,0 14.9049,-1.98732 34.7782,0 134.1442,0 518.6912,0 -0.9936,21.86055 0.9936,0 1.9873,-21.86055 c -13.5654,-4.95876 -35.1547,-0.99366 -49.683,-0.99366 l -112.2837,0 -380.5723,0 -124.2077,0 -28.8161,0 c -3.7461,0 -8.9967,-1.40683 -9.9367,2.98098 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11800"
+ d="m 34.7907,85.50683 0,0.99366 242.4534,0 0,0.99366 -2.981,0 -2.981,3.97465 0.9937,4.96831 5.9619,0 0,11.92393 c -46.398,-5.86359 -96.2907,-0.99366 -143.0872,-0.99366 -32.451,0 -69.4626,-4.92658 -101.3534,0.99366 l 0,-11.92393 6.9556,0 -2.981,-2.98098 0,-5.96198 -4.9683,0 0,20.86689 -27.8225,0 0,1.98733 1017.5091,0 0,-1.98733 -743.2586,0 -1.1715,-21.26097 -14.7271,-1.59324 -43.7211,0 -184.821,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d1d1d1;stroke:none"
+ id="path11802"
+ d="m 279.2314,85.50683 0,0.99366 702.5185,0 -18.8795,-0.99366 -41.7338,0 -144.0809,0 -497.8243,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e2e2e2;stroke:none"
+ id="path11804"
+ d="m 981.7499,107.36738 40.7401,0 0,-16.89224 -3.9746,0 c 0,3.14891 0.8148,7.86205 -1.0235,10.61439 -2.345,3.52343 -11.4867,3.32171 -13.8516,-0.11506 -1.8482,-2.68686 -1.0235,-7.40308 -1.0235,-10.49933 l -3.9746,0 0,-4.96831 c -4.0691,0 -11.0684,-1.32822 -14.589,1.02129 -4.5966,3.06733 -2.3033,15.95144 -2.3033,20.83926 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a7a7a7;stroke:none"
+ id="path11806"
+ d="m 31.8097,86.50049 0,20.86689 -26.8288,0 0,0.99366 27.8225,0 -0.9937,-21.86055 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f8f8f8;stroke:none"
+ id="path11808"
+ d="m 33.7971,88.48782 3.9746,-0.99367 0,5.96198 2.981,0 0,-3.97465 146.0682,1.98732 87.4422,0 2.981,-3.97465 -17.8859,-0.99366 -37.7591,0 -131.1633,0 -41.7338,0 -14.9049,1.98733 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a7a7a7;stroke:none"
+ id="path11810"
+ d="m 279.2314,86.50049 0,21.86055 743.2586,0 0,-0.99366 -742.2649,0 -0.9937,-20.86689 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d3d3d3;stroke:none"
+ id="path11812"
+ d="m 280.2251,86.50049 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a5a5a5;stroke:none"
+ id="path11814"
+ d="m 11.9365,87.49415 0,0.99367 11.924,0 -11.924,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d5d5d5;stroke:none"
+ id="path11816"
+ d="m 280.2251,87.49415 0,0.99367 700.5312,0 -18.8796,-0.99367 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e5e5e5;stroke:none"
+ id="path11818"
+ d="m 4.9809,88.48782 0,18.87956 26.8288,0 0,-18.87956 -6.9556,0 1.9874,14.90491 -17.886,0 1.9874,-14.90491 -5.962,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f3f3f3;stroke:none"
+ id="path11820"
+ d="m 11.9365,93.45613 c 5.0522,-0.0174 9.0904,-0.36785 11.924,-4.96831 -5.1475,0 -10.8848,-1.25868 -11.924,4.96831 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#d8d8d8;stroke:none"
+ id="path11822"
+ d="m 280.2251,88.48782 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f04f00;stroke:none"
+ id="path11824"
+ d="m 1004.6041,88.48782 0,0.99366 10.9303,0 -10.9303,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f9a465;stroke:none"
+ id="path11826"
+ d="m 1004.6041,90.47514 0,4.96831 2.981,-0.99366 -0.9936,-2.98099 9.9366,1.98733 0.9936,-4.96831 -12.9176,1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#828282;stroke:none"
+ id="path11828"
+ d="m 40.7527,89.48148 0,14.90492 3.9746,0 0,-0.99367 -2.9809,0 0,-12.91759 11.9239,0 -12.9176,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dadada;stroke:none"
+ id="path11830"
+ d="m 280.2251,89.48148 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f46600;stroke:none"
+ id="path11832"
+ d="m 1003.6105,89.48148 0,12.91759 c 11.745,0 13.9112,-0.87442 13.9112,-12.91759 l -0.9936,0 0,3.97465 -3.9747,0.99366 1.9873,3.97463 -7.9492,0 2.9809,-3.97463 -4.9683,0.99366 -0.9936,-5.96197 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fccca9;stroke:none"
+ id="path11834"
+ d="m 1004.6041,89.48148 0,0.99366 8.943,0 -8.943,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#96a38a;stroke:none"
+ id="path11836"
+ d="m 19.8858,91.4688 0.9937,3.97465 3.9746,-0.99366 0,-3.97465 -4.9683,0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ebebeb;stroke:none"
+ id="path11838"
+ d="m 41.7464,90.47514 0,12.91759 2.9809,0 -0.9936,-5.96197 0,-0.99365 2.981,0 0,-0.99366 -2.981,0 0,-0.99366 9.9366,0 0,-3.97465 -11.9239,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5e7ca6;stroke:none"
+ id="path11840"
+ d="m 53.6703,90.47514 0,3.97465 -5.962,0.99366 0,0.99366 8.943,0.99365 -2.981,-6.95562 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f04f00;stroke:none"
+ id="path11842"
+ d="m 258.3645,90.47514 0,0.99366 10.9303,0 -10.9303,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f9a465;stroke:none"
+ id="path11844"
+ d="m 258.3645,92.46246 0,4.9683 2.981,-0.99365 -0.9937,-2.98098 8.943,0.99366 1.9873,-3.97465 -12.9176,1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dddddd;stroke:none"
+ id="path11846"
+ d="m 280.2251,90.47514 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#498f00;stroke:none"
+ id="path11848"
+ d="m 24.8541,91.4688 1.9874,5.96196 -1.9874,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f6f6f6;stroke:none"
+ id="path11850"
+ d="m 54.664,91.4688 c 1.9378,6.38537 5.9794,4.37767 9.9366,0.99366 l 0.5995,7.92166 11.3244,1.02129 27.8225,0 11.3238,-1.02129 0.6002,-7.92166 c 8.9747,7.67664 27.3376,3.97465 38.7527,3.97465 l 101.3535,0 0.9937,-4.96831 -202.7069,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f46600;stroke:none"
+ id="path11852"
+ d="m 257.3709,91.4688 0,12.9176 c 11.0216,0 13.9112,-0.30605 13.9112,-11.92394 l -4.9683,3.97465 0,0.99365 1.9873,2.98099 -7.9493,0 2.981,-3.97464 -4.9683,0.99365 -0.9936,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fccca9;stroke:none"
+ id="path11854"
+ d="m 258.3645,91.4688 0,0.99366 8.943,0 -8.943,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dfdfdf;stroke:none"
+ id="path11856"
+ d="m 280.2251,91.4688 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6bae22;stroke:none"
+ id="path11858"
+ d="m 19.8858,92.46246 0,5.96196 5.962,0 -5.962,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c7c7c7;stroke:none"
+ id="path11860"
+ d="m 43.7337,92.46246 0,0.99367 7.9493,0 -7.9493,-0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3333ff;stroke:none"
+ id="path11862"
+ d="m 62.6133,92.46246 -1.9874,8.94295 0,0.99366 59.6197,0 0,-0.99366 -3.9746,-8.94295 -1.3137,7.92166 -11.6039,1.02129 -26.8289,0 -10.6136,-1.02129 -1.3103,-7.92166 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#4040fd;stroke:none"
+ id="path11864"
+ d="m 66.5879,92.46246 c 0.1035,8.73936 5.8584,8.73925 5.962,0 l -0.9937,0 0,5.96196 -2.981,0 0,-5.96196 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b5b5f8;stroke:none"
+ id="path11866"
+ d="m 70.5625,92.46246 0,5.96196 0.9937,0 -0.9937,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7272fc;stroke:none"
+ id="path11868"
+ d="m 72.5499,92.46246 0,5.96196 0.9936,0 -0.9936,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9999fa;stroke:none"
+ id="path11870"
+ d="m 84.1426,92.79365 0.6624,0.33128 -0.6624,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6363fd;stroke:none"
+ id="path11872"
+ d="m 89.1109,92.79365 0.6624,0.33128 -0.6624,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9999fa;stroke:none"
+ id="path11874"
+ d="m 93.0856,92.79365 0.6623,0.33128 -0.6623,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3333ff;stroke:none"
+ id="path11876"
+ d="m 97.3914,92.46246 0,7.94929 0.9937,0 -0.9937,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5f5ff9;stroke:none"
+ id="path11878"
+ d="m 98.3851,92.46246 0,7.94929 0.9936,0 -0.9936,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3333ff;stroke:none"
+ id="path11880"
+ d="m 112.2963,92.46246 c -2.6083,2.85608 -5.011,5.32077 -0.9936,7.94929 l -1.9874,-3.97464 2.981,3.97464 0.9937,0 -0.9937,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6363f9;stroke:none"
+ id="path11882"
+ d="m 113.29,92.46246 0,7.94929 0.9936,0 -0.9936,-7.94929 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cacaca;stroke:none"
+ id="path11884"
+ d="m 256.3772,92.46246 0,11.92394 0.9937,0 -0.9937,-11.92394 m 14.9049,0 -0.9937,12.9176 0.9937,0 0,-12.9176 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e0e0e0;stroke:none"
+ id="path11886"
+ d="m 280.2251,92.46246 0,0.99367 700.5312,0 -18.8796,-0.99367 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#91ac72;stroke:none"
+ id="path11888"
+ d="m 18.8922,93.45613 0,3.97463 0.9936,0 -0.9936,-3.97463 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fdfdfd;stroke:none"
+ id="path11890"
+ d="m 22.8668,93.45613 -0.9937,0.99366 0,0.99366 0.9937,0.99366 0.9937,0 0.9936,-0.99366 0,-0.99366 -1.9873,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3e3efe;stroke:none"
+ id="path11892"
+ d="m 82.4865,94.44979 4.9683,5.96196 0,-0.99365 0,-4.96831 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a7a7f9;stroke:none"
+ id="path11894"
+ d="m 89.1109,93.78731 0.6624,0.33128 -0.6624,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3e3efe;stroke:none"
+ id="path11896"
+ d="m 91.4294,94.44979 4.9683,5.96196 0,-0.99365 0,-4.96831 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e2e2e2;stroke:none"
+ id="path11898"
+ d="m 280.2251,93.45613 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9d9d9d;stroke:none"
+ id="path11900"
+ d="m 8.9555,94.44979 0,8.94294 17.886,0 0,-5.96197 -0.9937,0 0,4.96831 -15.8986,0 -0.9937,-7.94928 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ededed;stroke:none"
+ id="path11902"
+ d="m 9.9492,94.44979 0,7.94928 15.8986,0 0,-2.98097 -6.9556,-4.96831 -8.943,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#cbd6e0;stroke:none"
+ id="path11904"
+ d="m 43.7337,94.44979 0,0.99366 2.981,0 0,0.99366 -2.981,0 0,0.99365 2.981,0 0,7.9493 4.9683,-1.98733 0,-0.99366 -3.9747,0 4.9683,-4.96831 3.9747,2.98099 0,-0.99365 -1.9873,-3.97465 -6.9557,0.99366 -3.9746,-1.98732 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5252fd;stroke:none"
+ id="path11906"
+ d="m 75.5308,94.44979 0,5.96196 1.9874,0 0,-3.97464 1.9873,0 0,3.97464 1.9873,0 c -0.3379,-4.33704 -1.6249,-5.62412 -5.962,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3333ff;stroke:none"
+ id="path11908"
+ d="m 88.4484,94.44979 0,5.96196 0.9937,0 -0.9937,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5f5ff9;stroke:none"
+ id="path11910"
+ d="m 89.4421,94.44979 0,5.96196 0.9937,0 -0.9937,-5.96196 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#8181f8;stroke:none"
+ id="path11912"
+ d="m 102.3597,94.44979 2.981,1.98732 0,-0.99366 -2.981,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3333ff;stroke:none"
+ id="path11914"
+ d="m 103.3534,94.44979 0,0.99366 1.9873,0 0,0.99366 -3.9747,-0.99366 c 0.5048,3.03832 2.2129,6.0196 4.9683,2.98097 l -2.9809,0.99368 2.9809,-4.96831 -2.9809,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e3e3e3;stroke:none"
+ id="path11916"
+ d="m 280.2251,94.44979 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e4e4e4;stroke:none"
+ id="path11918"
+ d="m 280.2251,95.44345 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:none"
+ id="path11920"
+ d="m 987.7119,95.44345 1.9873,2.98097 0.9937,0 1.9873,-2.98097 -4.9683,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ececec;stroke:none"
+ id="path11922"
+ d="m 33.7971,96.43711 0,11.92393 84.4612,-0.99366 156.0048,0 0,-0.99366 -218.6055,-0.99366 0.9937,-3.97465 -3.9747,-3.97465 -4.9683,4.96831 6.9557,2.98099 -5.962,-1.98733 -0.9937,0 -6.9556,0.99367 0,-7.94929 -6.9556,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ebebeb;stroke:none"
+ id="path11924"
+ d="m 54.664,96.43711 1.9873,2.98099 -0.9937,5.96196 130.1696,0 c 30.9059,0 61.9359,-1.0503 92.4105,2.98098 l 0,-11.92393 -5.9619,0 -3.1281,8.34378 -15.8409,-2.24966 -30.7141,-0.13216 -161.9668,0 0,-0.99366 0.9937,-4.9683 -6.9556,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#8e8ef3;stroke:none"
+ id="path11926"
+ d="m 100.7036,97.09958 0.3312,0.66238 -0.3312,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9494f2;stroke:none"
+ id="path11928"
+ d="m 109.6462,97.09958 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#c5c5ec;stroke:none"
+ id="path11930"
+ d="m 110.309,96.43711 0,2.98099 1.9873,-2.98099 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e8e8e8;stroke:none"
+ id="path11932"
+ d="m 119.2519,96.43711 -0.9936,4.9683 46.7021,0.99366 91.4168,0 0,-5.96196 -137.1253,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e6e6e6;stroke:none"
+ id="path11934"
+ d="m 280.2251,96.43711 0,0.99365 700.5312,0 -18.8796,-0.99365 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fab481;stroke:none"
+ id="path11936"
+ d="m 1010.2382,96.76829 0.6558,0.33129 -0.6558,-0.33129 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#5b7aa5;stroke:none"
+ id="path11938"
+ d="m 45.721,97.43076 0.9937,7.9493 -0.9937,-7.9493 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e7e7e7;stroke:none"
+ id="path11940"
+ d="m 280.2251,97.43076 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f79044;stroke:none"
+ id="path11942"
+ d="m 1015.5344,97.43076 c -2.4146,3.72087 -6.578,3.53715 -9.9366,0.99366 l -0.9937,0 c 1.0036,4.69605 7.9593,2.98099 11.924,2.98099 l -0.9937,-3.97465 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#819d63;stroke:none"
+ id="path11944"
+ d="m 20.8795,98.42442 0,0.99368 3.9746,0 -3.9746,-0.99368 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7878f6;stroke:none"
+ id="path11946"
+ d="m 111.6335,99.0869 0.3319,0.66238 -0.3319,-0.66238 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#fab481;stroke:none"
+ id="path11948"
+ d="m 263.9956,98.75562 0.6618,0.33128 -0.6618,-0.33128 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e8e8e8;stroke:none"
+ id="path11950"
+ d="m 280.2251,98.42442 0,0.99368 700.5312,0 -18.8796,-0.99368 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f79044;stroke:none"
+ id="path11952"
+ d="m 269.2948,99.4181 c -2.4126,3.72126 -6.579,3.53743 -9.9366,0.99365 l -0.9937,0 c 1.0066,4.69604 7.9543,2.98098 11.9239,2.98098 l -0.9936,-3.97463 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e9e9e9;stroke:none"
+ id="path11954"
+ d="m 280.2251,99.4181 0,0.99365 700.5312,0 -18.8796,-0.99365 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#eaeaea;stroke:none"
+ id="path11956"
+ d="m 280.2251,100.41175 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e9e9e9;stroke:none"
+ id="path11958"
+ d="m 280.2251,101.40541 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#9dbee1;stroke:none"
+ id="path11960"
+ d="m 51.683,102.39907 -1.9874,0.99366 0,0.99367 1.9874,-1.98733 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e7e7e7;stroke:none"
+ id="path11962"
+ d="m 280.2251,102.39907 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#909090;stroke:none"
+ id="path11964"
+ d="m 1004.6041,102.39907 0,0.99366 11.924,0 -11.924,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#6c97c6;stroke:none"
+ id="path11966"
+ d="m 50.6893,104.3864 0,0.99366 3.9747,-1.98733 -3.9747,0.99367 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e5e5e5;stroke:none"
+ id="path11968"
+ d="m 280.2251,103.39273 0,0.99367 700.5312,0 -18.8796,-0.99367 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#929292;stroke:none"
+ id="path11970"
+ d="m 258.3645,104.3864 0,0.99366 11.9239,0 -11.9239,-0.99366 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e2e2e2;stroke:none"
+ id="path11972"
+ d="m 280.2251,104.3864 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#e0e0e0;stroke:none"
+ id="path11974"
+ d="m 280.2251,105.38006 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#dddddd;stroke:none"
+ id="path11976"
+ d="m 280.2251,106.37372 0,0.99366 700.5312,0 -18.8796,-0.99366 -41.7338,0 -143.0872,0 -496.8306,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#a7a7a7;stroke:none"
+ id="path11978"
+ d="m 4.9809,110.34837 0,0.99366 1017.5091,0 -26.8288,-0.99366 -59.6197,0 -208.6689,0 -722.3917,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#868686;stroke:none"
+ id="path11980"
+ d="m 4.9809,789.0191 1015.5218,0 0,-0.9936 -769.0938,0 -192.7703,0 c -14.6514,0 -34.53,3.5562 -48.6311,-0.3161 -5.2877,-1.4517 -5.9314,-14.4726 -2.4397,-17.9643 2.8571,-2.8568 9.641,-1.5929 13.3117,-1.5929 l 37.7591,0 148.0555,0 592.2221,0 168.9225,0 37.7591,0 c 3.8554,0 11.3178,-1.3981 14.3087,1.5929 3.3785,3.3774 1.5899,12.8598 1.5899,17.2866 1.5103,-3.5941 2.8617,-16.1112 -0.5962,-18.8518 -2.4345,-1.9277 -7.4426,-1.0214 -10.3341,-1.0214 l -27.8225,0 -145.0746,0 -613.089,0 -164.9477,0 -39.7465,0 c -3.4537,0 -11.4585,-1.4685 -13.8836,1.5928 -3.1438,3.9697 -1.0213,15.3581 -1.0213,20.2678 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#bebebe;stroke:none"
+ id="path11982"
+ d="m 5.9746,787.0317 0.9936,0 0,-17.8859 1013.5345,0 -20.8669,-0.9936 -46.7021,0 -159.9794,0 -555.4567,0 -175.878,0 -40.7401,0 -13.8837,1.5929 -1.0212,17.2866 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#efefef;stroke:none"
+ id="path11984"
+ d="m 6.9682,769.1458 0,17.8859 1014.5282,0 0,-17.8859 -1014.5282,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#f8f8f8;stroke:none"
+ id="path11986"
+ d="m 6.9682,787.0317 0,0.9938 1013.5345,0 -26.8288,-0.9938 -59.6197,0 -207.6752,0 -719.4108,0 z"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#b6b6b6;stroke:none"
+ id="path11988"
+ d="m 1020.5027,787.0317 0,1.9874 1.9873,0 0,-1.9874 -1.9873,0 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -154,7 +154,7 @@
eventBus.addHandler(UserSignInEvent.getType(), new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
- doLogin(event.getUserInfo());
+ doLogin(session.getCurrentUserInfo());
}
});
eventBus.addHandler(UserSignOutEvent.getType(), new UserSignOutHandler() {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/client/noti/NotifyUser.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/client/noti/NotifyUser.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/client/noti/NotifyUser.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -66,6 +66,10 @@
eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, message));
}
+ public static void info(final String message, final boolean closeable) {
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, message, closeable));
+ }
+
public static void init(final EventBus eventBus, final I18nTranslationService i18n) {
NotifyUser.eventBus = eventBus;
NotifyUser.i18n = i18n;
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -79,8 +79,8 @@
final String userHash = userInfoDTO.getUserHash();
cookiesManager.setCookie(userHash);
getView().reset();
+ session.setUserHash(userHash);
session.setCurrentUserInfo(userInfoDTO);
- session.setUserHash(userHash);
final I18nLanguageDTO language = userInfoDTO.getLanguage();
i18n.changeCurrentLanguage(language.getCode());
session.setCurrentLanguage(language);
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInPresenter.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInPresenter.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/auth/SignInPresenter.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -178,7 +178,7 @@
public void onSuccess(final UserInfoDTO userInfoDTO) {
onSignIn(userInfoDTO);
stateManager.restorePreviousToken();
- // waveClientTester.doLogin(nickOrEmail, passwd);
+ waveClientTester.doLogin(nickOrEmail, passwd);
getView().hide();
getView().unMask();
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -71,10 +71,9 @@
this.siteOptions = siteOptions;
this.gotoGroupAction = gotoGroupAction;
createActions();
- // if (session.isLogged()) {
- // onUserSignIn(session.getCurrentUserInfo()); // NOPMD by vjrj on
- // 11/02/11 3:37
- // }
+ if (session.isLogged()) {
+ onUserSignIn(session.getCurrentUserInfo());
+ }
session.onUserSignIn(new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
@@ -86,6 +85,7 @@
@Override
public void onUserSignOut(final UserSignOutEvent event) {
menuDescriptor.setVisible(false);
+ menuDescriptor.setEnabled(false);
SiteUserOptionsPresenter.this.setLoggedUserName("");
}
});
@@ -140,6 +140,7 @@
private void onUserSignIn(final UserInfoDTO userInfoDTO) {
menuDescriptor.setVisible(true);
+ menuDescriptor.setEnabled(true);
setLoggedUserName(userInfoDTO.getShortName());
partiMenu.clear();
final List<GroupDTO> groupsIsAdmin = userInfoDTO.getGroupsIsAdmin();
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -335,7 +335,7 @@
public void setCurrentUserInfo(final UserInfoDTO currentUserInfo) {
this.currentUserInfo = currentUserInfo;
if (currentUserInfo != null) {
- eventBus.fireEvent(new UserSignInEvent(currentUserInfo));
+ eventBus.fireEvent(new UserSignInEvent(this.currentUserInfo));
} else {
eventBus.fireEvent(new UserSignOutEvent());
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/UserSignInEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/UserSignInEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/UserSignInEvent.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -23,7 +23,6 @@
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.event.shared.HasHandlers;
-import com.gwtplatform.mvp.client.HasEventBus;
public class UserSignInEvent extends GwtEvent<UserSignInEvent.UserSignInHandler> {
@@ -37,10 +36,6 @@
private static final Type<UserSignInHandler> TYPE = new Type<UserSignInHandler>();
- public static void fire(final HasEventBus source, final cc.kune.core.shared.dto.UserInfoDTO userInfo) {
- source.fireEvent(new UserSignInEvent(userInfo));
- }
-
public static Type<UserSignInHandler> getType() {
return TYPE;
}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/logo-big-home.png
===================================================================
(Binary files differ)
Property changes on: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/logo-big-home.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.html 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.html 2011-02-14 00:14:58 UTC (rev 1252)
@@ -4,7 +4,7 @@
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Kune</title>
<script type="text/javascript" language="javascript"
- src="/ws/ws.nocache.js"></script>
+ src="/ws/ws.nocache.js"></script>
<meta name="emite.httpBase" content="/http-bind/" />
<meta name="emite.host" content="localhost" />
<meta name="emite.searchHost" content="search.localhost" />
@@ -25,7 +25,7 @@
<meta name="hablar.height" content="300px" />
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css"
- href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
+ href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css">
<!-- FIXME: make something local -->
<script src="//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
<script>
@@ -46,32 +46,73 @@
var __useSocketIO = true;
</script>
<link
- href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
- rel='stylesheet' type='text/css'>
+ href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
+ rel='stylesheet' type='text/css'>
<!-- <link href='http://fonts.googleapis.com/css?family=Inconsolata'
rel='stylesheet' type='text/css'> -->
<link type="text/css" rel="stylesheet" href="gxt/css/gxt-all.css">
<link type="text/css" rel="stylesheet" href="gxt/css/gxt-gray.css">
-<link type="text/css" rel="stylesheet" href="gxt-custom/css/gxt-op-common.css">
+<link type="text/css" rel="stylesheet"
+ href="gxt-custom/css/gxt-op-common.css">
<link type="text/css" rel="stylesheet" href="kune-hablar.css">
<link type="text/css" rel="stylesheet" href="kune-chat.css">
<link type="text/css" rel="stylesheet" href="kune-common.css">
<link type="text/css" rel="stylesheet"
- href="fontface/ubuntufontface.css">
+ href="fontface/ubuntufontface.css">
<link type="text/css" rel="stylesheet" href="kune-message.css">
<link type="text/css" rel="stylesheet" href="ws.css">
<style type="text/css">
body {
- background-color: white;
- color: black;
- font-family: 'Ubuntu', Arial;
- font-size: small;
- margin: 5px;
- overflow: hidden;
+ background-color: white;
+ color: black;
+ font-family: 'Ubuntu', Arial;
+ font-size: small;
+ overflow: hidden;
+ }
+#k-home-prewrap {
+ margin-top: -22px;
}
+#k-home-wrapper {
+ margin-left: auto;
+ margin-right: auto;
+ position: relative;
+ width: 665px;
+ min-width: 320px;
+}
+
+#k-home-logo {
+float: right;
+margin-top: 50px;
+}
+
+#k-home-ini {
+clear: both;
+font-size: 28px;
+color: #69312f;
+text-align: justify;
+padding: 50px 0;
+line-height: 1.3em;
+}
+
+#k-home-ini a {
+color: #803000;
+font-weight: bold;
+}
+
+#k-home-ini strong {
+font-weight: bold;
+}
+
+
+#k-home-stats {
+font-size: 22px;
+color: #c87137;
+font-weight: bold;
+}
+
.banner {
- margin: 30px;
+ margin: 30px;
}
</style>
<!--[if IE 6]>
@@ -84,14 +125,14 @@
<!-- Autocomplete user/pass -->
<form method="post" action="javascript:void(0)" style="display: none">
<input type="text" id="address" name="address" value="" /> <input
- type="password" id="password" name="password" value="" /> <input
- type="submit" value="Login" id="login" />
- <input type="submit" class="wiab le button" name="signIn" id="signIn" value="Sign in">
- </form>
+ type="password" id="password" name="password" value="" /> <input
+ type="submit" value="Login" id="login" /> <input type="submit"
+ class="wiab le button" name="signIn" id="signIn" value="Sign in">
+</form>
<!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
<noscript>
<div
- style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
+ style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
Your web browser must have JavaScript enabled in order for this
application to display correctly.</div>
</noscript>
@@ -104,7 +145,18 @@
<!-- style="margin-right: 3px; float: left; vertical-align: top;" />kune <br />-->
<!--<span id="kuneloading-msg">Starting...</span></div>-->
<!--</div>-->
-<div style="heigth: 20px"> </div>
-<div id="k-home-ini" title="test">Latest projects, bla, bla, bla</div>
+<div id="k-home-prewrap">
+<div id="k-home-wrapper">
+<div id="k-home-logo"><img src="logo-big-home.png" alt="" /></div>
+<div id="k-home-ini">Welcome! This site is a Kune node. Kune,
+which means "together" in esperanto, it's a network of interconnected
+sites like this one, where you can <strong>communicate, share, collaborate with
+others and create your web spaces easily</strong>. <a href="#signin">Join!</a>
+</div>
+<div id="k-home-stats">
+Latests groups created
+</div>
+</div>
+</div>
</body>
</html>
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmor.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmor.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmor.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -51,4 +51,6 @@
void selectUserSpace();
+ void setFrameUrlForTesting(String url);
+
}
\ No newline at end of file
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmorImpl.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmorImpl.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/gspace/client/WsArmorImpl.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -27,6 +27,7 @@
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Frame;
import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.SimplePanel;
@@ -62,6 +63,8 @@
@UiField
VerticalPanel entityToolsSouth;
@UiField
+ Frame frame;
+ @UiField
SplitLayoutPanel groupSpace;
@UiField
SimplePanel homeSpace;
@@ -85,7 +88,7 @@
initWidget(uiBinder.createAndBindUi(this));
groupSpace.setWidgetMinSize(splitEast, 150);
tabs.setStyleName("k-spaces");
- homeSpace.add(RootPanel.get("k-home-ini"));
+ homeSpace.add(RootPanel.get("k-home-wrapper"));
publicSpace.add(pspace.getWidget());
// userSpace.add(new Label("User space"));
}
@@ -159,4 +162,10 @@
public void selectUserSpace() {
tabs.selectTab(userSpace);
}
+
+ @Override
+ @Deprecated
+ public void setFrameUrlForTesting(final String url) {
+ frame.setUrl(url);
+ }
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/pspace/client/PSpacePanel.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/pspace/client/PSpacePanel.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/pspace/client/PSpacePanel.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -98,7 +98,8 @@
@Override
public void setContentGotoPublicUrl(final String publicUrl) {
- frame.setUrl(publicUrl);
+ frame.setUrl("about:blank");
+ // frame.setUrl(publicUrl);
}
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/client/WaveClientTester.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/client/WaveClientTester.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/client/WaveClientTester.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -1,6 +1,14 @@
package cc.kune.wave.client;
import cc.kune.common.client.noti.NotifyUser;
+import cc.kune.common.client.utils.WindowUtils;
+import cc.kune.core.client.logs.Log;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.UserSignInEvent;
+import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler;
+import cc.kune.core.client.state.UserSignOutEvent;
+import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
+import cc.kune.gspace.client.WsArmor;
import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
@@ -8,14 +16,35 @@
import com.google.gwt.http.client.RequestException;
import com.google.gwt.http.client.Response;
import com.google.gwt.http.client.URL;
+import com.google.inject.Inject;
public class WaveClientTester {
- public WaveClientTester() {
+ private final WsArmor wsarmor;
+
+ @Inject
+ public WaveClientTester(final WsArmor wsarmor, final Session session) {
+ this.wsarmor = wsarmor;
+ if (session.isLogged()) {
+ doLogin(session.getCurrentUserInfo().getChatName(), session.getCurrentUserInfo().getChatPassword());
+ }
+ session.onUserSignIn(new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ doLogin(event.getUserInfo().getChatName(), event.getUserInfo().getChatPassword());
+ }
+ });
+
+ session.onUserSignOut(new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ // TODO Auto-generated method stub
+ }
+ });
}
public void doLogin(final String userWithoutDomain, final String passwd) {
- final RequestBuilder request = new RequestBuilder(RequestBuilder.POST, "/auth/signin/");
+ final RequestBuilder request = new RequestBuilder(RequestBuilder.POST, "/auth/signin");
final StringBuffer params = new StringBuffer();
params.append("address=");
params.append(URL.encodeQueryString(userWithoutDomain));
@@ -33,7 +62,10 @@
@Override
public void onResponseReceived(final Request request, final Response response) {
- NotifyUser.info(response.getText());
+ final String url = WindowUtils.getLocation().getHost() + "/";
+ Log.debug("Wave client url: " + url);
+ // wsarmor.setFrameUrlForTesting(url);
+ wsarmor.setFrameUrlForTesting("/wiiiabbb");
}
});
} catch (final RequestException e) {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-14 00:14:58 UTC (rev 1252)
@@ -11,6 +11,9 @@
import java.util.concurrent.Executors;
import javax.servlet.Servlet;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@@ -24,6 +27,7 @@
import org.eclipse.jetty.websocket.WebSocket;
import org.eclipse.jetty.websocket.WebSocketServlet;
import org.jruby.rack.RackFilter;
+import org.jruby.rack.RackServletContextListener;
import org.ourproject.kune.rack.RackServletFilter;
import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
@@ -419,7 +423,7 @@
httpServer.addConnector(connector);
}
- // final WebAppContext context = new WebAppContext();
+ // final WebAppContext webContext = new WebAppContext();
final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
if (jettySessionManager != null) {
context.getSessionHandler().setSessionManager(jettySessionManager);
@@ -427,61 +431,42 @@
context.setResourceBase(resourceBase);
context.setContextPath(baseUrl);
- // context.setWar(baseUrl);
+ // webContext.setResourceBase(resourceBase);
+ // webContext.setContextPath(baseUrl);
+ // webContext.setWar(baseUrl);
final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
httpbindHolder.setInitParameter("remotePath", "/http-bind/");
httpbindHolder.setInitParameter("remotePort", "5280");
context.addServlet(httpbindHolder, "/http-bind/");
- final FilterHolder rubyRack = new FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
- rubyRack.setFilter(new RackFilter());
- rubyRack.setInitParameter("jruby.standalone", "true");
- rubyRack.setInitParameter("rails.root", "/WEB-INF/publicspace/");
- rubyRack.setInitParameter("files.prefix", "/WEB-INF/publicspace/public");
- rubyRack.setInitParameter("rails.env", "production");
- rubyRack.setInitParameter("jruby.max.runtimes", "1");
- rubyRack.setInitParameter("public.root", "/public/");
- context.addFilter(rubyRack, "/public/*", 0);
+ context.addEventListener(new ServletContextListener() {
- // <context-param>
- // <param-name>jruby.standalone</param-name>
- // <param-value>true</param-value>
- // </context-param>
- // <context-param>
- // <param-name>rails.root</param-name>
- // <param-value>/WEB-INF/publicspace/
- // </param-value>
- // </context-param>
- // <context-param>
- // <param-name>files.prefix</param-name>
- // <param-value>/WEB-INF/publicspace/public
- // </param-value>
- // </context-param>
- // <context-param>
- // <param-name>rails.env</param-name>
- // <param-value>production</param-value>
- // </context-param>
- // <context-param>
- // <param-name>jruby.max.runtimes</param-name>
- // <param-value>1</param-value>
- // </context-param>
- // <context-param>
- // <param-name>public.root</param-name>
- // <param-value>/public/</param-value>
- // </context-param>
- // <filter>
- // <filter-name>RackFilter</filter-name>
- // <filter-class>org.jruby.rack.RackFilter</filter-class>
- // </filter>
- // <filter-mapping>
- // <filter-name>RackFilter</filter-name>
- // <url-pattern>/public/*</url-pattern>
- // </filter-mapping>
- // <listener>
- // <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class>
- // </listener>
+ @Override
+ public void contextDestroyed(final ServletContextEvent sce) {
+ }
+ @Override
+ public void contextInitialized(final ServletContextEvent sce) {
+ final ServletContext context = sce.getServletContext();
+ context.setAttribute("jruby.standalone", "true");
+ context.setAttribute("rails.root", "/WEB-INF/publicspace/");
+ context.setAttribute("files.prefix", "/WEB-INF/publicspace/public");
+ context.setAttribute("rails.env", "production");
+ context.setAttribute("jruby.max.runtimes", "1");
+ context.setAttribute("public.root", "/public/");
+ }
+ });
+
+ context.addEventListener(new RackServletContextListener());
+ // final FilterHolder rubyRack = new
+ // FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
+ // rubyRack.setFilter(new RackFilter());
+
+ // context.getInitParameter("rails.root");
+
+ context.addFilter(RackFilter.class, "/public/*", 0);
+
context.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
@@ -538,15 +523,15 @@
context.addServlet(defaultServlet, "/static/*");
context.addServlet(defaultServlet, "/webclient/*");
context.addServlet(defaultServlet, "/ws/*");
+ context.addServlet(defaultServlet, "/images/*");
+ context.addServlet(defaultServlet, "/javascripts/*");
+ context.addServlet(defaultServlet, "/stylesheets/*");
+ context.addServlet(defaultServlet, "/templates/*");
for (final Pair<String, ServletHolder> servlet : servletRegistry) {
context.addServlet(servlet.getSecond(), servlet.getFirst());
}
- // final ContextHandlerCollection contexts = new
- // ContextHandlerCollection();
- // contexts.setHandlers(new Handler[] { context, webContext });
-
httpServer.setHandler(context);
try {
Modified: branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml 2011-02-13 11:00:54 UTC (rev 1251)
+++ branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml 2011-02-14 00:14:58 UTC (rev 1252)
@@ -117,27 +117,27 @@
<!-- <servlet-name>HttpBind</servlet-name> -->
<!-- <url-pattern>/http-bind/</url-pattern> -->
<!-- </servlet-mapping> -->
- <servlet>
- <servlet-name>Proxy</servlet-name>
- <servlet-class>de.spieleck.servlets.ProxyServlet</servlet-class>
- <init-param>
- <param-name>remotePath</param-name>
- <param-value>/http-bind/</param-value>
- </init-param>
- <init-param>
- <param-name>remoteServer</param-name>
- <param-value>localhost</param-value>
- </init-param>
- <init-param>
- <param-name>remotePort</param-name>
- <param-value>5280</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>Proxy</servlet-name>
- <url-pattern>/http-bind/
- </url-pattern>
- </servlet-mapping>
+<!-- <servlet>-->
+<!-- <servlet-name>Proxy</servlet-name>-->
+<!-- <servlet-class>de.spieleck.servlets.ProxyServlet</servlet-class>-->
+<!-- <init-param>-->
+<!-- <param-name>remotePath</param-name>-->
+<!-- <param-value>/http-bind/</param-value>-->
+<!-- </init-param>-->
+<!-- <init-param>-->
+<!-- <param-name>remoteServer</param-name>-->
+<!-- <param-value>localhost</param-value>-->
+<!-- </init-param>-->
+<!-- <init-param>-->
+<!-- <param-name>remotePort</param-name>-->
+<!-- <param-value>5280</param-value>-->
+<!-- </init-param>-->
+<!-- </servlet>-->
+<!-- <servlet-mapping>-->
+<!-- <servlet-name>Proxy</servlet-name>-->
+<!-- <url-pattern>/http-bind/-->
+<!-- </url-pattern>-->
+<!-- </servlet-mapping>-->
<!-- Kune normal guice configuration ======================================================================== -->
<!-- <filter>-->
<!-- <filter-name>rack</filter-name>-->
1
0
Author: vjrj_
Date: 2011-02-13 12:00:54 +0100 (Sun, 13 Feb 2011)
New Revision: 1251
Added:
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContainerFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContentFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ExtMediaDescripFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/GroupFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nCountryFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nLanguageFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/LicenseFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/RateFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagUserContentFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/UserFinder.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/JettyModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/FinderRegistry.java
branches/wave-jetty-embed-guice/src/test/java/cc/kune/domain/
branches/wave-jetty-embed-guice/src/test/java/cc/kune/domain/finders/
branches/wave-jetty-embed-guice/src/test/java/cc/kune/domain/finders/TagUserContentFinderTest.java
Modified:
branches/wave-jetty-embed-guice/.classpath
branches/wave-jetty-embed-guice/pom.xml
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/errors/SessionExpiredEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/AccessRightsChangedEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/GroupChangedEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SocialNetworkChangedEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/StateChangedEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/ToolChangedEvent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Container.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Content.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/ExtMediaDescrip.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Group.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nCountry.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nLanguage.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nTranslation.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/License.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Rate.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Tag.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/TagUserContent.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/User.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItemGui.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/OldGuiActionDescrip.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/shortcuts/GlobalShortcutRegister.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditor.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPanel.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/KunePersistenceService.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/ExtMediaDescripManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nCountryManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nLanguageManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/RateManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/I18nRPC.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/filters/rest/TransactionalServiceExecutor.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/hello/HelloWorldModule.java
branches/wave-jetty-embed-guice/src/main/resources/META-INF/persistence.xml
branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/kuneservice/GroupServiceTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkMembersTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistenceTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestConstants.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestHelper.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptorTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/GroupFinderTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/LicenseFinderTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/RateFinderTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/UserFinderTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/LicenseManagerTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagUserContentTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/workspace/client/tool/ToolSelectorPresenterTest.java
Log:
wiab and kune in the same port
Modified: branches/wave-jetty-embed-guice/.classpath
===================================================================
--- branches/wave-jetty-embed-guice/.classpath 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/.classpath 2011-02-13 11:00:54 UTC (rev 1251)
@@ -33,10 +33,10 @@
<classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
<classpathentry kind="var" path="M2_REPO/com/googlecode/gwt/inject/gin/r137/gin-r137.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/code/guice/guice/2.1-SNAPSHOT-r1160/guice-2.1-SNAPSHOT-r1160.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/2.0/guice-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/code/guice/guice-servlet/2.0.1/guice-servlet-2.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/jhickman/web/gwt/gwt-customuibinder/0.1/gwt-customuibinder-0.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
@@ -105,7 +105,6 @@
<classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/wideplay/warp-persist/2.0-SNAPSHOT/warp-persist-2.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.6/waveinabox-server-custom-0.3.6.jar"/>
<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
Modified: branches/wave-jetty-embed-guice/pom.xml
===================================================================
--- branches/wave-jetty-embed-guice/pom.xml 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/pom.xml 2011-02-13 11:00:54 UTC (rev 1251)
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>cc.kune</groupId>
<artifactId>kune</artifactId>
- <packaging>war</packaging>
+ <packaging>jar</packaging>
<version>0.0.7</version>
<name>kune</name>
<description> kune free/open/libre collaboration platform </description>
@@ -187,6 +187,10 @@
<url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/</url>
<name>Google Web Toolkit Plugin Repository</name>
</pluginRepository>
+ <pluginRepository>
+ <id>onejar-maven-plugin.googlecode.com</id>
+ <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
+ </pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
@@ -202,9 +206,10 @@
</dependency>
<!-- guice -->
<dependency>
- <groupId>com.google.code.guice</groupId>
+ <groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
- <version>2.1-SNAPSHOT-r1160</version>
+ <!-- <version>2.1-SNAPSHOT-r1160</version> -->
+ <version>3.0-rc2</version>
</dependency>
<dependency>
<groupId>com.googlecode.gwt.inject</groupId>
@@ -212,45 +217,50 @@
<version>r137</version>
</dependency>
<dependency>
- <groupId>com.google.code.guice</groupId>
+ <groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
- <version>2.0.1</version>
+ <version>3.0-rc2</version>
</dependency>
<dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-persist</artifactId>
+ <version>3.0-rc2</version>
+ </dependency>
+ <dependency>
<groupId>com.extjs</groupId>
<artifactId>gxt</artifactId>
<version>2.2.1</version>
- <scope>compile</scope>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.cobogw.gwt</groupId>
<artifactId>cobogw</artifactId>
<version>1.3.1</version>
</dependency>
-<dependency>
- <groupId>com.gwtplatform</groupId>
- <artifactId>gwtp-all</artifactId>
- <version>0.5</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- </exclusion>
- </exclusions>
-</dependency>
<dependency>
+ <groupId>com.gwtplatform</groupId>
+ <artifactId>gwtp-all</artifactId>
+ <version>0.5</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>org.adamtacy</groupId>
<artifactId>gwt-fx</artifactId>
<version>r464</version>
@@ -395,27 +405,21 @@
<version>3.2.3.GA</version>
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-c3p0</artifactId>
- <version>3.3.1.GA</version>
- </dependency>
- <!-- <dependency>
- <groupId>c3p0</groupId>
- <artifactId>c3p0</artifactId>
- <version>0.9.1.2</version>
- </dependency> -->
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-c3p0</artifactId>
+ <version>3.3.1.GA</version>
+ </dependency>
+ <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
+ <version>0.9.1.2</version> </dependency> -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<!-- wave use 2.5 -->
<version>2.5</version>
</dependency>
+ <!-- <dependency> <groupId>com.wideplay</groupId> <artifactId>warp-persist</artifactId>
+ <version>2.0-SNAPSHOT</version> </dependency> -->
<dependency>
- <groupId>com.wideplay</groupId>
- <artifactId>warp-persist</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
- <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
@@ -775,11 +779,23 @@
<!-- =roo -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
- <version>2.2-beta-5</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
+ <dependencySets>
+ <dependencySet>
+ <scope>runtime</scope>
+ <unpackOptions>
+ <excludes>
+ <exclude>**/gxt/**</exclude>
+ <exclude>**/extjs/**</exclude>
+ <exclude>**extjs**</exclude>
+ <exclude>**gxt**</exclude>
+ </excludes>
+ </unpackOptions>
+ </dependencySet>
+ </dependencySets>
</configuration>
</plugin>
<plugin>
@@ -916,6 +932,24 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
+ <!-- <classpathLayoutType>repository</classpathLayoutType> -->
+ <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
+ instead. -->
+ <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+ <!-- <packageName>cc.kune.wave.server</packageName> -->
+ </manifest>
+ <manifestEntries>
+ <mode>development</mode>
+ <url>${pom.url}</url>
+ </manifestEntries>
+ </archive>
+ </configuration>
<executions>
<!-- <execution> -->
<!-- <id>core</id> -->
@@ -950,21 +984,53 @@
<!-- </includes> -->
<!-- </configuration> -->
<!-- </execution> -->
+ <!-- <execution> -->
+ <!-- <id>helloworldmodule</id> -->
+ <!-- <phase>package</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>jar</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <classifier>helloworldmodule</classifier> -->
+ <!-- <includes> -->
+ <!-- <include>**/HelloWorld*</include> -->
+ <!-- </includes> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>1.4.4</version>
+ <executions>
<execution>
- <id>helloworldmodule</id>
- <phase>package</phase>
+ <configuration>
+ <!-- Optional -->
+ <!-- <onejarVersion>0.97</onejarVersion> -->
+ <!-- Optional, use only if you need to include native libraries
+ (dll's) -->
+<!-- <binlibs>-->
+<!-- <fileSet>-->
+<!-- <directory>${project.build.directory}/${project.build.finalName}</directory>-->
+<!-- <includes>-->
+<!-- <include>**</include>-->
+<!-- </includes>-->
+<!-- </fileSet>-->
+<!-- </binlibs>-->
+ <!-- Optional, default is false -->
+ <attachToBuild>true</attachToBuild>
+ <!-- Optional, default is "onejar" -->
+ <classifier>onejar</classifier>
+ </configuration>
<goals>
- <goal>jar</goal>
+ <goal>one-jar</goal>
</goals>
- <configuration>
- <classifier>helloworldmodule</classifier>
- <includes>
- <include>**/HelloWorld*</include>
- </includes>
- </configuration>
</execution>
</executions>
</plugin>
+
+
<!-- <plugin> -->
<!-- <groupId>org.codehaus.mojo</groupId> -->
<!-- <artifactId>selenium-maven-plugin</artifactId> -->
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/errors/SessionExpiredEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/errors/SessionExpiredEvent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/errors/SessionExpiredEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -22,7 +22,6 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
import com.google.gwt.event.shared.HasHandlers;
public class SessionExpiredEvent extends GwtEvent<SessionExpiredEvent.SessionExpiredHandler> {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -71,9 +71,10 @@
this.siteOptions = siteOptions;
this.gotoGroupAction = gotoGroupAction;
createActions();
- if (session.isLogged()) {
- onUserSignIn(session.getCurrentUserInfo()); // NOPMD by vjrj on 11/02/11 3:37
- }
+ // if (session.isLogged()) {
+ // onUserSignIn(session.getCurrentUserInfo()); // NOPMD by vjrj on
+ // 11/02/11 3:37
+ // }
session.onUserSignIn(new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/AccessRightsChangedEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/AccessRightsChangedEvent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/AccessRightsChangedEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -3,7 +3,6 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
import com.google.gwt.event.shared.HasHandlers;
public class AccessRightsChangedEvent extends GwtEvent<AccessRightsChangedEvent.AccessRightsChangedHandler> {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/GroupChangedEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/GroupChangedEvent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/GroupChangedEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -22,7 +22,6 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
import com.google.gwt.event.shared.HasHandlers;
public class GroupChangedEvent extends GwtEvent<GroupChangedEvent.GroupChangedHandler> {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SocialNetworkChangedEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SocialNetworkChangedEvent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/SocialNetworkChangedEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -22,7 +22,6 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
import com.google.gwt.event.shared.HasHandlers;
public class SocialNetworkChangedEvent extends GwtEvent<SocialNetworkChangedEvent.SocialNetworkChangedHandler> {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/StateChangedEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/StateChangedEvent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/StateChangedEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -22,7 +22,6 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
import com.google.gwt.event.shared.HasHandlers;
public class StateChangedEvent extends GwtEvent<StateChangedEvent.StateChangedHandler> {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/ToolChangedEvent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/ToolChangedEvent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/state/ToolChangedEvent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -22,7 +22,6 @@
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
-
import com.google.gwt.event.shared.HasHandlers;
public class ToolChangedEvent extends GwtEvent<ToolChangedEvent.ToolChangedHandler> {
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Container.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Container.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Container.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -53,29 +53,46 @@
import cc.kune.domain.utils.HasId;
import cc.kune.domain.utils.HasStateToken;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Indexed
@Table(name = "containers")
public class Container implements HasId, HasStateToken {
+ @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List<Container> absolutePath;
+
+ @OneToOne(cascade = CascadeType.ALL)
+ private AccessLists accessLists;
+
+ @OrderBy("createdOn DESC")
+ @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ private Set<Container> childs;
+
+ @OneToMany(cascade = CascadeType.ALL)
+ private List<ContainerTranslation> containerTranslations;
+
+ @ContainedIn
+ @OrderBy("createdOn DESC")
+ @OneToMany(mappedBy = "container", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ private Set<Content> contents;
+
+ @Basic(optional = false)
+ private Long createdOn;
+
+ @Basic(optional = true)
+ private Date deletedOn;
+
@Id
@GeneratedValue
@DocumentId
Long id;
+ @ManyToOne
+ private I18nLanguage language;
+
@Column
@Field(index = Index.TOKENIZED, store = Store.NO)
private String name;
- private String toolName;
-
- private String typeId;
-
- @ManyToOne
- private I18nLanguage language;
-
@IndexedEmbedded(depth = 1, prefix = "owner_")
@OneToOne
private Group owner;
@@ -87,30 +104,10 @@
@JoinColumn
private Container parent;
- @OrderBy("createdOn DESC")
- @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- private Set<Container> childs;
+ private String toolName;
- @ContainedIn
- @OrderBy("createdOn DESC")
- @OneToMany(mappedBy = "container", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- private Set<Content> contents;
+ private String typeId;
- @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- private List<Container> absolutePath;
-
- @OneToMany(cascade = CascadeType.ALL)
- private List<ContainerTranslation> containerTranslations;
-
- @OneToOne(cascade = CascadeType.ALL)
- private AccessLists accessLists;
-
- @Basic(optional = false)
- private Long createdOn;
-
- @Basic(optional = true)
- private Date deletedOn;
-
public Container() {
this(null, null, null);
}
@@ -137,11 +134,6 @@
contents.add(descriptor);
}
- @Finder(query = "SELECT COUNT(*) FROM Container c WHERE c.parent = :container AND c.name LIKE :title")
- public Long findIfExistsTitle(@Named("container") final Container container, @Named("title") final String title) {
- return null;
- }
-
public List<Container> getAbsolutePath() {
return absolutePath;
}
@@ -175,6 +167,7 @@
return deletedOn;
}
+ @Override
public Long getId() {
return id;
}
@@ -199,6 +192,7 @@
return parent != null ? parent.getId() : null;
}
+ @Override
@Transient
public StateToken getStateToken() {
return new StateToken(getOwner().getShortName(), getToolName(), getId());
@@ -264,6 +258,7 @@
this.deletedOn = deletedOn;
}
+ @Override
public void setId(final Long id) {
this.id = id;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Content.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Content.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Content.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -56,23 +56,17 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.domain.utils.HasStateToken;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-import com.wideplay.warp.persist.dao.FirstResult;
-import com.wideplay.warp.persist.dao.MaxResults;
-
@Entity
@Table(name = "contents")
@Indexed
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Content implements HasStateToken {
- private static final String GROUP = "group";
- private static final String MIMETYPE = "mimetype";
+ public static final String GROUP = "group";
+ public static final String MIMETYPE = "mimetype";
public static final Content NO_CONTENT = new Content();
+ public static final String TITLE = "title";
- private static final String TITLE = "title";
-
@OneToOne(cascade = CascadeType.ALL)
private AccessLists accessLists;
@@ -170,36 +164,6 @@
}
}
- @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC")
- public List<Content> find2Mime(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype, @Named("mimetype2") final String mimetype2,
- @FirstResult final int offset, @MaxResults final int limit) {
- return null;
- }
-
- @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null")
- public int find2MimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype, @Named("mimetype2") final String mimetype2) {
- return 0;
- }
-
- @Finder(query = "select count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title LIKE :title")
- public Long findIfExistsTitle(@Named("container") final Container container, @Named(TITLE) final String title) {
- return null;
- }
-
- @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC")
- public List<Content> findMime(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype, @FirstResult final int offset, @MaxResults final int limit) {
- return null;
- }
-
- @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null")
- public int findMimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
- @Named(MIMETYPE) final String mimetype) {
- return 0;
- }
-
@Transient
public AccessLists getAccessLists() {
return hasAccessList() ? accessLists : getContainer().getAccessLists();
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/ExtMediaDescrip.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/ExtMediaDescrip.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/ExtMediaDescrip.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,6 @@
*/
package cc.kune.domain;
-import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -31,28 +29,26 @@
import cc.kune.domain.utils.HasId;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Table(name = "ext_media_descriptors")
public class ExtMediaDescrip implements HasId {
+ @Column(nullable = false)
+ private String detectRegex;
+ @Column(nullable = false)
+ @Length(max = 1000)
+ private String embedTemplate;
+ private int height;
@Id
@GeneratedValue
private Long id;
@Column(nullable = false)
+ private String idRegex;
+ @Column(nullable = false)
private String name;
@Column(nullable = false)
private String siteurl;
- @Column(nullable = false)
- private String detectRegex;
- @Column(nullable = false)
- private String idRegex;
- @Column(nullable = false)
- @Length(max = 1000)
- private String embedTemplate;
private int width;
- private int height;
public ExtMediaDescrip() {
this(null, null, null, null, null, 0, 0);
@@ -69,11 +65,6 @@
height = defHeight;
}
- @Finder(query = "from ExtMediaDescrip")
- public List<ExtMediaDescrip> getAll() {
- return null;
- }
-
public String getDetectRegex() {
return detectRegex;
}
@@ -86,6 +77,7 @@
return height;
}
+ @Override
public Long getId() {
return id;
}
@@ -118,6 +110,7 @@
this.height = height;
}
+ @Override
public void setId(final Long id) {
this.id = id;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Group.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Group.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Group.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -20,7 +20,6 @@
package cc.kune.domain;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import javax.persistence.Basic;
@@ -51,9 +50,6 @@
import cc.kune.core.shared.dto.GroupType;
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Indexed
@Table(name = "groups")
@@ -159,26 +155,6 @@
return toolsConfig.get(toolName) != null;
}
- @Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.admins.list adm WHERE adm.id = :groupid)")
- public List<Group> findAdminInGroups(@Named("groupid") final Long groupId) {
- return null;
- }
-
- @Finder(query = "FROM Group g WHERE g.shortName = :shortName")
- public Group findByShortName(@Named("shortName") final String shortName) {
- return null;
- }
-
- @Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.editors.list AS ed WHERE ed.id = :groupid)")
- public List<Group> findCollabInGroups(@Named("groupid") final Long groupId) {
- return null;
- }
-
- @Finder(query = "SELECT t.root.toolName FROM ToolConfiguration t WHERE t.enabled=true AND t.root.owner.id = :groupid")
- public List<String> findEnabledTools(@Named("groupid") final Long groupId) {
- return null;
- }
-
@Transient
public AccessLists getAccessLists() {
return getSocialNetwork().getAccessLists();
@@ -188,11 +164,6 @@
return admissionType;
}
- @Finder(query = "FROM Group")
- public List<Group> getAll() {
- return null;
- }
-
public Long getCreatedOn() {
return createdOn;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nCountry.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nCountry.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nCountry.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,6 @@
*/
package cc.kune.domain;
-import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -31,9 +29,6 @@
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
/**
* GlobalizeCountries generated by hbm2java from original rails globalize schema
*
@@ -46,39 +41,39 @@
@Table(name = "globalize_countries")
public class I18nCountry implements HasId {
- @Id
- // Is not a @GeneratedValue similar to I18nLanguage (we have already ids)
- @DocumentId
- @Column(name = "id", unique = true, nullable = false)
- private Long id;
-
@Column(name = "code", length = 2)
private String code;
- @Column(name = "english_name")
- private String englishName;
+ @Column(name = "currency_code", length = 3)
+ private String currencyCode;
- @Column(name = "date_format")
- private String dateFormat;
+ @Column(name = "currency_decimal_sep", length = 2)
+ private String currencyDecimalSep;
@Column(name = "currency_format")
private String currencyFormat;
- @Column(name = "currency_code", length = 3)
- private String currencyCode;
+ @Column(name = "date_format")
+ private String dateFormat;
- @Column(name = "thousands_sep", length = 2)
- private String thousandsSep;
-
@Column(name = "decimal_sep", length = 2)
private String decimalSep;
- @Column(name = "currency_decimal_sep", length = 2)
- private String currencyDecimalSep;
+ @Column(name = "english_name")
+ private String englishName;
+ @Id
+ // Is not a @GeneratedValue similar to I18nLanguage (we have already ids)
+ @DocumentId
+ @Column(name = "id", unique = true, nullable = false)
+ private Long id;
+
@Column(name = "number_grouping_scheme")
private String numberGroupingScheme;
+ @Column(name = "thousands_sep", length = 2)
+ private String thousandsSep;
+
public I18nCountry() {
this(null, null, null, null, null, null, null, null, null, null);
}
@@ -98,16 +93,6 @@
this.numberGroupingScheme = numberGroupingScheme;
}
- @Finder(query = "FROM I18nCountry WHERE code = :country")
- public I18nCountry findByCode(@Named("country") final String country) {
- return null;
- }
-
- @Finder(query = "FROM I18nCountry ORDER BY english_name")
- public List<I18nCountry> getAll() {
- return null;
- }
-
public String getCode() {
return this.code;
}
@@ -136,6 +121,7 @@
return this.englishName;
}
+ @Override
public Long getId() {
return this.id;
}
@@ -176,6 +162,7 @@
this.englishName = englishName;
}
+ @Override
public void setId(final Long id) {
this.id = id;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nLanguage.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nLanguage.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nLanguage.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,6 @@
*/
package cc.kune.domain;
-import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -36,9 +34,6 @@
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
/**
* GlobalizeLanguages generated by hbm2java from original rails globalize schema
*
@@ -149,16 +144,6 @@
this.dateFormat = dateFormat;
}
- @Finder(query = "FROM I18nLanguage l WHERE code = :language")
- public I18nLanguage findByCode(@Named("language") final String language) {
- return null;
- }
-
- @Finder(query = "FROM I18nLanguage ORDER BY englishName")
- public List<I18nLanguage> getAll() {
- return null;
- }
-
public String getCode() {
return code;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nTranslation.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nTranslation.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/I18nTranslation.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,6 @@
*/
package cc.kune.domain;
-import java.util.List;
-
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -28,8 +26,6 @@
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
import javax.persistence.Table;
import org.hibernate.search.annotations.DocumentId;
@@ -37,11 +33,6 @@
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-import com.wideplay.warp.persist.dao.FirstResult;
-import com.wideplay.warp.persist.dao.MaxResults;
-
/**
* GlobalizeTranslations generated by hbm2java from original rails globalize
* schema
@@ -49,43 +40,26 @@
@Entity
@Indexed
@Table(name = "globalize_translations")
-@NamedQueries( {
- @NamedQuery(name = "untranslated", query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :language and text=null"),
- @NamedQuery(name = "translated", query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :language and text!=null"),
- @NamedQuery(name = "untranslatedcount", query = "SELECT COUNT(gt.id) FROM I18nTranslation gt WHERE gt.language = :language and text=null"),
- @NamedQuery(name = "translatedcount", query = "SELECT COUNT(gt.id) FROM I18nTranslation gt WHERE gt.language = :language and text!=null") })
public class I18nTranslation implements HasId {
public static final String DEF_NAMESPACE = "kune_core";
public static final Integer DEF_PLUR_INDEX = 1;
public static final String DEFAULT_LANG = "en";
+
public static final String UNTRANSLATED_VALUE = null;
- private static final String TRANSLATED_QUERY = "translated";
- private static final String UNTRANSLATED_QUERY = "untranslated";
- private static final String TRANSLATED_COUNT_QUERY = "translatedcount";
- private static final String UNTRANSLATED_COUNT_QUERY = "untranslatedcount";
+ @Column(name = "facet")
+ private String facet;
+
@Id
@GeneratedValue
@DocumentId
@Column(name = "id", unique = true, nullable = false)
private Long id;
- @Column(name = "gtype")
- private String type;
-
- @Column(name = "tr_key")
- private String trKey;
-
- @Column(name = "table_name")
- private String tableName;
-
@Column(name = "item_id")
private Integer itemId;
- @Column(name = "facet")
- private String facet;
-
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "language_id")
private I18nLanguage language;
@@ -93,161 +67,129 @@
@Column(name = "pluralization_index")
private Integer pluralizationIndex;
+ @Column(name = "table_name")
+ private String tableName;
+
@Column(name = "text")
private String text;
+ @Column(name = "tr_key")
+ private String trKey;
+
+ @Column(name = "gtype")
+ private String type;
+
public I18nTranslation() {
- this(null, null, null, null, null, null, null, null);
+ this(null, null, null, null, null, null, null, null);
}
public I18nTranslation(final String trKey, final I18nLanguage language, final String text) {
- this("", null, DEF_PLUR_INDEX, "", text, trKey, DEF_NAMESPACE, language);
+ this("", null, DEF_PLUR_INDEX, "", text, trKey, DEF_NAMESPACE, language);
}
public I18nTranslation(final String facet, final Integer itemId, final Integer pluralizationIndex,
- final String tableName, final String text, final String trKey, final String type,
- final I18nLanguage language) {
- this.type = type;
- this.trKey = trKey;
- this.tableName = tableName;
- this.itemId = itemId;
- this.facet = facet;
- this.language = language;
- this.pluralizationIndex = pluralizationIndex;
- this.text = text;
+ final String tableName, final String text, final String trKey, final String type,
+ final I18nLanguage language) {
+ this.type = type;
+ this.trKey = trKey;
+ this.tableName = tableName;
+ this.itemId = itemId;
+ this.facet = facet;
+ this.language = language;
+ this.pluralizationIndex = pluralizationIndex;
+ this.text = text;
}
public I18nTranslation cloneForNewLanguage() {
- final I18nTranslation clone = new I18nTranslation();
- clone.type = type;
- clone.trKey = trKey;
- clone.tableName = tableName;
- clone.itemId = itemId;
- clone.facet = facet;
- clone.language = null;
- clone.pluralizationIndex = pluralizationIndex;
- clone.text = null;
- return clone;
+ final I18nTranslation clone = new I18nTranslation();
+ clone.type = type;
+ clone.trKey = trKey;
+ clone.tableName = tableName;
+ clone.itemId = itemId;
+ clone.facet = facet;
+ clone.language = null;
+ clone.pluralizationIndex = pluralizationIndex;
+ clone.text = null;
+ return clone;
}
- @Finder(query = "SELECT gt FROM I18nTranslation gt JOIN gt.language gl WHERE gl.code = :language")
- public List<I18nTranslation> findByLanguage(@Named("language") final String language) {
- return null;
- }
-
public String getFacet() {
- return this.facet;
+ return this.facet;
}
+ @Override
public Long getId() {
- return this.id;
+ return this.id;
}
public Integer getItemId() {
- return this.itemId;
+ return this.itemId;
}
public I18nLanguage getLanguage() {
- return language;
+ return language;
}
- @Finder(query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :deflanguage AND gt.trKey NOT IN (SELECT gt.trKey FROM I18nTranslation gt WHERE gt.language = :language)")
- public List<I18nTranslation> getNonExistentFromDefault(@Named("deflanguage") final I18nLanguage deflanguage,
- @Named("language") final I18nLanguage language) {
- return null;
- }
-
public Integer getPluralizationIndex() {
- return this.pluralizationIndex;
+ return this.pluralizationIndex;
}
public String getTableName() {
- return this.tableName;
+ return this.tableName;
}
public String getText() {
- return this.text;
+ return this.text;
}
- @Finder(namedQuery = TRANSLATED_QUERY)
- public List<I18nTranslation> getTranslatedLexicon(@Named("language") final I18nLanguage language) {
- return null;
- }
-
- @Finder(namedQuery = TRANSLATED_QUERY)
- public List<I18nTranslation> getTranslatedLexicon(@Named("language") final I18nLanguage language,
- @FirstResult final int first, @MaxResults final int max) {
- return null;
- }
-
- @Finder(namedQuery = TRANSLATED_COUNT_QUERY)
- public Long getTranslatedLexiconCount(@Named("language") final I18nLanguage language) {
- return null;
- }
-
public String getTrKey() {
- return this.trKey;
+ return this.trKey;
}
public String getType() {
- return this.type;
+ return this.type;
}
- @Finder(namedQuery = UNTRANSLATED_QUERY)
- public List<I18nTranslation> getUnstranslatedLexicon(@Named("language") final I18nLanguage language) {
- return null;
- }
-
- @Finder(namedQuery = UNTRANSLATED_QUERY)
- public List<I18nTranslation> getUnstranslatedLexicon(@Named("language") final I18nLanguage language,
- @FirstResult final int first, @MaxResults final int max) {
- return null;
- }
-
- @Finder(namedQuery = UNTRANSLATED_COUNT_QUERY)
- public Long getUnstranslatedLexiconCount(@Named("language") final I18nLanguage language) {
- return null;
- }
-
public void setFacet(final String facet) {
- this.facet = facet;
+ this.facet = facet;
}
+ @Override
public void setId(final Long id) {
- this.id = id;
+ this.id = id;
}
public void setItemId(final Integer itemId) {
- this.itemId = itemId;
+ this.itemId = itemId;
}
public void setLanguage(final I18nLanguage language) {
- this.language = language;
+ this.language = language;
}
public void setPluralizationIndex(final Integer pluralizationIndex) {
- this.pluralizationIndex = pluralizationIndex;
+ this.pluralizationIndex = pluralizationIndex;
}
public void setTableName(final String tableName) {
- this.tableName = tableName;
+ this.tableName = tableName;
}
public void setText(final String text) {
- this.text = text;
+ this.text = text;
}
public void setTrKey(final String trKey) {
- this.trKey = trKey;
+ this.trKey = trKey;
}
public void setType(final String type) {
- this.type = type;
+ this.type = type;
}
@Override
public String toString() {
- return "I18nTranslation[" + trKey + " (" + language + ") " + text + "]";
+ return "I18nTranslation[" + trKey + " (" + language + ") " + text + "]";
}
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/License.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/License.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/License.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,6 @@
*/
package cc.kune.domain;
-import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -29,32 +27,29 @@
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Table(name = "licenses")
public class License implements HasId {
+ private String description;
+
@Id
@GeneratedValue
private Long id;
- @Column(unique = true)
- private String shortName;
-
- @Column(unique = true)
- private String longName;
-
- private String description;
-
@Column(nullable = false)
- private String url;
+ private String imageUrl;
+
private boolean isCC;
+
private boolean isCopyleft;
private boolean isDeprecated;
+ @Column(unique = true)
+ private String longName;
private String rdf;
+ @Column(unique = true)
+ private String shortName;
@Column(nullable = false)
- private String imageUrl;
+ private String url;
public License() {
this(null, null, null, null, false, false, false, null, null);
@@ -74,62 +69,35 @@
this.imageUrl = imageUrl;
}
- public Long getId() {
- return id;
- }
-
- public void setId(final Long id) {
- this.id = id;
- }
-
- public String getShortName() {
- return shortName;
- }
-
- public void setShortName(final String shortName) {
- this.shortName = shortName;
- }
-
- public String getLongName() {
- return longName;
- }
-
- public void setLongName(final String longName) {
- this.longName = longName;
- }
-
public String getDescription() {
return description;
}
- public void setDescription(final String description) {
- this.description = description;
+ @Override
+ public Long getId() {
+ return id;
}
public String getImageUrl() {
return imageUrl;
}
- public void setImageUrl(final String imageUrl) {
- this.imageUrl = imageUrl;
+ public String getLongName() {
+ return longName;
}
public String getRdf() {
return rdf;
}
- public void setRdf(final String rdf) {
- this.rdf = rdf;
+ public String getShortName() {
+ return shortName;
}
public String getUrl() {
return url;
}
- public void setUrl(final String url) {
- this.url = url;
- }
-
public boolean isCC() {
return isCC;
}
@@ -154,23 +122,32 @@
this.isDeprecated = isDeprecated;
}
- @Finder(query = "from License l where l.shortName = :shortName")
- public License findByShortName(@Named("shortName") final String shortName) {
- return null;
+ public void setDescription(final String description) {
+ this.description = description;
}
- @Finder(query = "from License")
- public List<License> getAll() {
- return null;
+ @Override
+ public void setId(final Long id) {
+ this.id = id;
}
- @Finder(query = "from License where isCC = true")
- public List<License> getCC() {
- return null;
+ public void setImageUrl(final String imageUrl) {
+ this.imageUrl = imageUrl;
}
- @Finder(query = "from License where isCC = false")
- public List<License> getNotCC() {
- return null;
+ public void setLongName(final String longName) {
+ this.longName = longName;
}
+
+ public void setRdf(final String rdf) {
+ this.rdf = rdf;
+ }
+
+ public void setShortName(final String shortName) {
+ this.shortName = shortName;
+ }
+
+ public void setUrl(final String url) {
+ this.url = url;
+ }
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Rate.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Rate.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Rate.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -29,28 +29,25 @@
import org.hibernate.validator.Range;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Table(name = "rates", uniqueConstraints = { @UniqueConstraint(columnNames = { "content_id", "rater_id" }) })
public class Rate {
+ @ManyToOne
+ Content content;
+
+ @Basic(optional = false)
+ private final Long createdOn;
+
@Id
@GeneratedValue
Long id;
@ManyToOne
- Content content;
-
- @ManyToOne
User rater;
@Range(min = 0, max = 5)
Double value;
- @Basic(optional = false)
- private final Long createdOn;
-
public Rate() {
this(null, null, null);
}
@@ -62,21 +59,6 @@
this.createdOn = System.currentTimeMillis();
}
- @Finder(query = "SELECT AVG(r.value) FROM Rate r WHERE r.content = :content")
- public Double calculateRate(@Named("content") final Content content) {
- return null;
- }
-
- @Finder(query = "SELECT count(*) FROM Rate r WHERE r.content = :content")
- public Long calculateRateNumberOfUsers(@Named("content") final Content content) {
- return null;
- }
-
- @Finder(query = "SELECT r FROM Rate r WHERE r.rater = :user AND r.content = :content")
- public Rate find(@Named("user") final User user, @Named("content") final Content content) {
- return null;
- }
-
public Content getContent() {
return content;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Tag.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Tag.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/Tag.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -34,14 +34,14 @@
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Indexed
@Table(name = "tags")
public class Tag implements HasId {
+ @Basic(optional = false)
+ private final Long createdOn;
+
@Id
@GeneratedValue
@DocumentId
@@ -51,9 +51,6 @@
@Column(unique = true)
private String name;
- @Basic(optional = false)
- private final Long createdOn;
-
public Tag() {
this(null);
}
@@ -63,15 +60,11 @@
this.createdOn = System.currentTimeMillis();
}
- @Finder(query = "FROM Tag g WHERE g.name = :name")
- public Tag findByTagName(@Named("name") final String tag) {
- return null;
- }
-
public Long getCreatedOn() {
return createdOn;
}
+ @Override
public Long getId() {
return id;
}
@@ -80,6 +73,7 @@
return name;
}
+ @Override
public void setId(final Long id) {
this.id = id;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/TagUserContent.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/TagUserContent.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/TagUserContent.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,16 +19,12 @@
*/
package cc.kune.domain;
-import java.util.List;
-
import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
import javax.persistence.Table;
import org.hibernate.search.annotations.DocumentId;
@@ -38,24 +34,10 @@
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
-//See:
-//http://openjpa.apache.org/docs/latest/manual/manual.html#jpa_langref_resulttype
-@NamedQueries({
- @NamedQuery(name = "tagsgrouped", query = "SELECT NEW cc.kune.core.shared.domain.TagCount(t.name, COUNT(tuc.content.id)) "
- + "FROM TagUserContent tuc JOIN tuc.tag t WHERE tuc.content.container.owner = :group "
- + "GROUP BY t.name ORDER BY t.name"),
- @NamedQuery(name = "tagsmaxgrouped", query = "SELECT Count(tuc.content.id) FROM TagUserContent tuc JOIN tuc.tag t WHERE tuc.content.container.owner = :group GROUP BY t.name ORDER BY count(*) DESC LIMIT 0,1"),
- @NamedQuery(name = "tagsmingrouped", query = "SELECT Count(tuc.content.id) FROM TagUserContent tuc JOIN tuc.tag t WHERE tuc.content.container.owner = :group GROUP BY t.name ORDER BY count(*) ASC LIMIT 0,1") })
@Entity
@Indexed
@Table(name = "tag_user_content")
public class TagUserContent implements HasId {
- public static final String TAGSGROUPED = "tagsgrouped";
- public static final String TAGSMAXGROUPED = "tagsmaxgrouped";
- public static final String TAGSMINGROUPED = "tagsmingrouped";
@IndexedEmbedded
@NotNull
@@ -91,16 +73,6 @@
this.createdOn = System.currentTimeMillis();
}
- @Finder(query = "FROM TagUserContent t WHERE t.user = :user AND t.content = :content")
- public List<TagUserContent> find(@Named("user") final User user, @Named("content") final Content content) {
- return null;
- }
-
- @Finder(query = "SELECT t.tag FROM TagUserContent t WHERE t.user = :user AND t.content = :content")
- public List<Tag> findTags(@Named("user") final User user, @Named("content") final Content content) {
- return null;
- }
-
public Content getContent() {
return content;
}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/User.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/User.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/User.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,7 +19,6 @@
*/
package cc.kune.domain;
-import java.util.List;
import java.util.TimeZone;
import javax.persistence.Basic;
@@ -48,9 +47,6 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.domain.utils.HasId;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
@Entity
@Indexed
@Table(name = "kusers")
@@ -163,25 +159,10 @@
// this.properties = properties;
}
- @Finder(query = "from User")
- public List<User> getAll() {
- return null;
- }
-
public UserBuddiesVisibility getBuddiesVisibility() {
return buddiesVisibility;
}
- @Finder(query = "from User where email = :email")
- public User getByEmail(@Named("email") final String email) {
- return null;
- }
-
- @Finder(query = "from User where shortName = :shortName")
- public User getByShortName(@Named("shortName") final String shortName) {
- return null;
- }
-
public I18nCountry getCountry() {
return country;
}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContainerFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContainerFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContainerFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,30 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import cc.kune.domain.Container;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface ContainerFinder {
+ @Finder(query = "SELECT COUNT(*) FROM Container c WHERE c.parent = :container AND c.name LIKE :title")
+ public Long findIfExistsTitle(@Named("container") final Container container, @Named("title") final String title);
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContentFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContentFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ContentFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,57 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import static cc.kune.domain.Content.GROUP;
+import static cc.kune.domain.Content.MIMETYPE;
+import static cc.kune.domain.Content.TITLE;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.Container;
+import cc.kune.domain.Content;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+import com.google.inject.persist.finder.FirstResult;
+import com.google.inject.persist.finder.MaxResults;
+
+public interface ContentFinder {
+ @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC", returnAs = ArrayList.class)
+ public List<Content> find2Mime(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
+ @Named(MIMETYPE) final String mimetype, @Named("mimetype2") final String mimetype2,
+ @FirstResult final int offset, @MaxResults final int limit);
+
+ @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND (mimeType.mimetype=:mimetype OR mimeType.mimetype=:mimetype2) AND container.owner.shortName=:group AND deletedOn=null")
+ public int find2MimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
+ @Named(MIMETYPE) final String mimetype, @Named("mimetype2") final String mimetype2);
+
+ @Finder(query = "SELECT count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title LIKE :title")
+ public Long findIfExistsTitle(@Named("container") final Container container, @Named(TITLE) final String title);
+
+ @Finder(query = "FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null ORDER BY lastRevision.title ASC", returnAs = ArrayList.class)
+ public List<Content> findMime(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
+ @Named(MIMETYPE) final String mimetype, @FirstResult final int offset, @MaxResults final int limit);
+
+ @Finder(query = "SELECT count(id) FROM Content WHERE lastRevision.title LIKE :title AND mimeType.mimetype=:mimetype AND container.owner.shortName=:group AND deletedOn=null")
+ public int findMimeCount(@Named(GROUP) final String groupShortName, @Named(TITLE) final String title,
+ @Named(MIMETYPE) final String mimetype);
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ExtMediaDescripFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ExtMediaDescripFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/ExtMediaDescripFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,33 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.ExtMediaDescrip;
+
+import com.google.inject.persist.finder.Finder;
+
+public interface ExtMediaDescripFinder {
+
+ @Finder(query = "from ExtMediaDescrip", returnAs = ArrayList.class)
+ public List<ExtMediaDescrip> getAll();
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/GroupFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/GroupFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/GroupFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,27 @@
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.Group;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface GroupFinder {
+
+ @Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.admins.list adm WHERE adm.id = :groupid)", returnAs = ArrayList.class)
+ public List<Group> findAdminInGroups(@Named("groupid") final Long groupId);
+
+ @Finder(query = "FROM Group g WHERE g.shortName = :shortName")
+ public Group findByShortName(@Named("shortName") final String shortName);
+
+ @Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.editors.list AS ed WHERE ed.id = :groupid)", returnAs = ArrayList.class)
+ public List<Group> findCollabInGroups(@Named("groupid") final Long groupId);
+
+ @Finder(query = "SELECT t.root.toolName FROM ToolConfiguration t WHERE t.enabled=true AND t.root.owner.id = :groupid", returnAs = ArrayList.class)
+ public List<String> findEnabledTools(@Named("groupid") final Long groupId);
+
+ @Finder(query = "FROM Group", returnAs = ArrayList.class)
+ public List<Group> getAll();
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nCountryFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nCountryFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nCountryFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.I18nCountry;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface I18nCountryFinder {
+
+ @Finder(query = "FROM I18nCountry WHERE code = :country")
+ public I18nCountry findByCode(@Named("country") final String country);
+
+ @Finder(query = "FROM I18nCountry ORDER BY english_name", returnAs = ArrayList.class)
+ public List<I18nCountry> getAll();
+
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nLanguageFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nLanguageFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nLanguageFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.I18nLanguage;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface I18nLanguageFinder {
+
+ @Finder(query = "FROM I18nLanguage l WHERE code = :language")
+ public I18nLanguage findByCode(@Named("language") final String language);
+
+ @Finder(query = "FROM I18nLanguage ORDER BY englishName", returnAs = ArrayList.class)
+ public List<I18nLanguage> getAll();
+
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,74 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+
+import cc.kune.domain.I18nLanguage;
+import cc.kune.domain.I18nTranslation;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+import com.google.inject.persist.finder.FirstResult;
+import com.google.inject.persist.finder.MaxResults;
+
+@NamedQueries({
+ @NamedQuery(name = "untranslated", query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :language and text=null"),
+ @NamedQuery(name = "translated", query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :language and text!=null"),
+ @NamedQuery(name = "untranslatedcount", query = "SELECT COUNT(gt.id) FROM I18nTranslation gt WHERE gt.language = :language and text=null"),
+ @NamedQuery(name = "translatedcount", query = "SELECT COUNT(gt.id) FROM I18nTranslation gt WHERE gt.language = :language and text!=null") })
+public interface I18nTranslationFinder {
+ String TRANSLATED_COUNT_QUERY = "translatedcount";
+ String TRANSLATED_QUERY = "translated";
+ String UNTRANSLATED_COUNT_QUERY = "untranslatedcount";
+ String UNTRANSLATED_QUERY = "untranslated";
+
+ @Finder(query = "SELECT gt FROM I18nTranslation gt JOIN gt.language gl WHERE gl.code = :language", returnAs = ArrayList.class)
+ public List<I18nTranslation> findByLanguage(@Named("language") final String language);
+
+ @Finder(query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :deflanguage AND gt.trKey NOT IN (SELECT gt.trKey FROM I18nTranslation gt WHERE gt.language = :language)", returnAs = ArrayList.class)
+ public List<I18nTranslation> getNonExistentFromDefault(@Named("deflanguage") final I18nLanguage deflanguage,
+ @Named("language") final I18nLanguage language);
+
+ @Finder(namedQuery = TRANSLATED_QUERY, returnAs = ArrayList.class)
+ public List<I18nTranslation> getTranslatedLexicon(@Named("language") final I18nLanguage language);
+
+ @Finder(namedQuery = TRANSLATED_QUERY, returnAs = ArrayList.class)
+ public List<I18nTranslation> getTranslatedLexicon(@Named("language") final I18nLanguage language,
+ @FirstResult final int first, @MaxResults final int max);
+
+ @Finder(namedQuery = TRANSLATED_COUNT_QUERY)
+ public Long getTranslatedLexiconCount(@Named("language") final I18nLanguage language);
+
+ @Finder(namedQuery = UNTRANSLATED_QUERY, returnAs = ArrayList.class)
+ public List<I18nTranslation> getUnstranslatedLexicon(@Named("language") final I18nLanguage language);
+
+ @Finder(namedQuery = UNTRANSLATED_QUERY, returnAs = ArrayList.class)
+ public List<I18nTranslation> getUnstranslatedLexicon(@Named("language") final I18nLanguage language,
+ @FirstResult final int first, @MaxResults final int max);
+
+ @Finder(namedQuery = UNTRANSLATED_COUNT_QUERY)
+ public Long getUnstranslatedLexiconCount(@Named("language") final I18nLanguage language);
+
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/LicenseFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/LicenseFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/LicenseFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,43 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.License;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface LicenseFinder {
+
+ @Finder(query = "from License l where l.shortName = :shortName")
+ public License findByShortName(@Named("shortName") final String shortName);
+
+ @Finder(query = "from License", returnAs = ArrayList.class)
+ public List<License> getAll();
+
+ @Finder(query = "from License where isCC = true", returnAs = ArrayList.class)
+ public List<License> getCC();
+
+ @Finder(query = "from License where isCC = false", returnAs = ArrayList.class)
+ public List<License> getNotCC();
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/RateFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/RateFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/RateFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,40 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import cc.kune.domain.Content;
+import cc.kune.domain.Rate;
+import cc.kune.domain.User;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface RateFinder {
+
+ @Finder(query = "SELECT AVG(r.value) FROM Rate r WHERE r.content = :content")
+ public Double calculateRate(@Named("content") final Content content);
+
+ @Finder(query = "SELECT count(*) FROM Rate r WHERE r.content = :content")
+ public Long calculateRateNumberOfUsers(@Named("content") final Content content);
+
+ @Finder(query = "SELECT r FROM Rate r WHERE r.rater = :user AND r.content = :content")
+ public Rate find(@Named("user") final User user, @Named("content") final Content content);
+
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import cc.kune.domain.Tag;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface TagFinder {
+
+ @Finder(query = "FROM Tag g WHERE g.name = :name")
+ public Tag findByTagName(@Named("name") final String tag);
+
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagUserContentFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagUserContentFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/TagUserContentFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,53 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.core.shared.domain.TagCount;
+import cc.kune.domain.Content;
+import cc.kune.domain.Group;
+import cc.kune.domain.Tag;
+import cc.kune.domain.TagUserContent;
+import cc.kune.domain.User;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface TagUserContentFinder {
+
+ @Finder(query = "FROM TagUserContent t WHERE t.user = :user AND t.content = :content", returnAs = ArrayList.class)
+ public List<TagUserContent> find(@Named("user") final User user, @Named("content") final Content content);
+
+ @Finder(query = "SELECT t.tag FROM TagUserContent t WHERE t.user = :user AND t.content = :content", returnAs = ArrayList.class)
+ public List<Tag> findTags(@Named("user") final User user, @Named("content") final Content content);
+
+ @Finder(query = "SELECT Count(tuc.content.id) FROM TagUserContent tuc JOIN tuc.tag t WHERE tuc.content.container.owner = :group GROUP BY t.name ORDER BY count(*) ASC LIMIT 0,1")
+ public int getMaxGrouped(@Named("group") final Group group);
+
+ @Finder(query = "SELECT Count(tuc.content.id) FROM TagUserContent tuc JOIN tuc.tag t WHERE tuc.content.container.owner = :group GROUP BY t.name ORDER BY count(*) DESC LIMIT 0,1")
+ public int getMinGrouped(@Named("group") final Group group);
+
+ @Finder(query = "SELECT NEW cc.kune.core.shared.domain.TagCount(t.name, COUNT(tuc.content.id)) "
+ + "FROM TagUserContent tuc JOIN tuc.tag t WHERE tuc.content.container.owner = :group "
+ + "GROUP BY t.name ORDER BY t.name", returnAs = ArrayList.class)
+ public List<TagCount> getTagsGroups(@Named("group") final Group group);
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/UserFinder.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/UserFinder.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/domain/finders/UserFinder.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,41 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cc.kune.domain.User;
+
+import com.google.inject.name.Named;
+import com.google.inject.persist.finder.Finder;
+
+public interface UserFinder {
+
+ @Finder(query = "from User", returnAs = ArrayList.class)
+ public List<User> getAll();
+
+ @Finder(query = "from User where email = :email")
+ public User getByEmail(@Named("email") final String email);
+
+ @Finder(query = "from User where shortName = :shortName")
+ public User getByShortName(@Named("shortName") final String shortName);
+
+}
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -23,6 +23,7 @@
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.websocket.WebSocket;
import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.jruby.rack.RackFilter;
import org.ourproject.kune.rack.RackServletFilter;
import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
@@ -50,7 +51,6 @@
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.name.Named;
-import com.google.inject.servlet.GuiceFilter;
import com.google.inject.servlet.GuiceServletContextListener;
import com.google.protobuf.Descriptors;
import com.google.protobuf.Descriptors.MethodDescriptor;
@@ -59,6 +59,8 @@
import com.google.protobuf.Service;
import com.google.protobuf.UnknownFieldSet;
+import de.spieleck.servlets.ProxyServlet;
+
/**
* ServerRpcProvider can provide instances of type Service over an incoming
* network socket and service incoming RPCs to these services and their methods.
@@ -417,12 +419,69 @@
httpServer.addConnector(connector);
}
+ // final WebAppContext context = new WebAppContext();
final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
if (jettySessionManager != null) {
context.getSessionHandler().setSessionManager(jettySessionManager);
}
context.setResourceBase(resourceBase);
context.setContextPath(baseUrl);
+
+ // context.setWar(baseUrl);
+
+ final ServletHolder httpbindHolder = new ServletHolder(ProxyServlet.class);
+ httpbindHolder.setInitParameter("remotePath", "/http-bind/");
+ httpbindHolder.setInitParameter("remotePort", "5280");
+ context.addServlet(httpbindHolder, "/http-bind/");
+
+ final FilterHolder rubyRack = new FilterHolder(org.jruby.rack.rails.RailsServletContextListener.class);
+ rubyRack.setFilter(new RackFilter());
+ rubyRack.setInitParameter("jruby.standalone", "true");
+ rubyRack.setInitParameter("rails.root", "/WEB-INF/publicspace/");
+ rubyRack.setInitParameter("files.prefix", "/WEB-INF/publicspace/public");
+ rubyRack.setInitParameter("rails.env", "production");
+ rubyRack.setInitParameter("jruby.max.runtimes", "1");
+ rubyRack.setInitParameter("public.root", "/public/");
+ context.addFilter(rubyRack, "/public/*", 0);
+
+ // <context-param>
+ // <param-name>jruby.standalone</param-name>
+ // <param-value>true</param-value>
+ // </context-param>
+ // <context-param>
+ // <param-name>rails.root</param-name>
+ // <param-value>/WEB-INF/publicspace/
+ // </param-value>
+ // </context-param>
+ // <context-param>
+ // <param-name>files.prefix</param-name>
+ // <param-value>/WEB-INF/publicspace/public
+ // </param-value>
+ // </context-param>
+ // <context-param>
+ // <param-name>rails.env</param-name>
+ // <param-value>production</param-value>
+ // </context-param>
+ // <context-param>
+ // <param-name>jruby.max.runtimes</param-name>
+ // <param-value>1</param-value>
+ // </context-param>
+ // <context-param>
+ // <param-name>public.root</param-name>
+ // <param-value>/public/</param-value>
+ // </context-param>
+ // <filter>
+ // <filter-name>RackFilter</filter-name>
+ // <filter-class>org.jruby.rack.RackFilter</filter-class>
+ // </filter>
+ // <filter-mapping>
+ // <filter-name>RackFilter</filter-name>
+ // <url-pattern>/public/*</url-pattern>
+ // </filter-mapping>
+ // <listener>
+ // <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class>
+ // </listener>
+
context.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
@@ -430,12 +489,13 @@
}
});
context.setAttribute(RackServletFilter.INJECTOR_PARENT_ATTRIBUTE, injector);
- context.addFilter(GuiceFilter.class, "/*", 0);
final FilterHolder filterHolder = new FilterHolder(RackServletFilter.class);
filterHolder.setInitParameter("org.ourproject.kune.rack.RackModule",
"org.ourproject.kune.app.server.KuneRackModule");
- context.addFilter(filterHolder, "/ws*", 0);
+ context.addFilter(filterHolder, "/ws/*", 0);
+ // context.addFilter(GuiceFilter.class, "/*", 0);
+
// Servlet where the websocket connection is served from.
final ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
context.addServlet(wsholder, "/socket");
@@ -477,11 +537,16 @@
final ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
context.addServlet(defaultServlet, "/static/*");
context.addServlet(defaultServlet, "/webclient/*");
+ context.addServlet(defaultServlet, "/ws/*");
for (final Pair<String, ServletHolder> servlet : servletRegistry) {
context.addServlet(servlet.getSecond(), servlet.getFirst());
}
+ // final ContextHandlerCollection contexts = new
+ // ContextHandlerCollection();
+ // contexts.setHandlers(new Handler[] { context, webContext });
+
httpServer.setHandler(context);
try {
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/JettyModule.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/JettyModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/JettyModule.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,3 @@
+package cc.kune.wave.server;
+
+
Modified: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -42,8 +42,6 @@
import org.waveprotocol.box.server.rpc.AuthenticationServlet;
import org.waveprotocol.box.server.rpc.FetchServlet;
import org.waveprotocol.box.server.rpc.SignOutServlet;
-import org.waveprotocol.box.server.rpc.UserRegistrationServlet;
-import org.waveprotocol.box.server.rpc.WaveClientServlet;
import org.waveprotocol.box.server.waveserver.WaveBus;
import org.waveprotocol.box.server.waveserver.WaveServerException;
import org.waveprotocol.box.server.waveserver.WaveletProvider;
@@ -128,7 +126,7 @@
server.addServlet(SessionManager.SIGN_IN_URL, injector.getInstance(AuthenticationServlet.class));
server.addServlet("/auth/signout", injector.getInstance(SignOutServlet.class));
- server.addServlet("/auth/register", injector.getInstance(UserRegistrationServlet.class));
+ server.addServlet("/auth/register", injector.getInstance(CustomUserRegistrationServlet.class));
server.addServlet("/fetch/*", injector.getInstance(FetchServlet.class));
@@ -147,7 +145,7 @@
final ServletHolder proxyServletHolder = server.addServlet("/gadgets/*", proxyServlet);
proxyServletHolder.setInitParameter("HostHeader", gadgetServerHostname);
- server.addServlet("/", injector.getInstance(WaveClientServlet.class));
+ server.addServlet("/", injector.getInstance(CustomWaveClientServlet.class));
}
public static void main(final String... args) {
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/server/KuneRackModule.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -27,6 +27,7 @@
import org.ourproject.kune.gallery.server.GalleryServerModule;
import org.ourproject.kune.platf.server.LoggerMethodInterceptor;
import org.ourproject.kune.platf.server.PlatformServerModule;
+import org.ourproject.kune.platf.server.init.FinderRegistry;
import org.ourproject.kune.platf.server.manager.file.EntityLogoDownloadManager;
import org.ourproject.kune.platf.server.manager.file.EntityLogoUploadManager;
import org.ourproject.kune.platf.server.manager.file.FileDownloadManager;
@@ -57,10 +58,10 @@
import com.google.inject.Module;
import com.google.inject.Scope;
import com.google.inject.matcher.Matchers;
+import com.google.inject.persist.jpa.JpaPersistModule;
import com.google.inject.servlet.GuiceFilter;
import com.google.inject.servlet.ServletModule;
import com.google.inject.servlet.SessionScoped;
-import com.wideplay.warp.jpa.JpaUnit;
public class KuneRackModule implements RackModule {
public static final Log LOG = LogFactory.getLog(KuneRackModule.class);
@@ -75,8 +76,8 @@
configModule = new AbstractModule() {
@Override
public void configure() {
+ install(FinderRegistry.init(new JpaPersistModule(jpaUnit)));
bindInterceptor(Matchers.any(), new NotInObject(), new LoggerMethodInterceptor());
- bindConstant().annotatedWith(JpaUnit.class).to(jpaUnit);
bindConstant().annotatedWith(PropertiesFileName.class).to(propertiesFileName);
if (sessionScope != null) {
bindScope(SessionScoped.class, sessionScope);
@@ -100,7 +101,7 @@
builder.exclude("/templates/.*");
/* Wave with context '/' */
- // builder.exclude("/*");
+ builder.exclude("/");
builder.exclude("/attachment/.*");
builder.exclude("/auth/signin");
builder.exclude("/auth/signout");
@@ -114,6 +115,7 @@
builder.exclude("/gadgets");
builder.exclude("/gadgets/.*");
builder.exclude("/socket.io/*");
+ builder.exclude("/socket.io/.*]");
builder.exclude("/socket");
builder.exclude("/static/.*");
builder.exclude("/webclient/.*");
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -20,8 +20,8 @@
package org.ourproject.kune.platf.client.actions.ui;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.OldAbstractAction;
-import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.PropertyChangeEvent;
import org.ourproject.kune.platf.client.actions.PropertyChangeListener;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItemGui.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItemGui.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractMenuItemGui.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,10 +19,10 @@
*/
package org.ourproject.kune.platf.client.actions.ui;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.KeyStroke;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.PropertyChangeEvent;
import org.ourproject.kune.platf.client.actions.PropertyChangeListener;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractSeparatorDescriptor.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,8 @@
*/
package org.ourproject.kune.platf.client.actions.ui;
+import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.OldAbstractAction;
-import org.ourproject.kune.platf.client.actions.ActionEvent;
public abstract class AbstractSeparatorDescriptor extends OldGuiActionDescrip {
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/BaseAction.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,9 +19,9 @@
*/
package org.ourproject.kune.platf.client.actions.ui;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.ActionEvent;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import com.google.gwt.resources.client.ImageResource;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/MenuDescriptor.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,8 +19,8 @@
*/
package org.ourproject.kune.platf.client.actions.ui;
+import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.OldAbstractAction;
-import org.ourproject.kune.platf.client.actions.Action;
import com.google.gwt.resources.client.ImageResource;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/OldGuiActionDescrip.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/OldGuiActionDescrip.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/actions/ui/OldGuiActionDescrip.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -20,10 +20,10 @@
package org.ourproject.kune.platf.client.actions.ui;
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.ChangebleObject;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
/**
* The Class AbstractUIActionDescriptor.
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/shortcuts/GlobalShortcutRegister.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/shortcuts/GlobalShortcutRegister.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/shortcuts/GlobalShortcutRegister.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,11 +19,11 @@
*/
package org.ourproject.kune.platf.client.shortcuts;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.ChangebleObject;
import org.ourproject.kune.platf.client.actions.InputMap;
import org.ourproject.kune.platf.client.actions.KeyStroke;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Shortcut;
import com.allen_sauer.gwt.log.client.Log;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditor.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditor.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditor.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -20,12 +20,12 @@
package org.ourproject.kune.platf.client.ui.rte.basic;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.actions.KeyStroke;
import org.ourproject.kune.platf.client.actions.OldAbstractAction;
-import org.ourproject.kune.platf.client.actions.KeyStroke;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
import org.ourproject.kune.platf.client.actions.ui.GuiAddCondition;
import org.ourproject.kune.platf.client.actions.ui.IsActionExtensible;
import org.ourproject.kune.platf.client.actions.ui.MenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
import com.calclab.suco.client.events.Listener0;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPanel.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPanel.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPanel.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -23,13 +23,13 @@
import org.cobogw.gwt.user.client.CSS;
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.InputMap;
import org.ourproject.kune.platf.client.actions.KeyStroke;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.ui.ComplexToolbar;
+import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
import org.ourproject.kune.platf.client.ui.rte.RichTextArea;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -28,22 +28,22 @@
import java.util.Map;
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.InputMap;
import org.ourproject.kune.platf.client.actions.KeyStroke;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Shortcut;
import org.ourproject.kune.platf.client.actions.ui.AbstractActionExtensiblePresenter;
import org.ourproject.kune.platf.client.actions.ui.ButtonDescriptor;
import org.ourproject.kune.platf.client.actions.ui.GuiActionDescCollection;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
import org.ourproject.kune.platf.client.actions.ui.GuiAddCondition;
import org.ourproject.kune.platf.client.actions.ui.MenuCheckItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.MenuDescriptor;
-import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.MenuRadioItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.MenuSeparatorDescriptor;
+import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
+import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.PushButtonDescriptor;
import org.ourproject.kune.platf.client.actions.ui.ToolbarSeparatorDescriptor;
import org.ourproject.kune.platf.client.actions.ui.ToolbarSeparatorDescriptor.Type;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/KunePersistenceService.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/KunePersistenceService.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/KunePersistenceService.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -23,20 +23,20 @@
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.PersistenceService;
+import com.google.inject.persist.PersistService;
@Singleton
public class KunePersistenceService {
@Inject
DatabaseInitializer databaseInitializer;
@Inject
- PersistenceService persistenceService;
+ PersistService persistenceService;
public void start() {
try {
persistenceService.start();
databaseInitializer.initConditional();
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ServerException("Error starting persistence service", e);
}
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -99,23 +99,9 @@
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.domain.Comment;
-import cc.kune.domain.Container;
-import cc.kune.domain.Content;
-import cc.kune.domain.ExtMediaDescrip;
-import cc.kune.domain.Group;
-import cc.kune.domain.I18nCountry;
-import cc.kune.domain.I18nLanguage;
-import cc.kune.domain.I18nTranslation;
-import cc.kune.domain.License;
-import cc.kune.domain.Rate;
import cc.kune.domain.SocialNetwork;
-import cc.kune.domain.Tag;
-import cc.kune.domain.TagUserContent;
-import cc.kune.domain.User;
import com.google.inject.matcher.Matchers;
-import com.wideplay.warp.persist.PersistenceService;
-import com.wideplay.warp.persist.UnitOfWork;
public class PlatformServerModule extends AbstractExtendedModule {
private void bindFinders() {
@@ -124,20 +110,8 @@
// created in an ancestor injector whenever possible (...)
// (This fails with finders, then we make explicit bindings)
- bind(User.class);
- bind(Group.class);
- bind(Content.class);
- bind(Container.class);
- bind(License.class);
bind(SocialNetwork.class);
- bind(Rate.class);
- bind(I18nCountry.class);
- bind(I18nLanguage.class);
- bind(I18nTranslation.class);
- bind(Tag.class);
- bind(TagUserContent.class);
bind(Comment.class);
- bind(ExtMediaDescrip.class);
}
private void bindManagers() {
@@ -182,7 +156,7 @@
@Override
protected void configure() {
- install(PersistenceService.usingJpa().across(UnitOfWork.TRANSACTION).buildModule());
+ // install(PersistService.usingJpa().across(UnitOfWork.TRANSACTION).buildModule());
bind(KunePersistenceService.class);
bindFinders();
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -38,9 +38,10 @@
import cc.kune.core.client.errors.NameInUseException;
import cc.kune.domain.AccessLists;
import cc.kune.domain.Container;
-import cc.kune.domain.Content;
import cc.kune.domain.Group;
import cc.kune.domain.I18nLanguage;
+import cc.kune.domain.finders.ContainerFinder;
+import cc.kune.domain.finders.ContentFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -49,25 +50,26 @@
@Singleton
public class ContainerManagerDefault extends DefaultManager<Container, Long> implements ContainerManager {
- private final Container containerFinder;
- private final Content contentFinder;
+ private final ContainerFinder containerFinder;
+ private final ContentFinder contentFinder;
@Inject
- public ContainerManagerDefault(final Content contentFinder, final Container containerFinder,
+ public ContainerManagerDefault(final ContentFinder contentFinder, final ContainerFinder containerFinder,
final Provider<EntityManager> provider) {
super(provider, Container.class);
this.contentFinder = contentFinder;
this.containerFinder = containerFinder;
}
+ @Override
public Container createFolder(final Group group, final Container parent, final String name,
final I18nLanguage language, final String typeId) {
FilenameUtils.checkBasicFilename(name);
- String newtitle = findInexistentName(parent, name);
+ final String newtitle = findInexistentName(parent, name);
final List<Container> parentAbsolutePath = parent.getAbsolutePath();
final List<Container> childAbsolutePath = new ArrayList<Container>();
- for (Container parentRef : parentAbsolutePath) {
+ for (final Container parentRef : parentAbsolutePath) {
childAbsolutePath.add(parentRef);
}
// FIXME: use
@@ -82,6 +84,7 @@
return child;
}
+ @Override
public Container createRootFolder(final Group group, final String toolName, final String name, final String type) {
final Container container = new Container(name, group, toolName);
container.setTypeId(type);
@@ -92,15 +95,26 @@
}
/** Duplicate code in ContentMD **/
+ @Override
public boolean findIfExistsTitle(final Container container, final String title) {
return (contentFinder.findIfExistsTitle(container, title) > 0)
|| (containerFinder.findIfExistsTitle(container, title) > 0);
}
+ /** Duplicate code in ContentMD **/
+ private String findInexistentName(final Container container, final String title) {
+ String initialTitle = String.valueOf(title);
+ while (findIfExistsTitle(container, initialTitle)) {
+ initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
+ }
+ return initialTitle;
+ }
+
+ @Override
public Container renameFolder(final Group group, final Container container, final String newName)
throws DefaultException {
FilenameUtils.checkBasicFilename(newName);
- String newNameWithoutNT = FilenameUtils.chomp(newName);
+ final String newNameWithoutNT = FilenameUtils.chomp(newName);
if (container.isRoot()) {
throw new DefaultException("Root folder cannot be renamed");
}
@@ -112,10 +126,12 @@
return container;
}
+ @Override
public SearchResult<Container> search(final String search) {
return this.search(search, null, null);
}
+ @Override
public SearchResult<Container> search(final String search, final Integer firstResult, final Integer maxResults) {
final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "name" }, new StandardAnalyzer());
Query query;
@@ -127,18 +143,10 @@
return super.search(query, firstResult, maxResults);
}
+ @Override
public void setAccessList(final Container container, final AccessLists accessList) {
container.setAccessLists(accessList);
persist(container);
}
- /** Duplicate code in ContentMD **/
- private String findInexistentName(final Container container, final String title) {
- String initialTitle = String.valueOf(title);
- while (findIfExistsTitle(container, initialTitle)) {
- initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
- }
- return initialTitle;
- }
-
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -48,6 +48,10 @@
import cc.kune.domain.Rate;
import cc.kune.domain.Revision;
import cc.kune.domain.User;
+import cc.kune.domain.finders.ContainerFinder;
+import cc.kune.domain.finders.ContentFinder;
+import cc.kune.domain.finders.I18nLanguageFinder;
+import cc.kune.domain.finders.UserFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -56,17 +60,17 @@
@Singleton
public class ContentManagerDefault extends DefaultManager<Content, Long> implements ContentManager {
+ private final ContainerFinder containerFinder;
+ private final ContentFinder contentFinder;
private final FinderService finder;
- private final User userFinder;
- private final I18nLanguage languageFinder;
- private final Content contentFinder;
- private final Container containerFinder;
+ private final I18nLanguageFinder languageFinder;
private final TagUserContentManager tagManager;
+ private final UserFinder userFinder;
@Inject
- public ContentManagerDefault(final Content contentFinder, final Container containerFinder,
- final Provider<EntityManager> provider, final FinderService finder, final User userFinder,
- final I18nLanguage languageFinder, final TagUserContentManager tagManager) {
+ public ContentManagerDefault(final ContentFinder contentFinder, final ContainerFinder containerFinder,
+ final Provider<EntityManager> provider, final FinderService finder, final UserFinder userFinder,
+ final I18nLanguageFinder languageFinder, final TagUserContentManager tagManager) {
super(provider, Content.class);
this.contentFinder = contentFinder;
this.containerFinder = containerFinder;
@@ -76,6 +80,7 @@
this.tagManager = tagManager;
}
+ @Override
public void addAuthor(final User user, final Long contentId, final String authorShortName) throws DefaultException {
final Content content = finder.getContent(contentId);
final User author = userFinder.getByShortName(authorShortName);
@@ -85,10 +90,11 @@
content.addAuthor(author);
}
+ @Override
public Content createContent(final String title, final String body, final User author, final Container container,
final String typeId) {
FilenameUtils.checkBasicFilename(title);
- String newtitle = findInexistentTitle(container, title);
+ final String newtitle = findInexistentTitle(container, title);
final Content newContent = new Content();
newContent.addAuthor(author);
newContent.setLanguage(author.getLanguage());
@@ -102,19 +108,36 @@
return persist(newContent);
}
+ private MultiFieldQueryParser createMultiFieldParser() {
+ final MultiFieldQueryParser parser = new MultiFieldQueryParser(DEF_GLOBAL_SEARCH_FIELDS, new StandardAnalyzer());
+ return parser;
+ }
+
+ @Override
public boolean findIfExistsTitle(final Container container, final String title) {
return (contentFinder.findIfExistsTitle(container, title) > 0)
|| (containerFinder.findIfExistsTitle(container, title) > 0);
}
+ private String findInexistentTitle(final Container container, final String title) {
+ String initialTitle = String.valueOf(title);
+ while (findIfExistsTitle(container, initialTitle)) {
+ initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
+ }
+ return initialTitle;
+ }
+
+ @Override
public Double getRateAvg(final Content content) {
return finder.getRateAvg(content);
}
+ @Override
public Long getRateByUsers(final Content content) {
return finder.getRateByUsers(content);
}
+ @Override
public Double getRateContent(final User rater, final Content content) {
final Rate rate = finder.getRate(rater, content);
if (rate != null) {
@@ -124,6 +147,7 @@
}
}
+ @Override
public RateResult rateContent(final User rater, final Long contentId, final Double value) throws DefaultException {
final Content content = finder.getContent(contentId);
final Rate oldRate = finder.getRate(rater, content);
@@ -134,11 +158,12 @@
oldRate.setValue(value);
super.persist(oldRate, Rate.class);
}
- Double rateAvg = getRateAvg(content);
- Long rateByUsers = getRateByUsers(content);
+ final Double rateAvg = getRateAvg(content);
+ final Long rateByUsers = getRateByUsers(content);
return new RateResult(rateAvg != null ? rateAvg : 0D, rateByUsers != null ? rateByUsers.intValue() : 0, value);
}
+ @Override
public void removeAuthor(final User user, final Long contentId, final String authorShortName)
throws DefaultException {
final Content content = finder.getContent(contentId);
@@ -149,8 +174,9 @@
content.removeAuthor(author);
}
+ @Override
public Content renameContent(final User user, final Long contentId, final String newTitle) throws DefaultException {
- String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
+ final String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
FilenameUtils.checkBasicFilename(newTitleWithoutNL);
final Content content = finder.getContent(contentId);
if (findIfExistsTitle(content.getContainer(), newTitleWithoutNL)) {
@@ -160,6 +186,7 @@
return content;
}
+ @Override
public Content save(final User editor, final Content content, final String body) {
final Revision revision = new Revision(content);
revision.setEditor(editor);
@@ -169,10 +196,12 @@
return persist(content);
}
+ @Override
public SearchResult<Content> search(final String search) {
return this.search(search, null, null);
}
+ @Override
public SearchResult<Content> search(final String search, final Integer firstResult, final Integer maxResults) {
final MultiFieldQueryParser parser = createMultiFieldParser();
Query query;
@@ -184,22 +213,25 @@
return super.search(query, firstResult, maxResults);
}
+ @Override
public SearchResult<Content> searchMime(final String search, final Integer firstResult, final Integer maxResults,
final String groupShortName, final String mimetype) {
- List<Content> list = contentFinder.findMime(groupShortName, "%" + search + "%", mimetype, firstResult,
+ final List<Content> list = contentFinder.findMime(groupShortName, "%" + search + "%", mimetype, firstResult,
maxResults);
- int count = contentFinder.findMimeCount(groupShortName, "%" + search + "%", mimetype);
+ final int count = contentFinder.findMimeCount(groupShortName, "%" + search + "%", mimetype);
return new SearchResult<Content>(count, list);
}
+ @Override
public SearchResult<?> searchMime(final String search, final Integer firstResult, final Integer maxResults,
final String groupShortName, final String mimetype, final String mimetype2) {
- List<Content> list = contentFinder.find2Mime(groupShortName, "%" + search + "%", mimetype, mimetype2,
+ final List<Content> list = contentFinder.find2Mime(groupShortName, "%" + search + "%", mimetype, mimetype2,
firstResult, maxResults);
- int count = contentFinder.find2MimeCount(groupShortName, "%" + search + "%", mimetype, mimetype2);
+ final int count = contentFinder.find2MimeCount(groupShortName, "%" + search + "%", mimetype, mimetype2);
return new SearchResult<Content>(count, list);
}
+ @Override
public I18nLanguage setLanguage(final User user, final Long contentId, final String languageCode)
throws DefaultException {
final Content content = finder.getContent(contentId);
@@ -211,11 +243,13 @@
return language;
}
+ @Override
public void setPublishedOn(final User user, final Long contentId, final Date publishedOn) throws DefaultException {
final Content content = finder.getContent(contentId);
content.setPublishedOn(publishedOn);
}
+ @Override
public Content setStatus(final Long contentId, final ContentStatus status) {
final Content content = finder.getContent(contentId);
content.setStatus(status);
@@ -234,21 +268,9 @@
return content;
}
+ @Override
public void setTags(final User user, final Long contentId, final String tags) throws DefaultException {
final Content content = finder.getContent(contentId);
tagManager.setTags(user, content, tags);
}
-
- private MultiFieldQueryParser createMultiFieldParser() {
- final MultiFieldQueryParser parser = new MultiFieldQueryParser(DEF_GLOBAL_SEARCH_FIELDS, new StandardAnalyzer());
- return parser;
- }
-
- private String findInexistentTitle(final Container container, final String title) {
- String initialTitle = String.valueOf(title);
- while (findIfExistsTitle(container, initialTitle)) {
- initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
- }
- return initialTitle;
- }
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -26,8 +26,7 @@
import cc.kune.domain.User;
import com.google.inject.Inject;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public class DatabaseInitializer {
private final ContentManager contentManager;
@@ -205,7 +204,7 @@
}
}
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void initDatabase() throws Exception {
createOthers();
createLicenses();
Added: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/FinderRegistry.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/FinderRegistry.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/init/FinderRegistry.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,37 @@
+package org.ourproject.kune.platf.server.init;
+
+import cc.kune.domain.finders.ContainerFinder;
+import cc.kune.domain.finders.ContentFinder;
+import cc.kune.domain.finders.ExtMediaDescripFinder;
+import cc.kune.domain.finders.GroupFinder;
+import cc.kune.domain.finders.I18nCountryFinder;
+import cc.kune.domain.finders.I18nLanguageFinder;
+import cc.kune.domain.finders.I18nTranslationFinder;
+import cc.kune.domain.finders.LicenseFinder;
+import cc.kune.domain.finders.RateFinder;
+import cc.kune.domain.finders.TagFinder;
+import cc.kune.domain.finders.TagUserContentFinder;
+import cc.kune.domain.finders.UserFinder;
+
+import com.google.inject.Module;
+import com.google.inject.persist.jpa.JpaPersistModule;
+
+public class FinderRegistry {
+
+ public static Module init(final JpaPersistModule jpaPersistModule) {
+ jpaPersistModule.addFinder(ContainerFinder.class);
+ jpaPersistModule.addFinder(ContentFinder.class);
+ jpaPersistModule.addFinder(ExtMediaDescripFinder.class);
+ jpaPersistModule.addFinder(GroupFinder.class);
+ jpaPersistModule.addFinder(I18nCountryFinder.class);
+ jpaPersistModule.addFinder(I18nLanguageFinder.class);
+ jpaPersistModule.addFinder(I18nTranslationFinder.class);
+ jpaPersistModule.addFinder(LicenseFinder.class);
+ jpaPersistModule.addFinder(RateFinder.class);
+ jpaPersistModule.addFinder(TagFinder.class);
+ jpaPersistModule.addFinder(TagUserContentFinder.class);
+ jpaPersistModule.addFinder(UserFinder.class);
+ return jpaPersistModule;
+ }
+
+}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/LicenseManager.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -22,6 +22,7 @@
import java.util.List;
import cc.kune.domain.License;
+import cc.kune.domain.finders.LicenseFinder;
public interface LicenseManager {
@@ -37,6 +38,6 @@
License persist(final License license);
- void setLicenseFinder(final License licenseFinder);
+ void setLicenseFinder(final LicenseFinder licenseFinder);
}
\ No newline at end of file
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/TagUserContentManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -24,7 +24,6 @@
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
-import javax.persistence.Query;
import org.ourproject.kune.platf.server.manager.impl.DefaultManager;
@@ -36,6 +35,7 @@
import cc.kune.domain.Tag;
import cc.kune.domain.TagUserContent;
import cc.kune.domain.User;
+import cc.kune.domain.finders.TagUserContentFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -43,27 +43,45 @@
@Singleton
public class TagUserContentManagerDefault extends DefaultManager<TagUserContent, Long> implements TagUserContentManager {
+ private final TagUserContentFinder finder;
private final Provider<EntityManager> provider;
private final TagManager tagManager;
- private final TagUserContent finder;
@Inject
public TagUserContentManagerDefault(final Provider<EntityManager> provider, final TagManager tagManager,
- final TagUserContent finder) {
+ final TagUserContentFinder finder) {
super(provider, TagUserContent.class);
this.provider = provider;
this.tagManager = tagManager;
this.finder = finder;
}
+ @Override
public List<Tag> find(final User user, final Content content) {
return finder.findTags(user, content);
}
+ private int getMaxCount(final Group group) {
+ // return finder.getMaxGrouped(group);
+ return 0;
+ }
+
+ private int getMinCount(final Group group) {
+ // return finder.getMinGrouped(group);
+ return 0;
+ }
+
+ private List<TagCount> getSummaryByGroup(final Group group) {
+ return new ArrayList<TagCount>();
+ // return finder.getTagsGroups(group);
+ }
+
+ @Override
public TagCloudResult getTagCloudResultByGroup(final Group group) {
return new TagCloudResult(getSummaryByGroup(group), getMaxCount(group), getMinCount(group));
}
+ @Override
public String getTagsAsString(final User user, final Content content) {
String tagConcatenated = "";
if (user.getId() != null) {
@@ -76,12 +94,14 @@
return tagConcatenated.replaceFirst(" ", "");
}
+ @Override
public void remove(final User user, final Content content) {
for (final TagUserContent item : finder.find(user, content)) {
provider.get().remove(item);
}
}
+ @Override
public void setTags(final User user, final Content content, final String tags) {
final ArrayList<String> tagsStripped = TextUtils.splitTags(tags);
final ArrayList<Tag> tagList = new ArrayList<Tag>();
@@ -104,26 +124,4 @@
persist(tagUserContent);
}
}
-
- private int getMaxCount(final Group group) {
- final Query q = provider.get().createNamedQuery(TagUserContent.TAGSMAXGROUPED);
- q.setParameter("group", group);
- final List resultList = q.getResultList();
- return (resultList.size() == 0 ? 0 : ((Long) resultList.get(0)).intValue());
- }
-
- @SuppressWarnings("rawtypes")
- private int getMinCount(final Group group) {
- final Query q = provider.get().createNamedQuery(TagUserContent.TAGSMINGROUPED);
- q.setParameter("group", group);
- final List resultList = q.getResultList();
- return (resultList.size() == 0 ? 0 : ((Long) resultList.get(0)).intValue());
- }
-
- private List<TagCount> getSummaryByGroup(final Group group) {
- final Query q = provider.get().createNamedQuery(TagUserContent.TAGSGROUPED);
- q.setParameter("group", group);
- final List<TagCount> results = q.getResultList();
- return results;
- }
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -42,8 +42,7 @@
import cc.kune.domain.Group;
import com.google.inject.Inject;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public class EntityLogoUploadManager extends FileUploadManagerAbstract {
@@ -95,7 +94,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
protected void createUploadedFile(final String userHash, final StateToken stateToken, final String fileName,
final FileItem file, final String typeId) throws Exception {
final String mimeTypeS = file.getContentType();
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -47,24 +47,23 @@
import cc.kune.domain.User;
import com.google.inject.Inject;
+import com.google.inject.persist.Transactional;
import com.google.inject.servlet.RequestScoped;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
@RequestScoped
public class FileUploadManager extends FileJsonUploadManagerAbstract {
private static final long serialVersionUID = -7209922761735338754L;
@Inject
- UserSession userSession;
+ AccessService accessService;
@Inject
ContentManager contentManager;
@Inject
- AccessService accessService;
- @Inject
FileManager fileManager;
@Inject
I18nTranslationService i18n;
+ @Inject
+ UserSession userSession;
@Override
protected void beforePostStart() {
@@ -104,7 +103,7 @@
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, actionLevel = ActionLevel.container, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
Content createUploadedFileWrapped(final String userHash, final StateToken stateToken, final String fileName,
final FileItem fileUploadItem, final String typeId) throws Exception {
final String relDir = FileUtils.toDir(stateToken);
@@ -137,8 +136,8 @@
final User user = userSession.getUser();
final Container container = accessService.accessToContainer(ContentUtils.parseId(stateToken.getFolder()),
user, AccessRol.Editor);
- final Content content = contentManager.createContent(FileUtils.getFileNameWithoutExtension(file.getName(),
- extension), preview, user, container, typeId);
+ final Content content = contentManager.createContent(
+ FileUtils.getFileNameWithoutExtension(file.getName(), extension), preview, user, container, typeId);
content.setMimeType(basicMimeType);
content.setFilename(file.getName());
return content;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/ExtMediaDescripManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/ExtMediaDescripManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/ExtMediaDescripManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -26,6 +26,7 @@
import org.ourproject.kune.platf.server.manager.ExtMediaDescripManager;
import cc.kune.domain.ExtMediaDescrip;
+import cc.kune.domain.finders.ExtMediaDescripFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -35,14 +36,16 @@
public class ExtMediaDescripManagerDefault extends DefaultManager<ExtMediaDescrip, Long> implements
ExtMediaDescripManager {
- private final ExtMediaDescrip extMediaFinder;
+ private final ExtMediaDescripFinder extMediaFinder;
@Inject
- public ExtMediaDescripManagerDefault(final Provider<EntityManager> provider, final ExtMediaDescrip extMediaFinder) {
+ public ExtMediaDescripManagerDefault(final Provider<EntityManager> provider,
+ final ExtMediaDescripFinder extMediaFinder) {
super(provider, ExtMediaDescrip.class);
this.extMediaFinder = extMediaFinder;
}
+ @Override
public List<ExtMediaDescrip> getAll() {
return extMediaFinder.getAll();
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -53,6 +53,9 @@
import cc.kune.domain.SocialNetwork;
import cc.kune.domain.ToolConfiguration;
import cc.kune.domain.User;
+import cc.kune.domain.finders.GroupFinder;
+import cc.kune.domain.finders.LicenseFinder;
+import cc.kune.domain.finders.UserFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -61,19 +64,19 @@
@Singleton
public class GroupManagerDefault extends DefaultManager<Group, Long> implements GroupManager {
- private final Group finder;
+ private final GroupFinder finder;
private final KuneProperties kuneProperties;
- private final License licenseFinder;
+ private final LicenseFinder licenseFinder;
private final LicenseManager licenseManager;
private final DatabaseProperties properties;
private final ServerToolRegistry registry;
private final ServerToolRegistry serverToolRegistry;
- private final User userFinder;
+ private final UserFinder userFinder;
@Inject
- public GroupManagerDefault(final Provider<EntityManager> provider, final Group finder, final User userFinder,
- final KuneProperties kuneProperties, final DatabaseProperties properties,
- final ServerToolRegistry registry, final LicenseManager licenseManager, final License licenseFinder,
+ public GroupManagerDefault(final Provider<EntityManager> provider, final GroupFinder finder,
+ final UserFinder userFinder, final KuneProperties kuneProperties, final DatabaseProperties properties,
+ final ServerToolRegistry registry, final LicenseManager licenseManager, final LicenseFinder licenseFinder,
final ServerToolRegistry serverToolRegistry) {
super(provider, Group.class);
this.finder = finder;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nCountryManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nCountryManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nCountryManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -26,6 +26,7 @@
import org.ourproject.kune.platf.server.manager.I18nCountryManager;
import cc.kune.domain.I18nCountry;
+import cc.kune.domain.finders.I18nCountryFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -34,19 +35,21 @@
@Singleton
public class I18nCountryManagerDefault extends DefaultManager<I18nCountry, Long> implements I18nCountryManager {
- private final I18nCountry finder;
+ private final I18nCountryFinder finder;
@Inject
- public I18nCountryManagerDefault(final Provider<EntityManager> provider, final I18nCountry finder) {
+ public I18nCountryManagerDefault(final Provider<EntityManager> provider, final I18nCountryFinder finder) {
super(provider, I18nCountry.class);
this.finder = finder;
}
+ @Override
+ public I18nCountry findByCode(final String country) {
+ return finder.findByCode(country);
+ }
+
+ @Override
public List<I18nCountry> getAll() {
return finder.getAll();
}
-
- public I18nCountry findByCode(final String country) {
- return finder.findByCode(country);
- }
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nLanguageManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nLanguageManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nLanguageManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -26,6 +26,7 @@
import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
import cc.kune.domain.I18nLanguage;
+import cc.kune.domain.finders.I18nLanguageFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -34,18 +35,20 @@
@Singleton
public class I18nLanguageManagerDefault extends DefaultManager<I18nLanguage, Long> implements I18nLanguageManager {
- private final I18nLanguage finder;
+ private final I18nLanguageFinder finder;
@Inject
- public I18nLanguageManagerDefault(final Provider<EntityManager> provider, final I18nLanguage finder) {
+ public I18nLanguageManagerDefault(final Provider<EntityManager> provider, final I18nLanguageFinder finder) {
super(provider, I18nLanguage.class);
this.finder = finder;
}
+ @Override
public I18nLanguage findByCode(final String language) {
return finder.findByCode(language);
}
+ @Override
public List<I18nLanguage> getAll() {
return finder.getAll();
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/I18nTranslationManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -32,6 +32,7 @@
import cc.kune.core.client.errors.DefaultException;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.I18nTranslation;
+import cc.kune.domain.finders.I18nTranslationFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -41,12 +42,12 @@
public class I18nTranslationManagerDefault extends DefaultManager<I18nTranslation, Long> implements
I18nTranslationManager {
- private final I18nTranslation finder;
+ private final I18nTranslationFinder finder;
private final ConcurrentHashMap<String, HashMap<String, String>> langCache;
private final I18nLanguageManager languageManager;
@Inject
- public I18nTranslationManagerDefault(final Provider<EntityManager> provider, final I18nTranslation finder,
+ public I18nTranslationManagerDefault(final Provider<EntityManager> provider, final I18nTranslationFinder finder,
final I18nLanguageManager languageManager) {
super(provider, I18nTranslation.class);
this.finder = finder;
@@ -54,6 +55,7 @@
langCache = new ConcurrentHashMap<String, HashMap<String, String>>();
}
+ @Override
public HashMap<String, String> getLexicon(final String language) {
HashMap<String, String> map = langCache.get(language);
if (map == null) {
@@ -62,11 +64,27 @@
return map;
}
+ @SuppressWarnings("unchecked")
+ private HashMap<String, String> getLexiconFromDb(final String language) {
+ HashMap<String, String> map = new HashMap<String, String>();
+ final List<I18nTranslation> set = finder.findByLanguage(language);
+ if (!language.equals(I18nTranslation.DEFAULT_LANG)) {
+ map = (HashMap<String, String>) getLexicon(I18nTranslation.DEFAULT_LANG).clone();
+ }
+ for (final I18nTranslation trans : set) {
+ map.put(trans.getTrKey(), trans.getText());
+ }
+ langCache.put(language, map);
+ return map;
+ }
+
+ @Override
public List<I18nTranslation> getTranslatedLexicon(final String languageCode) {
final I18nLanguage language = languageManager.findByCode(languageCode);
return finder.getTranslatedLexicon(language);
}
+ @Override
public SearchResult<I18nTranslation> getTranslatedLexicon(final String languageCode, final Integer firstResult,
final Integer maxResults) {
final I18nLanguage language = languageManager.findByCode(languageCode);
@@ -75,6 +93,7 @@
return new SearchResult<I18nTranslation>(count.intValue(), list);
}
+ @Override
public String getTranslation(final String language, final String text) {
final HashMap<String, String> lexicon = getLexicon(language);
final String escapedText = TextUtils.escapeHtmlLight(text);
@@ -95,23 +114,27 @@
}
}
+ @Override
public String getTranslation(final String language, final String text, final Integer arg) {
String translation = getTranslation(language, text);
translation = translation.replaceFirst("\\[%d\\]", arg.toString());
return translation;
}
+ @Override
public String getTranslation(final String language, final String text, final String arg) {
String translation = getTranslation(language, text);
translation = translation.replaceFirst("\\[%s\\]", arg);
return translation;
}
+ @Override
public List<I18nTranslation> getUntranslatedLexicon(final String languageCode) {
final I18nLanguage language = initUnstranlated(languageCode);
return finder.getUnstranslatedLexicon(language);
}
+ @Override
public SearchResult<I18nTranslation> getUntranslatedLexicon(final String languageCode, final Integer firstResult,
final Integer maxResults) {
final I18nLanguage language = initUnstranlated(languageCode);
@@ -120,6 +143,24 @@
return new SearchResult<I18nTranslation>(count.intValue(), list);
}
+ private I18nLanguage initUnstranlated(final String languageCode) {
+ final I18nLanguage defLanguage = languageManager.findByCode(I18nTranslation.DEFAULT_LANG);
+ I18nLanguage language;
+ if (languageCode.equals(I18nTranslation.DEFAULT_LANG)) {
+ language = defLanguage;
+ } else {
+ language = languageManager.findByCode(languageCode);
+ final List<I18nTranslation> list = finder.getNonExistentFromDefault(defLanguage, language);
+ for (final I18nTranslation defTrans : list) {
+ final I18nTranslation newTrans = defTrans.cloneForNewLanguage();
+ newTrans.setLanguage(language);
+ persist(newTrans);
+ }
+ }
+ return language;
+ }
+
+ @Override
public String setTranslation(final String id, final String translation) throws DefaultException {
final I18nTranslation trans = super.find(Long.valueOf(id));
if (trans != null) {
@@ -132,6 +173,7 @@
}
}
+ @Override
public void setTranslation(final String languageId, final String text, final String translation) {
final I18nLanguage language = languageManager.findByCode(languageId);
final I18nTranslation newTranslation = new I18nTranslation(text, language, translation);
@@ -143,35 +185,4 @@
}
}
- @SuppressWarnings("unchecked")
- private HashMap<String, String> getLexiconFromDb(final String language) {
- HashMap<String, String> map = new HashMap<String, String>();
- final List<I18nTranslation> set = finder.findByLanguage(language);
- if (!language.equals(I18nTranslation.DEFAULT_LANG)) {
- map = (HashMap<String, String>) getLexicon(I18nTranslation.DEFAULT_LANG).clone();
- }
- for (I18nTranslation trans : set) {
- map.put(trans.getTrKey(), trans.getText());
- }
- langCache.put(language, map);
- return map;
- }
-
- private I18nLanguage initUnstranlated(final String languageCode) {
- final I18nLanguage defLanguage = languageManager.findByCode(I18nTranslation.DEFAULT_LANG);
- I18nLanguage language;
- if (languageCode.equals(I18nTranslation.DEFAULT_LANG)) {
- language = defLanguage;
- } else {
- language = languageManager.findByCode(languageCode);
- final List<I18nTranslation> list = finder.getNonExistentFromDefault(defLanguage, language);
- for (I18nTranslation defTrans : list) {
- final I18nTranslation newTrans = defTrans.cloneForNewLanguage();
- newTrans.setLanguage(language);
- persist(newTrans);
- }
- }
- return language;
- }
-
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/LicenseManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -27,6 +27,7 @@
import org.ourproject.kune.platf.server.properties.DatabaseProperties;
import cc.kune.domain.License;
+import cc.kune.domain.finders.LicenseFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -34,34 +35,39 @@
@Singleton
public class LicenseManagerDefault extends DefaultManager<License, Long> implements LicenseManager {
- private License licenseFinder;
+ private LicenseFinder licenseFinder;
private final DatabaseProperties properties;
@Inject
public LicenseManagerDefault(final Provider<EntityManager> provider, final DatabaseProperties properties,
- final License licenseFinder) {
+ final LicenseFinder licenseFinder) {
super(provider, License.class);
this.properties = properties;
this.licenseFinder = licenseFinder;
}
+ @Override
public License findByShortName(final String shortName) {
return licenseFinder.findByShortName(shortName);
}
+ @Override
public List<License> getAll() {
return licenseFinder.getAll();
}
+ @Override
public List<License> getCC() {
return licenseFinder.getCC();
}
+ @Override
public License getDefLicense() {
final String licenseDefId = properties.getDefaultLicense();
return licenseFinder.findByShortName(licenseDefId);
}
+ @Override
public List<License> getNotCC() {
return licenseFinder.getNotCC();
}
@@ -71,8 +77,9 @@
return super.persist(license);
}
+ @Override
@Inject
- public void setLicenseFinder(final License licenseFinder) {
+ public void setLicenseFinder(final LicenseFinder licenseFinder) {
this.licenseFinder = licenseFinder;
}
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/RateManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/RateManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/RateManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -27,6 +27,7 @@
import cc.kune.domain.Content;
import cc.kune.domain.Rate;
import cc.kune.domain.User;
+import cc.kune.domain.finders.RateFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -35,26 +36,29 @@
@Singleton
public class RateManagerDefault extends DefaultManager<Rate, Long> implements RateManager {
- private final Rate finder;
+ private final RateFinder finder;
@Inject
- public RateManagerDefault(final Provider<EntityManager> provider, final Rate finder) {
+ public RateManagerDefault(final Provider<EntityManager> provider, final RateFinder finder) {
super(provider, Rate.class);
this.finder = finder;
}
+ @Override
public Rate find(final User user, final Content content) {
try {
return finder.find(user, content);
- } catch (NoResultException e) {
+ } catch (final NoResultException e) {
return null;
}
}
+ @Override
public Double getRateAvg(final Content content) {
return finder.calculateRate(content);
}
+ @Override
public Long getRateByUsers(final Content content) {
return finder.calculateRateNumberOfUsers(content);
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -44,6 +44,7 @@
import cc.kune.domain.Group;
import cc.kune.domain.SocialNetwork;
import cc.kune.domain.User;
+import cc.kune.domain.finders.GroupFinder;
import cc.kune.domain.utils.ParticipationData;
import cc.kune.domain.utils.SocialNetworkData;
import cc.kune.domain.utils.UserBuddiesData;
@@ -55,12 +56,12 @@
@Singleton
public class SocialNetworkManagerDefault extends DefaultManager<SocialNetwork, Long> implements SocialNetworkManager {
- private final Group finder;
private final AccessRightsService accessRightsService;
+ private final GroupFinder finder;
private final UserManager userManager;
@Inject
- public SocialNetworkManagerDefault(final Provider<EntityManager> provider, final Group finder,
+ public SocialNetworkManagerDefault(final Provider<EntityManager> provider, final GroupFinder finder,
final AccessRightsService accessRightsService, final UserManager userManager) {
super(provider, SocialNetwork.class);
this.finder = finder;
@@ -68,6 +69,7 @@
this.userManager = userManager;
}
+ @Override
public void acceptJoinGroup(final User userLogged, final Group group, final Group inGroup) throws DefaultException,
AccessViolationException {
final SocialNetwork sn = inGroup.getSocialNetwork();
@@ -81,6 +83,12 @@
}
}
+ void addAdmin(final User newAdmin, final Group group) {
+ final SocialNetwork sn = group.getSocialNetwork();
+ sn.addAdmin(newAdmin.getUserGroup());
+ }
+
+ @Override
public void addGroupToAdmins(final User userLogged, final Group group, final Group inGroup) throws DefaultException {
checkGroupAddingToSelf(group, inGroup);
final SocialNetwork sn = inGroup.getSocialNetwork();
@@ -92,6 +100,7 @@
}
}
+ @Override
public void addGroupToCollabs(final User userLogged, final Group group, final Group inGroup)
throws DefaultException {
checkGroupAddingToSelf(group, inGroup);
@@ -104,6 +113,7 @@
}
}
+ @Override
public void addGroupToViewers(final User userLogged, final Group group, final Group inGroup)
throws DefaultException {
checkGroupAddingToSelf(group, inGroup);
@@ -116,6 +126,25 @@
}
}
+ private void checkGroupAddingToSelf(final Group group, final Group inGroup) throws DefaultException {
+ if (group.equals(inGroup)) {
+ throwGroupMemberException(group);
+ }
+ }
+
+ private void checkGroupIsNotAlreadyAMember(final Group group, final SocialNetwork sn) throws DefaultException {
+ if (sn.isAdmin(group) || sn.isCollab(group) || sn.isViewer(group) && notEveryOneCanView(sn)) {
+ throwGroupMemberException(group);
+ }
+ }
+
+ private void checkUserLoggedIsAdmin(final User userLogged, final SocialNetwork sn) throws AccessViolationException {
+ if (!accessRightsService.get(userLogged, sn.getAccessLists()).isAdministrable()) {
+ throw new AccessViolationException();
+ }
+ }
+
+ @Override
public void deleteMember(final User userLogged, final Group group, final Group inGroup) throws DefaultException,
AccessViolationException {
final SocialNetwork sn = inGroup.getSocialNetwork();
@@ -124,6 +153,7 @@
unJoinGroup(group, inGroup);
}
+ @Override
public void denyJoinGroup(final User userLogged, final Group group, final Group inGroup) throws DefaultException {
final SocialNetwork sn = inGroup.getSocialNetwork();
checkUserLoggedIsAdmin(userLogged, sn);
@@ -135,6 +165,7 @@
}
}
+ @Override
public ParticipationData findParticipation(final User userLogged, final Group group)
throws AccessViolationException {
get(userLogged, group); // check access
@@ -149,6 +180,7 @@
return new ParticipationData(adminInGroups, collabInGroups);
}
+ @Override
public SocialNetwork get(final User petitioner, final Group group) throws AccessViolationException {
final SocialNetwork sn = group.getSocialNetwork();
if (!sn.getAccessLists().getViewers().includes(petitioner.getUserGroup())) {
@@ -157,18 +189,19 @@
return sn;
}
+ @Override
public SocialNetworkData getSocialNetworkData(final User userLogged, final Group group) {
- SocialNetworkData socialNetData = new SocialNetworkData();
+ final SocialNetworkData socialNetData = new SocialNetworkData();
socialNetData.setGroupMembers(get(userLogged, group));
- AccessRights groupRights = accessRightsService.get(userLogged, group.getAccessLists());
+ final AccessRights groupRights = accessRightsService.get(userLogged, group.getAccessLists());
socialNetData.setGroupRights(groupRights);
socialNetData.setUserParticipation(findParticipation(userLogged, group));
socialNetData.setGroupMembers(get(userLogged, group));
if (group.isPersonal()) {
- UserBuddiesData userBuddies = userManager.getUserBuddies(group.getShortName());
- User userGroup = userManager.findByShortname(group.getShortName());
+ final UserBuddiesData userBuddies = userManager.getUserBuddies(group.getShortName());
+ final User userGroup = userManager.findByShortname(group.getShortName());
socialNetData.setUserBuddies(userBuddies);
- UserBuddiesVisibility buddiesVisibility = userGroup.getBuddiesVisibility();
+ final UserBuddiesVisibility buddiesVisibility = userGroup.getBuddiesVisibility();
socialNetData.setIsBuddiesVisible(true);
switch (buddiesVisibility) {
case anyone:
@@ -180,8 +213,8 @@
}
break;
case yourbuddies:
- boolean notMe = !userLogged.equals(userGroup);
- boolean notABuddie = !userBuddies.contains(userLogged.getShortName());
+ final boolean notMe = !userLogged.equals(userGroup);
+ final boolean notABuddie = !userBuddies.contains(userLogged.getShortName());
if (notMe && notABuddie) {
socialNetData.setIsBuddiesVisible(false);
socialNetData.setUserBuddies(UserBuddiesData.EMPTY);
@@ -190,7 +223,7 @@
}
socialNetData.setUserBuddiesVisibility(buddiesVisibility);
} else {
- SocialNetworkVisibility visibility = group.getSocialNetwork().getVisibility();
+ final SocialNetworkVisibility visibility = group.getSocialNetwork().getVisibility();
socialNetData.setIsMembersVisible(true);
switch (visibility) {
case anyone:
@@ -214,6 +247,23 @@
return socialNetData;
}
+ private boolean isClosed(final AdmissionType admissionType) {
+ return admissionType.equals(AdmissionType.Closed);
+ }
+
+ private boolean isModerated(final AdmissionType admissionType) {
+ return admissionType.equals(AdmissionType.Moderated);
+ }
+
+ private boolean isOpen(final AdmissionType admissionType) {
+ return admissionType.equals(AdmissionType.Open);
+ }
+
+ private boolean notEveryOneCanView(final SocialNetwork sn) {
+ return !sn.getAccessLists().getViewers().getMode().equals(GroupListMode.EVERYONE);
+ }
+
+ @Override
public SocialNetworkRequestResult requestToJoin(final User userLogged, final Group inGroup)
throws DefaultException, UserMustBeLoggedException {
final SocialNetwork sn = inGroup.getSocialNetwork();
@@ -246,6 +296,7 @@
}
}
+ @Override
public void setAdminAsCollab(final User userLogged, final Group group, final Group inGroup) throws DefaultException {
final SocialNetwork sn = inGroup.getSocialNetwork();
checkUserLoggedIsAdmin(userLogged, sn);
@@ -260,6 +311,7 @@
}
}
+ @Override
public void setCollabAsAdmin(final User userLogged, final Group group, final Group inGroup) throws DefaultException {
final SocialNetwork sn = inGroup.getSocialNetwork();
checkUserLoggedIsAdmin(userLogged, sn);
@@ -271,6 +323,15 @@
}
}
+ private void throwGroupMemberException(final Group group) throws DefaultException {
+ if (group.isPersonal()) {
+ throw new AlreadyUserMemberException();
+ } else {
+ throw new AlreadyGroupMemberException();
+ }
+ }
+
+ @Override
public void unJoinGroup(final Group groupToUnJoin, final Group inGroup) throws DefaultException {
final SocialNetwork sn = inGroup.getSocialNetwork();
@@ -291,51 +352,4 @@
}
}
- void addAdmin(final User newAdmin, final Group group) {
- final SocialNetwork sn = group.getSocialNetwork();
- sn.addAdmin(newAdmin.getUserGroup());
- }
-
- private void checkGroupAddingToSelf(final Group group, final Group inGroup) throws DefaultException {
- if (group.equals(inGroup)) {
- throwGroupMemberException(group);
- }
- }
-
- private void checkGroupIsNotAlreadyAMember(final Group group, final SocialNetwork sn) throws DefaultException {
- if (sn.isAdmin(group) || sn.isCollab(group) || sn.isViewer(group) && notEveryOneCanView(sn)) {
- throwGroupMemberException(group);
- }
- }
-
- private void checkUserLoggedIsAdmin(final User userLogged, final SocialNetwork sn) throws AccessViolationException {
- if (!accessRightsService.get(userLogged, sn.getAccessLists()).isAdministrable()) {
- throw new AccessViolationException();
- }
- }
-
- private boolean isClosed(final AdmissionType admissionType) {
- return admissionType.equals(AdmissionType.Closed);
- }
-
- private boolean isModerated(final AdmissionType admissionType) {
- return admissionType.equals(AdmissionType.Moderated);
- }
-
- private boolean isOpen(final AdmissionType admissionType) {
- return admissionType.equals(AdmissionType.Open);
- }
-
- private boolean notEveryOneCanView(final SocialNetwork sn) {
- return !sn.getAccessLists().getViewers().getMode().equals(GroupListMode.EVERYONE);
- }
-
- private void throwGroupMemberException(final Group group) throws DefaultException {
- if (group.isPersonal()) {
- throw new AlreadyUserMemberException();
- } else {
- throw new AlreadyGroupMemberException();
- }
- }
-
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -24,6 +24,7 @@
import org.ourproject.kune.platf.server.manager.TagManager;
import cc.kune.domain.Tag;
+import cc.kune.domain.finders.TagFinder;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -32,14 +33,15 @@
@Singleton
public class TagManagerDefault extends DefaultManager<Tag, Long> implements TagManager {
- private final Tag tagFinder;
+ private final TagFinder tagFinder;
@Inject
- public TagManagerDefault(final Provider<EntityManager> provider, final Tag tagFinder) {
+ public TagManagerDefault(final Provider<EntityManager> provider, final TagFinder tagFinder) {
super(provider, Tag.class);
this.tagFinder = tagFinder;
}
+ @Override
public Tag findByTagName(final String tag) {
return tagFinder.findByTagName(tag);
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -46,6 +46,7 @@
import cc.kune.domain.I18nCountry;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.User;
+import cc.kune.domain.finders.UserFinder;
import cc.kune.domain.utils.UserBuddiesData;
import cc.kune.wave.server.CustomUserRegistrationServlet;
@@ -56,7 +57,7 @@
@Singleton
public class UserManagerDefault extends DefaultManager<User, Long> implements UserManager {
private final I18nCountryManager countryManager;
- private final User finder;
+ private final UserFinder finder;
private final I18nTranslationService i18n;
private final I18nLanguageManager languageManager;
private final ChatProperties properties;
@@ -65,7 +66,7 @@
private final XmppManager xmppManager;
@Inject
- public UserManagerDefault(final Provider<EntityManager> provider, final User finder,
+ public UserManagerDefault(final Provider<EntityManager> provider, final UserFinder finder,
final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
final XmppManager xmppManager, final ChatProperties properties, final I18nTranslationService i18n,
final CustomUserRegistrationServlet waveUserRegister) {
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -72,8 +72,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
@Singleton
public class ContentRPC implements ContentService, RPC {
@@ -116,7 +115,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void addAuthor(final String userHash, final StateToken token, final String authorShortName)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
@@ -127,7 +126,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public CommentDTO addComment(final String userHash, final StateToken token, final Long parentCommentId,
final String commentText) throws DefaultException {
final User author = getCurrentUser();
@@ -139,7 +138,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public CommentDTO addComment(final String userHash, final StateToken token, final String commentText)
throws DefaultException {
final User author = getCurrentUser();
@@ -151,7 +150,7 @@
@Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateContentDTO addContent(final String userHash, final StateToken parentToken, final String title,
final String typeId) throws DefaultException {
final String body = "";
@@ -161,7 +160,7 @@
@Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateContainerDTO addFolder(final String userHash, final StateToken parentToken, final String title,
final String contentTypeId) throws DefaultException {
final User user = getCurrentUser();
@@ -173,7 +172,7 @@
@Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateContainerDTO addRoom(final String userHash, final StateToken parentToken, final String roomName)
throws DefaultException {
// final String groupShortName = parentToken.getGroup();
@@ -205,7 +204,7 @@
@Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateContentDTO addWave(final String userHash, final StateToken parentToken, final String typeId,
final String waveId) throws DefaultException {
return createContent(parentToken, "Wave embeded test", typeId, waveId);
@@ -232,7 +231,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateContentDTO delContent(final String userHash, final StateToken token) throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
return getState(getCurrentUser(), contentManager.setStatus(contentId, ContentStatus.inTheDustbin));
@@ -240,7 +239,7 @@
@Override
@Authenticated(mandatory = false)
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
public StateAbstractDTO getContent(final String userHash, final StateToken token) throws DefaultException {
Group defaultGroup;
final User user = getCurrentUser();
@@ -302,7 +301,7 @@
@Override
@Authenticated(mandatory = false)
@Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
public TagCloudResult getSummaryTags(final String userHash, final StateToken groupToken) {
final Group group = groupManager.findByShortName(groupToken.getGroup());
return getSummaryTags(group);
@@ -350,7 +349,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public CommentDTO markCommentAsAbuse(final String userHash, final StateToken token, final Long commentId)
throws DefaultException {
final User informer = getCurrentUser();
@@ -362,7 +361,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public RateResult rateContent(final String userHash, final StateToken token, final Double value)
throws DefaultException {
final User rater = getCurrentUser();
@@ -378,7 +377,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void removeAuthor(final String userHash, final StateToken token, final String authorShortName)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
@@ -389,7 +388,7 @@
@Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateAbstractDTO renameContainer(final String userHash, final StateToken token, final String newName)
throws DefaultException {
renameFolder(token.getGroup(), ContentUtils.parseId(token.getFolder()), newName);
@@ -399,7 +398,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateAbstractDTO renameContent(final String userHash, final StateToken token, final String newName)
throws DefaultException {
final User user = getCurrentUser();
@@ -430,7 +429,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void save(final String userHash, final StateToken token, final String textContent) throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
@@ -442,7 +441,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public ContentSimpleDTO setAsDefaultContent(final String userHash, final StateToken token) {
final Content content = contentManager.find(ContentUtils.parseId(token.getDocument()));
groupManager.setDefaultContent(token.getGroup(), content);
@@ -452,7 +451,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public I18nLanguageDTO setLanguage(final String userHash, final StateToken token, final String languageCode)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
@@ -463,7 +462,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void setPublishedOn(final String userHash, final StateToken token, final Date publishedOn)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
@@ -474,7 +473,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateAbstractDTO setStatus(final String userHash, final StateToken token, final ContentStatus status) {
if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected)
|| status.equals(ContentStatus.inTheDustbin)) {
@@ -488,7 +487,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public StateAbstractDTO setStatusAsAdmin(final String userHash, final StateToken token, final ContentStatus status) {
final Content content = contentManager.setStatus(ContentUtils.parseId(token.getDocument()),
ContentStatus.valueOf(status.toString()));
@@ -498,7 +497,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public TagCloudResult setTags(final String userHash, final StateToken token, final String tags)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
@@ -511,7 +510,7 @@
@Override
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public CommentDTO voteComment(final String userHash, final StateToken token, final Long commentId,
final boolean votePositive) throws DefaultException {
final User voter = getCurrentUser();
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -43,15 +43,14 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
@Singleton
public class GroupRPC implements RPC, GroupService {
+ private final ContentManager contentManager;
+ private final GroupManager groupManager;
private final Mapper mapper;
- private final GroupManager groupManager;
private final Provider<UserSession> userSessionProvider;
- private final ContentManager contentManager;
@Inject
public GroupRPC(final Provider<UserSession> userSessionProvider, final GroupManager groupManager,
@@ -62,18 +61,20 @@
this.mapper = mapper;
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void changeDefLicense(final String userHash, final StateToken groupToken, final LicenseDTO license) {
final User user = getUserLogged();
final Group group = groupManager.findByShortName(groupToken.getGroup());
groupManager.changeDefLicense(user, group, license.getShortName());
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void changeGroupWsTheme(final String userHash, final StateToken groupToken, final String theme)
throws DefaultException {
final User user = getUserLogged();
@@ -81,17 +82,19 @@
groupManager.changeWsTheme(user, group, theme);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public GroupDTO clearGroupBackImage(final String userHash, final StateToken token) {
final Group group = groupManager.findByShortName(token.getGroup());
groupManager.clearGroupBackImage(group);
return mapper.map(group, GroupDTO.class);
}
+ @Override
@Authenticated
- @Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class)
+ @Transactional(rollbackOn = DefaultException.class)
public StateToken createNewGroup(final String userHash, final GroupDTO groupDTO, final String publicDesc,
final String tags, final String[] enabledTools) throws DefaultException {
final User user = getUserLogged();
@@ -103,6 +106,7 @@
return newGroup.getDefaultContent().getStateToken();
};
+ @Override
@Authenticated(mandatory = false)
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer)
public GroupDTO getGroup(final String userHash, final StateToken groupToken) {
@@ -110,9 +114,20 @@
return mapper.map(group, GroupDTO.class);
}
+ private User getUserLogged() {
+ final UserSession userSession = getUserSession();
+ final User user = userSession.getUser();
+ return user;
+ }
+
+ private UserSession getUserSession() {
+ return userSessionProvider.get();
+ }
+
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public GroupDTO setGroupBackImage(final String userHash, final StateToken token) {
final Group group = groupManager.findByShortName(token.getGroup());
final Content content = contentManager.find(ContentUtils.parseId(token.getDocument()));
@@ -120,40 +135,33 @@
return mapper.map(group, GroupDTO.class);
}
+ @Override
@Authenticated(mandatory = true)
@Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void setGroupNewMembersJoiningPolicy(final String userHash, final StateToken token,
final AdmissionType admissionPolicy) {
final Group group = groupManager.findByShortName(token.getGroup());
group.setAdmissionType(AdmissionType.valueOf(admissionPolicy.toString()));
}
+ @Override
@Authenticated(mandatory = true)
@Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void setSocialNetworkVisibility(final String userHash, final StateToken token,
final SocialNetworkVisibility visibility) {
final Group group = groupManager.findByShortName(token.getGroup());
group.getSocialNetwork().setVisibility(SocialNetworkVisibility.valueOf(visibility.toString()));
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void setToolEnabled(final String userHash, final StateToken groupToken, final String toolName,
final boolean enabled) {
groupManager.setToolEnabled(getUserLogged(), groupToken.getGroup(), toolName, enabled);
}
- private User getUserLogged() {
- final UserSession userSession = getUserSession();
- final User user = userSession.getUser();
- return user;
- }
-
- private UserSession getUserSession() {
- return userSessionProvider.get();
- }
-
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/I18nRPC.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/I18nRPC.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/I18nRPC.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -40,16 +40,15 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
@Singleton
public class I18nRPC implements RPC, I18nService {
private final I18nTranslationManager i18nTranslationManager;
- private final Provider<UserSession> userSessionProvider;
- private final Provider<HttpServletRequest> requestProvider;
private final I18nLanguageManager languageManager;
private final Mapper mapper;
+ private final Provider<HttpServletRequest> requestProvider;
+ private final Provider<UserSession> userSessionProvider;
@Inject
public I18nRPC(final Provider<HttpServletRequest> requestProvider, final Provider<UserSession> userSessionProvider,
@@ -62,7 +61,8 @@
this.mapper = mapper;
}
- @Transactional(type = TransactionType.READ_ONLY)
+ @Override
+ @Transactional
public I18nLanguageDTO getInitialLanguage(final String localeParam) {
String initLanguage;
I18nLanguage lang;
@@ -96,12 +96,14 @@
return mapper.map(lang, I18nLanguageDTO.class);
}
- @Transactional(type = TransactionType.READ_ONLY)
+ @Override
+ @Transactional
public HashMap<String, String> getLexicon(final String language) {
return i18nTranslationManager.getLexicon(language);
}
- @Transactional(type = TransactionType.READ_WRITE)
+ @Override
+ @Transactional
public String getTranslation(final String userHash, final String language, final String text) {
String translation = null;
try {
@@ -111,13 +113,6 @@
return translation;
}
- @Authenticated
- @Transactional(type = TransactionType.READ_WRITE)
- public String setTranslation(final String userHash, final String id, final String translation)
- throws DefaultException {
- return i18nTranslationManager.setTranslation(id, translation);
- }
-
@Authenticated(mandatory = false)
private String getTranslationWrapper(final String language, final String text) {
return i18nTranslationManager.getTranslation(language, text);
@@ -127,4 +122,12 @@
return userSessionProvider.get();
}
+ @Override
+ @Authenticated
+ @Transactional
+ public String setTranslation(final String userHash, final String id, final String translation)
+ throws DefaultException {
+ return i18nTranslationManager.setTranslation(id, translation);
+ }
+
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SiteRPC.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -41,22 +41,21 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
@Singleton
public class SiteRPC implements RPC, SiteService {
- private final Mapper mapper;
- private final Provider<UserSession> userSessionProvider;
- private final LicenseManager licenseManager;
- private final UserManager userManager;
private final ChatProperties chatProperties;
- private final UserInfoService userInfoService;
+ private final I18nCountryManager countryManager;
+ private final ExtMediaDescripManager extMediaDescManager;
private final KuneProperties kuneProperties;
private final I18nLanguageManager languageManager;
- private final I18nCountryManager countryManager;
+ private final LicenseManager licenseManager;
+ private final Mapper mapper;
private final ServerToolRegistry serverToolRegistry;
- private final ExtMediaDescripManager extMediaDescManager;
+ private final UserInfoService userInfoService;
+ private final UserManager userManager;
+ private final Provider<UserSession> userSessionProvider;
// TODO: refactor: too many parameters! refactor to Facade Pattern
@Inject
@@ -78,7 +77,8 @@
this.extMediaDescManager = extMediaDescManager;
}
- @Transactional(type = TransactionType.READ_ONLY)
+ @Override
+ @Transactional
public InitDataDTO getInitData(final String userHash) throws DefaultException {
final InitData data = new InitData();
final UserSession userSession = getUserSession();
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -39,16 +39,15 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
@Singleton
public class SocialNetworkRPC implements SocialNetworkService, RPC {
- private final Provider<UserSession> userSessionProvider;
private final GroupManager groupManager;
+ private final Mapper mapper;
private final SocialNetworkManager socialNetworkManager;
- private final Mapper mapper;
+ private final Provider<UserSession> userSessionProvider;
@Inject
public SocialNetworkRPC(final Provider<UserSession> userSessionProvider, final GroupManager groupManager,
@@ -59,9 +58,10 @@
this.mapper = mapper;
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO acceptJoinGroup(final String hash, final StateToken groupToken,
final String groupToAcceptShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -72,9 +72,10 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO addAdminMember(final String hash, final StateToken groupToken,
final String groupToAddShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -85,9 +86,10 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO addCollabMember(final String hash, final StateToken groupToken,
final String groupToAddShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -98,9 +100,10 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO addViewerMember(final String hash, final StateToken groupToken,
final String groupToAddShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -111,9 +114,10 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO deleteMember(final String hash, final StateToken groupToken,
final String groupToDeleleShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -124,9 +128,10 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO denyJoinGroup(final String hash, final StateToken groupToken,
final String groupToDenyShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -137,10 +142,15 @@
return generateResponse(userLogged, group);
}
+ private SocialNetworkDataDTO generateResponse(final User userLogged, final Group group) {
+ return mapper.map(socialNetworkManager.getSocialNetworkData(userLogged, group), SocialNetworkDataDTO.class);
+ }
+
+ @Override
@Authenticated(mandatory = false)
// At least you can access as Viewer to the Group
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer)
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
public SocialNetworkDataDTO getSocialNetwork(final String hash, final StateToken groupToken)
throws DefaultException {
final UserSession userSession = getUserSession();
@@ -149,8 +159,13 @@
return generateResponse(user, group);
}
+ private UserSession getUserSession() {
+ return userSessionProvider.get();
+ }
+
+ @Override
@Authenticated
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkRequestResult requestJoinGroup(final String hash, final StateToken groupToken)
throws DefaultException {
final UserSession userSession = getUserSession();
@@ -159,9 +174,10 @@
return socialNetworkManager.requestToJoin(user, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO setAdminAsCollab(final String hash, final StateToken groupToken,
final String groupToSetCollabShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -172,9 +188,10 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO setCollabAsAdmin(final String hash, final StateToken groupToken,
final String groupToSetAdminShortName) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -185,8 +202,9 @@
return generateResponse(userLogged, group);
}
+ @Override
@Authenticated
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public SocialNetworkDataDTO unJoinGroup(final String hash, final StateToken groupToken) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -195,12 +213,4 @@
return generateResponse(userLogged, group);
}
- private SocialNetworkDataDTO generateResponse(final User userLogged, final Group group) {
- return mapper.map(socialNetworkManager.getSocialNetworkData(userLogged, group), SocialNetworkDataDTO.class);
- }
-
- private UserSession getUserSession() {
- return userSessionProvider.get();
- }
-
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -48,18 +48,17 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.wideplay.warp.persist.TransactionType;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
@Singleton
public class UserRPC implements RPC, UserService {
- private final UserManager userManager;
- private final Provider<UserSession> userSessionProvider;
private final GroupManager groupManager;
private final Mapper mapper;
+ private final Provider<SessionService> sessionServiceProvider;
private final UserInfoService userInfoService;
- private final Provider<SessionService> sessionServiceProvider;
+ private final UserManager userManager;
+ private final Provider<UserSession> userSessionProvider;
@Inject
public UserRPC(final Provider<SessionService> sessionServiceProvider,
@@ -74,7 +73,8 @@
this.mapper = mapper;
}
- @Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class)
+ @Override
+ @Transactional(rollbackOn = DefaultException.class)
public UserInfoDTO createUser(final UserDTO userDTO, final boolean wantPersonalHomepage) throws DefaultException {
final User user = userManager.createUser(userDTO.getShortName(), userDTO.getName(), userDTO.getEmail(),
userDTO.getPassword(), userDTO.getLanguage().getCode(), userDTO.getCountry().getCode(),
@@ -83,8 +83,9 @@
return login(userDTO.getShortName(), userDTO.getPassword());
}
+ @Override
@Authenticated
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
@Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
public String getUserAvatarBaser64(final String userHash, final StateToken userToken) throws DefaultException {
final UserSession userSession = getUserSession();
@@ -100,7 +101,17 @@
}
}
- @Transactional(type = TransactionType.READ_ONLY)
+ private UserSession getUserSession() {
+ return userSessionProvider.get();
+ }
+
+ private UserInfoDTO loadUserInfo(final User user) throws DefaultException {
+ final UserInfo userInfo = userInfoService.buildInfo(user, getUserSession().getHash());
+ return mapper.map(userInfo, UserInfoDTO.class);
+ }
+
+ @Override
+ @Transactional
public UserInfoDTO login(final String nickOrEmail, final String passwd) throws DefaultException {
final SessionService sessionService = sessionServiceProvider.get();
sessionService.getNewSession();
@@ -108,31 +119,45 @@
return loginUser(user);
}
+ private UserInfoDTO loginUser(final User user) throws DefaultException {
+ if (user != null) {
+ // Maybe use terracotta.org for http session clustering
+ getUserSession().login(user, UUID.randomUUID().toString());
+ return loadUserInfo(user);
+ } else {
+ throw new UserAuthException();
+ }
+ }
+
+ @Override
@Authenticated
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
public void logout(final String userHash) throws DefaultException {
getUserSession().logout();
final SessionService sessionService = sessionServiceProvider.get();
sessionService.getNewSession();
- }
+ };
+ @Override
@Authenticated(mandatory = false)
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
public void onlyCheckSession(final String userHash) throws DefaultException {
// Do nothing @Authenticated checks user session
}
+ @Override
@Authenticated
- @Transactional(type = TransactionType.READ_ONLY)
+ @Transactional
public UserInfoDTO reloadUserInfo(final String userHash) throws DefaultException {
final UserSession userSession = getUserSession();
final User user = userSession.getUser();
return loadUserInfo(user);
}
+ @Override
@Authenticated(mandatory = true)
@Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
- @Transactional(type = TransactionType.READ_WRITE)
+ @Transactional
public void setBuddiesVisibility(final String userHash, final StateToken groupToken,
final UserBuddiesVisibility visibility) {
final UserSession userSession = getUserSession();
@@ -141,25 +166,6 @@
throw new AccessViolationException();
}
user.setBuddiesVisibility(UserBuddiesVisibility.valueOf(visibility.toString()));
- };
-
- private UserSession getUserSession() {
- return userSessionProvider.get();
}
- private UserInfoDTO loadUserInfo(final User user) throws DefaultException {
- final UserInfo userInfo = userInfoService.buildInfo(user, getUserSession().getHash());
- return mapper.map(userInfo, UserInfoDTO.class);
- }
-
- private UserInfoDTO loginUser(final User user) throws DefaultException {
- if (user != null) {
- // Maybe use terracotta.org for http session clustering
- getUserSession().login(user, UUID.randomUUID().toString());
- return loadUserInfo(user);
- } else {
- throw new UserAuthException();
- }
- }
-
}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -131,7 +131,6 @@
// final Injector waveChildInjector = waveStarter.runMain();
final Injector waveChildInjector = (Injector) filterConfig.getServletContext().getAttribute(
INJECTOR_PARENT_ATTRIBUTE);
- // final Injector waveChildInjector = Guice.createInjector();
final Injector kuneChildInjector = installInjector(filterConfig, rack, waveChildInjector);
startContainerListeners(rack.getListeners(), kuneChildInjector);
docks = rack.getDocks();
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/filters/rest/TransactionalServiceExecutor.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/filters/rest/TransactionalServiceExecutor.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/filters/rest/TransactionalServiceExecutor.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -20,7 +20,7 @@
package org.ourproject.kune.rack.filters.rest;
import com.google.inject.Inject;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public class TransactionalServiceExecutor {
private final RESTMethodFinder methodFinder;
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/hello/HelloWorldModule.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/hello/HelloWorldModule.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/hello/HelloWorldModule.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -20,16 +20,16 @@
package org.ourproject.kune.workspace.client.hello;
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.ActionEvent;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Shortcut;
import org.ourproject.kune.platf.client.actions.ui.MenuCheckItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.MenuDescriptor;
-import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.MenuRadioItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.MenuSeparatorDescriptor;
+import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ui.PushButtonDescriptor;
import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
Modified: branches/wave-jetty-embed-guice/src/main/resources/META-INF/persistence.xml
===================================================================
--- branches/wave-jetty-embed-guice/src/main/resources/META-INF/persistence.xml 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/resources/META-INF/persistence.xml 2011-02-13 11:00:54 UTC (rev 1251)
@@ -7,6 +7,30 @@
<persistence-unit name="development"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <!-- JPA entities must be registered here -->
+ <!-- src/main/java/cc/kune/domain$ ls -1 *.java | sed 's/.java/<\/class>/g' | sed 's/^/<class>cc.kune.domain./g' -->
+ <class>cc.kune.domain.AccessLists</class>
+ <class>cc.kune.domain.BasicMimeType</class>
+ <class>cc.kune.domain.Comment</class>
+ <class>cc.kune.domain.Container</class>
+ <class>cc.kune.domain.ContainerTranslation</class>
+ <class>cc.kune.domain.Content</class>
+ <class>cc.kune.domain.ContentTranslation</class>
+ <class>cc.kune.domain.CustomProperties</class>
+ <class>cc.kune.domain.ExtMediaDescrip</class>
+ <class>cc.kune.domain.Group</class>
+ <class>cc.kune.domain.GroupList</class>
+ <class>cc.kune.domain.I18nCountry</class>
+ <class>cc.kune.domain.I18nLanguage</class>
+ <class>cc.kune.domain.I18nTranslation</class>
+ <class>cc.kune.domain.License</class>
+ <class>cc.kune.domain.Rate</class>
+ <class>cc.kune.domain.Revision</class>
+ <class>cc.kune.domain.SocialNetwork</class>
+ <class>cc.kune.domain.Tag</class>
+ <class>cc.kune.domain.TagUserContent</class>
+ <class>cc.kune.domain.ToolConfiguration</class>
+ <class>cc.kune.domain.User</class>
<properties>
<property name="hibernate.archive.autodetection" value="class, hbm" />
<property name="hibernate.show_sql" value="false" />
@@ -19,7 +43,7 @@
<property name="hibernate.connection.username" value="kune" />
<property name="hibernate.connection.password" value="db4kune" />
- <!-- http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-…
+ <!-- http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-…
(NO!, une liquibase, for instance) -->
<!-- http://stackoverflow.com/questions/438146/hibernate-question-hbm2ddl-auto-p… -->
<property name="hibernate.hbm2ddl.auto" value="update" />
@@ -41,6 +65,29 @@
<persistence-unit name="test_db" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <!-- JPA entities must be registered here -->
+ <class>cc.kune.domain.AccessLists</class>
+ <class>cc.kune.domain.BasicMimeType</class>
+ <class>cc.kune.domain.Comment</class>
+ <class>cc.kune.domain.Container</class>
+ <class>cc.kune.domain.ContainerTranslation</class>
+ <class>cc.kune.domain.Content</class>
+ <class>cc.kune.domain.ContentTranslation</class>
+ <class>cc.kune.domain.CustomProperties</class>
+ <class>cc.kune.domain.ExtMediaDescrip</class>
+ <class>cc.kune.domain.Group</class>
+ <class>cc.kune.domain.GroupList</class>
+ <class>cc.kune.domain.I18nCountry</class>
+ <class>cc.kune.domain.I18nLanguage</class>
+ <class>cc.kune.domain.I18nTranslation</class>
+ <class>cc.kune.domain.License</class>
+ <class>cc.kune.domain.Rate</class>
+ <class>cc.kune.domain.Revision</class>
+ <class>cc.kune.domain.SocialNetwork</class>
+ <class>cc.kune.domain.Tag</class>
+ <class>cc.kune.domain.TagUserContent</class>
+ <class>cc.kune.domain.ToolConfiguration</class>
+ <class>cc.kune.domain.User</class>
<properties>
<property name="hibernate.archive.autodetection" value="class, hbm" />
<property name="hibernate.show_sql" value="false" />
@@ -71,6 +118,29 @@
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <!-- JPA entities must be registered here -->
+ <class>cc.kune.domain.AccessLists</class>
+ <class>cc.kune.domain.BasicMimeType</class>
+ <class>cc.kune.domain.Comment</class>
+ <class>cc.kune.domain.Container</class>
+ <class>cc.kune.domain.ContainerTranslation</class>
+ <class>cc.kune.domain.Content</class>
+ <class>cc.kune.domain.ContentTranslation</class>
+ <class>cc.kune.domain.CustomProperties</class>
+ <class>cc.kune.domain.ExtMediaDescrip</class>
+ <class>cc.kune.domain.Group</class>
+ <class>cc.kune.domain.GroupList</class>
+ <class>cc.kune.domain.I18nCountry</class>
+ <class>cc.kune.domain.I18nLanguage</class>
+ <class>cc.kune.domain.I18nTranslation</class>
+ <class>cc.kune.domain.License</class>
+ <class>cc.kune.domain.Rate</class>
+ <class>cc.kune.domain.Revision</class>
+ <class>cc.kune.domain.SocialNetwork</class>
+ <class>cc.kune.domain.Tag</class>
+ <class>cc.kune.domain.TagUserContent</class>
+ <class>cc.kune.domain.ToolConfiguration</class>
+ <class>cc.kune.domain.User</class>
<properties>
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
@@ -87,4 +157,6 @@
value="/var/lib/kune/lucene/kune_test/indexes" />
</properties>
</persistence-unit>
+
+
</persistence>
Modified: branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/main/webapp/WEB-INF/web.xml 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,48 +19,48 @@
<welcome-file>ws.html</welcome-file>
</welcome-file-list>
<!-- Wave proxies ========================================================================================= -->
- <filter>
- <filter-name>JettyContinuationFilter</filter-name>
- <filter-class>org.eclipse.jetty.continuation.ContinuationFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>JettyContinuationFilter</filter-name>
- <servlet-name>Wiab</servlet-name>
- <!-- <url-pattern>/*</url-pattern> -->
- </filter-mapping>
- <servlet>
- <servlet-name>Wiab</servlet-name>
- <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class>
- <init-param>
- <param-name>ProxyTo</param-name>
- <param-value>http://127.0.0.1:9898/</param-value>
- </init-param>
- <init-param>
- <param-name>Prefix</param-name>
- <param-value>/</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>Wiab</servlet-name>
- <url-pattern>/attachment/*</url-pattern>
- <url-pattern>/auth/signin</url-pattern>
- <url-pattern>/auth/signout</url-pattern>
- <url-pattern>/auth/register</url-pattern>
- <url-pattern>/fetch/*</url-pattern>
- <url-pattern>/robot/dataapi</url-pattern>
- <url-pattern>/robot/dataapi/oauth/*</url-pattern>
- <url-pattern>/robot/dataapi/rpc</url-pattern>
- <url-pattern>/robot/register/*</url-pattern>
- <url-pattern>/robot/rpc</url-pattern>
- <url-pattern>/gadgets</url-pattern>
- <url-pattern>/gadgets/*</url-pattern>
- <url-pattern>/socket.io/*</url-pattern>
- <url-pattern>/socket</url-pattern>
- <url-pattern>/static/*</url-pattern>
- <url-pattern>/webclient/*</url-pattern>
- <!-- <url-pattern>/*</url-pattern> -->
- <!-- <load-on-startup>1</load-on-startup> -->
- </servlet-mapping>
+<!-- <filter>-->
+<!-- <filter-name>JettyContinuationFilter</filter-name>-->
+<!-- <filter-class>org.eclipse.jetty.continuation.ContinuationFilter</filter-class>-->
+<!-- </filter>-->
+<!-- <filter-mapping>-->
+<!-- <filter-name>JettyContinuationFilter</filter-name>-->
+<!-- <servlet-name>Wiab</servlet-name>-->
+<!-- <url-pattern>/*</url-pattern> -->
+<!-- </filter-mapping>-->
+<!-- <servlet>-->
+<!-- <servlet-name>Wiab</servlet-name>-->
+<!-- <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class>-->
+<!-- <init-param>-->
+<!-- <param-name>ProxyTo</param-name>-->
+<!-- <param-value>http://127.0.0.1:9898/</param-value>-->
+<!-- </init-param>-->
+<!-- <init-param>-->
+<!-- <param-name>Prefix</param-name>-->
+<!-- <param-value>/</param-value>-->
+<!-- </init-param>-->
+<!-- </servlet>-->
+<!-- <servlet-mapping>-->
+<!-- <servlet-name>Wiab</servlet-name>-->
+<!-- <url-pattern>/attachment/*</url-pattern>-->
+<!-- <url-pattern>/auth/signin</url-pattern>-->
+<!-- <url-pattern>/auth/signout</url-pattern>-->
+<!-- <url-pattern>/auth/register</url-pattern>-->
+<!-- <url-pattern>/fetch/*</url-pattern>-->
+<!-- <url-pattern>/robot/dataapi</url-pattern>-->
+<!-- <url-pattern>/robot/dataapi/oauth/*</url-pattern>-->
+<!-- <url-pattern>/robot/dataapi/rpc</url-pattern>-->
+<!-- <url-pattern>/robot/register/*</url-pattern>-->
+<!-- <url-pattern>/robot/rpc</url-pattern>-->
+<!-- <url-pattern>/gadgets</url-pattern>-->
+<!-- <url-pattern>/gadgets/*</url-pattern>-->
+<!-- <url-pattern>/socket.io/*</url-pattern>-->
+<!-- <url-pattern>/socket</url-pattern>-->
+<!-- <url-pattern>/static/*</url-pattern>-->
+<!-- <url-pattern>/webclient/*</url-pattern>-->
+<!-- <url-pattern>/*</url-pattern> -->
+<!-- <load-on-startup>1</load-on-startup> -->
+<!-- </servlet-mapping>-->
<!-- JRuby servlets ======================================================================================= -->
<!-- Note: this gives problems depending on the version of jetty or tomcat -->
<context-param>
@@ -139,20 +139,20 @@
</url-pattern>
</servlet-mapping>
<!-- Kune normal guice configuration ======================================================================== -->
- <filter>
- <filter-name>rack</filter-name>
- <filter-class>org.ourproject.kune.rack.RackServletFilter</filter-class>
- <init-param>
- <param-name>org.ourproject.kune.rack.RackModule</param-name>
- <param-value>
- org.ourproject.kune.app.server.KuneRackModule
- </param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>rack</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
+<!-- <filter>-->
+<!-- <filter-name>rack</filter-name>-->
+<!-- <filter-class>org.ourproject.kune.rack.RackServletFilter</filter-class>-->
+<!-- <init-param>-->
+<!-- <param-name>org.ourproject.kune.rack.RackModule</param-name>-->
+<!-- <param-value>-->
+<!-- org.ourproject.kune.app.server.KuneRackModule-->
+<!-- </param-value>-->
+<!-- </init-param>-->
+<!-- </filter>-->
+<!-- <filter-mapping>-->
+<!-- <filter-name>rack</filter-name>-->
+<!-- <url-pattern>/*</url-pattern>-->
+<!-- </filter-mapping>-->
<!-- Wave proxies with context /wiab/ ====================================================================== -->
<!-- <servlet> -->
<!-- <servlet-name>WiabSocketIO</servlet-name> -->
Added: branches/wave-jetty-embed-guice/src/test/java/cc/kune/domain/finders/TagUserContentFinderTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/cc/kune/domain/finders/TagUserContentFinderTest.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/test/java/cc/kune/domain/finders/TagUserContentFinderTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -0,0 +1,36 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.domain.finders;
+
+import org.junit.Test;
+import org.ourproject.kune.platf.server.PersistencePreLoadedDataTest;
+
+import com.google.inject.Inject;
+
+public class TagUserContentFinderTest extends PersistencePreLoadedDataTest {
+
+ @Inject
+ TagUserContentFinder tag;
+
+ @Test
+ public void test() {
+ tag.getTagsGroups(groupManager.getSiteDefaultGroup());
+ }
+}
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -43,7 +43,7 @@
import cc.kune.domain.ToolConfiguration;
import com.google.inject.Inject;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public class DatabaseInitializationTest {
@Inject
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -27,6 +27,7 @@
import org.ourproject.kune.platf.server.KunePersistenceService;
import org.ourproject.kune.platf.server.PlatformServerModule;
import org.ourproject.kune.platf.server.TestConstants;
+import org.ourproject.kune.platf.server.init.FinderRegistry;
import org.ourproject.kune.platf.server.properties.PropertiesFileName;
import org.ourproject.kune.wiki.server.WikiServerModule;
import org.waveprotocol.box.server.CoreSettings;
@@ -38,9 +39,9 @@
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Scopes;
+import com.google.inject.persist.jpa.JpaPersistModule;
import com.google.inject.servlet.RequestScoped;
import com.google.inject.servlet.SessionScoped;
-import com.wideplay.warp.jpa.JpaUnit;
public class IntegrationTestHelper {
@@ -49,19 +50,16 @@
try {
injector = Guice.createInjector(CustomSettingsBinder.bindSettings(TestConstants.WAVE_TEST_PROPFILE,
CoreSettings.class));
- final PersistenceModule persistenceModule = injector.getInstance(PersistenceModule.class);
+ final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
- final Injector childInjector = injector.createChildInjector(persistenceModule, new PlatformServerModule(),
- new DocumentServerModule(), new ChatServerModule(), new WikiServerModule(), new AbstractModule() {
+ final Injector childInjector = injector.createChildInjector(wavePersistModule,
+ FinderRegistry.init(new JpaPersistModule(TestConstants.PERSISTENCE_UNIT)),
+ new PlatformServerModule(), new DocumentServerModule(), new ChatServerModule(),
+ new WikiServerModule(), new AbstractModule() {
@Override
protected void configure() {
bindScope(SessionScoped.class, Scopes.SINGLETON);
bindScope(RequestScoped.class, Scopes.SINGLETON);
- // test: use
- // memory
- // test_db: use
- // mysql
- bindConstant().annotatedWith(JpaUnit.class).to(TestConstants.PERSISTENCE_UNIT);
bindConstant().annotatedWith(PropertiesFileName.class).to("kune.properties");
bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
}
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -19,7 +19,10 @@
*/
package org.ourproject.kune.platf.integration.content;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import java.util.List;
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/kuneservice/GroupServiceTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/kuneservice/GroupServiceTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/kuneservice/GroupServiceTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -34,20 +34,21 @@
import cc.kune.core.shared.dto.GroupType;
import cc.kune.core.shared.dto.LicenseDTO;
import cc.kune.domain.Group;
+import cc.kune.domain.finders.GroupFinder;
import com.google.inject.Inject;
public class GroupServiceTest extends IntegrationTest {
@Inject
+ GroupFinder groupFinder;
+
+ @Inject
GroupService service;
@Inject
UserSession session;
- @Inject
- Group groupFinder;
-
@Test
public void createCommunity() throws Exception {
doLogin();
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkMembersTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkMembersTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkMembersTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -34,7 +34,7 @@
import cc.kune.domain.Group;
import com.google.inject.Inject;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public class SocialNetworkMembersTest extends IntegrationTest {
@Inject
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -36,11 +36,13 @@
import cc.kune.domain.Container;
import cc.kune.domain.Content;
-import cc.kune.domain.Group;
import cc.kune.domain.I18nCountry;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.License;
import cc.kune.domain.User;
+import cc.kune.domain.finders.GroupFinder;
+import cc.kune.domain.finders.LicenseFinder;
+import cc.kune.domain.finders.UserFinder;
import com.google.inject.Inject;
@@ -62,21 +64,21 @@
protected I18nLanguage english;
protected I18nCountry gb;
@Inject
- protected Group groupFinder;
+ protected GroupFinder groupFinder;
@Inject
protected GroupManager groupManager;
@Inject
protected I18nLanguageManager languageManager;
@Inject
- protected License licenseFinder;
+ protected LicenseFinder licenseFinder;
@Inject
protected LicenseManager licenseManager;
// @Inject
// protected PropertyGroupManager propGroupManager;
protected User user;
@Inject
- protected User userFinder;
+ protected UserFinder userFinder;
@Inject
protected UserManager userManager;
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistenceTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistenceTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/PersistenceTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -27,8 +27,8 @@
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Provider;
-import com.wideplay.warp.persist.PersistenceService;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.PersistService;
+import com.google.inject.persist.Transactional;
public abstract class PersistenceTest {
private final String persistenceUnit;
@@ -40,7 +40,7 @@
// test: use memory
// test_db: use mysql
// Also configurable ein TestHelper
- this("test_db", "kune.properties");
+ this(TestConstants.PERSISTENCE_UNIT, "kune.properties");
}
public PersistenceTest(final String persistenceUnit, final String propetiesFileName) {
@@ -77,7 +77,7 @@
@Before
public void prepare() {
final Injector injector = TestHelper.create(new PlatformServerModule(), persistenceUnit, propetiesFileName);
- final PersistenceService persistence = injector.getInstance(PersistenceService.class);
+ final PersistService persistence = injector.getInstance(PersistService.class);
// To Debug insert breakpoint here
persistence.start();
injector.injectMembers(this);
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestConstants.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestConstants.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestConstants.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -3,7 +3,8 @@
public final class TestConstants {
// test: use memory
// test_db: use mysql
- public static final String PERSISTENCE_UNIT = "test_db";
+ // public static final String PERSISTENCE_UNIT = "test_db";
+ public static final String PERSISTENCE_UNIT = "test";
public static final String WAVE_TEST_PROPFILE = "wave-server-testing.properties";
private TestConstants() {
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestHelper.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestHelper.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/TestHelper.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -23,6 +23,7 @@
import org.apache.commons.configuration.ConfigurationException;
import org.ourproject.kune.platf.integration.HttpServletRequestMocked;
+import org.ourproject.kune.platf.server.init.FinderRegistry;
import org.ourproject.kune.platf.server.properties.PropertiesFileName;
import org.waveprotocol.box.server.CoreSettings;
import org.waveprotocol.box.server.authentication.AccountStoreHolder;
@@ -39,26 +40,26 @@
import com.google.inject.Module;
import com.google.inject.Scopes;
import com.google.inject.name.Names;
+import com.google.inject.persist.jpa.JpaPersistModule;
import com.google.inject.servlet.RequestScoped;
import com.google.inject.servlet.SessionScoped;
-import com.wideplay.warp.jpa.JpaUnit;
public abstract class TestHelper {
public static Injector create(final Module module, final String persistenceUnit, final String propetiesFileName) {
try {
final Injector injector = Guice.createInjector(CustomSettingsBinder.bindSettings(
TestConstants.WAVE_TEST_PROPFILE, CoreSettings.class));
- final PersistenceModule persistenceModule = injector.getInstance(PersistenceModule.class);
- final Injector childInjector = injector.createChildInjector(persistenceModule, module, new Module() {
- @Override
- public void configure(final Binder binder) {
- binder.bindScope(SessionScoped.class, Scopes.SINGLETON);
- binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
- binder.bindConstant().annotatedWith(JpaUnit.class).to(persistenceUnit);
- binder.bindConstant().annotatedWith(PropertiesFileName.class).to(propetiesFileName);
- binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
- }
- });
+ final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
+ final Injector childInjector = injector.createChildInjector(wavePersistModule,
+ FinderRegistry.init(new JpaPersistModule(persistenceUnit)), module, new Module() {
+ @Override
+ public void configure(final Binder binder) {
+ binder.bindScope(SessionScoped.class, Scopes.SINGLETON);
+ binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
+ binder.bindConstant().annotatedWith(PropertiesFileName.class).to(propetiesFileName);
+ binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
+ }
+ });
final AccountStore accountStore = childInjector.getInstance(AccountStore.class);
accountStore.initializeAccountStore();
AccountStoreHolder.resetForTesting();
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptorTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptorTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptorTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -33,7 +33,7 @@
import cc.kune.core.shared.domain.AccessRol;
import cc.kune.core.shared.domain.utils.StateToken;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public class AuthorizatedMethodInterceptorTest extends IntegrationTest {
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/GroupFinderTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/GroupFinderTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/GroupFinderTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -27,13 +27,19 @@
import org.ourproject.kune.platf.server.PersistenceTest;
import cc.kune.domain.Group;
+import cc.kune.domain.finders.GroupFinder;
import com.google.inject.Inject;
public class GroupFinderTest extends PersistenceTest {
@Inject
- Group groupFinder;
+ GroupFinder groupFinder;
+ @After
+ public void close() {
+ closeTransaction();
+ }
+
@Before
public void insertData() {
openTransaction();
@@ -45,9 +51,4 @@
public void testGetAll() {
assertEquals(2, groupFinder.getAll().size());
}
-
- @After
- public void close() {
- closeTransaction();
- }
}
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/LicenseFinderTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/LicenseFinderTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/LicenseFinderTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -17,86 +17,87 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.platf.server.finders;
-
-import static junit.framework.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.List;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.ourproject.kune.platf.server.PersistenceTest;
-import org.ourproject.kune.platf.server.properties.DatabaseProperties;
-
-import cc.kune.domain.License;
-
-import com.google.inject.Inject;
-
-public class LicenseFinderTest extends PersistenceTest {
- @Inject
- License finder;
- @Inject
- DatabaseProperties properties;
- private License license1;
- private License license2;
- private License licenseDef;
-
- @Before
- public void addData() {
- openTransaction();
- licenseDef = new License("by-sa-v3.0", "Creative Commons Attribution-ShareAlike", "",
- "http://creativecommons.org/licenses/by-sa/3.0/", true, true, false, "", "");
- persist(licenseDef);
- license1 = new License("by-nc-nd-v3.0", "Creative Commons Attribution-NonCommercial-NoDerivs", "",
- "http://creativecommons.org/licenses/by-nc-nd/3.0/", true, false, false, "", "");
- persist(license1);
- license2 = new License("gfdl-v1.3", "GNU Free Documentation License", "",
- "http://www.gnu.org/copyleft/fdl.html", false, true, false, "", "");
- persist(license2);
- }
-
- @After
- public void close() {
- if (getTransaction().isActive()) {
- getTransaction().rollback();
- }
- }
-
- @Test
- public void findAll() {
- List<License> all = finder.getAll();
- assertEquals(3, all.size());
- }
-
- @Test
- public void findById() {
- License lic = finder.findByShortName(license1.getShortName());
- assertNotNull(lic);
- assertEquals(license1.getShortName(), lic.getShortName());
- assertEquals(license1.getLongName(), lic.getLongName());
- }
-
- @Test
- public void findCC() {
- List<License> cc = finder.getCC();
- assertEquals(2, cc.size());
- }
-
- @Test
- public void findDefaultLicense() {
- String licenseDefId = properties.getDefaultLicense();
- License lic = finder.findByShortName(licenseDefId);
- assertNotNull(lic);
- assertEquals(licenseDef.getShortName(), lic.getShortName());
- assertEquals(licenseDef.getLongName(), lic.getLongName());
- }
-
- @Test
- public void findNotCC() {
- List<License> notCc = finder.getNotCC();
- assertEquals(1, notCc.size());
- }
-
-}
+package org.ourproject.kune.platf.server.finders;
+
+import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.List;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.ourproject.kune.platf.server.PersistenceTest;
+import org.ourproject.kune.platf.server.properties.DatabaseProperties;
+
+import cc.kune.domain.License;
+import cc.kune.domain.finders.LicenseFinder;
+
+import com.google.inject.Inject;
+
+public class LicenseFinderTest extends PersistenceTest {
+ @Inject
+ LicenseFinder finder;
+ private License license1;
+ private License license2;
+ private License licenseDef;
+ @Inject
+ DatabaseProperties properties;
+
+ @Before
+ public void addData() {
+ openTransaction();
+ licenseDef = new License("by-sa-v3.0", "Creative Commons Attribution-ShareAlike", "",
+ "http://creativecommons.org/licenses/by-sa/3.0/", true, true, false, "", "");
+ persist(licenseDef);
+ license1 = new License("by-nc-nd-v3.0", "Creative Commons Attribution-NonCommercial-NoDerivs", "",
+ "http://creativecommons.org/licenses/by-nc-nd/3.0/", true, false, false, "", "");
+ persist(license1);
+ license2 = new License("gfdl-v1.3", "GNU Free Documentation License", "",
+ "http://www.gnu.org/copyleft/fdl.html", false, true, false, "", "");
+ persist(license2);
+ }
+
+ @After
+ public void close() {
+ if (getTransaction().isActive()) {
+ getTransaction().rollback();
+ }
+ }
+
+ @Test
+ public void findAll() {
+ final List<License> all = finder.getAll();
+ assertEquals(3, all.size());
+ }
+
+ @Test
+ public void findById() {
+ final License lic = finder.findByShortName(license1.getShortName());
+ assertNotNull(lic);
+ assertEquals(license1.getShortName(), lic.getShortName());
+ assertEquals(license1.getLongName(), lic.getLongName());
+ }
+
+ @Test
+ public void findCC() {
+ final List<License> cc = finder.getCC();
+ assertEquals(2, cc.size());
+ }
+
+ @Test
+ public void findDefaultLicense() {
+ final String licenseDefId = properties.getDefaultLicense();
+ final License lic = finder.findByShortName(licenseDefId);
+ assertNotNull(lic);
+ assertEquals(licenseDef.getShortName(), lic.getShortName());
+ assertEquals(licenseDef.getLongName(), lic.getLongName());
+ }
+
+ @Test
+ public void findNotCC() {
+ final List<License> notCc = finder.getNotCC();
+ assertEquals(1, notCc.size());
+ }
+
+}
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/RateFinderTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/RateFinderTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/RateFinderTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -33,14 +33,15 @@
import cc.kune.domain.Content;
import cc.kune.domain.Rate;
import cc.kune.domain.User;
+import cc.kune.domain.finders.RateFinder;
import com.google.inject.Inject;
public class RateFinderTest extends PersistencePreLoadedDataTest {
+ private EntityManager entityManager;
@Inject
- Rate rateFinder;
- private EntityManager entityManager;
+ RateFinder rateFinder;
@Before
public void before() {
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/UserFinderTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/UserFinderTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/finders/UserFinderTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -30,12 +30,13 @@
import org.ourproject.kune.platf.server.PersistencePreLoadedDataTest;
import cc.kune.domain.User;
+import cc.kune.domain.finders.UserFinder;
import com.google.inject.Inject;
public class UserFinderTest extends PersistencePreLoadedDataTest {
@Inject
- User finder;
+ UserFinder finder;
@Test
public void findAll() {
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/LicenseManagerTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/LicenseManagerTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/LicenseManagerTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -28,16 +28,24 @@
import org.ourproject.kune.platf.server.PersistenceTest;
import cc.kune.domain.License;
+import cc.kune.domain.finders.LicenseFinder;
import com.google.inject.Inject;
public class LicenseManagerTest extends PersistenceTest {
+ private License license;
@Inject
+ LicenseFinder licenseFinder;
+ @Inject
LicenseManager licenseManager;
- @Inject
- License licenseFinder;
- private License license;
+ @After
+ public void close() {
+ if (getTransaction().isActive()) {
+ getTransaction().rollback();
+ }
+ }
+
@Before
public void insertData() {
openTransaction();
@@ -52,11 +60,4 @@
assertNotNull(license.getId());
assertEquals(1, licenseFinder.getAll().size());
}
-
- @After
- public void close() {
- if (getTransaction().isActive()) {
- getTransaction().rollback();
- }
- }
}
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -28,17 +28,18 @@
import org.ourproject.kune.platf.server.content.ContentManager;
import cc.kune.domain.Tag;
+import cc.kune.domain.finders.TagFinder;
import com.google.inject.Inject;
public class TagManagerTest extends PersistenceTest {
@Inject
- TagManager tagManager;
- @Inject
ContentManager contentManager;
+ private Tag tag;
@Inject
- Tag tagFinder;
- private Tag tag;
+ TagFinder tagFinder;
+ @Inject
+ TagManager tagManager;
@After
public void close() {
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagUserContentTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagUserContentTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/TagUserContentTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -30,13 +30,17 @@
import cc.kune.domain.Tag;
import cc.kune.domain.TagUserContent;
+import cc.kune.domain.finders.TagUserContentFinder;
import com.google.inject.Inject;
public class TagUserContentTest extends PersistencePreLoadedDataTest {
private static final String DUMMY_TAG = "dummy";
@Inject
+ TagUserContentFinder finder;
+ @Inject
TagUserContentManager manager;
+
private Tag tag;
@Inject
TagManager tagManager;
@@ -47,14 +51,33 @@
tagManager.persist(tag);
}
+ private void createSomeTagUserContent() {
+ List<Tag> tags = manager.find(user, content);
+ assertEquals(0, tags.size());
+ createTagUserContent();
+ tags = manager.find(user, content);
+ assertEquals(1, tags.size());
+ }
+
+ private TagUserContent createTagUserContent() {
+ final TagUserContent tagUC = new TagUserContent(tag, user, content);
+ manager.persist(tagUC);
+ return tagUC;
+ }
+
@Test
public void getTagsAsString() {
manager.setTags(user, content, DUMMY_TAG);
- String tagS = manager.getTagsAsString(user, content);
+ final String tagS = manager.getTagsAsString(user, content);
assertEquals(DUMMY_TAG, tagS);
}
@Test
+ public void getTagsGrouped() {
+ finder.getTagsGroups(user.getUserGroup());
+ }
+
+ @Test
public void insertSomeUserContent() {
createSomeTagUserContent();
}
@@ -63,7 +86,7 @@
public void removeSomeUserContent() {
createSomeTagUserContent();
manager.remove(user, content);
- List<Tag> tags = manager.find(user, content);
+ final List<Tag> tags = manager.find(user, content);
assertEquals(0, tags.size());
}
@@ -80,28 +103,14 @@
public void setTagsRemoveBefore() {
manager.setTags(user, content, "foo");
manager.setTags(user, content, DUMMY_TAG);
- List<Tag> tags = manager.find(user, content);
+ final List<Tag> tags = manager.find(user, content);
assertEquals(1, tags.size());
assertEquals(DUMMY_TAG, tags.get(0).getName());
}
@Test
public void testInsertData() {
- TagUserContent tagUC = createTagUserContent();
+ final TagUserContent tagUC = createTagUserContent();
assertNotNull(tagUC.getId());
}
-
- private void createSomeTagUserContent() {
- List<Tag> tags = manager.find(user, content);
- assertEquals(0, tags.size());
- createTagUserContent();
- tags = manager.find(user, content);
- assertEquals(1, tags.size());
- }
-
- private TagUserContent createTagUserContent() {
- TagUserContent tagUC = new TagUserContent(tag, user, content);
- manager.persist(tagUC);
- return tagUC;
- }
}
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -34,6 +34,7 @@
import org.ourproject.kune.platf.server.manager.impl.SearchResult;
import cc.kune.core.client.errors.I18nNotFoundException;
+import cc.kune.core.client.errors.UserRegistrationException;
import cc.kune.domain.Group;
import cc.kune.domain.User;
@@ -94,10 +95,10 @@
}
/**
- * This is not working:
+ * This was not working:
* http://opensource.atlassian.com/projects/hibernate/browse/EJB-382
*/
- @Test(expected = PersistenceException.class)
+ @Test(expected = UserRegistrationException.class)
public void testUserExist() throws I18nNotFoundException {
final User user1 = userManager.createUser("test", "test 1 name", "test1(a)example.com", "some password", "en",
"GB", "GMT");
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -29,7 +29,7 @@
import cc.kune.domain.User;
import com.google.inject.Inject;
-import com.wideplay.warp.persist.Transactional;
+import com.google.inject.persist.Transactional;
public abstract class AbstractSocialNetworkManagerTest extends PersistenceTest {
@Inject
Modified: branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/workspace/client/tool/ToolSelectorPresenterTest.java
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/workspace/client/tool/ToolSelectorPresenterTest.java 2011-02-12 02:19:16 UTC (rev 1250)
+++ branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/workspace/client/tool/ToolSelectorPresenterTest.java 2011-02-13 11:00:54 UTC (rev 1251)
@@ -23,8 +23,6 @@
import org.junit.Test;
import org.mockito.Mockito;
import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.tool.ToolSelectorItem;
-import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenter;
import cc.kune.core.client.state.StateManager;
1
0
r1250 - branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server
by Vicente J. Ruiz Jurado 12 Feb '11
by Vicente J. Ruiz Jurado 12 Feb '11
12 Feb '11
Author: vjrj_
Date: 2011-02-12 03:19:16 +0100 (Sat, 12 Feb 2011)
New Revision: 1250
Added:
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/ServerRpcControllerImpl.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java
Log:
some wave startup testing
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/CustomServerRpcProvider.java 2011-02-12 02:19:16 UTC (rev 1250)
@@ -0,0 +1,507 @@
+package cc.kune.wave.server;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import javax.servlet.Servlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.ourproject.kune.rack.RackServletFilter;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.rpc.BaseUrlHelper;
+import org.waveprotocol.box.server.rpc.MessageExpectingChannel;
+import org.waveprotocol.box.server.rpc.ProtoCallback;
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.box.server.rpc.SocketIOServerChannel;
+import org.waveprotocol.box.server.rpc.WebSocketServerChannel;
+import org.waveprotocol.box.server.util.NetUtils;
+import org.waveprotocol.wave.model.util.Pair;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.logging.Log;
+
+import com.glines.socketio.server.SocketIOInbound;
+import com.glines.socketio.server.SocketIOServlet;
+import com.glines.socketio.server.transport.FlashSocketTransport;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.name.Named;
+import com.google.inject.servlet.GuiceFilter;
+import com.google.inject.servlet.GuiceServletContextListener;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Descriptors.MethodDescriptor;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+import com.google.protobuf.UnknownFieldSet;
+
+/**
+ * ServerRpcProvider can provide instances of type Service over an incoming
+ * network socket and service incoming RPCs to these services and their methods.
+ *
+ *
+ */
+public class CustomServerRpcProvider {
+ abstract class Connection implements ProtoCallback {
+ private final Map<Long, ServerRpcController> activeRpcs = new ConcurrentHashMap<Long, ServerRpcController>();
+
+ // The logged in user.
+ // Note: Due to this bug:
+ // http://code.google.com/p/wave-protocol/issues/detail?id=119,
+ // the field may be null on first connect and then set later using an
+ // RPC.
+ private ParticipantId loggedInUser;
+
+ /**
+ * @param loggedInUser
+ * The currently logged in user, or null if no user is logged
+ * in.
+ */
+ public Connection(final ParticipantId loggedInUser) {
+ this.loggedInUser = loggedInUser;
+ }
+
+ private ParticipantId authenticate(final String token) {
+ final HttpSession session = sessionManager.getSessionFromToken(token);
+ final ParticipantId user = sessionManager.getLoggedInUser(session);
+ return user;
+ }
+
+ protected void expectMessages(final MessageExpectingChannel channel) {
+ synchronized (registeredServices) {
+ for (final RegisteredServiceMethod serviceMethod : registeredServices.values()) {
+ channel.expectMessage(serviceMethod.service.getRequestPrototype(serviceMethod.method));
+ LOG.fine("Expecting: " + serviceMethod.method.getFullName());
+ }
+ }
+ channel.expectMessage(Rpc.CancelRpc.getDefaultInstance());
+ }
+
+ @Override
+ public void message(final long sequenceNo, final Message message) {
+ if (message instanceof Rpc.CancelRpc) {
+ final ServerRpcController controller = activeRpcs.get(sequenceNo);
+ if (controller == null) {
+ throw new IllegalStateException("Trying to cancel an RPC that is not active!");
+ } else {
+ LOG.info("Cancelling open RPC " + sequenceNo);
+ controller.cancel();
+ }
+ } else if (message instanceof ProtocolAuthenticate) {
+ // Workaround for bug:
+ // http://codereview.waveprotocol.org/224001/
+
+ // When we get this message, either the connection will not be
+ // logged in
+ // (loggedInUser == null) or the connection will have been
+ // authenticated
+ // via cookies
+ // (in which case loggedInUser must match the authenticated
+ // user, and
+ // this message has no
+ // effect).
+
+ final ProtocolAuthenticate authMessage = (ProtocolAuthenticate) message;
+ final ParticipantId authenticatedAs = authenticate(authMessage.getToken());
+
+ Preconditions.checkArgument(authenticatedAs != null, "Auth token invalid");
+ Preconditions.checkState(loggedInUser == null || loggedInUser.equals(authenticatedAs),
+ "Session already authenticated as a different user");
+
+ loggedInUser = authenticatedAs;
+ LOG.info("Session authenticated as " + loggedInUser);
+ sendMessage(sequenceNo, ProtocolAuthenticationResult.getDefaultInstance());
+ } else if (registeredServices.containsKey(message.getDescriptorForType())) {
+ if (activeRpcs.containsKey(sequenceNo)) {
+ throw new IllegalStateException("Can't invoke a new RPC with a sequence number already in use.");
+ } else {
+ final RegisteredServiceMethod serviceMethod = registeredServices.get(message.getDescriptorForType());
+
+ // Create the internal ServerRpcController used to invoke
+ // the call.
+ final ServerRpcController controller = new ServerRpcControllerImpl(message, serviceMethod.service,
+ serviceMethod.method, loggedInUser, new RpcCallback<Message>() {
+ @Override
+ synchronized public void run(final Message message) {
+ if (message instanceof Rpc.RpcFinished
+ || !serviceMethod.method.getOptions().getExtension(Rpc.isStreamingRpc)) {
+ // This RPC is over - remove it from the
+ // map.
+ final boolean failed = message instanceof Rpc.RpcFinished ? ((Rpc.RpcFinished) message).getFailed()
+ : false;
+ LOG.fine("RPC " + sequenceNo + " is now finished, failed = " + failed);
+ if (failed) {
+ LOG.info("error = " + ((Rpc.RpcFinished) message).getErrorText());
+ }
+ activeRpcs.remove(sequenceNo);
+ }
+ sendMessage(sequenceNo, message);
+ }
+ });
+
+ // Kick off a new thread specific to this RPC.
+ activeRpcs.put(sequenceNo, controller);
+ threadPool.execute(controller);
+ }
+ } else {
+ // Sent a message type we understand, but don't expect -
+ // erronous case!
+ throw new IllegalStateException("Got expected but unknown message (" + message + ") for sequence: "
+ + sequenceNo);
+ }
+ }
+
+ protected abstract void sendMessage(long sequenceNo, Message message);
+
+ @Override
+ public void unknown(final long sequenceNo, final String messageType, final String message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+
+ @Override
+ public void unknown(final long sequenceNo, final String messageType, final UnknownFieldSet message) {
+ throw new IllegalStateException("Got unknown message (type: " + messageType + ", " + message
+ + ") for sequence: " + sequenceNo);
+ }
+ }
+
+ /**
+ * Internal, static container class for any specific registered service
+ * method.
+ */
+ static class RegisteredServiceMethod {
+ final MethodDescriptor method;
+ final Service service;
+
+ RegisteredServiceMethod(final Service service, final MethodDescriptor method) {
+ this.service = service;
+ this.method = method;
+ }
+ }
+ class SocketIOConnection extends Connection {
+ private final SocketIOServerChannel socketChannel;
+
+ SocketIOConnection(final ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new SocketIOServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ public SocketIOServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+
+ @Override
+ protected void sendMessage(final long sequenceNo, final Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+ }
+ public class WaveSocketIOServlet extends SocketIOServlet {
+ @Override
+ protected SocketIOInbound doSocketIOConnect(final HttpServletRequest request, final String[] protocols) {
+ final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ final SocketIOConnection connection = new SocketIOConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+ public class WaveWebSocketServlet extends WebSocketServlet {
+ @Override
+ protected WebSocket doWebSocketConnect(final HttpServletRequest request, final String protocol) {
+ final ParticipantId loggedInUser = sessionManager.getLoggedInUser(request.getSession(false));
+
+ final WebSocketConnection connection = new WebSocketConnection(loggedInUser);
+ return connection.getWebSocketServerChannel();
+ }
+ }
+ class WebSocketConnection extends Connection {
+ private final WebSocketServerChannel socketChannel;
+
+ WebSocketConnection(final ParticipantId loggedInUser) {
+ super(loggedInUser);
+ socketChannel = new WebSocketServerChannel(this);
+ LOG.info("New websocket connection set up for user " + loggedInUser);
+ expectMessages(socketChannel);
+ }
+
+ public WebSocketServerChannel getWebSocketServerChannel() {
+ return socketChannel;
+ }
+
+ @Override
+ protected void sendMessage(final long sequenceNo, final Message message) {
+ socketChannel.sendMessage(sequenceNo, message);
+ }
+ }
+ private static final Log LOG = Log.get(CustomServerRpcProvider.class);
+
+ private static InetSocketAddress[] parseAddressList(final List<String> addressList) {
+ if (addressList == null || addressList.size() == 0) {
+ return new InetSocketAddress[0];
+ } else {
+ final Set<InetSocketAddress> addresses = Sets.newHashSet();
+ for (final String str : addressList) {
+ if (str.length() == 0) {
+ LOG.warning("Encountered empty address in http addresses list.");
+ } else {
+ try {
+ final InetSocketAddress address = NetUtils.parseHttpAddress(str);
+ if (!addresses.contains(address)) {
+ addresses.add(address);
+ } else {
+ LOG.warning("Ignoring duplicate address in http addresses list: Duplicate entry '" + str
+ + "' resolved to " + address.getAddress().getHostAddress());
+ }
+ } catch (final IOException e) {
+ LOG.severe("Unable to process address " + str, e);
+ }
+ }
+ }
+ return addresses.toArray(new InetSocketAddress[0]);
+ }
+ }
+ private final String baseUrl;
+
+ private final Integer flashsocketPolicyPort;
+
+ private final InetSocketAddress[] httpAddresses;
+
+ private Server httpServer = null;
+
+ private final Set<Connection> incomingConnections = Sets.newHashSet();
+
+ private final org.eclipse.jetty.server.SessionManager jettySessionManager;
+
+ // Mapping from incoming protocol buffer type -> specific handler.
+ private final Map<Descriptors.Descriptor, RegisteredServiceMethod> registeredServices = Maps.newHashMap();
+
+ private final String resourceBase;
+
+ /**
+ * Set of servlets
+ */
+ List<Pair<String, ServletHolder>> servletRegistry = Lists.newArrayList();
+
+ private final SessionManager sessionManager;
+
+ private final ExecutorService threadPool;
+
+ /**
+ * Construct a new ServerRpcProvider, hosting on the specified WebSocket
+ * addresses.
+ *
+ * Also accepts an ExecutorService for spawning managing threads.
+ */
+ public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
+ final String baseUrl, final String resourceBase, final ExecutorService threadPool,
+ final SessionManager sessionManager, final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this.httpAddresses = httpAddresses;
+ this.flashsocketPolicyPort = flashsocketPolicyPort;
+ this.baseUrl = BaseUrlHelper.removeLastSlash(baseUrl);
+ this.resourceBase = resourceBase;
+ this.threadPool = threadPool;
+ this.sessionManager = sessionManager;
+ this.jettySessionManager = jettySessionManager;
+ }
+
+ /**
+ * Constructs a new ServerRpcProvider with a default ExecutorService.
+ */
+ public CustomServerRpcProvider(final InetSocketAddress[] httpAddresses, final Integer flashsocketPolicyPort,
+ final String baseUrl, final String resourceBase, final SessionManager sessionManager,
+ final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(httpAddresses, flashsocketPolicyPort, baseUrl, resourceBase, Executors.newCachedThreadPool(),
+ sessionManager, jettySessionManager);
+ }
+
+ @Inject
+ public CustomServerRpcProvider((a)Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) final List<String> httpAddresses,
+ @Named(CoreSettings.FLASHSOCKET_POLICY_PORT) final Integer flashsocketPolicyPort,
+ @Named(CoreSettings.HTTP_BASE_URL) final String baseUrl,
+ @Named(CoreSettings.RESOURCE_BASE) final String resourceBase, final SessionManager sessionManager,
+ final org.eclipse.jetty.server.SessionManager jettySessionManager) {
+ this(parseAddressList(httpAddresses), flashsocketPolicyPort, baseUrl, resourceBase, sessionManager,
+ jettySessionManager);
+ }
+
+ /**
+ * Add a servlet to the servlet registry. This servlet will be attached to
+ * the specified URL pattern when the server is started up.
+ *
+ * @param urlPattern
+ * URL pattern for paths. Eg, '/foo', '/foo/*'
+ * @param servlet
+ * The servlet object to bind to the specified paths
+ * @return the {@link ServletHolder} that holds the servlet.
+ */
+ public ServletHolder addServlet(final String urlPattern, final Servlet servlet) {
+ final ServletHolder servletHolder = new ServletHolder(servlet);
+ servletRegistry.add(new Pair<String, ServletHolder>(urlPattern, servletHolder));
+ return servletHolder;
+ }
+
+ /**
+ * @return a list of {@link SelectChannelConnector} each bound to a
+ * host:port pair form the list addresses.
+ */
+ private List<SelectChannelConnector> getSelectChannelConnectors(final InetSocketAddress[] httpAddresses) {
+ final List<SelectChannelConnector> list = Lists.newArrayList();
+ for (final InetSocketAddress address : httpAddresses) {
+ final SelectChannelConnector connector = new SelectChannelConnector();
+ connector.setHost(address.getAddress().getHostAddress());
+ connector.setPort(address.getPort());
+ list.add(connector);
+ }
+
+ return list;
+ }
+
+ /**
+ * Returns the socket the WebSocket server is listening on.
+ */
+ public SocketAddress getWebSocketAddress() {
+ if (httpServer == null) {
+ return null;
+ } else {
+ final Connector c = httpServer.getConnectors()[0];
+ return new InetSocketAddress(c.getHost(), c.getLocalPort());
+ }
+ }
+
+ /**
+ * Register all methods provided by the given service type.
+ */
+ public void registerService(final Service service) {
+ synchronized (registeredServices) {
+ for (final MethodDescriptor methodDescriptor : service.getDescriptorForType().getMethods()) {
+ registeredServices.put(methodDescriptor.getInputType(), new RegisteredServiceMethod(service,
+ methodDescriptor));
+ }
+ }
+ }
+
+ public void startWebSocketServer(final Injector injector) {
+ httpServer = new Server();
+
+ final List<SelectChannelConnector> connectors = getSelectChannelConnectors(httpAddresses);
+ if (connectors.isEmpty()) {
+ LOG.severe("No valid http end point address provided!");
+ }
+ for (final SelectChannelConnector connector : connectors) {
+ httpServer.addConnector(connector);
+ }
+
+ final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ if (jettySessionManager != null) {
+ context.getSessionHandler().setSessionManager(jettySessionManager);
+ }
+ context.setResourceBase(resourceBase);
+ context.setContextPath(baseUrl);
+ context.addEventListener(new GuiceServletContextListener() {
+ @Override
+ protected Injector getInjector() {
+ return injector;
+ }
+ });
+ context.setAttribute(RackServletFilter.INJECTOR_PARENT_ATTRIBUTE, injector);
+ context.addFilter(GuiceFilter.class, "/*", 0);
+ final FilterHolder filterHolder = new FilterHolder(RackServletFilter.class);
+ filterHolder.setInitParameter("org.ourproject.kune.rack.RackModule",
+ "org.ourproject.kune.app.server.KuneRackModule");
+ context.addFilter(filterHolder, "/ws*", 0);
+
+ // Servlet where the websocket connection is served from.
+ final ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet());
+ context.addServlet(wsholder, "/socket");
+ // TODO(zamfi): fix to let messages span frames.
+ wsholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+
+ // Servlet where the websocket connection is served from.
+ final ServletHolder sioholder = new ServletHolder(new WaveSocketIOServlet());
+ context.addServlet(sioholder, "/socket.io/*");
+ // TODO(zamfi): fix to let messages span frames.
+ sioholder.setInitParameter("bufferSize", "" + 1024 * 1024); // 1M buffer
+ // Set flash policy server parameters
+ String flashPolicyServerHost = "localhost";
+ final StringBuilder flashPolicyAllowedPorts = new StringBuilder();
+ /*
+ * Loop through addresses, collect list of ports, and determine if we
+ * are to use "localhost" of the AnyHost wildcard.
+ */
+ for (final InetSocketAddress addr : httpAddresses) {
+ if (flashPolicyAllowedPorts.length() > 0) {
+ flashPolicyAllowedPorts.append(",");
+ }
+ flashPolicyAllowedPorts.append(addr.getPort());
+ if (!addr.getAddress().isLoopbackAddress()) {
+ // Until it's possible to pass a list of address, this is the
+ // only valid alternative.
+ flashPolicyServerHost = "0.0.0.0";
+ }
+ }
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
+ // TODO: Change to use the public http address and all other bound
+ // addresses.
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
+ sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
+
+ // Serve the static content and GWT web client with the default servlet
+ // (acts like a standard file-based web server).
+ final ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
+ context.addServlet(defaultServlet, "/static/*");
+ context.addServlet(defaultServlet, "/webclient/*");
+
+ for (final Pair<String, ServletHolder> servlet : servletRegistry) {
+ context.addServlet(servlet.getSecond(), servlet.getFirst());
+ }
+
+ httpServer.setHandler(context);
+
+ try {
+ httpServer.start();
+ } catch (final Exception e) { // yes, .start() throws "Exception"
+ LOG.severe("Fatal error starting http server.", e);
+ return;
+ }
+ LOG.fine("WebSocket server running. --------");
+ }
+
+ /**
+ * Stops this server.
+ */
+ public void stopServer() throws IOException {
+ try {
+ httpServer.stop(); // yes, .stop() throws "Exception"
+ } catch (final Exception e) {
+ LOG.warning("Fatal error stopping http server.", e);
+ }
+ LOG.fine("server shutdown.");
+ }
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/ServerRpcControllerImpl.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/ServerRpcControllerImpl.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/ServerRpcControllerImpl.java 2011-02-12 02:19:16 UTC (rev 1250)
@@ -0,0 +1,226 @@
+/**
+ * Copyright 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package cc.kune.wave.server;
+
+import org.waveprotocol.box.server.rpc.Rpc;
+import org.waveprotocol.box.server.rpc.ServerRpcController;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Message;
+import com.google.protobuf.RpcCallback;
+import com.google.protobuf.Service;
+
+/**
+ * Implements the server end-point of a wave server RPC connection. This is a
+ * single-use RPC controller.
+ *
+ *
+ */
+public class ServerRpcControllerImpl implements ServerRpcController {
+ private final Service backingService;
+ private final RpcCallback<Message> callback;
+ private RpcCallback<Object> cancelCallback = null;
+ private boolean cancelled = false;
+ private boolean complete = false;
+
+ private final boolean isStreamingRpc;
+ private final ParticipantId loggedInUser;
+ private final Message requestMessage;
+ private final Descriptors.MethodDescriptor serviceMethod;
+ // The following variables represent the current status of this instance,
+ // and
+ // must all only be accessed or modified while synchronised on statusLock.
+ private final Object statusLock = new Object();
+
+ /**
+ * Instantiate a new ServerRpcController that may later be completely
+ * invoked by calling {#link run}.
+ *
+ * @param requestMessage
+ * the request being handled
+ * @param backingService
+ * the backing service type
+ * @param serviceMethod
+ * the specific method within the backing service type
+ * @param loggedInUser
+ * the currently logged in user
+ * @param callback
+ * the destination where responses may be passed - may be called
+ * once (normal RPC) or 1-n times (streaming RPC), and will pass
+ * instances of RpcFinished as required (error cases, or
+ * streaming RPC shutdown); is also always called under the
+ * ServerRpcController's statusLock to ensure that consecutive
+ * calls (in the streaming case) are called in series
+ */
+ ServerRpcControllerImpl(final Message requestMessage, final Service backingService,
+ final Descriptors.MethodDescriptor serviceMethod, final ParticipantId loggedInUser,
+ final RpcCallback<Message> callback) {
+ this.requestMessage = requestMessage;
+ this.backingService = backingService;
+ this.serviceMethod = serviceMethod;
+ this.loggedInUser = loggedInUser;
+ this.isStreamingRpc = serviceMethod.getOptions().getExtension(Rpc.isStreamingRpc);
+ this.callback = callback;
+ }
+
+ @Override
+ public void cancel() {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (cancelled) {
+ throw new IllegalStateException("Can't cancel RPC, already cancelled.");
+ }
+ cancelled = true;
+ if (cancelCallback != null && !complete) {
+ runCallback = cancelCallback;
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+
+ @Override
+ public String errorText() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ @Override
+ public boolean failed() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ @Override
+ public ParticipantId getLoggedInUser() {
+ return loggedInUser;
+ }
+
+ @Override
+ public boolean isCanceled() {
+ return cancelled;
+ }
+
+ /**
+ * Registers a cancellation callback. This will always be called as part of
+ * this RPC, and always at most once; either when the client asks to cancel
+ * it, or when the RPC finishes (regardless of error case).
+ *
+ * This callback will be called outside normal locks on ServerRpcController
+ * state, i.e., not within a block synchronised on statusLock.
+ */
+ @Override
+ public void notifyOnCancel(final RpcCallback<Object> callback) {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (cancelCallback != null) {
+ throw new IllegalStateException("Must only be called once per request.");
+ } else {
+ cancelCallback = callback;
+ if (cancelled || complete) {
+ runCallback = cancelCallback;
+ }
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+
+ @Override
+ public void reset() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+
+ /**
+ * Run this ServerRpcController in the current thread. This must only be
+ * invoked ONCE, and will throw an IllegalStateException otherwise.
+ */
+ @Override
+ public void run() {
+ final RpcCallback<Message> messageCallback = new RpcCallback<Message>() {
+ @Override
+ public void run(Message result) { // NOPMD by vjrj on 12/02/11 0:16
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (complete) {
+ throw new IllegalStateException("Can't send responses over this RPC, as it is"
+ + " already complete: " + result);
+ }
+ if (!isStreamingRpc || result == null) {
+ // This either completes the streaming RPC (by passing
+ // an instance
+ // of RpcFinished in place of null) or completes a
+ // normal RPC (by
+ // passing any other message).
+ if (result == null) {
+ result = Rpc.RpcFinished.newBuilder().setFailed(false).build();
+ }
+ callback.run(result);
+
+ // Now complete, mark as such and invoke the
+ // cancellation callback.
+ complete = true;
+ if (cancelCallback != null && !cancelled) {
+ runCallback = cancelCallback;
+ }
+ } else {
+ // Streaming RPC update.
+ callback.run(result);
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+ };
+ try {
+ backingService.callMethod(serviceMethod, this, requestMessage, messageCallback);
+ } catch (final RuntimeException e) {
+ // Pass the description of any RuntimeException back to the caller.
+ e.printStackTrace();
+ if (!complete) {
+ setFailed(e.toString());
+ }
+ }
+ }
+
+ @Override
+ public void setFailed(final String reason) {
+ RpcCallback<Object> runCallback = null;
+ synchronized (statusLock) {
+ if (complete) {
+ throw new IllegalStateException("Can't fail this RPC, as it is already complete.");
+ } else {
+ complete = true;
+ callback.run(Rpc.RpcFinished.newBuilder().setFailed(true).setErrorText(reason).build());
+ if (cancelCallback != null && !cancelled) {
+ runCallback = cancelCallback;
+ }
+ }
+ }
+ if (runCallback != null) {
+ runCallback.run(null);
+ }
+ }
+
+ @Override
+ public void startCancel() {
+ throw new UnsupportedOperationException("Client-side method of RpcController only.");
+ }
+}
Added: branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/wave/server/WaveMain.java 2011-02-12 02:19:16 UTC (rev 1250)
@@ -0,0 +1,197 @@
+/**
+ * Copyright 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package cc.kune.wave.server;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlets.ProxyServlet;
+import org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolWaveClientRpc;
+import org.waveprotocol.box.server.CoreSettings;
+import org.waveprotocol.box.server.ServerModule;
+import org.waveprotocol.box.server.authentication.AccountStoreHolder;
+import org.waveprotocol.box.server.authentication.SessionManager;
+import org.waveprotocol.box.server.frontend.ClientFrontend;
+import org.waveprotocol.box.server.frontend.ClientFrontendImpl;
+import org.waveprotocol.box.server.frontend.WaveClientRpcImpl;
+import org.waveprotocol.box.server.persistence.AccountStore;
+import org.waveprotocol.box.server.persistence.PersistenceException;
+import org.waveprotocol.box.server.persistence.PersistenceModule;
+import org.waveprotocol.box.server.persistence.SignerInfoStore;
+import org.waveprotocol.box.server.robots.RobotApiModule;
+import org.waveprotocol.box.server.robots.RobotRegistrationServlet;
+import org.waveprotocol.box.server.robots.active.ActiveApiServlet;
+import org.waveprotocol.box.server.robots.dataapi.DataApiOAuthServlet;
+import org.waveprotocol.box.server.robots.dataapi.DataApiServlet;
+import org.waveprotocol.box.server.robots.passive.RobotsGateway;
+import org.waveprotocol.box.server.rpc.AttachmentServlet;
+import org.waveprotocol.box.server.rpc.AuthenticationServlet;
+import org.waveprotocol.box.server.rpc.FetchServlet;
+import org.waveprotocol.box.server.rpc.SignOutServlet;
+import org.waveprotocol.box.server.rpc.UserRegistrationServlet;
+import org.waveprotocol.box.server.rpc.WaveClientServlet;
+import org.waveprotocol.box.server.waveserver.WaveBus;
+import org.waveprotocol.box.server.waveserver.WaveServerException;
+import org.waveprotocol.box.server.waveserver.WaveletProvider;
+import org.waveprotocol.wave.crypto.CertPathStore;
+import org.waveprotocol.wave.federation.FederationSettings;
+import org.waveprotocol.wave.federation.FederationTransport;
+import org.waveprotocol.wave.federation.noop.NoOpFederationModule;
+import org.waveprotocol.wave.federation.xmpp.XmppFederationModule;
+import org.waveprotocol.wave.model.version.HashedVersionFactory;
+import org.waveprotocol.wave.util.logging.Log;
+import org.waveprotocol.wave.util.settings.SettingsBinder;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Key;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+
+/**
+ * Wave Server entrypoint.
+ */
+public class WaveMain {
+
+ private static final Log LOG = Log.get(WaveMain.class);
+
+ /**
+ * This is the name of the system property used to find the server config
+ * file.
+ */
+ private static final String PROPERTIES_FILE_KEY = "wave.server.config";
+
+ private static Module buildFederationModule(final Injector settingsInjector, final boolean enableFederation)
+ throws ConfigurationException {
+ Module federationModule;
+ if (enableFederation) {
+ federationModule = settingsInjector.getInstance(XmppFederationModule.class);
+ } else {
+ federationModule = settingsInjector.getInstance(NoOpFederationModule.class);
+ }
+ return federationModule;
+ }
+
+ private static void initializeFederation(final Injector injector) {
+ final FederationTransport federationManager = injector.getInstance(FederationTransport.class);
+ federationManager.startFederation();
+ }
+
+ private static void initializeFrontend(final Injector injector, final CustomServerRpcProvider server,
+ final WaveBus waveBus) throws WaveServerException {
+ final HashedVersionFactory hashFactory = injector.getInstance(HashedVersionFactory.class);
+ final WaveletProvider provider = injector.getInstance(WaveletProvider.class);
+ final ClientFrontend frontend = ClientFrontendImpl.create(hashFactory, provider, waveBus);
+
+ final ProtocolWaveClientRpc.Interface rpcImpl = WaveClientRpcImpl.create(frontend, false);
+ server.registerService(ProtocolWaveClientRpc.newReflectiveService(rpcImpl));
+ }
+
+ private static void initializeRobots(final Injector injector, final WaveBus waveBus) {
+ final RobotsGateway robotsGateway = injector.getInstance(RobotsGateway.class);
+ waveBus.subscribe(robotsGateway);
+ }
+
+ private static void initializeServer(final Injector injector) throws PersistenceException, WaveServerException {
+ final AccountStore accountStore = injector.getInstance(AccountStore.class);
+ accountStore.initializeAccountStore();
+ AccountStoreHolder.init(accountStore,
+ injector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN))));
+
+ // Initialize the SignerInfoStore.
+ final CertPathStore certPathStore = injector.getInstance(CertPathStore.class);
+ if (certPathStore instanceof SignerInfoStore) {
+ ((SignerInfoStore) certPathStore).initializeSignerInfoStore();
+ }
+
+ // Initialize the server.
+ final WaveletProvider waveServer = injector.getInstance(WaveletProvider.class);
+ waveServer.initialize();
+ }
+
+ private static void initializeServlets(final Injector injector, final CustomServerRpcProvider server) {
+ server.addServlet("/attachment/*", injector.getInstance(AttachmentServlet.class));
+
+ server.addServlet(SessionManager.SIGN_IN_URL, injector.getInstance(AuthenticationServlet.class));
+ server.addServlet("/auth/signout", injector.getInstance(SignOutServlet.class));
+ server.addServlet("/auth/register", injector.getInstance(UserRegistrationServlet.class));
+
+ server.addServlet("/fetch/*", injector.getInstance(FetchServlet.class));
+
+ server.addServlet("/robot/dataapi", injector.getInstance(DataApiServlet.class));
+ server.addServlet(DataApiOAuthServlet.DATA_API_OAUTH_PATH + "/*",
+ injector.getInstance(DataApiOAuthServlet.class));
+ server.addServlet("/robot/dataapi/rpc", injector.getInstance(DataApiServlet.class));
+ server.addServlet("/robot/register/*", injector.getInstance(RobotRegistrationServlet.class));
+ server.addServlet("/robot/rpc", injector.getInstance(ActiveApiServlet.class));
+
+ final String gadgetServerHostname = injector.getInstance(Key.get(String.class,
+ Names.named(CoreSettings.GADGET_SERVER_HOSTNAME)));
+ final ProxyServlet.Transparent proxyServlet = new ProxyServlet.Transparent("/gadgets", "http",
+ gadgetServerHostname, injector.getInstance(Key.get(int.class,
+ Names.named(CoreSettings.GADGET_SERVER_PORT))), "/gadgets");
+ final ServletHolder proxyServletHolder = server.addServlet("/gadgets/*", proxyServlet);
+ proxyServletHolder.setInitParameter("HostHeader", gadgetServerHostname);
+
+ server.addServlet("/", injector.getInstance(WaveClientServlet.class));
+ }
+
+ public static void main(final String... args) {
+ try {
+ final Module coreSettings = SettingsBinder.bindSettings(PROPERTIES_FILE_KEY, CoreSettings.class);
+ run(coreSettings);
+ return;
+ } catch (final PersistenceException e) {
+ LOG.severe("PersistenceException when running server:", e);
+ } catch (final ConfigurationException e) {
+ LOG.severe("ConfigurationException when running server:", e);
+ } catch (final WaveServerException e) {
+ LOG.severe("WaveServerException when running server:", e);
+ }
+ }
+
+ public static void run(final Module coreSettings) throws PersistenceException, ConfigurationException,
+ WaveServerException {
+ Injector settingsInjector = Guice.createInjector(coreSettings);
+ final boolean enableFederation = settingsInjector.getInstance(Key.get(Boolean.class,
+ Names.named(CoreSettings.ENABLE_FEDERATION)));
+
+ if (enableFederation) {
+ final Module federationSettings = SettingsBinder.bindSettings(PROPERTIES_FILE_KEY, FederationSettings.class);
+ // This MUST happen first, or bindings will fail if federation is
+ // enabled.
+ settingsInjector = settingsInjector.createChildInjector(federationSettings);
+ }
+
+ final Module federationModule = buildFederationModule(settingsInjector, enableFederation);
+ final PersistenceModule persistenceModule = settingsInjector.getInstance(PersistenceModule.class);
+ final Injector injector = settingsInjector.createChildInjector(new ServerModule(enableFederation),
+ new RobotApiModule(), federationModule, persistenceModule);
+
+ final CustomServerRpcProvider server = injector.getInstance(CustomServerRpcProvider.class);
+ final WaveBus waveBus = injector.getInstance(WaveBus.class);
+
+ initializeServer(injector);
+ initializeServlets(injector, server);
+ initializeRobots(injector, waveBus);
+ initializeFrontend(injector, server, waveBus);
+ initializeFederation(injector);
+
+ LOG.info("Starting server");
+ server.startWebSocketServer(injector);
+ }
+}
1
0
Author: vjrj_
Date: 2011-02-12 03:18:52 +0100 (Sat, 12 Feb 2011)
New Revision: 1249
Added:
branches/wave-jetty-embed-guice/
branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/ws/entheader/
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java
branches/wave-jetty-embed-guice/src/test/java/cc/kune/core/client/ws/
branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java
Removed:
branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java
branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java
branches/wave-jetty-embed-guice/src/test/java/org/ourproject/kune/workspace/client/entityheader/
branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java
Modified:
branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
Log:
some wave startup testing
Copied: branches/wave-jetty-embed-guice (from rev 1247, trunk)
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java (from rev 1248, trunk/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,117 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.chat.client;
+
+import cc.kune.common.client.actions.AbstractAction;
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.PropertyChangeEvent;
+import cc.kune.common.client.actions.PropertyChangeListener;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.noti.NotifyUser;
+import cc.kune.core.client.resources.icons.IconConstants;
+import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateChangedEvent;
+import cc.kune.core.client.state.StateChangedEvent.StateChangedHandler;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.emite.im.client.roster.XmppRoster;
+import com.calclab.emite.im.client.roster.events.RosterGroupChangedEvent;
+import com.calclab.emite.im.client.roster.events.RosterGroupChangedHandler;
+import com.calclab.suco.client.Suco;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class AddAsBuddieHeaderButton {
+
+ public static class AddAsBuddieAction extends AbstractExtendedAction {
+ private final Provider<ChatClientDefault> chatEngine;
+ private final Session session;
+
+ @Inject
+ public AddAsBuddieAction(final Provider<ChatClientDefault> chatEngine, final Session session,
+ final StateManager stateManager, final I18nTranslationService i18n, final IconResources img) {
+ super();
+ this.chatEngine = chatEngine;
+ this.session = session;
+ stateManager.onStateChanged(new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ setState(event.getState());
+ }
+ });
+ Suco.get(XmppRoster.class).addRosterGroupChangedHandler(new RosterGroupChangedHandler() {
+
+ @Override
+ public void onGroupChanged(final RosterGroupChangedEvent event) {
+ setState(session.getCurrentState());
+ }
+ });
+ putValue(Action.NAME, i18n.t("Add as a buddie"));
+ putValue(Action.SMALL_ICON, IconConstants.toPath(img.addGreen()));
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ chatEngine.get().addNewBuddie(session.getCurrentState().getGroup().getShortName());
+ NotifyUser.info("Added as buddie. Waiting buddie response");
+ setEnabled(false);
+ }
+
+ private boolean currentGroupsIsAsPerson(final StateAbstractDTO state) {
+ return state.getGroup().isPersonal();
+ }
+
+ private boolean isNotMe(final String groupName) {
+ return !session.getCurrentUser().getShortName().equals(groupName);
+ }
+
+ private void setState(final StateAbstractDTO state) {
+ final String groupName = state.getGroup().getShortName();
+ final boolean imLogged = session.isLogged();
+ final boolean isNotBuddie = !chatEngine.get().isBuddie(groupName);
+ if (imLogged && currentGroupsIsAsPerson(state) && isNotBuddie && isNotMe(groupName)) {
+ setEnabled(true);
+ } else {
+ setEnabled(false);
+ }
+ }
+ }
+
+ @Inject
+ public AddAsBuddieHeaderButton(final AddAsBuddieAction buddieAction, final EntityHeader entityHeader) {
+ final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
+ button.setVisible(false);
+ buddieAction.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
+ if (event.getPropertyName().equals(AbstractAction.ENABLED)) {
+ button.setVisible((Boolean) event.getNewValue());
+ }
+ }
+ });
+ entityHeader.addAction(button);
+ }
+}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,36 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.chat.client;
-
-import com.google.inject.Singleton;
-import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
-
-public class ChatGinModule extends AbstractPresenterModule {
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.inject.client.AbstractGinModule#configure()
- */
- @Override
- protected void configure() {
- bind(ChatClient.class).to(ChatClientDefault.class).in(Singleton.class);
- bind(ChatOptions.class).in(Singleton.class);
- }
-}
\ No newline at end of file
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java (from rev 1248, trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/chat/client/ChatGinModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,37 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.chat.client;
+
+import com.google.inject.Singleton;
+import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
+
+public class ChatGinModule extends AbstractPresenterModule {
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.inject.client.AbstractGinModule#configure()
+ */
+ @Override
+ protected void configure() {
+ bind(ChatClient.class).to(ChatClientDefault.class).in(Singleton.class);
+ bind(ChatOptions.class).in(Singleton.class);
+ bind(AddAsBuddieHeaderButton.class).in(Singleton.class);
+ }
+}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,119 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.client;
-
-import cc.kune.chat.client.ChatClient;
-import cc.kune.chat.client.ChatGinModule;
-import cc.kune.common.client.actions.gwtui.GwtGuiProvider;
-import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
-import cc.kune.common.client.actions.ui.bind.GuiProvider;
-import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
-import cc.kune.core.client.CoreGinModule;
-import cc.kune.core.client.CoreParts;
-import cc.kune.core.client.auth.RegisterPresenter;
-import cc.kune.core.client.auth.SignInPresenter;
-import cc.kune.core.client.cookies.CookiesManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.groups.newgroup.NewGroupPresenter;
-import cc.kune.core.client.logs.EventBusWithLogging;
-import cc.kune.core.client.notify.confirm.UserConfirmPresenter;
-import cc.kune.core.client.notify.msgs.UserNotifierPresenter;
-import cc.kune.core.client.notify.spiner.SpinerPresenter;
-import cc.kune.core.client.sitebar.SitebarActionsPresenter;
-import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
-import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter;
-import cc.kune.core.client.sn.GroupMembersPresenter;
-import cc.kune.core.client.state.SiteTokenListeners;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
-import cc.kune.core.client.ws.CorePresenter;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.pspace.client.PSpaceGinModule;
-import cc.kune.pspace.client.PSpacePresenter;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.inject.client.AsyncProvider;
-import com.google.gwt.inject.client.GinModules;
-import com.google.gwt.inject.client.Ginjector;
-import com.google.inject.Provider;
-import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
-
-@GinModules({ CoreGinModule.class, ChatGinModule.class, PSpaceGinModule.class })
-public interface KuneGinjector extends Ginjector {
-
- /*
- * You have to add here all the GWTPresenters (as Provider or AsyncProvider)
- * see the GWTPlatform doc
- */
-
- ChatClient getChatClient();
-
- AsyncProvider<CookiesManager> getCookiesManager();
-
- CoreParts getCoreParts();
-
- Provider<CorePresenter> getCorePresenter();
-
- AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
-
- ErrorHandler getErrorHandler();
-
- EventBus getEventBus();
-
- EventBusWithLogging getEventLogger();
-
- GlobalShortcutRegister getGlobalShortcutRegister();
-
- AsyncProvider<GroupMembersPresenter> getGroupMembersPresenter();
-
- GuiProvider getGuiProvider();
-
- GwtGuiProvider getGwtGuiProvider();
-
- GxtGuiProvider getGxtGuiProvider();
-
- I18nTranslationService getI18n();
-
- AsyncProvider<NewGroupPresenter> getNewGroupPresenter();
-
- ProxyFailureHandler getProxyFailureHandler();
-
- AsyncProvider<PSpacePresenter> getPSpacePresenter();
-
- AsyncProvider<RegisterPresenter> getRegisterPresenter();
-
- AsyncProvider<SignInPresenter> getSignInPresenter();
-
- AsyncProvider<SitebarActionsPresenter> getSitebarActionsPresenter();
-
- AsyncProvider<SiteLogoPresenter> getSiteLogoPresenter();
-
- SiteTokenListeners getSiteTokenListeners();
-
- AsyncProvider<SpaceSelectorPresenter> getSpacesTabPresenter();
-
- AsyncProvider<SpinerPresenter> getSpinerPresenter();
-
- StateManager getStateManager();
-
- AsyncProvider<UserConfirmPresenter> getUserConfirmPresenter();
-
- AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
-}
\ No newline at end of file
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java (from rev 1248, trunk/src/main/java/cc/kune/client/KuneGinjector.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,122 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.client;
+
+import cc.kune.chat.client.ChatClient;
+import cc.kune.chat.client.ChatGinModule;
+import cc.kune.common.client.actions.gwtui.GwtGuiProvider;
+import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
+import cc.kune.common.client.actions.ui.bind.GuiProvider;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.core.client.CoreGinModule;
+import cc.kune.core.client.CoreParts;
+import cc.kune.core.client.auth.RegisterPresenter;
+import cc.kune.core.client.auth.SignInPresenter;
+import cc.kune.core.client.cookies.CookiesManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.groups.newgroup.NewGroupPresenter;
+import cc.kune.core.client.logs.EventBusWithLogging;
+import cc.kune.core.client.notify.confirm.UserConfirmPresenter;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter;
+import cc.kune.core.client.notify.spiner.SpinerPresenter;
+import cc.kune.core.client.sitebar.SitebarActionsPresenter;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
+import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter;
+import cc.kune.core.client.sn.GroupMembersPresenter;
+import cc.kune.core.client.state.SiteTokenListeners;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
+import cc.kune.core.client.ws.CorePresenter;
+import cc.kune.core.client.ws.entheader.EntityHeaderPresenter;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.pspace.client.PSpaceGinModule;
+import cc.kune.pspace.client.PSpacePresenter;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.inject.client.AsyncProvider;
+import com.google.gwt.inject.client.GinModules;
+import com.google.gwt.inject.client.Ginjector;
+import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
+
+@GinModules({ CoreGinModule.class, ChatGinModule.class, PSpaceGinModule.class })
+public interface KuneGinjector extends Ginjector {
+
+ /*
+ * You have to add here all the GWTPresenters (as Provider or AsyncProvider)
+ * see the GWTPlatform doc
+ */
+
+ ChatClient getChatClient();
+
+ AsyncProvider<CookiesManager> getCookiesManager();
+
+ CoreParts getCoreParts();
+
+ Provider<CorePresenter> getCorePresenter();
+
+ AsyncProvider<EntityHeaderPresenter> getEntityHeaderPresenter();
+
+ AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
+
+ ErrorHandler getErrorHandler();
+
+ EventBus getEventBus();
+
+ EventBusWithLogging getEventLogger();
+
+ GlobalShortcutRegister getGlobalShortcutRegister();
+
+ AsyncProvider<GroupMembersPresenter> getGroupMembersPresenter();
+
+ GuiProvider getGuiProvider();
+
+ GwtGuiProvider getGwtGuiProvider();
+
+ GxtGuiProvider getGxtGuiProvider();
+
+ I18nTranslationService getI18n();
+
+ AsyncProvider<NewGroupPresenter> getNewGroupPresenter();
+
+ ProxyFailureHandler getProxyFailureHandler();
+
+ AsyncProvider<PSpacePresenter> getPSpacePresenter();
+
+ AsyncProvider<RegisterPresenter> getRegisterPresenter();
+
+ AsyncProvider<SignInPresenter> getSignInPresenter();
+
+ AsyncProvider<SitebarActionsPresenter> getSitebarActionsPresenter();
+
+ AsyncProvider<SiteLogoPresenter> getSiteLogoPresenter();
+
+ SiteTokenListeners getSiteTokenListeners();
+
+ AsyncProvider<SpaceSelectorPresenter> getSpacesTabPresenter();
+
+ AsyncProvider<SpinerPresenter> getSpinerPresenter();
+
+ StateManager getStateManager();
+
+ AsyncProvider<UserConfirmPresenter> getUserConfirmPresenter();
+
+ AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module>
- <!-- Inherit the core Web Toolkit stuff. -->
- <inherits name='com.google.gwt.user.User' />
- <!-- Inherit the default GWT style sheet. You can change -->
- <!-- the theme of your GWT application by uncommenting -->
- <!-- any one of the following lines. -->
- <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
- <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
- <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
- <!-- Other module inherits -->
- <!-- Specify the app entry point class. -->
-<!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />-->
- <!-- Specify the paths for translatable code -->
- <source path='client' />
- <public path="public" />
- <inherits name='org.cobogw.gwt.user.User' />
- <inherits name='com.google.gwt.inject.Inject' />
- <inherits name="com.extjs.gxt.ui.GXT" />
- <stylesheet src="kune-common.css" />
-</module>
\ No newline at end of file
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml (from rev 1248, trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module>
+ <!-- Inherit the core Web Toolkit stuff. -->
+ <inherits name='com.google.gwt.user.User' />
+ <!-- Inherit the default GWT style sheet. You can change -->
+ <!-- the theme of your GWT application by uncommenting -->
+ <!-- any one of the following lines. -->
+ <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
+ <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
+ <!-- Other module inherits -->
+ <!-- Specify the app entry point class. -->
+ <!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint'
+ /> -->
+ <!-- Specify the paths for translatable code -->
+ <source path='client'
+ excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
+ <public path="public" />
+ <inherits name='org.cobogw.gwt.user.User' />
+ <inherits name='com.google.gwt.inject.Inject' />
+ <inherits name="com.extjs.gxt.ui.GXT" />
+ <stylesheet src="kune-common.css" />
+</module>
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,194 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.client;
-
-import cc.kune.common.client.actions.gwtui.GwtGuiProvider;
-import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
-import cc.kune.common.client.actions.ui.bind.DefaultGuiProvider;
-import cc.kune.common.client.actions.ui.bind.GuiProvider;
-import cc.kune.common.client.shortcuts.DefaultGlobalShortcutRegister;
-import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
-import cc.kune.common.client.ui.MaskWidget;
-import cc.kune.common.client.ui.MaskWidgetView;
-import cc.kune.core.client.auth.Register;
-import cc.kune.core.client.auth.RegisterPanel;
-import cc.kune.core.client.auth.RegisterPresenter;
-import cc.kune.core.client.auth.RegisterView;
-import cc.kune.core.client.auth.SignIn;
-import cc.kune.core.client.auth.SignInPanel;
-import cc.kune.core.client.auth.SignInPresenter;
-import cc.kune.core.client.auth.SignInView;
-import cc.kune.core.client.auth.UserPassAutocompleteManager;
-import cc.kune.core.client.auth.UserPassAutocompleteManagerImpl;
-import cc.kune.core.client.cookies.CookiesManager;
-import cc.kune.core.client.cookies.CookiesManagerImpl;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.groups.newgroup.NewGroup;
-import cc.kune.core.client.groups.newgroup.NewGroupPanel;
-import cc.kune.core.client.groups.newgroup.NewGroupPresenter;
-import cc.kune.core.client.groups.newgroup.NewGroupView;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.init.AppStarter;
-import cc.kune.core.client.init.AppStarterDefault;
-import cc.kune.core.client.init.PrefetchUtilities;
-import cc.kune.core.client.logs.EventBusWithLogging;
-import cc.kune.core.client.notify.confirm.UserConfirmPanel;
-import cc.kune.core.client.notify.confirm.UserConfirmPresenter;
-import cc.kune.core.client.notify.msgs.UserNotifierPresenter;
-import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierProxy;
-import cc.kune.core.client.notify.msgs.UserNotifierViewImpl;
-import cc.kune.core.client.notify.spiner.SpinerPresenter;
-import cc.kune.core.client.notify.spiner.SpinerViewImpl;
-import cc.kune.core.client.sitebar.SiteUserOptions;
-import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
-import cc.kune.core.client.sitebar.SitebarActionsPanel;
-import cc.kune.core.client.sitebar.SitebarActionsPresenter;
-import cc.kune.core.client.sitebar.SitebarNewGroupLink;
-import cc.kune.core.client.sitebar.SitebarSignInLink;
-import cc.kune.core.client.sitebar.SitebarSignOutLink;
-import cc.kune.core.client.sitebar.SitebarSignOutLink.BeforeSignOut;
-import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
-import cc.kune.core.client.sitebar.logo.SiteLogoViewImpl;
-import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter;
-import cc.kune.core.client.sitebar.spaces.SpaceSelectorViewImpl;
-import cc.kune.core.client.sn.GroupMembersPanel;
-import cc.kune.core.client.sn.GroupMembersPresenter;
-import cc.kune.core.client.sn.actions.registry.GroupMembersActionsRegistry;
-import cc.kune.core.client.sn.actions.registry.SNAdminsMenuItemsRegistry;
-import cc.kune.core.client.sn.actions.registry.SNCollabsMenuItemsRegistry;
-import cc.kune.core.client.sn.actions.registry.SNPendingsMenuItemsRegistry;
-import cc.kune.core.client.state.AccessRightsClientManager;
-import cc.kune.core.client.state.ContentProvider;
-import cc.kune.core.client.state.ContentProviderDefault;
-import cc.kune.core.client.state.HistoryWrapper;
-import cc.kune.core.client.state.HistoryWrapperDefault;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.SessionDefault;
-import cc.kune.core.client.state.SiteTokenListeners;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.client.state.StateManagerDefault;
-import cc.kune.core.client.ui.footer.license.EntityLicensePanel;
-import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
-import cc.kune.core.client.ws.CorePresenter;
-import cc.kune.core.client.ws.CoreViewImpl;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.gspace.client.WsArmor;
-import cc.kune.gspace.client.WsArmorImpl;
-import cc.kune.msgs.client.UserMessagesPanel;
-import cc.kune.msgs.client.UserMessagesPresenter;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Singleton;
-import com.gwtplatform.mvp.client.DefaultProxyFailureHandler;
-import com.gwtplatform.mvp.client.RootPresenter;
-import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
-import com.gwtplatform.mvp.client.proxy.ParameterTokenFormatter;
-import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
-import com.gwtplatform.mvp.client.proxy.TokenFormatter;
-
-public class CoreGinModule extends AbstractPresenterModule {
-
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.inject.client.AbstractGinModule#configure()
- */
- @Override
- protected void configure() {
- bind(EventBus.class).to(EventBusWithLogging.class).in(Singleton.class);
- bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class);
- bind(RootPresenter.class).asEagerSingleton();
- bind(ProxyFailureHandler.class).to(DefaultProxyFailureHandler.class).in(Singleton.class);
- bind(I18nUITranslationService.class).in(Singleton.class);
- bind(I18nTranslationService.class).to(I18nUITranslationService.class).in(Singleton.class);
-
- // Presenters
- bindPresenter(CorePresenter.class, CorePresenter.CoreView.class, CoreViewImpl.class,
- CorePresenter.CoreProxy.class);
- bindPresenter(SpinerPresenter.class, SpinerPresenter.SpinerView.class, SpinerViewImpl.class,
- SpinerPresenter.SpinerProxy.class);
- bindPresenter(UserNotifierPresenter.class, UserNotifierPresenter.UserNotifierView.class,
- UserNotifierViewImpl.class, UserNotifierProxy.class);
-
- bindPresenter(SpaceSelectorPresenter.class, SpaceSelectorPresenter.SpaceSelectorView.class,
- SpaceSelectorViewImpl.class, SpaceSelectorPresenter.SpaceSelectorProxy.class);
- bindPresenter(SiteLogoPresenter.class, SiteLogoPresenter.SiteLogoView.class, SiteLogoViewImpl.class,
- SiteLogoPresenter.SiteLogoProxy.class);
- bindPresenter(SitebarActionsPresenter.class, SitebarActionsPresenter.SitebarActionsView.class,
- SitebarActionsPanel.class, SitebarActionsPresenter.SitebarActionsProxy.class);
- bindPresenter(NewGroupPresenter.class, NewGroupView.class, NewGroupPanel.class,
- NewGroupPresenter.NewGroupProxy.class);
- bindPresenter(GroupMembersPresenter.class, GroupMembersPresenter.GroupMembersView.class,
- GroupMembersPanel.class, GroupMembersPresenter.GroupMembersProxy.class);
- bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
- EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
-
- bind(UserPassAutocompleteManager.class).to(UserPassAutocompleteManagerImpl.class).in(Singleton.class);
- bindPresenter(SignInPresenter.class, SignInView.class, SignInPanel.class, SignInPresenter.SignInProxy.class);
- bindPresenter(RegisterPresenter.class, RegisterView.class, RegisterPanel.class,
- RegisterPresenter.RegisterProxy.class);
- bind(SignIn.class).to(SignInPresenter.class).in(Singleton.class);
- bind(Register.class).to(RegisterPresenter.class).in(Singleton.class);
- bind(NewGroup.class).to(NewGroupPresenter.class).in(Singleton.class);
-
- bind(UserMessagesPresenter.class).in(Singleton.class);
- bind(UserMessagesPanel.class).in(Singleton.class);
- bindPresenter(UserConfirmPresenter.class, UserConfirmPresenter.UserConfirmView.class, UserConfirmPanel.class,
- UserConfirmPresenter.UserConfirmProxy.class);
-
- // bind(MessagePanelView.class).to(MessagePanel.class);
-
- // UI
- bind(WsArmorImpl.class).in(Singleton.class);
- bind(WsArmor.class).to(WsArmorImpl.class).in(Singleton.class);
- bind(GuiProvider.class).to(DefaultGuiProvider.class).in(Singleton.class);
- bind(GxtGuiProvider.class).in(Singleton.class);
- bind(GwtGuiProvider.class).in(Singleton.class);
- bind(GlobalShortcutRegister.class).to(DefaultGlobalShortcutRegister.class).in(Singleton.class);
- bind(MaskWidgetView.class).to(MaskWidget.class).in(Singleton.class);
-
- // Core App
- bind(Session.class).to(SessionDefault.class).in(Singleton.class);
- bind(ErrorHandler.class).in(Singleton.class);
- bind(StateManagerDefault.class).in(Singleton.class);
- bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
- bind(AccessRightsClientManager.class).in(Singleton.class);
- bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
- bind(HistoryWrapper.class).to(HistoryWrapperDefault.class).in(Singleton.class);
- bind(PrefetchUtilities.class).in(Singleton.class);
- bind(AppStarter.class).to(AppStarterDefault.class).in(Singleton.class);
- bind(CookiesManager.class).to(CookiesManagerImpl.class).in(Singleton.class);
- bind(BeforeSignOut.class).in(Singleton.class);
- bind(SiteTokenListeners.class).asEagerSingleton();
- bind(CoreParts.class).asEagerSingleton();
-
- // SN
- bind(SNAdminsMenuItemsRegistry.class).in(Singleton.class);
- bind(SNCollabsMenuItemsRegistry.class).in(Singleton.class);
- bind(SNPendingsMenuItemsRegistry.class).in(Singleton.class);
- bind(GroupMembersActionsRegistry.class).in(Singleton.class);
-
- bind(SiteUserOptions.class).to(SiteUserOptionsPresenter.class).in(Singleton.class);
- bind(SitebarNewGroupLink.class).in(Singleton.class);
- bind(SitebarSignInLink.class).in(Singleton.class);
- bind(SitebarSignOutLink.class).in(Singleton.class);
-
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java (from rev 1248, trunk/src/main/java/cc/kune/core/client/CoreGinModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,200 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client;
+
+import cc.kune.common.client.actions.gwtui.GwtGuiProvider;
+import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
+import cc.kune.common.client.actions.ui.bind.DefaultGuiProvider;
+import cc.kune.common.client.actions.ui.bind.GuiProvider;
+import cc.kune.common.client.shortcuts.DefaultGlobalShortcutRegister;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.common.client.ui.MaskWidget;
+import cc.kune.common.client.ui.MaskWidgetView;
+import cc.kune.core.client.auth.Register;
+import cc.kune.core.client.auth.RegisterPanel;
+import cc.kune.core.client.auth.RegisterPresenter;
+import cc.kune.core.client.auth.RegisterView;
+import cc.kune.core.client.auth.SignIn;
+import cc.kune.core.client.auth.SignInPanel;
+import cc.kune.core.client.auth.SignInPresenter;
+import cc.kune.core.client.auth.SignInView;
+import cc.kune.core.client.auth.UserPassAutocompleteManager;
+import cc.kune.core.client.auth.UserPassAutocompleteManagerImpl;
+import cc.kune.core.client.cookies.CookiesManager;
+import cc.kune.core.client.cookies.CookiesManagerImpl;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.groups.newgroup.NewGroup;
+import cc.kune.core.client.groups.newgroup.NewGroupPanel;
+import cc.kune.core.client.groups.newgroup.NewGroupPresenter;
+import cc.kune.core.client.groups.newgroup.NewGroupView;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.init.AppStarter;
+import cc.kune.core.client.init.AppStarterDefault;
+import cc.kune.core.client.init.PrefetchUtilities;
+import cc.kune.core.client.logs.EventBusWithLogging;
+import cc.kune.core.client.notify.confirm.UserConfirmPanel;
+import cc.kune.core.client.notify.confirm.UserConfirmPresenter;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter;
+import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierProxy;
+import cc.kune.core.client.notify.msgs.UserNotifierViewImpl;
+import cc.kune.core.client.notify.spiner.SpinerPresenter;
+import cc.kune.core.client.notify.spiner.SpinerViewImpl;
+import cc.kune.core.client.sitebar.SiteUserOptions;
+import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
+import cc.kune.core.client.sitebar.SitebarActionsPanel;
+import cc.kune.core.client.sitebar.SitebarActionsPresenter;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink;
+import cc.kune.core.client.sitebar.SitebarSignInLink;
+import cc.kune.core.client.sitebar.SitebarSignOutLink;
+import cc.kune.core.client.sitebar.SitebarSignOutLink.BeforeSignOut;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
+import cc.kune.core.client.sitebar.logo.SiteLogoViewImpl;
+import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter;
+import cc.kune.core.client.sitebar.spaces.SpaceSelectorViewImpl;
+import cc.kune.core.client.sn.GroupMembersPanel;
+import cc.kune.core.client.sn.GroupMembersPresenter;
+import cc.kune.core.client.sn.actions.registry.GroupMembersActionsRegistry;
+import cc.kune.core.client.sn.actions.registry.SNAdminsMenuItemsRegistry;
+import cc.kune.core.client.sn.actions.registry.SNCollabsMenuItemsRegistry;
+import cc.kune.core.client.sn.actions.registry.SNPendingsMenuItemsRegistry;
+import cc.kune.core.client.state.AccessRightsClientManager;
+import cc.kune.core.client.state.ContentProvider;
+import cc.kune.core.client.state.ContentProviderDefault;
+import cc.kune.core.client.state.HistoryWrapper;
+import cc.kune.core.client.state.HistoryWrapperDefault;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SessionDefault;
+import cc.kune.core.client.state.SiteTokenListeners;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.state.StateManagerDefault;
+import cc.kune.core.client.ui.footer.license.EntityLicensePanel;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
+import cc.kune.core.client.ws.CorePresenter;
+import cc.kune.core.client.ws.CoreViewImpl;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.client.ws.entheader.EntityHeaderPanel;
+import cc.kune.core.client.ws.entheader.EntityHeaderPresenter;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.WsArmor;
+import cc.kune.gspace.client.WsArmorImpl;
+import cc.kune.msgs.client.UserMessagesPanel;
+import cc.kune.msgs.client.UserMessagesPresenter;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Singleton;
+import com.gwtplatform.mvp.client.DefaultProxyFailureHandler;
+import com.gwtplatform.mvp.client.RootPresenter;
+import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
+import com.gwtplatform.mvp.client.proxy.ParameterTokenFormatter;
+import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
+import com.gwtplatform.mvp.client.proxy.TokenFormatter;
+
+public class CoreGinModule extends AbstractPresenterModule {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.inject.client.AbstractGinModule#configure()
+ */
+ @Override
+ protected void configure() {
+ bind(EventBus.class).to(EventBusWithLogging.class).in(Singleton.class);
+ bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class);
+ bind(RootPresenter.class).asEagerSingleton();
+ bind(ProxyFailureHandler.class).to(DefaultProxyFailureHandler.class).in(Singleton.class);
+ bind(I18nUITranslationService.class).in(Singleton.class);
+ bind(I18nTranslationService.class).to(I18nUITranslationService.class).in(Singleton.class);
+
+ // Presenters
+ bindPresenter(CorePresenter.class, CorePresenter.CoreView.class, CoreViewImpl.class,
+ CorePresenter.CoreProxy.class);
+ bindPresenter(SpinerPresenter.class, SpinerPresenter.SpinerView.class, SpinerViewImpl.class,
+ SpinerPresenter.SpinerProxy.class);
+ bindPresenter(UserNotifierPresenter.class, UserNotifierPresenter.UserNotifierView.class,
+ UserNotifierViewImpl.class, UserNotifierProxy.class);
+
+ bindPresenter(SpaceSelectorPresenter.class, SpaceSelectorPresenter.SpaceSelectorView.class,
+ SpaceSelectorViewImpl.class, SpaceSelectorPresenter.SpaceSelectorProxy.class);
+ bindPresenter(SiteLogoPresenter.class, SiteLogoPresenter.SiteLogoView.class, SiteLogoViewImpl.class,
+ SiteLogoPresenter.SiteLogoProxy.class);
+ bindPresenter(SitebarActionsPresenter.class, SitebarActionsPresenter.SitebarActionsView.class,
+ SitebarActionsPanel.class, SitebarActionsPresenter.SitebarActionsProxy.class);
+ bindPresenter(NewGroupPresenter.class, NewGroupView.class, NewGroupPanel.class,
+ NewGroupPresenter.NewGroupProxy.class);
+ bindPresenter(GroupMembersPresenter.class, GroupMembersPresenter.GroupMembersView.class,
+ GroupMembersPanel.class, GroupMembersPresenter.GroupMembersProxy.class);
+ bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
+ EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
+ bindPresenter(EntityHeaderPresenter.class, EntityHeaderPresenter.EntityHeaderView.class,
+ EntityHeaderPanel.class, EntityHeaderPresenter.EntityHeaderProxy.class);
+
+ bind(UserPassAutocompleteManager.class).to(UserPassAutocompleteManagerImpl.class).in(Singleton.class);
+ bindPresenter(SignInPresenter.class, SignInView.class, SignInPanel.class, SignInPresenter.SignInProxy.class);
+ bindPresenter(RegisterPresenter.class, RegisterView.class, RegisterPanel.class,
+ RegisterPresenter.RegisterProxy.class);
+ bind(SignIn.class).to(SignInPresenter.class).in(Singleton.class);
+ bind(Register.class).to(RegisterPresenter.class).in(Singleton.class);
+ bind(NewGroup.class).to(NewGroupPresenter.class).in(Singleton.class);
+ bind(EntityHeader.class).to(EntityHeaderPresenter.class).in(Singleton.class);
+
+ bind(UserMessagesPresenter.class).in(Singleton.class);
+ bind(UserMessagesPanel.class).in(Singleton.class);
+ bindPresenter(UserConfirmPresenter.class, UserConfirmPresenter.UserConfirmView.class, UserConfirmPanel.class,
+ UserConfirmPresenter.UserConfirmProxy.class);
+
+ // bind(MessagePanelView.class).to(MessagePanel.class);
+
+ // UI
+ bind(WsArmorImpl.class).in(Singleton.class);
+ bind(WsArmor.class).to(WsArmorImpl.class).in(Singleton.class);
+ bind(GuiProvider.class).to(DefaultGuiProvider.class).in(Singleton.class);
+ bind(GxtGuiProvider.class).in(Singleton.class);
+ bind(GwtGuiProvider.class).in(Singleton.class);
+ bind(GlobalShortcutRegister.class).to(DefaultGlobalShortcutRegister.class).in(Singleton.class);
+ bind(MaskWidgetView.class).to(MaskWidget.class).in(Singleton.class);
+
+ // Core App
+ bind(Session.class).to(SessionDefault.class).in(Singleton.class);
+ bind(ErrorHandler.class).in(Singleton.class);
+ bind(StateManagerDefault.class).in(Singleton.class);
+ bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
+ bind(AccessRightsClientManager.class).in(Singleton.class);
+ bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
+ bind(HistoryWrapper.class).to(HistoryWrapperDefault.class).in(Singleton.class);
+ bind(PrefetchUtilities.class).in(Singleton.class);
+ bind(AppStarter.class).to(AppStarterDefault.class).in(Singleton.class);
+ bind(CookiesManager.class).to(CookiesManagerImpl.class).in(Singleton.class);
+ bind(BeforeSignOut.class).in(Singleton.class);
+ bind(SiteTokenListeners.class).asEagerSingleton();
+ bind(CoreParts.class).asEagerSingleton();
+
+ // SN
+ bind(SNAdminsMenuItemsRegistry.class).in(Singleton.class);
+ bind(SNCollabsMenuItemsRegistry.class).in(Singleton.class);
+ bind(SNPendingsMenuItemsRegistry.class).in(Singleton.class);
+ bind(GroupMembersActionsRegistry.class).in(Singleton.class);
+
+ bind(SiteUserOptions.class).to(SiteUserOptionsPresenter.class).in(Singleton.class);
+ bind(SitebarNewGroupLink.class).in(Singleton.class);
+ bind(SitebarSignInLink.class).in(Singleton.class);
+ bind(SitebarSignOutLink.class).in(Singleton.class);
+
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,27 +0,0 @@
-package cc.kune.core.client;
-
-import cc.kune.core.client.init.AppStartEvent;
-import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
-import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
-import cc.kune.core.client.sn.GroupMembersPresenter;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class CoreParts {
-
- @Inject
- public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter,
- final Provider<SiteUserOptionsPresenter> userOptions, final Provider<EntityLicensePresenter> licenseFooter) {
- session.onInitDataReceived(new AppStartHandler() {
- @Override
- public void onAppStart(final AppStartEvent event) {
- grouMembersPresenter.get();
- userOptions.get();
- licenseFooter.get();
- }
- });
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java (from rev 1248, trunk/src/main/java/cc/kune/core/client/CoreParts.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,30 @@
+package cc.kune.core.client;
+
+import cc.kune.chat.client.AddAsBuddieHeaderButton;
+import cc.kune.core.client.init.AppStartEvent;
+import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
+import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
+import cc.kune.core.client.sn.GroupMembersPresenter;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class CoreParts {
+
+ @Inject
+ public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter,
+ final Provider<SiteUserOptionsPresenter> userOptions, final Provider<EntityLicensePresenter> licenseFooter,
+ final Provider<AddAsBuddieHeaderButton> buddieButton) {
+ session.onInitDataReceived(new AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ grouMembersPresenter.get();
+ userOptions.get();
+ licenseFooter.get();
+ buddieButton.get();
+ }
+ });
+ }
+}
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/client/ws/entheader (from rev 1248, trunk/src/main/java/cc/kune/core/client/ws/entheader)
Deleted: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,935 +0,0 @@
-@CHARSET "UTF-8";
-
-body {
- background-color: white;
- color: black;
- font-family: 'Ubuntu', Arial;
- font-size: small;
- margin: 5px;
- overflow: hidden;
-}
-
-* {
- font-family: 'Ubuntu', Arial;
-}
-
-body.fontface {
- font: 'Ubuntu', Arial;
-}
-
-/*
-a {
- color: darkblue;
-}
-
-a:visited {
- color: darkblue;
-}
-*/
-.gwt-DialogBox {
- border: 2px solid #AAAAAA;
- background-color: white;
-}
-
-.gwt-DialogBox .Caption {
- background-image: url(gray_gradient.gif);
- background-repeat: repeat-x;
- padding: 4px;
- padding-bottom: 8px;
- font-weight: bold;
- cursor: default;
-}
-
-.gwt-MenuBar {
- background-color: #C3D9FF;
- cursor: default;
-}
-
-.gwt-MenuItem {
- font-size: 80%;
- margin: 1px;
- cursor: default;
-}
-
-.gwt-MenuItem-selected {
- background-color: #E8EEF7;
-}
-
-.gwt-Tree {
-
-}
-
-.gwt-Tree .gwt-TreeItem {
- font-size: 80%;
- cursor: default;
-}
-
-.gwt-Tree .gwt-TreeItem-selected {
- background-color: #C3D9FF;
-}
-
-.gwt-StackPanel {
- background-color: white;
- border: 1px solid #AAAAAA;
- width: 15em;
-}
-
-.gwt-StackPanel .gwt-StackPanelItem {
- background-image: url(blue_gradient.gif);
- background-repeat: repeat-x;
- background-color: #EEEEEE;
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-StackPanel .gwt-StackPanelItem-selected {
-
-}
-
-.gwt-TabPanel {
-
-}
-
-.gwt-TabPanelBottom {
- border-left: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
-}
-
-.gwt-TabBar {
- font-size: smaller;
-}
-
-.gwt-TabBar .gwt-TabBarFirst {
- height: 100%;
- border-bottom: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- padding-left: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarRest {
- border-bottom: 1px solid #87b3ff;
- padding-right: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarItem {
- border-top: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
- padding: 2px;
- cursor: hand;
- white-space: nowrap;
- border-right: 1px solid #87b3ff;
-}
-
-.gwt-TabBar .gwt-TabBarItem-selected {
- font-weight: bold;
- background-color: #e8eef7;
- border-top: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #e8eef7;
- padding: 2px;
- cursor: default;
- white-space: nowrap;
-}
-
-.gwt-PushButton-up {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-PushButton-up-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-PushButton-down {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-PushButton-down-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-ToggleButton-up {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-ToggleButton-up-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-ToggleButton-down {
- background-color: #C3D9FF;
- padding: 2px;
- background-color: #E8F1FF;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-ToggleButton-down-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- background-color: #E8F1FF;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-RichTextArea {
- border: 1px solid black;
- background-color: white;
-}
-
-.gwt-RichTextToolbar {
- background-color: #C3D9FF;
- padding: 2px;
-}
-
-.gwt-RichTextToolbar .gwt-PushButton-up {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
-}
-
-.gwt-RichTextToolbar .gwt-PushButton-up-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
-}
-
-.gwt-RichTextToolbar .gwt-PushButton-down {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
-}
-
-.gwt-RichTextToolbar .gwt-PushButton-down-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
-}
-
-.gwt-RichTextToolbar .gwt-ToggleButton-up {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
-}
-
-.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
-}
-
-.gwt-RichTextToolbar .gwt-ToggleButton-down {
- margin-right: 2px;
- background-color: #E8F1FF;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
-}
-
-.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering {
- margin-right: 2px;
- background-color: #E8F1FF;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
-}
-
-.gwt-HorizontalSplitPanel {
- border: 8px solid #C3D9FF;
-}
-
-.gwt-HorizontalSplitPanel .splitter {
- background-color: #C3D9FF;
- cursor: move;
-}
-
-.gwt-HorizontalSplitPanel .left {
- background-color: #E8EEF7;
-}
-
-.gwt-VerticalSplitPanel {
- border: 8px solid #C3D9FF;
-}
-
-.gwt-VerticalSplitPanel .splitter {
- background-color: #C3D9FF;
- height: 8px;
- cursor: move;
-}
-
-.gwt-SuggestBoxPopup {
- border: 2px solid #C3D9FF;
-}
-
-.gwt-SuggestBoxPopup .item {
- padding: 2px;
-}
-
-.gwt-SuggestBoxPopup .item-selected {
- background-color: #C3D9FF;
- padding: 2px;
-}
-
-.gwt-DisclosurePanel {
- border: 2px solid #C3D9FF;
-}
-
-.gwt-DisclosurePanel .header {
- background-color: #e8eef7;
- cursor: hand;
-}
-
-.gwt-SplitLayoutPanel {
-
-}
-
-.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 {
- background-color: #FF9999;
- -webkit-border-bottom-right-radius: 4px;
- -moz-border-radius-bottomright: 4px;
- border-bottom-right-radius: 4px;
- padding: 0 1px 0 3px;
- border-collapse: separate;
- border-spacing: 2px;
-}
-
-.kLoadingLabel {
- font-size: 14px;
- color: white;
- font-weight: bold;
- padding: 0 5px 0 5px;
-}
-
-.k-space-sel {
- margin-right: 10px;
- background-color: #F2F2F2;
-}
-
-.k-space-sel-btn {
- padding: 0 1px 0 1px;
- margin: 0 0 -2px;
-}
-
-.k-sitebar-logo {
- margin-top: 2px;
-}
-
-.x-btn button {
- font: 18px/27px 'Ubuntu', arial;
-}
-
-.k-btn-sitebar,.k-btn-sitebar button {
- font: 13px 'Ubuntu', arial;
- color: #B3B3B3;
- cursor: pointer;
- text-decoration: underline;
- white-space: nowrap;
-}
-
-.k-btn-sitebar button {
- margin-top: -5px;
-}
-
-.k-sitebar { /* margin-top: -30px; */
-
-}
-
-.k-link {
- text-decoration: underline;
- color: green;
- cursor: pointer;
-}
-
-/* Margins */
-.kune-Margin-40-trbl {
- margin: 40px;
-}
-
-.kune-Margin-40-lr {
- margin-left: 40px;
- margin-right: 40px;
-}
-
-.kune-Margin-40-tl {
- margin-top: 40px;
- margin-left: 40px;
-}
-
-.kune-Margin-40-tb {
- margin-top: 40px;
- margin-bottom: 40px;
-}
-
-.kune-Margin-40-t {
- margin-top: 40px;
-}
-
-.kune-Margin-40-r {
- margin-right: 40px;
-}
-
-.kune-Margin-40-l {
- margin-left: 40px;
-}
-
-.kune-Margin-20-trbl {
- margin: 20px;
-}
-
-.kune-Margin-20-lr {
- margin-left: 20px;
- margin-right: 20px;
-}
-
-.kune-Margin-20-tl {
- margin-top: 20px;
- margin-left: 20px;
-}
-
-.kune-Margin-20-tb {
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-.kune-Margin-20-t {
- margin-top: 20px;
-}
-
-.kune-Margin-20-r {
- margin-right: 20px;
-}
-
-.kune-Margin-20-l {
- margin-left: 20px;
-}
-
-.kune-Margin-Large-trbl {
- margin: 10px;
-}
-
-.kune-Margin-Large-lr {
- margin-left: 10px;
- margin-right: 10px;
-}
-
-.kune-Margin-Large-tl {
- margin-top: 10px;
- margin-left: 10px;
-}
-
-.kune-Margin-Large-tb {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-.kune-Margin-Large-t {
- margin-top: 10px;
-}
-
-.kune-Margin-Large-r {
- margin-right: 10px;
-}
-
-.kune-Margin-Large-l {
- margin-left: 10px;
-}
-
-.kune-Margin-7-trbl {
- margin: 7px;
-}
-
-.kune-Margin-7-lr {
- margin-left: 7px;
- margin-right: 7px;
-}
-
-.kune-Margin-7-tl {
- margin-top: 7px;
- margin-left: 7px;
-}
-
-.kune-Margin-7-tb {
- margin-top: 7px;
- margin-bottom: 7px;
-}
-
-.kune-Margin-7-t {
- margin-top: 7px;
-}
-
-.kune-Margin-7-r {
- margin-right: 7px;
-}
-
-.kune-Margin-7-b {
- margin-bottom: 7px;
-}
-
-.kune-Margin-7-l {
- margin-left: 7px;
-}
-
-.kune-Margin-Medium-trbl {
- margin: 5px;
-}
-
-.kune-Margin-Medium-lr {
- margin-left: 5px;
- margin-right: 5px;
-}
-
-.kune-Margin-Medium-tl {
- margin-top: 5px;
- margin-left: 5px;
-}
-
-.kune-Margin-Medium-tb {
- margin-top: 5px;
- margin-bottom: 5px;
-}
-
-.kune-Margin-Medium-t {
- margin-top: 5px;
-}
-
-.kune-Margin-Medium-r {
- margin-right: 5px;
-}
-
-.kune-Margin-Medium-b {
- margin-bottom: 5px;
-}
-
-.kune-Margin-Medium-l {
- margin-left: 5px;
-}
-
-.kune-Margin-Small-trbl {
- margin: 3px;
-}
-
-.kune-Margin-Small-lr {
- margin-left: 3px;
- margin-right: 3px;
-}
-
-.kune-Margin-Small-tl {
- margin-top: 3px;
- margin-left: 3px;
-}
-
-.kune-Margin-Small-tb {
- margin-top: 3px;
- margin-bottom: 3px;
-}
-
-.kune-Margin-Small-t {
- margin-top: 3px;
-}
-
-.kune-Margin-Small-l {
- margin-left: 3px;
-}
-
-.kune-Margin-Small-r {
- margin-right: 3px;
-}
-
-.kune-Margin-Small-b {
- margin-bottom: 3px;
-}
-
-.kune-Margin-Mini-trbl {
- margin: 1px;
-}
-
-.kune-Margin-Mini-lr {
- margin-left: 1px;
- margin-right: 1px;
-}
-
-.kune-Margin-Mini-tl {
- margin-top: 1px;
- margin-left: 1px;
-}
-
-.kune-Margin-Mini-tb {
- margin-top: 1px;
- margin-bottom: 1px;
-}
-
-.kune-Margin-Mini-t {
- margin-top: 1px;
-}
-
-.kune-Margin-Mini-r {
- margin-right: 1px;
-}
-
-.kune-Margin-Mini-b {
- margin-bottom: 1px;
-}
-
-.kune-Margin-Mini-l {
- margin-left: 1px;
-}
-
-.k-publicspace-msg {
- background-color: #E0E0E0;
-}
-
-.k-publicspace-mask { /* background-color: #fff !important;
- kfilter: alpha(opacity = 68) !important;
- -moz-opacity: 0.68 !important;
- -khtml-opacity: 0.68 !important;
- opacity: 0.68 !important;*/
-
-}
-
-.k-publicspace-panel {
- margin: 5px;
- display: table-row;
-}
-
-.k-publicspace-icon {
- margin: 3px 3px 3px 0;
- float: left;
-}
-
-.k-publicspace-title {
- font-weight: bold;
- display: block;
- margin-bottom: 5px;
- font-size: 16px;
- display: table-caption;
-}
-
-.k-publicspace-description {
- font-size: 14px;
- display: table-cell;
-}
-
-.k-publicspace-actions {
- display: inline;
-}
-
-.k-message-panel {
- margin: 5px;
- display: table-row;
-}
-
-.k-message-icon {
- margin: 3px 3px 3px 0;
- float: left;
-}
-
-.k-message-title {
- font-weight: bold;
- display: block;
- margin-bottom: 5px;
- font-size: 16px;
- display: table-caption;
-}
-
-.k-message-description {
- font-size: 14px;
- display: table-cell;
-}
-
-.k-error-tb {
- background: #FFB380 none repeat scroll 0% 50%;
- /* color: #250; */
- padding: 10px;
-}
-
-.k-error-tb img {
- margin: 0 10px;
- float: left;
-}
-
-.k-error-tb div {
- font-size: 14px;
- display: table-cell;
-}
-
-.k-mask {
- background-color: #F2F2F2 !important;
- /* kfilter: alpha(opacity = 78) !important; */
- -moz-opacity: 0.78 !important;
- -khtml-opacity: 0.78 !important;
- opacity: 0.78 !important;
-}
-
-.x-form-item-label {
- font-size: 14px;
- font-weight: bold;
- color: brown;
-}
-
-.x-form-text {
- font-size: 14px;
-}
-
-.x-fieldset-header-text,.x-form-group-label,.x-form-cb-label {
- font-size: 14px;
- font-family: 'Ubuntu', Arial;
-}
-
-.k-form-intro {
- font-size: 14px;
- margin-bottom: 10px;
-}
-
-.k-form-fieldset {
- font-size: 16px;
- margin-left: 105px;
-}
-
-.k-basic-thumb {
- background-color: #F2F2F2;
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
-}
-
-.k-basic-thumb img {
- margin: 2px 2px 0px 2px;
-}
-
-.k-basic-thumb div {
- margin: -3px 0px 0px 0px;
- font-weight: normal;
- font-size: 12px;
-}
-
-.k-sn-mainpanel {
- font-size: 16px;
- font-weight: bold;
-}
-
-.k-sn-maintitle {
- margin: 5px;
-}
-
-.k-sn-maintitle {
- color: #a05a2c;
- font-size: 20px;
-}
-
-.k-sn-adminslabel,.k-sn-collabslabel,.k-sn-pendingslabel {
- color: #FFF;
- text-transform: lowercase;
- padding-left: 10px;
- float: left;
-}
-
-.k-sn-adminsCountlabel,.k-sn-collabsCountlabel,.k-sn-pendingsCountlabel
- {
- float: left;
- padding-left: 5px;
- color: #e0e0e0;
-}
-
-.k-sn-adminslabel {
-
-}
-
-.k-sn-mainpanel .k-basic-thumb {
- float: left;
-}
-
-/*
-.k-sn-mainpanel .x-btn button {
- text-decoration: underline;
- white-space: nowrap;
-}
-*/
-.k-sn-mainpanel .x-btn button {
- font: 13px 'Ubuntu', arial;
- border: 2px solid #CCCCCC;
- cursor: pointer;
- margin: 0;
- padding: 3px 0;
- text-decoration: none;
- background-color: #F2F2F2;
- color: #855585;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- vertical-align: middle;
- line-height: 2em !important;
- height: 26px !important;
- /*
-font-size:small;
- cursor: pointer;
- border: 2px gray solid;
- padding-left: 25px !important; */
-}
-
-.k-sn-mainpanel .x-btn button:hover {
- border: 2px orange solid;
- background: #f0f0f0;
- color: #855585;
-}
-
-.k-sn-mainpanel .x-btn button:active {
- border-top-color: #ffffff;
- background: #ffffff;
-}
-
-.k-sn-collabslabel {
-
-}
-
-.k-sn-pendingslabel {
-
-}
-
-.k-sn-orphan-label {
- padding: 10px;
-}
-
-.k-sn-novisible-label {
- padding: 10px;
-}
-
-.k-sn-adminspanel {
- background-color: #a05a2c;
-}
-
-.k-sn-collabspanel {
-
-}
-
-.k-sn-pendingspanel { /* background-color: #a05a2c; */
-
-}
-
-.k-sn-adminsscroll,.k-sn-collabsscroll,.k-sn-pendingsscroll {
-
-}
-
-.k-sn-adminsflow,.k-sn-collabsflow,.k-sn-pendingsflow {
- margin-left: 10px;
-}
-
-.k-sn-adminsscroll {
-
-}
-
-.k-sn-collabsscroll {
-
-}
-
-.k-sn-pendingsscroll {
-
-}
-
-.k-userconfirm-label {
- width: 300px;
- margin: 10px;
-}
-
-.k-sn-deck {
-
-}
-
-.k-sn-bottomPanel {
- padding: 0 10px;
- float: right;
-}
-
-.k-sn-bottomPanel-actions {
- width: 100%;
-}
-
-.k-sn-novisible-label,.k-sn-orphan-label {
- color: #FFF;
- font-size: 16px;
- font-weight: bold;
-}
-
-.k-frame-def {
- margin: 0px;
- border: 0px;
-}
-
-.k-maxsize {
- width: 100%;
- height: 100%;
-}
-
-.k-footer-license-label {
- float: right;
- margin-top: 8px;
- cursor: pointer;
- font-weight: bold;
- font-size: 16px;
- color: #784421;
-}
-.k-footer-license-label-title {
- margin-right: 5px;
- color: #280b0b;
-}
-
-.k-footer-license-img {
- float: right;
- margin: 10px 15px 0px 5px;
- cursor: pointer;
-}
\ No newline at end of file
Copied: branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css (from rev 1248, trunk/src/main/java/cc/kune/core/public/ws.css)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/cc/kune/core/public/ws.css 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,1011 @@
+@CHARSET "UTF-8";
+
+body {
+ background-color: white;
+ color: black;
+ font-family: 'Ubuntu', Arial;
+ font-size: small;
+ margin: 5px;
+ overflow: hidden;
+}
+
+* {
+ font-family: 'Ubuntu', Arial;
+}
+
+body.fontface {
+ font: 'Ubuntu', Arial;
+}
+
+/*
+a {
+ color: darkblue;
+}
+
+a:visited {
+ color: darkblue;
+}
+*/
+.gwt-DialogBox {
+ border: 2px solid #AAAAAA;
+ background-color: white;
+}
+
+.gwt-DialogBox .Caption {
+ background-image: url(gray_gradient.gif);
+ background-repeat: repeat-x;
+ padding: 4px;
+ padding-bottom: 8px;
+ font-weight: bold;
+ cursor: default;
+}
+
+.gwt-MenuBar {
+ background-color: #C3D9FF;
+ cursor: default;
+}
+
+.gwt-MenuItem {
+ font-size: 80%;
+ margin: 1px;
+ cursor: default;
+}
+
+.gwt-MenuItem-selected {
+ background-color: #E8EEF7;
+}
+
+.gwt-Tree {
+
+}
+
+.gwt-Tree .gwt-TreeItem {
+ font-size: 80%;
+ cursor: default;
+}
+
+.gwt-Tree .gwt-TreeItem-selected {
+ background-color: #C3D9FF;
+}
+
+.gwt-StackPanel {
+ background-color: white;
+ border: 1px solid #AAAAAA;
+ width: 15em;
+}
+
+.gwt-StackPanel .gwt-StackPanelItem {
+ background-image: url(blue_gradient.gif);
+ background-repeat: repeat-x;
+ background-color: #EEEEEE;
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-StackPanel .gwt-StackPanelItem-selected {
+
+}
+
+.gwt-TabPanel {
+
+}
+
+.gwt-TabPanelBottom {
+ border-left: 1px solid #87b3ff;
+ border-right: 1px solid #87b3ff;
+ border-bottom: 1px solid #87b3ff;
+}
+
+.gwt-TabBar {
+ font-size: smaller;
+}
+
+.gwt-TabBar .gwt-TabBarFirst {
+ height: 100%;
+ border-bottom: 1px solid #87b3ff;
+ border-right: 1px solid #87b3ff;
+ padding-left: 3px;
+}
+
+.gwt-TabBar .gwt-TabBarRest {
+ border-bottom: 1px solid #87b3ff;
+ padding-right: 3px;
+}
+
+.gwt-TabBar .gwt-TabBarItem {
+ border-top: 1px solid #87b3ff;
+ border-bottom: 1px solid #87b3ff;
+ padding: 2px;
+ cursor: hand;
+ white-space: nowrap;
+ border-right: 1px solid #87b3ff;
+}
+
+.gwt-TabBar .gwt-TabBarItem-selected {
+ font-weight: bold;
+ background-color: #e8eef7;
+ border-top: 1px solid #87b3ff;
+ border-right: 1px solid #87b3ff;
+ border-bottom: 1px solid #e8eef7;
+ padding: 2px;
+ cursor: default;
+ white-space: nowrap;
+}
+
+.gwt-PushButton-up {
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-PushButton-up-hovering {
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-PushButton-down {
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-PushButton-down-hovering {
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-ToggleButton-up {
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-ToggleButton-up-hovering {
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-ToggleButton-down {
+ background-color: #C3D9FF;
+ padding: 2px;
+ background-color: #E8F1FF;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-ToggleButton-down-hovering {
+ background-color: #C3D9FF;
+ padding: 2px;
+ background-color: #E8F1FF;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-RichTextArea {
+ border: 1px solid black;
+ background-color: white;
+}
+
+.gwt-RichTextToolbar {
+ background-color: #C3D9FF;
+ padding: 2px;
+}
+
+.gwt-RichTextToolbar .gwt-PushButton-up {
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+}
+
+.gwt-RichTextToolbar .gwt-PushButton-up-hovering {
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+}
+
+.gwt-RichTextToolbar .gwt-PushButton-down {
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+}
+
+.gwt-RichTextToolbar .gwt-PushButton-down-hovering {
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+}
+
+.gwt-RichTextToolbar .gwt-ToggleButton-up {
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+}
+
+.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering {
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+}
+
+.gwt-RichTextToolbar .gwt-ToggleButton-down {
+ margin-right: 2px;
+ background-color: #E8F1FF;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+}
+
+.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering {
+ margin-right: 2px;
+ background-color: #E8F1FF;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+}
+
+.gwt-HorizontalSplitPanel {
+ border: 8px solid #C3D9FF;
+}
+
+.gwt-HorizontalSplitPanel .splitter {
+ background-color: #C3D9FF;
+ cursor: move;
+}
+
+.gwt-HorizontalSplitPanel .left {
+ background-color: #E8EEF7;
+}
+
+.gwt-VerticalSplitPanel {
+ border: 8px solid #C3D9FF;
+}
+
+.gwt-VerticalSplitPanel .splitter {
+ background-color: #C3D9FF;
+ height: 8px;
+ cursor: move;
+}
+
+.gwt-SuggestBoxPopup {
+ border: 2px solid #C3D9FF;
+}
+
+.gwt-SuggestBoxPopup .item {
+ padding: 2px;
+}
+
+.gwt-SuggestBoxPopup .item-selected {
+ background-color: #C3D9FF;
+ padding: 2px;
+}
+
+.gwt-DisclosurePanel {
+ border: 2px solid #C3D9FF;
+}
+
+.gwt-DisclosurePanel .header {
+ background-color: #e8eef7;
+ cursor: hand;
+}
+
+.gwt-SplitLayoutPanel {
+
+}
+
+.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 {
+ background-color: #FF9999;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+ padding: 0 1px 0 3px;
+ border-collapse: separate;
+ border-spacing: 2px;
+}
+
+.kLoadingLabel {
+ font-size: 14px;
+ color: white;
+ font-weight: bold;
+ padding: 0 5px 0 5px;
+}
+
+.k-space-sel {
+ margin-right: 10px;
+ background-color: #F2F2F2;
+}
+
+.k-space-sel-btn {
+ padding: 0 1px 0 1px;
+ margin: 0 0 -2px;
+}
+
+.k-sitebar-logo {
+ margin-top: 2px;
+}
+
+.x-btn button {
+ font: 18px/27px 'Ubuntu', arial;
+}
+
+.k-btn-sitebar,.k-btn-sitebar button {
+ font: 13px 'Ubuntu', arial;
+ color: #B3B3B3;
+ cursor: pointer;
+ text-decoration: underline;
+ white-space: nowrap;
+}
+
+.k-btn-sitebar button {
+ margin-top: -5px;
+}
+
+.k-sitebar { /* margin-top: -30px; */
+
+}
+
+.k-link {
+ text-decoration: underline;
+ color: green;
+ cursor: pointer;
+}
+
+/* Margins */
+.kune-Margin-40-trbl {
+ margin: 40px;
+}
+
+.kune-Margin-40-lr {
+ margin-left: 40px;
+ margin-right: 40px;
+}
+
+.kune-Margin-40-tl {
+ margin-top: 40px;
+ margin-left: 40px;
+}
+
+.kune-Margin-40-tb {
+ margin-top: 40px;
+ margin-bottom: 40px;
+}
+
+.kune-Margin-40-t {
+ margin-top: 40px;
+}
+
+.kune-Margin-40-r {
+ margin-right: 40px;
+}
+
+.kune-Margin-40-l {
+ margin-left: 40px;
+}
+
+.kune-Margin-20-trbl {
+ margin: 20px;
+}
+
+.kune-Margin-20-lr {
+ margin-left: 20px;
+ margin-right: 20px;
+}
+
+.kune-Margin-20-tl {
+ margin-top: 20px;
+ margin-left: 20px;
+}
+
+.kune-Margin-20-tb {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+.kune-Margin-20-t {
+ margin-top: 20px;
+}
+
+.kune-Margin-20-r {
+ margin-right: 20px;
+}
+
+.kune-Margin-20-l {
+ margin-left: 20px;
+}
+
+.kune-Margin-Large-trbl {
+ margin: 10px;
+}
+
+.kune-Margin-Large-lr {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+.kune-Margin-Large-tl {
+ margin-top: 10px;
+ margin-left: 10px;
+}
+
+.kune-Margin-Large-tb {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.kune-Margin-Large-t {
+ margin-top: 10px;
+}
+
+.kune-Margin-Large-r {
+ margin-right: 10px;
+}
+
+.kune-Margin-Large-l {
+ margin-left: 10px;
+}
+
+.kune-Margin-7-trbl {
+ margin: 7px;
+}
+
+.kune-Margin-7-lr {
+ margin-left: 7px;
+ margin-right: 7px;
+}
+
+.kune-Margin-7-tl {
+ margin-top: 7px;
+ margin-left: 7px;
+}
+
+.kune-Margin-7-tb {
+ margin-top: 7px;
+ margin-bottom: 7px;
+}
+
+.kune-Margin-7-t {
+ margin-top: 7px;
+}
+
+.kune-Margin-7-r {
+ margin-right: 7px;
+}
+
+.kune-Margin-7-b {
+ margin-bottom: 7px;
+}
+
+.kune-Margin-7-l {
+ margin-left: 7px;
+}
+
+.kune-Margin-Medium-trbl {
+ margin: 5px;
+}
+
+.kune-Margin-Medium-lr {
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+.kune-Margin-Medium-tl {
+ margin-top: 5px;
+ margin-left: 5px;
+}
+
+.kune-Margin-Medium-tb {
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+.kune-Margin-Medium-t {
+ margin-top: 5px;
+}
+
+.kune-Margin-Medium-r {
+ margin-right: 5px;
+}
+
+.kune-Margin-Medium-b {
+ margin-bottom: 5px;
+}
+
+.kune-Margin-Medium-l {
+ margin-left: 5px;
+}
+
+.kune-Margin-Small-trbl {
+ margin: 3px;
+}
+
+.kune-Margin-Small-lr {
+ margin-left: 3px;
+ margin-right: 3px;
+}
+
+.kune-Margin-Small-tl {
+ margin-top: 3px;
+ margin-left: 3px;
+}
+
+.kune-Margin-Small-tb {
+ margin-top: 3px;
+ margin-bottom: 3px;
+}
+
+.kune-Margin-Small-t {
+ margin-top: 3px;
+}
+
+.kune-Margin-Small-l {
+ margin-left: 3px;
+}
+
+.kune-Margin-Small-r {
+ margin-right: 3px;
+}
+
+.kune-Margin-Small-b {
+ margin-bottom: 3px;
+}
+
+.kune-Margin-Mini-trbl {
+ margin: 1px;
+}
+
+.kune-Margin-Mini-lr {
+ margin-left: 1px;
+ margin-right: 1px;
+}
+
+.kune-Margin-Mini-tl {
+ margin-top: 1px;
+ margin-left: 1px;
+}
+
+.kune-Margin-Mini-tb {
+ margin-top: 1px;
+ margin-bottom: 1px;
+}
+
+.kune-Margin-Mini-t {
+ margin-top: 1px;
+}
+
+.kune-Margin-Mini-r {
+ margin-right: 1px;
+}
+
+.kune-Margin-Mini-b {
+ margin-bottom: 1px;
+}
+
+.kune-Margin-Mini-l {
+ margin-left: 1px;
+}
+
+.k-publicspace-msg {
+ background-color: #E0E0E0;
+}
+
+.k-publicspace-mask { /* background-color: #fff !important;
+ kfilter: alpha(opacity = 68) !important;
+ -moz-opacity: 0.68 !important;
+ -khtml-opacity: 0.68 !important;
+ opacity: 0.68 !important;*/
+
+}
+
+.k-publicspace-panel {
+ margin: 5px;
+ display: table-row;
+}
+
+.k-publicspace-icon {
+ margin: 3px 3px 3px 0;
+ float: left;
+}
+
+.k-publicspace-title {
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+ font-size: 16px;
+ display: table-caption;
+}
+
+.k-publicspace-description {
+ font-size: 14px;
+ display: table-cell;
+}
+
+.k-publicspace-actions {
+ display: inline;
+}
+
+.k-message-panel {
+ margin: 5px;
+ display: table-row;
+}
+
+.k-message-icon {
+ margin: 3px 3px 3px 0;
+ float: left;
+}
+
+.k-message-title {
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+ font-size: 16px;
+ display: table-caption;
+}
+
+.k-message-description {
+ font-size: 14px;
+ display: table-cell;
+}
+
+.k-error-tb {
+ background: #FFB380 none repeat scroll 0% 50%;
+ /* color: #250; */
+ padding: 10px;
+}
+
+.k-error-tb img {
+ margin: 0 10px;
+ float: left;
+}
+
+.k-error-tb div {
+ font-size: 14px;
+ display: table-cell;
+}
+
+.k-mask {
+ background-color: #F2F2F2 !important;
+ /* kfilter: alpha(opacity = 78) !important; */
+ -moz-opacity: 0.78 !important;
+ -khtml-opacity: 0.78 !important;
+ opacity: 0.78 !important;
+}
+
+.x-form-item-label {
+ font-size: 14px;
+ font-weight: bold;
+ color: brown;
+}
+
+.x-form-text {
+ font-size: 14px;
+}
+
+.x-fieldset-header-text,.x-form-group-label,.x-form-cb-label {
+ font-size: 14px;
+ font-family: 'Ubuntu', Arial;
+}
+
+.k-form-intro {
+ font-size: 14px;
+ margin-bottom: 10px;
+}
+
+.k-form-fieldset {
+ font-size: 16px;
+ margin-left: 105px;
+}
+
+.k-basic-thumb {
+ background-color: #F2F2F2;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.k-basic-thumb img {
+ margin: 2px 2px 0px 2px;
+}
+
+.k-basic-thumb div {
+ margin: -3px 0px 0px 0px;
+ font-weight: normal;
+ font-size: 12px;
+}
+
+.k-sn-mainpanel {
+ font-size: 16px;
+ font-weight: bold;
+}
+
+.k-sn-maintitle {
+ margin: 5px;
+}
+
+.k-sn-maintitle {
+ color: #a05a2c;
+ font-size: 20px;
+}
+
+.k-sn-adminslabel,.k-sn-collabslabel,.k-sn-pendingslabel {
+ color: #FFF;
+ text-transform: lowercase;
+ padding-left: 10px;
+ float: left;
+}
+
+.k-sn-adminsCountlabel,.k-sn-collabsCountlabel,.k-sn-pendingsCountlabel
+ {
+ float: left;
+ padding-left: 5px;
+ color: #e0e0e0;
+}
+
+.k-sn-adminslabel {
+
+}
+
+.k-sn-mainpanel .k-basic-thumb {
+ float: left;
+}
+
+/*
+.k-sn-mainpanel .x-btn button {
+ text-decoration: underline;
+ white-space: nowrap;
+}
+*/
+.k-sn-mainpanel .x-btn button {
+ font: 13px 'Ubuntu', arial;
+ border: 2px solid #CCCCCC;
+ cursor: pointer;
+ margin: 0;
+ padding: 3px 0;
+ text-decoration: none;
+ background-color: #F2F2F2;
+ color: #855585;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ vertical-align: middle;
+ line-height: 2em !important;
+ height: 26px !important;
+ /*
+font-size:small;
+ cursor: pointer;
+ border: 2px gray solid;
+ padding-left: 25px !important; */
+}
+
+.k-sn-mainpanel .x-btn button:hover {
+ border: 2px orange solid;
+ background: #f0f0f0;
+ color: #855585;
+}
+
+.k-sn-mainpanel .x-btn button:active {
+ border-top-color: #ffffff;
+ background: #ffffff;
+}
+
+.k-sn-collabslabel {
+
+}
+
+.k-sn-pendingslabel {
+
+}
+
+.k-sn-orphan-label {
+ padding: 10px;
+}
+
+.k-sn-novisible-label {
+ padding: 10px;
+}
+
+.k-sn-adminspanel {
+ background-color: #a05a2c;
+}
+
+.k-sn-collabspanel {
+
+}
+
+.k-sn-pendingspanel { /* background-color: #a05a2c; */
+
+}
+
+.k-sn-adminsscroll,.k-sn-collabsscroll,.k-sn-pendingsscroll {
+
+}
+
+.k-sn-adminsflow,.k-sn-collabsflow,.k-sn-pendingsflow {
+ margin-left: 10px;
+}
+
+.k-sn-adminsscroll {
+
+}
+
+.k-sn-collabsscroll {
+
+}
+
+.k-sn-pendingsscroll {
+
+}
+
+.k-userconfirm-label {
+ width: 300px;
+ margin: 10px;
+}
+
+.k-sn-deck {
+
+}
+
+.k-sn-bottomPanel {
+ padding: 0 10px;
+ float: right;
+}
+
+.k-sn-bottomPanel-actions {
+ width: 100%;
+}
+
+.k-sn-novisible-label,.k-sn-orphan-label {
+ color: #FFF;
+ font-size: 16px;
+ font-weight: bold;
+}
+
+.k-frame-def {
+ margin: 0px;
+ border: 0px;
+}
+
+.k-maxsize {
+ width: 100%;
+ height: 100%;
+}
+
+.k-footer-license-label {
+ float: right;
+ margin-top: 8px;
+ cursor: pointer;
+ font-weight: bold;
+ font-size: 16px;
+ color: #784421;
+}
+
+.k-footer-license-label-title {
+ margin-right: 5px;
+ color: #280b0b;
+}
+
+.k-footer-license-img {
+ float: right;
+ margin: 10px 15px 0px 5px;
+ cursor: pointer;
+}
+
+
+.k-entitytextlogo-border {
+ border: 2px solid #F2F2F2;
+}
+
+.k-entitytextlogo-no-border {
+ border: none;
+}
+
+.k-entitytextlogo {
+ height: 60px;
+ margin: 5px;
+ overflow: hidden;
+ width: 468px;
+}
+
+.k-entitytextlogo table {
+ vertical-align: middle;
+}
+
+.k-elogo-l-l {
+ font-size: 46px;
+}
+
+.k-elogo-l-m {
+ font-size: 167%;
+}
+
+.k-elogo-l-s {
+ font-size: 108%;
+}
+
+.k-entitytextlogo .gwt-Label {
+ font-weight: 700;
+ margin: 5px;
+ height: 27px;
+}
+
+.k-entitytextlogo-default .gwt-Label {
+ color: #69312F;
+}
+
+.k-entitytextlogo-green .gwt-Label {
+ color: #250;
+}
+
+.k-entitytextlogo-blue .gwt-Label {
+ color: #000080;
+}
+
+.k-entitytextlogo-grey .gwt-Label {
+ color: #1A1A1A;
+}
+
+.k-entitytextlogo-purple .gwt-Label {
+ color: #440055;
+}
+
+.k-entitytextlogo-red .gwt-Label {
+ color: #800000;
+}
+
+.k-elogo-plink {
+ color: #CCC;
+ font-size: 85%;
+ margin: 5px;
+ text-decoration: underline;
+ white-space: nowrap;
+ background-color: #FFF;
+}
+
+.k-elogop-expand {
+ background-color: transparent;
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,1097 +0,0 @@
-.k-site-traybar {
- background: transparent none repeat scroll 0% 50%;
-}
-
-.k-blank-toolbar {
- background: #FFF none repeat scroll 0% 50%;
-}
-
-.k-sitebar .kune-IconHyperlink {
- white-space: nowrap;
-}
-
-.k-sitebar .kune-IconHyperlink a:link {
- cursor: pointer;
- text-decoration: underline;
- color: #B3B3B3;
-}
-
-.k-sitebar .kune-IconHyperlink a:hover {
- text-decoration: underline;
-}
-
-.k-sitebar .kune-IconHyperlink a:visited {
- color: #B3B3B3;
-}
-
-.k-sitebar-labellink {
- white-space: nowrap;
- color: #B3B3B3;
- cursor: pointer;
- text-decoration: underline;
-}
-
-.k-sitebar {
- margin-right: 10px;
- height: 16px;
-}
-
-.k-sitebar .gwt-TextBox {
- border: 1px solid #E4A374;
- margin: 0 15px 0 3px;
- padding-left: 1px;
- color: #B3B3B3;
- background: transparent;
-}
-
-.k-sitebar .gwt-Hyperlink a {
- white-space: nowrap;
- color: #B3B3B3;
- text-decoration: underline;
- cursor: pointer;
-}
-
-.k-sitebar .gwt-PushButton {
- cursor: pointer;
-}
-
-.k-sitebar-LabelLink {
- white-space: nowrap;
- color: #B3B3B3;
- cursor: pointer;
- text-decoration: underline;
-}
-
-.k-entity-summary {
- border-left-color: transparent;
- border-left-width: 5px;
- border-bottom-color: transparent;
- border-bottom-width: 5px;
-}
-
-.k-entitytextlogo-border {
- border: 2px solid #F2F2F2;
-}
-
-.k-entitytextlogo-no-border {
- border: none;
-}
-
-.k-entitytextlogo {
- height: 60px;
- margin: 0 0 4px 0;
- overflow: hidden;
- width: 468px;
-}
-
-.k-entitytextlogo table {
- vertical-align: middle;
-}
-
-.k-elogo-l-l {
- font-size: 272%;
-}
-
-.k-elogo-l-m {
- font-size: 167%;
-}
-
-.k-elogo-l-s {
- font-size: 108%;
-}
-
-.k-entitytextlogo .gwt-Label {
- font-weight: 700;
- margin: 5px;
- height: 27px;
-}
-
-.k-entitytextlogo-default .gwt-Label {
- color: #69312F;
-}
-
-.k-entitytextlogo-green .gwt-Label {
- color: #250;
-}
-
-.k-entitytextlogo-blue .gwt-Label {
- color: #000080;
-}
-
-.k-entitytextlogo-grey .gwt-Label {
- color: #1A1A1A;
-}
-
-.k-entitytextlogo-purple .gwt-Label {
- color: #440055;
-}
-
-.k-entitytextlogo-red .gwt-Label {
- color: #800000;
-}
-
-.k-elogo-plink {
- color: #CCC;
- font-size: 85%;
- margin: 5px;
- text-decoration: underline;
- white-space: nowrap;
- background-color: #FFF;
-}
-
-.k-elogop-expand {
- background-color: transparent;
-}
-
-.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed
- {
- background: #DD8A3D none repeat scroll 0% 50%;
-}
-
-.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed {
- background: #5FD35F none repeat scroll 0% 50%;
-}
-
-.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed {
- background: #0066FF none repeat scroll 0% 50%;
-}
-
-.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed {
- background: #4D4D4D none repeat scroll 0% 50%;
-}
-
-.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed {
- background: #660080 none repeat scroll 0% 50%;
-}
-
-.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed {
- background: #D40000 none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed
- {
- background: transparent none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed
- {
- background: #DEAA87 none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed
- {
- background: #DCE8AB none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed
- {
- background: #D5D5FF none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed
- {
- background: #999999 none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed
- {
- background: #A793AC none repeat scroll 0% 50%;
-}
-
-.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed
- {
- background: #FF5555 none repeat scroll 0% 50%;
-}
-
-.k-entity-title {
- border-left-style: solid;
- border-left-width: 5px;
-}
-
-.k-entity-title div {
- line-height: 22px;
- white-space: nowrap;
-}
-
-.k-entity-subtitle {
-
-}
-
-.k-entity-subtitle div {
- line-height: 22px;
- white-space: nowrap;
-}
-
-.k-entity-title-rd-default {
- background: #DD8A3D;
-}
-
-.k-entity-title-rd-green {
- background: #5FD35F;
-}
-
-.k-entity-title-rd-blue {
- background: #0066FF;
-}
-
-.k-entity-title-rd-grey {
- background: #4D4D4D;
-}
-
-.k-entity-title-rd-purple {
- background: #660080;
-}
-
-.k-entity-title-rd-red {
- background: #D40000;
-}
-
-.k-entity-title-default {
- background: #F1BB59 none repeat scroll 0% 50%;
- border-left-color: #DD8A3D;
-}
-
-.k-entity-title-green {
- background: #AFA none repeat scroll 0% 50%;
- border-left-color: #5FD35F;
-}
-
-.k-entity-title-blue {
- background: #AFDDE9 none repeat scroll 0% 50%;
- border-left-color: #0066FF;
-}
-
-.k-entity-title-grey {
- background: #CCCCCC none repeat scroll 0% 50%;
- border-left-color: #4D4D4D;
-}
-
-.k-entity-title-purple {
- background: #DDAFE9 none repeat scroll 0% 50%;
- border-left-color: #660080;
-}
-
-.k-entity-title-red {
- background: #FF8080 none repeat scroll 0% 50%;
- border-left-color: #D40000;
-}
-
-.k-entity-title-default div {
- color: #69312F;
-}
-
-.k-entity-title-green div {
- color: #250;
-}
-
-.k-entity-title-blue div {
- color: #000080;
-}
-
-.k-entity-title-grey div {
- color: #1A1A1A;
-}
-
-.k-entity-title-purple div {
- color: #440055;
-}
-
-.k-entity-title-red div {
- color: #800000;
-}
-
-.k-entity-subtitle-default {
- background: #DD8A3D none repeat scroll 0% 50%;
-}
-
-.k-entity-subtitle-green {
- background: #5FD35F none repeat scroll 0% 50%;
-}
-
-.k-entity-subtitle-blue {
- background: #0066FF none repeat scroll 0% 50%;
-}
-
-.k-entity-subtitle-grey {
- background: #4D4D4D none repeat scroll 0% 50%;
-}
-
-.k-entity-subtitle-purple {
- background: #660080 none repeat scroll 0% 50%;
-}
-
-.k-entity-subtitle-red {
- background: #D40000 none repeat scroll 0% 50%;
-}
-
-.k-entity-subtitle-default div {
- color: #FFF;
-}
-
-.k-entity-subtitle-green div {
- color: #FFF;
-}
-
-.k-entity-subtitle-blue div {
- color: #FFF;
-}
-
-.k-entity-subtitle-grey div {
- color: #FFF;
-}
-
-.k-entity-subtitle-purple div {
- color: #FFF;
-}
-
-.k-entity-subtitle-red div {
- color: #FFF;
-}
-
-.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default
- {
- background: #DD8A3D;
-}
-
-.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green
- {
- background: #5FD35F;
-}
-
-.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue
- {
- background: #0066FF;
-}
-
-.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey
- {
- background: #4D4D4D;
-}
-
-.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple
- {
- background: #660080;
-}
-
-.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red
- {
- background: #D40000;
-}
-
-.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body
- {
- background: #FFD09D none repeat scroll 0% 50%;
-}
-
-.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body
- {
- background: #CFA none repeat scroll 0% 50%;
-}
-
-.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body
- {
- background: #AACCFF none repeat scroll 0% 50%;
-}
-
-.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body
- {
- background: #B3B3B3 none repeat scroll 0% 50%;
-}
-
-.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body
- {
- background: #DDAFE9 none repeat scroll 0% 50%;
-}
-
-.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body {
- background: #FFAAAA none repeat scroll 0% 50%;
-}
-
-.k-entity-context-purple .x-tree .x-panel-body {
- background: #DDAFE9 none repeat scroll 0% 50%;
-}
-
-.k-entity-content {
- background: #FFF;
-}
-
-.k-entity-bottom div { /* line-height: 24px; */
- color: #FFF;
-}
-
-.k-toolbar-top-line {
- border-top-color: rgb(208, 208, 208);
- border-top-style: solid;
- border-top-width: 1px;
-}
-
-.k-toolbar-bottom-line {
- border-bottom-color: rgb(208, 208, 208);
- border-bottom-style: solid;
- border-bottom-width: 1px;
-}
-
-.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label
- {
- white-space: nowrap;
- font: normal 100% arial, sans;
- line-height: 19px;
-}
-
-.k-toolbar-sep {
- padding-top: 4px;
- padding-left: 5px;
-}
-
-/* Custom gwt-ext styles */
-.ytb-sep {
- background-image:
- url(../js/ext/resources/images/default/grid/grid-split.gif);
- background-position: center;
- background-repeat: no-repeat;
- display: block;
- font-size: 1px;
- height: 16px;
- width: 4px;
- overflow: hidden;
- cursor: default;
- margin: 0 2px 0;
- border: 0;
-}
-
-.ytb-spacer {
- width: 2px;
-}
-
-.x-grid-group-hd {
- border-bottom: 2px solid grey;
- cursor: pointer;
- padding-top: 3px;
-}
-
-/* Drop down */
-.k-dropdownouter {
- background-color: grey;
-}
-
-.k-dropdownouter-members {
-
-}
-
-.k-dropdownouter-members-default {
- background-color: #DF5244;
-}
-
-.k-dropdownouter-members-green {
- background-color: #008000;
-}
-
-.k-dropdownouter-members-blue {
- background-color: #5500D4;
-}
-
-.k-dropdownouter-members-grey {
- background-color: #4D4D4D;
-}
-
-.k-dropdownouter-members-purple {
- background-color: #672178;
-}
-
-.k-dropdownouter-members-red {
- background-color: #A02C2C;
-}
-
-.k-dropdownouter-part {
-
-}
-
-.k-dropdownouter-part-default {
- background-color: #CA5842;
-}
-
-.k-dropdownouter-part-green {
- background-color: #00AA00;
-}
-
-.k-dropdownouter-part-blue {
- background-color: #6600FF;
-}
-
-.k-dropdownouter-part-grey {
- background-color: #666666;
-}
-
-.k-dropdownouter-part-purple {
- background-color: #892CA0;
-}
-
-.k-dropdownouter-part-red {
- background-color: #C83737;
-}
-
-.k-dropdownouter-tags {
-
-}
-
-.k-dropdownouter-tags-default {
- background-color: #87501E;
-}
-
-.k-dropdownouter-tags-green {
- background-color: #00D400;
-}
-
-.k-dropdownouter-tags-blue {
- background-color: #9955FF;
-}
-
-.k-dropdownouter-tags-grey {
- background-color: #808080;
-}
-
-.k-dropdownouter-tags-purple {
- background-color: #AB37C8;
-}
-
-.k-dropdownouter-tags-red {
- background-color: #D35F5F;
-}
-
-.k-dropdownouter-summary {
-
-}
-
-.k-dropdownouter-summary-default {
- background-color: #9F734B;
-}
-
-.k-dropdownouter-summary-green {
- background-color: #4CE14C;
-}
-
-.k-dropdownouter-summary-blue {
- background-color: #69A5FF;
-}
-
-.k-dropdownouter-summary-grey {
- background-color: #A6A6A6;
-}
-
-.k-dropdownouter-summary-purple {
- background-color: #C473D8;
-}
-
-.k-dropdownouter-summary-red {
- background-color: #E08F8F;
-}
-
-.k-dropdowninner {
- margin: 0 3px 1px 3px;
- background: green;
- background-color: #FFF;
- /* padding: 3px; */
-}
-
-.k-dropdownlabel {
- color: #FFF;
- cursor: pointer;
-}
-
-.k-dropdownlabel .gwt-Label {
- margin: 0 5px 0 0;
- width: 100%;
-}
-
-.k-dropdownlabel img {
- margin: 0 3px 0 1px;
-}
-
-/* WsTheme */
-.k-wstheme-icon-default {
- background: #FF8C00;
-}
-
-.k-wstheme-icon-green {
- background: green;
-}
-
-.k-wstheme-icon-blue {
- background: blue;
-}
-
-.k-wstheme-icon-grey {
- background: grey;
-}
-
-.k-wstheme-icon-purple {
- background: purple;
-}
-
-.k-wstheme-icon-red {
- background: red;
-}
-
-/* Tool selector items */
-.k-toolselectoritem {
- width: auto;
- margin-bottom: 5px;
- cursor: pointer;
-}
-
-.k-toolselectoritem-sel {
-
-}
-
-.k-toolselectoritem-notsel-default {
- background: #FFE9A5;
-}
-
-.k-toolselectoritem-notsel-green {
- background: #D6F4D6;
-}
-
-.k-toolselectoritem-notsel-blue {
- background: #D7D7F4;
-}
-
-.k-toolselectoritem-notsel-grey {
- background: #E6E6E6;
-}
-
-.k-toolselectoritem-notsel-purple {
- background: #EED7F4;
-}
-
-.k-toolselectoritem-notsel-red {
- background: #FFD5D5;
-}
-
-.k-toolselectoritem-sel a {
- color: #FFF;
- padding: 0 9px;
- text-decoration: none;
-}
-
-.k-toolselectoritem-sel a:hover {
- text-decoration: none;
-}
-
-.k-toolselectoritem-notsel {
-
-}
-
-.k-toolselectoritem-notsel a {
- color: #0000FF;
- padding: 0 9px;
- text-decoration: none;
-}
-
-.k-toolselectoritem-notsel a:hover {
- text-decoration: underline;
-}
-
-/* others */ /*
-.x-tree-node a span, .x-dd-drag-ghost a span {
- color:#000000;
- padding: 1px 0px 1px 1px;
- text-decoration:none;
-}
-*/
-.x-tree-node .k-ctn-status-normal a span {
-
-}
-
-.x-tree-node .k-ctn-status-deleted a span {
- text-decoration: line-through;
- color: gray;
-}
-
-.x-tree-node .k-ctn-status-rejected a span {
- text-decoration: line-through;
- /* color: #FF6633; */
- color: #FF3300;
-}
-
-.x-tree-node .k-ctn-status-editing a span {
- font-style: italic;
- color: gray;
-}
-
-.x-tree-node .k-ctn-status-submitted a span {
- color: green;
-}
-
-.k-info-links {
- text-decoration: underline;
- color: gray;
- cursor: pointer;
-}
-
-.x-tool-kmenu {
- background-position: 0 -75px;
-}
-
-.x-tool-kmenu-over {
- background-position: -15px -75px;
-}
-
-.k-border-openbox {
- border-bottom: 1px #D0D0D0 solid;
- border-right: 1px #D0D0D0 solid;
- border-left: 1px #D0D0D0 solid;
-}
-
-/* SiteToastMessages */
-.k-stm-info-icon {
- background-image: url(img/info.gif) !important;
-}
-
-.k-stm-imp-icon {
- background-image: url(img/alert.gif) !important;
-}
-
-.k-stm-verimp-icon {
- background-image: url(img/important.gif) !important;
-}
-
-.k-stm-error-icon {
- background-image: url(img/error.gif) !important;
-}
-
-.k-infod-head {
- font-size: 108%;
- margin-bottom: 10px;
-}
-
-.gwt-DisclosurePanel {
-
-}
-
-.gwt-DisclosurePanel-open {
-
-}
-
-.gwt-DisclosurePanel-closed {
-
-}
-
-.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td
- {
- text-decoration: none; /* Remove underline from header */
- color: black;
- cursor: pointer;
- cursor: hand;
-}
-
-.gwt-DisclosurePanel .content {
- border-left: 3px solid #e8eef7;
- padding: 4px 0px 4px 8px;
- margin-left: 6px;
-}
-
-.k-basic-thumb {
- background: #FAFAFA none repeat scroll 0% 50%;
- border: 1px solid #EBEBEB;
- padding: 3px;
- margin: 3px;
-}
-
-.k-basic-thumb td {
- padding: 2px 3px 2px 3px;
- border: none;
-}
-
-.k-text-gray {
- color: gray;
-}
-
-.k-elp-limg {
- margin-top: 4px;
- margin-left: 5px;
- cursor: pointer;
- overflow: hidden;
-}
-
-.k-tsp-tag {
- float: left;
- padding: 3px;
- cursor: pointer;
- color: #0000FF;
-}
-
-.k-tsp-cloud {
- line-height: 1.5em;
- text-align: center;
-}
-
-.k-link-icon {
- background-image: url(img/link.gif) !important;
-}
-
-.k-options-icon {
- background-image: url(img/emblem-system.gif) !important;
-}
-
-.k-copyleft-icon {
- background-image: url(img/copyleft.png) !important;
-}
-
-.k-picture-icon {
- background-image: url(img/picture.png) !important;
-}
-
-.k-film-icon {
- background-image: url(img/film.png) !important;
-}
-
-.k-specialchars-icon {
- background-image: url(img/specialchars.png) !important;
-}
-
-.k-info-icon {
- background-image: url(img/info.gif) !important;
-}
-
-.k-newgroup-icon {
- background-image: url(img/kune-icon16.png) !important;
-}
-
-.k-colors-icon {
- background-image: url(img/colors.gif) !important;
-}
-
-.x-toolbar-body table { /* width: 100%; */
-
-}
-
-.k-preview-msg {
- background: #FFCCAA;
-}
-
-.k-preview-msg-lab {
- background: #FFCCAA;
- padding: 0 5px;
-}
-
-.k-eil-edit {
- border: thin solid black;
-}
-
-/* duplicated in rte.css */
-.k-rte-comment {
- border: 1px dashed #C0C0C0;
- line-height: 1.4;
- padding: 1px;
- background-color: #D7FFD7;
-}
-
-.k-specialchar-grid {
- border: 1px solid #ACA899;
-}
-
-.k-specialchar-grid table {
-
-}
-
-.k-specialchar-grid div {
- line-height: 22px;
-}
-
-.k-specialchar-grid td {
- padding: 1px;
-}
-
-.k-specialchar-pb {
- border: 1px solid #EBE8D7;
- cursor: pointer;
- font-size: 108% !important;
- text-align: center;
- vertical-align: middle;
- width: 18px;
- height: 18px;
-}
-
-.k-specialchar-pb-up {
-
-}
-
-.k-specialchar-big {
- padding: 3px;
- line-height: 22px;
- font-size: 197% !important;
-}
-
-.k-specialchar-adv-label {
- margin-left: -10px;
-}
-
-.k-specialchar-popup
-,
-{
-border
-
-
-
-
-
-
-:
-
-
-
-
-
-
-
-1
-px
-
-
-
-
-
-
-
-solid
-
-
-
-
-
-
-
-#C0C0C0
-
-
-
-
-
-
-;
-z-index
-
-
-
-
-
-
-:
-
-
-
-
-
-
-
-9999
-!
-important
-
-
-
-
-
-
-;
-background-color
-
-
-
-
-
-
-:
-
-
-
-
-
-
-
-#FFF
-
-
-
-
-
-
-;
-}
-.k-specialchar-pb-down {
- color: #161616;
-}
-
-.k-specialchar-pb-up-hovering {
- border: thin solid #ACA899;
-}
-
-.k-specialchar-pb-down-hovering {
- color: #161616;
-}
-
-.k-preview-panel {
- border: dashed 1px gray;
- padding: 5px;
-}
-
-.k-rte-changelink {
- white-space: nowrap;
- color: navy;
- cursor: pointer;
- text-decoration: underline;
- margin: 5px;
-}
-
-.k-rte-changelink-popup {
- border: 1px solid #C0C0C0;
- z-index: 9999 !important;
- background-color: #ECECEC;
-}
-
-.e-ui-room {
- height: 27px;
- line-height: 22px;
-}
-
-.e-ui-room input {
- font-size: 100%;
- margin-left: 0px;
- margin-top: 0px;
-}
-
-.k-def-popup {
- z-index: 9999 !important;
- background-color: #FFF;
- border: 1px solid gray;
-}
-
-#k-mshortcut {
- position: absolute;
- right: 10px;
-}
-
-#k-mshortcut-hidden {
- visibility: hidden;
-}
-
-#k-mshortcut a {
- text-decoration: none;
- color: black;
-}
-
-.k-plain-iframe iframe {
- border: 1px solid gray;
-}
-
-.k-transp .x-panel-body {
- background: transparent;
-}
-
-.k-transp {
- background: transparent;
-}
-
-.k-blank {
- background: #FFF;
-}
\ No newline at end of file
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css (from rev 1248, trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,1023 @@
+.k-site-traybar {
+ background: transparent none repeat scroll 0% 50%;
+}
+
+.k-blank-toolbar {
+ background: #FFF none repeat scroll 0% 50%;
+}
+
+.k-sitebar .kune-IconHyperlink {
+ white-space: nowrap;
+}
+
+.k-sitebar .kune-IconHyperlink a:link {
+ cursor: pointer;
+ text-decoration: underline;
+ color: #B3B3B3;
+}
+
+.k-sitebar .kune-IconHyperlink a:hover {
+ text-decoration: underline;
+}
+
+.k-sitebar .kune-IconHyperlink a:visited {
+ color: #B3B3B3;
+}
+
+.k-sitebar-labellink {
+ white-space: nowrap;
+ color: #B3B3B3;
+ cursor: pointer;
+ text-decoration: underline;
+}
+
+.k-sitebar {
+ margin-right: 10px;
+ height: 16px;
+}
+
+.k-sitebar .gwt-TextBox {
+ border: 1px solid #E4A374;
+ margin: 0 15px 0 3px;
+ padding-left: 1px;
+ color: #B3B3B3;
+ background: transparent;
+}
+
+.k-sitebar .gwt-Hyperlink a {
+ white-space: nowrap;
+ color: #B3B3B3;
+ text-decoration: underline;
+ cursor: pointer;
+}
+
+.k-sitebar .gwt-PushButton {
+ cursor: pointer;
+}
+
+.k-sitebar-LabelLink {
+ white-space: nowrap;
+ color: #B3B3B3;
+ cursor: pointer;
+ text-decoration: underline;
+}
+
+.k-entity-summary {
+ border-left-color: transparent;
+ border-left-width: 5px;
+ border-bottom-color: transparent;
+ border-bottom-width: 5px;
+}
+
+.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed
+ {
+ background: #DD8A3D none repeat scroll 0% 50%;
+}
+
+.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed {
+ background: #5FD35F none repeat scroll 0% 50%;
+}
+
+.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed {
+ background: #0066FF none repeat scroll 0% 50%;
+}
+
+.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed {
+ background: #4D4D4D none repeat scroll 0% 50%;
+}
+
+.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed {
+ background: #660080 none repeat scroll 0% 50%;
+}
+
+.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed {
+ background: #D40000 none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed
+ {
+ background: transparent none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed
+ {
+ background: #DEAA87 none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed
+ {
+ background: #DCE8AB none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed
+ {
+ background: #D5D5FF none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed
+ {
+ background: #999999 none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed
+ {
+ background: #A793AC none repeat scroll 0% 50%;
+}
+
+.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed
+ {
+ background: #FF5555 none repeat scroll 0% 50%;
+}
+
+.k-entity-title {
+ border-left-style: solid;
+ border-left-width: 5px;
+}
+
+.k-entity-title div {
+ line-height: 22px;
+ white-space: nowrap;
+}
+
+.k-entity-subtitle {
+
+}
+
+.k-entity-subtitle div {
+ line-height: 22px;
+ white-space: nowrap;
+}
+
+.k-entity-title-rd-default {
+ background: #DD8A3D;
+}
+
+.k-entity-title-rd-green {
+ background: #5FD35F;
+}
+
+.k-entity-title-rd-blue {
+ background: #0066FF;
+}
+
+.k-entity-title-rd-grey {
+ background: #4D4D4D;
+}
+
+.k-entity-title-rd-purple {
+ background: #660080;
+}
+
+.k-entity-title-rd-red {
+ background: #D40000;
+}
+
+.k-entity-title-default {
+ background: #F1BB59 none repeat scroll 0% 50%;
+ border-left-color: #DD8A3D;
+}
+
+.k-entity-title-green {
+ background: #AFA none repeat scroll 0% 50%;
+ border-left-color: #5FD35F;
+}
+
+.k-entity-title-blue {
+ background: #AFDDE9 none repeat scroll 0% 50%;
+ border-left-color: #0066FF;
+}
+
+.k-entity-title-grey {
+ background: #CCCCCC none repeat scroll 0% 50%;
+ border-left-color: #4D4D4D;
+}
+
+.k-entity-title-purple {
+ background: #DDAFE9 none repeat scroll 0% 50%;
+ border-left-color: #660080;
+}
+
+.k-entity-title-red {
+ background: #FF8080 none repeat scroll 0% 50%;
+ border-left-color: #D40000;
+}
+
+.k-entity-title-default div {
+ color: #69312F;
+}
+
+.k-entity-title-green div {
+ color: #250;
+}
+
+.k-entity-title-blue div {
+ color: #000080;
+}
+
+.k-entity-title-grey div {
+ color: #1A1A1A;
+}
+
+.k-entity-title-purple div {
+ color: #440055;
+}
+
+.k-entity-title-red div {
+ color: #800000;
+}
+
+.k-entity-subtitle-default {
+ background: #DD8A3D none repeat scroll 0% 50%;
+}
+
+.k-entity-subtitle-green {
+ background: #5FD35F none repeat scroll 0% 50%;
+}
+
+.k-entity-subtitle-blue {
+ background: #0066FF none repeat scroll 0% 50%;
+}
+
+.k-entity-subtitle-grey {
+ background: #4D4D4D none repeat scroll 0% 50%;
+}
+
+.k-entity-subtitle-purple {
+ background: #660080 none repeat scroll 0% 50%;
+}
+
+.k-entity-subtitle-red {
+ background: #D40000 none repeat scroll 0% 50%;
+}
+
+.k-entity-subtitle-default div {
+ color: #FFF;
+}
+
+.k-entity-subtitle-green div {
+ color: #FFF;
+}
+
+.k-entity-subtitle-blue div {
+ color: #FFF;
+}
+
+.k-entity-subtitle-grey div {
+ color: #FFF;
+}
+
+.k-entity-subtitle-purple div {
+ color: #FFF;
+}
+
+.k-entity-subtitle-red div {
+ color: #FFF;
+}
+
+.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default
+ {
+ background: #DD8A3D;
+}
+
+.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green
+ {
+ background: #5FD35F;
+}
+
+.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue
+ {
+ background: #0066FF;
+}
+
+.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey
+ {
+ background: #4D4D4D;
+}
+
+.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple
+ {
+ background: #660080;
+}
+
+.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red
+ {
+ background: #D40000;
+}
+
+.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body
+ {
+ background: #FFD09D none repeat scroll 0% 50%;
+}
+
+.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body
+ {
+ background: #CFA none repeat scroll 0% 50%;
+}
+
+.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body
+ {
+ background: #AACCFF none repeat scroll 0% 50%;
+}
+
+.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body
+ {
+ background: #B3B3B3 none repeat scroll 0% 50%;
+}
+
+.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body
+ {
+ background: #DDAFE9 none repeat scroll 0% 50%;
+}
+
+.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body {
+ background: #FFAAAA none repeat scroll 0% 50%;
+}
+
+.k-entity-context-purple .x-tree .x-panel-body {
+ background: #DDAFE9 none repeat scroll 0% 50%;
+}
+
+.k-entity-content {
+ background: #FFF;
+}
+
+.k-entity-bottom div { /* line-height: 24px; */
+ color: #FFF;
+}
+
+.k-toolbar-top-line {
+ border-top-color: rgb(208, 208, 208);
+ border-top-style: solid;
+ border-top-width: 1px;
+}
+
+.k-toolbar-bottom-line {
+ border-bottom-color: rgb(208, 208, 208);
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+}
+
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label
+ {
+ white-space: nowrap;
+ font: normal 100% arial, sans;
+ line-height: 19px;
+}
+
+.k-toolbar-sep {
+ padding-top: 4px;
+ padding-left: 5px;
+}
+
+/* Custom gwt-ext styles */
+.ytb-sep {
+ background-image:
+ url(../js/ext/resources/images/default/grid/grid-split.gif);
+ background-position: center;
+ background-repeat: no-repeat;
+ display: block;
+ font-size: 1px;
+ height: 16px;
+ width: 4px;
+ overflow: hidden;
+ cursor: default;
+ margin: 0 2px 0;
+ border: 0;
+}
+
+.ytb-spacer {
+ width: 2px;
+}
+
+.x-grid-group-hd {
+ border-bottom: 2px solid grey;
+ cursor: pointer;
+ padding-top: 3px;
+}
+
+/* Drop down */
+.k-dropdownouter {
+ background-color: grey;
+}
+
+.k-dropdownouter-members {
+
+}
+
+.k-dropdownouter-members-default {
+ background-color: #DF5244;
+}
+
+.k-dropdownouter-members-green {
+ background-color: #008000;
+}
+
+.k-dropdownouter-members-blue {
+ background-color: #5500D4;
+}
+
+.k-dropdownouter-members-grey {
+ background-color: #4D4D4D;
+}
+
+.k-dropdownouter-members-purple {
+ background-color: #672178;
+}
+
+.k-dropdownouter-members-red {
+ background-color: #A02C2C;
+}
+
+.k-dropdownouter-part {
+
+}
+
+.k-dropdownouter-part-default {
+ background-color: #CA5842;
+}
+
+.k-dropdownouter-part-green {
+ background-color: #00AA00;
+}
+
+.k-dropdownouter-part-blue {
+ background-color: #6600FF;
+}
+
+.k-dropdownouter-part-grey {
+ background-color: #666666;
+}
+
+.k-dropdownouter-part-purple {
+ background-color: #892CA0;
+}
+
+.k-dropdownouter-part-red {
+ background-color: #C83737;
+}
+
+.k-dropdownouter-tags {
+
+}
+
+.k-dropdownouter-tags-default {
+ background-color: #87501E;
+}
+
+.k-dropdownouter-tags-green {
+ background-color: #00D400;
+}
+
+.k-dropdownouter-tags-blue {
+ background-color: #9955FF;
+}
+
+.k-dropdownouter-tags-grey {
+ background-color: #808080;
+}
+
+.k-dropdownouter-tags-purple {
+ background-color: #AB37C8;
+}
+
+.k-dropdownouter-tags-red {
+ background-color: #D35F5F;
+}
+
+.k-dropdownouter-summary {
+
+}
+
+.k-dropdownouter-summary-default {
+ background-color: #9F734B;
+}
+
+.k-dropdownouter-summary-green {
+ background-color: #4CE14C;
+}
+
+.k-dropdownouter-summary-blue {
+ background-color: #69A5FF;
+}
+
+.k-dropdownouter-summary-grey {
+ background-color: #A6A6A6;
+}
+
+.k-dropdownouter-summary-purple {
+ background-color: #C473D8;
+}
+
+.k-dropdownouter-summary-red {
+ background-color: #E08F8F;
+}
+
+.k-dropdowninner {
+ margin: 0 3px 1px 3px;
+ background: green;
+ background-color: #FFF;
+ /* padding: 3px; */
+}
+
+.k-dropdownlabel {
+ color: #FFF;
+ cursor: pointer;
+}
+
+.k-dropdownlabel .gwt-Label {
+ margin: 0 5px 0 0;
+ width: 100%;
+}
+
+.k-dropdownlabel img {
+ margin: 0 3px 0 1px;
+}
+
+/* WsTheme */
+.k-wstheme-icon-default {
+ background: #FF8C00;
+}
+
+.k-wstheme-icon-green {
+ background: green;
+}
+
+.k-wstheme-icon-blue {
+ background: blue;
+}
+
+.k-wstheme-icon-grey {
+ background: grey;
+}
+
+.k-wstheme-icon-purple {
+ background: purple;
+}
+
+.k-wstheme-icon-red {
+ background: red;
+}
+
+/* Tool selector items */
+.k-toolselectoritem {
+ width: auto;
+ margin-bottom: 5px;
+ cursor: pointer;
+}
+
+.k-toolselectoritem-sel {
+
+}
+
+.k-toolselectoritem-notsel-default {
+ background: #FFE9A5;
+}
+
+.k-toolselectoritem-notsel-green {
+ background: #D6F4D6;
+}
+
+.k-toolselectoritem-notsel-blue {
+ background: #D7D7F4;
+}
+
+.k-toolselectoritem-notsel-grey {
+ background: #E6E6E6;
+}
+
+.k-toolselectoritem-notsel-purple {
+ background: #EED7F4;
+}
+
+.k-toolselectoritem-notsel-red {
+ background: #FFD5D5;
+}
+
+.k-toolselectoritem-sel a {
+ color: #FFF;
+ padding: 0 9px;
+ text-decoration: none;
+}
+
+.k-toolselectoritem-sel a:hover {
+ text-decoration: none;
+}
+
+.k-toolselectoritem-notsel {
+
+}
+
+.k-toolselectoritem-notsel a {
+ color: #0000FF;
+ padding: 0 9px;
+ text-decoration: none;
+}
+
+.k-toolselectoritem-notsel a:hover {
+ text-decoration: underline;
+}
+
+/* others */ /*
+.x-tree-node a span, .x-dd-drag-ghost a span {
+ color:#000000;
+ padding: 1px 0px 1px 1px;
+ text-decoration:none;
+}
+*/
+.x-tree-node .k-ctn-status-normal a span {
+
+}
+
+.x-tree-node .k-ctn-status-deleted a span {
+ text-decoration: line-through;
+ color: gray;
+}
+
+.x-tree-node .k-ctn-status-rejected a span {
+ text-decoration: line-through;
+ /* color: #FF6633; */
+ color: #FF3300;
+}
+
+.x-tree-node .k-ctn-status-editing a span {
+ font-style: italic;
+ color: gray;
+}
+
+.x-tree-node .k-ctn-status-submitted a span {
+ color: green;
+}
+
+.k-info-links {
+ text-decoration: underline;
+ color: gray;
+ cursor: pointer;
+}
+
+.x-tool-kmenu {
+ background-position: 0 -75px;
+}
+
+.x-tool-kmenu-over {
+ background-position: -15px -75px;
+}
+
+.k-border-openbox {
+ border-bottom: 1px #D0D0D0 solid;
+ border-right: 1px #D0D0D0 solid;
+ border-left: 1px #D0D0D0 solid;
+}
+
+/* SiteToastMessages */
+.k-stm-info-icon {
+ background-image: url(img/info.gif) !important;
+}
+
+.k-stm-imp-icon {
+ background-image: url(img/alert.gif) !important;
+}
+
+.k-stm-verimp-icon {
+ background-image: url(img/important.gif) !important;
+}
+
+.k-stm-error-icon {
+ background-image: url(img/error.gif) !important;
+}
+
+.k-infod-head {
+ font-size: 108%;
+ margin-bottom: 10px;
+}
+
+.gwt-DisclosurePanel {
+
+}
+
+.gwt-DisclosurePanel-open {
+
+}
+
+.gwt-DisclosurePanel-closed {
+
+}
+
+.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td
+ {
+ text-decoration: none; /* Remove underline from header */
+ color: black;
+ cursor: pointer;
+ cursor: hand;
+}
+
+.gwt-DisclosurePanel .content {
+ border-left: 3px solid #e8eef7;
+ padding: 4px 0px 4px 8px;
+ margin-left: 6px;
+}
+
+.k-basic-thumb {
+ background: #FAFAFA none repeat scroll 0% 50%;
+ border: 1px solid #EBEBEB;
+ padding: 3px;
+ margin: 3px;
+}
+
+.k-basic-thumb td {
+ padding: 2px 3px 2px 3px;
+ border: none;
+}
+
+.k-text-gray {
+ color: gray;
+}
+
+.k-elp-limg {
+ margin-top: 4px;
+ margin-left: 5px;
+ cursor: pointer;
+ overflow: hidden;
+}
+
+.k-tsp-tag {
+ float: left;
+ padding: 3px;
+ cursor: pointer;
+ color: #0000FF;
+}
+
+.k-tsp-cloud {
+ line-height: 1.5em;
+ text-align: center;
+}
+
+.k-link-icon {
+ background-image: url(img/link.gif) !important;
+}
+
+.k-options-icon {
+ background-image: url(img/emblem-system.gif) !important;
+}
+
+.k-copyleft-icon {
+ background-image: url(img/copyleft.png) !important;
+}
+
+.k-picture-icon {
+ background-image: url(img/picture.png) !important;
+}
+
+.k-film-icon {
+ background-image: url(img/film.png) !important;
+}
+
+.k-specialchars-icon {
+ background-image: url(img/specialchars.png) !important;
+}
+
+.k-info-icon {
+ background-image: url(img/info.gif) !important;
+}
+
+.k-newgroup-icon {
+ background-image: url(img/kune-icon16.png) !important;
+}
+
+.k-colors-icon {
+ background-image: url(img/colors.gif) !important;
+}
+
+.x-toolbar-body table { /* width: 100%; */
+
+}
+
+.k-preview-msg {
+ background: #FFCCAA;
+}
+
+.k-preview-msg-lab {
+ background: #FFCCAA;
+ padding: 0 5px;
+}
+
+.k-eil-edit {
+ border: thin solid black;
+}
+
+/* duplicated in rte.css */
+.k-rte-comment {
+ border: 1px dashed #C0C0C0;
+ line-height: 1.4;
+ padding: 1px;
+ background-color: #D7FFD7;
+}
+
+.k-specialchar-grid {
+ border: 1px solid #ACA899;
+}
+
+.k-specialchar-grid table {
+
+}
+
+.k-specialchar-grid div {
+ line-height: 22px;
+}
+
+.k-specialchar-grid td {
+ padding: 1px;
+}
+
+.k-specialchar-pb {
+ border: 1px solid #EBE8D7;
+ cursor: pointer;
+ font-size: 108% !important;
+ text-align: center;
+ vertical-align: middle;
+ width: 18px;
+ height: 18px;
+}
+
+.k-specialchar-pb-up {
+
+}
+
+.k-specialchar-big {
+ padding: 3px;
+ line-height: 22px;
+ font-size: 197% !important;
+}
+
+.k-specialchar-adv-label {
+ margin-left: -10px;
+}
+
+.k-specialchar-popup
+,
+{
+border
+
+
+
+
+
+
+:
+
+
+
+
+
+
+
+1
+px
+
+
+
+
+
+
+
+solid
+
+
+
+
+
+
+
+#C0C0C0
+
+
+
+
+
+
+;
+z-index
+
+
+
+
+
+
+:
+
+
+
+
+
+
+
+9999
+!
+important
+
+
+
+
+
+
+;
+background-color
+
+
+
+
+
+
+:
+
+
+
+
+
+
+
+#FFF
+
+
+
+
+
+
+;
+}
+.k-specialchar-pb-down {
+ color: #161616;
+}
+
+.k-specialchar-pb-up-hovering {
+ border: thin solid #ACA899;
+}
+
+.k-specialchar-pb-down-hovering {
+ color: #161616;
+}
+
+.k-preview-panel {
+ border: dashed 1px gray;
+ padding: 5px;
+}
+
+.k-rte-changelink {
+ white-space: nowrap;
+ color: navy;
+ cursor: pointer;
+ text-decoration: underline;
+ margin: 5px;
+}
+
+.k-rte-changelink-popup {
+ border: 1px solid #C0C0C0;
+ z-index: 9999 !important;
+ background-color: #ECECEC;
+}
+
+.e-ui-room {
+ height: 27px;
+ line-height: 22px;
+}
+
+.e-ui-room input {
+ font-size: 100%;
+ margin-left: 0px;
+ margin-top: 0px;
+}
+
+.k-def-popup {
+ z-index: 9999 !important;
+ background-color: #FFF;
+ border: 1px solid gray;
+}
+
+#k-mshortcut {
+ position: absolute;
+ right: 10px;
+}
+
+#k-mshortcut-hidden {
+ visibility: hidden;
+}
+
+#k-mshortcut a {
+ text-decoration: none;
+ color: black;
+}
+
+.k-plain-iframe iframe {
+ border: 1px solid gray;
+}
+
+.k-transp .x-panel-body {
+ background: transparent;
+}
+
+.k-transp {
+ background: transparent;
+}
+
+.k-blank {
+ background: #FFF;
+}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,113 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.blogs.client;
-
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_BLOG;
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_POST;
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_ROOT;
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_UPLOADEDFILE;
-
-import org.ourproject.kune.blogs.client.cnt.BlogViewer;
-import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class BlogClientActions extends AbstractFoldableContentActions {
- public BlogClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
- final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
- final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
- final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
- final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
- final BlogViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
- final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
- super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
- contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
- contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
- documentViewer, entityLogo, publicLink, wsBackManager);
- }
-
- @Override
- protected void createActions() {
- final String[] all = { TYPE_ROOT, TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE };
- final String[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_BLOG };
- final String[] containersNoRoot = { TYPE_BLOG };
- final String[] contents = { TYPE_POST, TYPE_UPLOADEDFILE };
-
- final String parentMenuTitle = i18n.t("Post");
- final String parentMenuTitleCtx = i18n.t("Blog");
-
- createNewContainerAction(TYPE_BLOG, "images/nav/blog_add.png", i18n.t("New blog"), parentMenuTitleCtx,
- i18n.t("New"), i18n.t("New blog"), Position.ctx, TYPE_ROOT);
- createNewContentAction(TYPE_POST, "images/nav/post_add.png", i18n.t("New post"), parentMenuTitleCtx,
- Position.ctx, TYPE_BLOG);
-
- createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
- createEditAction(parentMenuTitle, TYPE_POST);
- createContentModeratedActions(parentMenuTitle, contentsModerated);
- createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
-
- // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
- // createSetAsDefContent(parentMenuTitleCtx);
-
- createRefreshCntAction(parentMenuTitle, contents);
- createRefreshCxtAction(parentMenuTitleCtx, containers);
-
- createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"),
- null, containersNoRoot);
-
- createSetAsDefContent(parentMenuTitle, contents);
- createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
-
- createGoAction(all);
- createGoHomeAction(containers);
-
- // ContentRPC Authorized must permit folders
- // contentActionRegistry.addAction(setAsDefGroupCxt, TYPE_BLOG);
-
- createDelContainerAction("Delete blog", parentMenuTitleCtx, containersNoRoot);
- createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
- createShowDeletedItems(parentMenuTitleCtx, all);
- }
-
- @Override
- protected void createPostSessionInitActions() {
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,113 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.blogs.client;
+
+import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_BLOG;
+import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_POST;
+import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_ROOT;
+import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_UPLOADEDFILE;
+
+import org.ourproject.kune.blogs.client.cnt.BlogViewer;
+import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class BlogClientActions extends AbstractFoldableContentActions {
+ public BlogClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
+ final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
+ final Provider<ContentServiceAsync> contentServiceProvider,
+ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
+ final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
+ final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
+ final BlogViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
+ final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
+ super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
+ contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
+ contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
+ documentViewer, entityLogo, publicLink, wsBackManager);
+ }
+
+ @Override
+ protected void createActions() {
+ final String[] all = { TYPE_ROOT, TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE };
+ final String[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_BLOG };
+ final String[] containersNoRoot = { TYPE_BLOG };
+ final String[] contents = { TYPE_POST, TYPE_UPLOADEDFILE };
+
+ final String parentMenuTitle = i18n.t("Post");
+ final String parentMenuTitleCtx = i18n.t("Blog");
+
+ createNewContainerAction(TYPE_BLOG, "images/nav/blog_add.png", i18n.t("New blog"), parentMenuTitleCtx,
+ i18n.t("New"), i18n.t("New blog"), Position.ctx, TYPE_ROOT);
+ createNewContentAction(TYPE_POST, "images/nav/post_add.png", i18n.t("New post"), parentMenuTitleCtx,
+ Position.ctx, TYPE_BLOG);
+
+ createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
+ createEditAction(parentMenuTitle, TYPE_POST);
+ createContentModeratedActions(parentMenuTitle, contentsModerated);
+ createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
+
+ // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
+ // createSetAsDefContent(parentMenuTitleCtx);
+
+ createRefreshCntAction(parentMenuTitle, contents);
+ createRefreshCxtAction(parentMenuTitleCtx, containers);
+
+ createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"),
+ null, containersNoRoot);
+
+ createSetAsDefContent(parentMenuTitle, contents);
+ createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
+
+ createGoAction(all);
+ createGoHomeAction(containers);
+
+ // ContentRPC Authorized must permit folders
+ // contentActionRegistry.addAction(setAsDefGroupCxt, TYPE_BLOG);
+
+ createDelContainerAction("Delete blog", parentMenuTitleCtx, containersNoRoot);
+ createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
+ createShowDeletedItems(parentMenuTitleCtx, all);
+ }
+
+ @Override
+ protected void createPostSessionInitActions() {
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,124 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.blogs.client;
-
-import org.ourproject.kune.blogs.client.cnt.BlogFolderContent;
-import org.ourproject.kune.blogs.client.cnt.BlogFolderContentPanel;
-import org.ourproject.kune.blogs.client.cnt.BlogFolderContentPresenter;
-import org.ourproject.kune.blogs.client.cnt.BlogFolderContentView;
-import org.ourproject.kune.blogs.client.cnt.BlogViewer;
-import org.ourproject.kune.blogs.client.cnt.BlogViewerPanel;
-import org.ourproject.kune.blogs.client.cnt.BlogViewerPresenter;
-import org.ourproject.kune.blogs.client.cnt.BlogViewerView;
-import org.ourproject.kune.blogs.client.ctx.BlogContext;
-import org.ourproject.kune.blogs.client.ctx.BlogContextPresenter;
-import org.ourproject.kune.platf.client.app.ToolGroup;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
-import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.tool.ToolSelector;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.ioc.decorator.Singleton;
-import com.calclab.suco.client.ioc.module.Factory;
-
-public class BlogClientModule extends AbstractExtendedModule {
-
- @Override
- public void onInstall() {
-
- register(ToolGroup.class, new Factory<BlogClientTool>(BlogClientTool.class) {
- @Override
- public BlogClientTool create() {
- i(BlogClientActions.class);
- return new BlogClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
- i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
- }
- });
-
- register(ToolGroup.class, new Factory<BlogClientActions>(BlogClientActions.class) {
- @Override
- public BlogClientActions create() {
- return new BlogClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
- i(Session.class), i(StateManager.class), i(SchedulerManager.class),
- p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
- i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
- i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(BlogViewer.class),
- p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
- }
- });
-
- register(ToolGroup.class, new Factory<BlogContext>(BlogContext.class) {
- @Override
- public BlogContext create() {
- final BlogContextPresenter presenter = new BlogContextPresenter(i(StateManager.class),
- p(ContextNavigator.class), p(ContextPropEditor.class));
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<BlogViewer>(BlogViewer.class) {
- @Override
- public BlogViewer create() {
- final BlogViewerPresenter presenter = new BlogViewerPresenter(i(StateManager.class), i(Session.class),
- i(I18nUITranslationService.class), i(ActionContentToolbar.class),
- i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
- final BlogViewerView view = new BlogViewerPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(ToolGroup.class, new Factory<BlogFolderContent>(BlogFolderContent.class) {
- @Override
- public BlogFolderContent create() {
- final BlogFolderContentPresenter presenter = new BlogFolderContentPresenter(i(StateManager.class),
- i(Session.class), i(ActionContentToolbar.class), i(ContentActionRegistry.class),
- i(I18nTranslationService.class), p(FileDownloadUtils.class), p(MediaUtils.class));
- final BlogFolderContentView view = new BlogFolderContentPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,124 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.blogs.client;
+
+import org.ourproject.kune.blogs.client.cnt.BlogFolderContent;
+import org.ourproject.kune.blogs.client.cnt.BlogFolderContentPanel;
+import org.ourproject.kune.blogs.client.cnt.BlogFolderContentPresenter;
+import org.ourproject.kune.blogs.client.cnt.BlogFolderContentView;
+import org.ourproject.kune.blogs.client.cnt.BlogViewer;
+import org.ourproject.kune.blogs.client.cnt.BlogViewerPanel;
+import org.ourproject.kune.blogs.client.cnt.BlogViewerPresenter;
+import org.ourproject.kune.blogs.client.cnt.BlogViewerView;
+import org.ourproject.kune.blogs.client.ctx.BlogContext;
+import org.ourproject.kune.blogs.client.ctx.BlogContextPresenter;
+import org.ourproject.kune.platf.client.app.ToolGroup;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
+import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.themes.WsThemeManager;
+import org.ourproject.kune.workspace.client.tool.ToolSelector;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.suco.client.ioc.decorator.Singleton;
+import com.calclab.suco.client.ioc.module.Factory;
+
+public class BlogClientModule extends AbstractExtendedModule {
+
+ @Override
+ public void onInstall() {
+
+ register(ToolGroup.class, new Factory<BlogClientTool>(BlogClientTool.class) {
+ @Override
+ public BlogClientTool create() {
+ i(BlogClientActions.class);
+ return new BlogClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
+ i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<BlogClientActions>(BlogClientActions.class) {
+ @Override
+ public BlogClientActions create() {
+ return new BlogClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
+ i(Session.class), i(StateManager.class), i(SchedulerManager.class),
+ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
+ i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
+ i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(BlogViewer.class),
+ p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<BlogContext>(BlogContext.class) {
+ @Override
+ public BlogContext create() {
+ final BlogContextPresenter presenter = new BlogContextPresenter(i(StateManager.class),
+ p(ContextNavigator.class), p(ContextPropEditor.class));
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<BlogViewer>(BlogViewer.class) {
+ @Override
+ public BlogViewer create() {
+ final BlogViewerPresenter presenter = new BlogViewerPresenter(i(StateManager.class), i(Session.class),
+ i(I18nUITranslationService.class), i(ActionContentToolbar.class),
+ i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
+ final BlogViewerView view = new BlogViewerPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(ToolGroup.class, new Factory<BlogFolderContent>(BlogFolderContent.class) {
+ @Override
+ public BlogFolderContent create() {
+ final BlogFolderContentPresenter presenter = new BlogFolderContentPresenter(i(StateManager.class),
+ i(Session.class), i(ActionContentToolbar.class), i(ContentActionRegistry.class),
+ i(I18nTranslationService.class), p(FileDownloadUtils.class), p(MediaUtils.class));
+ final BlogFolderContentView view = new BlogFolderContentPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,117 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.docs.client;
-
-import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_DOCUMENT;
-import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_FOLDER;
-import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_ROOT;
-import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_UPLOADEDFILE;
-
-import org.ourproject.kune.docs.client.cnt.DocumentViewer;
-import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class DocumentClientActions extends AbstractFoldableContentActions {
- public DocumentClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
- final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
- final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
- final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
- final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
- final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
- final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
- super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
- contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
- contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
- documentViewer, entityLogo, publicLink, wsBackManager);
- }
-
- @Override
- protected void createActions() {
- final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_FOLDER, };
- final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] containersNoRoot = { TYPE_FOLDER };
- final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
-
- final String parentMenuTitle = i18n.t("File");
- final String parentMenuTitleCtx = i18n.t("Folder");
-
- createNewContainerAction(TYPE_FOLDER, "images/nav/folder_add.png", i18n.t("New folder"), parentMenuTitleCtx,
- i18n.t("New"), i18n.t("New folder"), Position.ctx, TYPE_ROOT, TYPE_FOLDER);
-
- createNewContentAction(TYPE_DOCUMENT, "images/nav/page_add.png", i18n.t("New document"), parentMenuTitleCtx,
- Position.ctx, TYPE_ROOT, TYPE_FOLDER);
-
- createTranslateAction(parentMenuTitle, TYPE_DOCUMENT, TYPE_FOLDER);
- createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
- createEditAction(parentMenuTitle, TYPE_DOCUMENT);
- createContentModeratedActions(parentMenuTitle, contentsModerated);
- createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
-
- // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
- // createSetAsDefContent(parentMenuTitleCtx);
-
- createRefreshCntAction(parentMenuTitle, contents);
- createRefreshCxtAction(parentMenuTitleCtx, containers);
-
- createSetAsDefContent(parentMenuTitle, contents);
-
- createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
-
- createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"),
- null, containers);
-
- createDownloadActions(TYPE_UPLOADEDFILE);
-
- createGoAction(all);
-
- createGoHomeAction(containers);
-
- createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot);
- createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
- createShowDeletedItems(parentMenuTitleCtx, all);
- }
-
- @Override
- protected void createPostSessionInitActions() {
- // super.createUploadMediaAction(TYPE_GALLERY);
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,117 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.docs.client;
+
+import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_DOCUMENT;
+import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_FOLDER;
+import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_ROOT;
+import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_UPLOADEDFILE;
+
+import org.ourproject.kune.docs.client.cnt.DocumentViewer;
+import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class DocumentClientActions extends AbstractFoldableContentActions {
+ public DocumentClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
+ final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
+ final Provider<ContentServiceAsync> contentServiceProvider,
+ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
+ final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
+ final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
+ final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
+ final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
+ super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
+ contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
+ contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
+ documentViewer, entityLogo, publicLink, wsBackManager);
+ }
+
+ @Override
+ protected void createActions() {
+ final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_FOLDER, };
+ final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] containersNoRoot = { TYPE_FOLDER };
+ final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+
+ final String parentMenuTitle = i18n.t("File");
+ final String parentMenuTitleCtx = i18n.t("Folder");
+
+ createNewContainerAction(TYPE_FOLDER, "images/nav/folder_add.png", i18n.t("New folder"), parentMenuTitleCtx,
+ i18n.t("New"), i18n.t("New folder"), Position.ctx, TYPE_ROOT, TYPE_FOLDER);
+
+ createNewContentAction(TYPE_DOCUMENT, "images/nav/page_add.png", i18n.t("New document"), parentMenuTitleCtx,
+ Position.ctx, TYPE_ROOT, TYPE_FOLDER);
+
+ createTranslateAction(parentMenuTitle, TYPE_DOCUMENT, TYPE_FOLDER);
+ createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
+ createEditAction(parentMenuTitle, TYPE_DOCUMENT);
+ createContentModeratedActions(parentMenuTitle, contentsModerated);
+ createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
+
+ // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
+ // createSetAsDefContent(parentMenuTitleCtx);
+
+ createRefreshCntAction(parentMenuTitle, contents);
+ createRefreshCxtAction(parentMenuTitleCtx, containers);
+
+ createSetAsDefContent(parentMenuTitle, contents);
+
+ createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
+
+ createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"),
+ null, containers);
+
+ createDownloadActions(TYPE_UPLOADEDFILE);
+
+ createGoAction(all);
+
+ createGoHomeAction(containers);
+
+ createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot);
+ createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
+ createShowDeletedItems(parentMenuTitleCtx, all);
+ }
+
+ @Override
+ protected void createPostSessionInitActions() {
+ // super.createUploadMediaAction(TYPE_GALLERY);
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,124 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.docs.client;
-
-import org.ourproject.kune.docs.client.cnt.DocFolderContent;
-import org.ourproject.kune.docs.client.cnt.DocFolderContentPanel;
-import org.ourproject.kune.docs.client.cnt.DocFolderContentPresenter;
-import org.ourproject.kune.docs.client.cnt.DocFolderContentView;
-import org.ourproject.kune.docs.client.cnt.DocumentViewer;
-import org.ourproject.kune.docs.client.cnt.DocumentViewerPanel;
-import org.ourproject.kune.docs.client.cnt.DocumentViewerPresenter;
-import org.ourproject.kune.docs.client.cnt.DocumentViewerView;
-import org.ourproject.kune.docs.client.ctx.DocumentContext;
-import org.ourproject.kune.docs.client.ctx.DocumentContextPresenter;
-import org.ourproject.kune.platf.client.app.ToolGroup;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
-import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.tool.ToolSelector;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.ioc.decorator.Singleton;
-import com.calclab.suco.client.ioc.module.Factory;
-
-public class DocumentClientModule extends AbstractExtendedModule {
-
- @Override
- public void onInstall() {
-
- register(ToolGroup.class, new Factory<DocumentClientTool>(DocumentClientTool.class) {
- @Override
- public DocumentClientTool create() {
- i(DocumentClientActions.class);
- return new DocumentClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
- i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
- }
- });
-
- register(ToolGroup.class, new Factory<DocumentClientActions>(DocumentClientActions.class) {
- @Override
- public DocumentClientActions create() {
- return new DocumentClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
- i(Session.class), i(StateManager.class), i(SchedulerManager.class),
- p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
- i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
- i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(DocumentViewer.class),
- p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
- }
- });
-
- register(ToolGroup.class, new Factory<DocumentContext>(DocumentContext.class) {
- @Override
- public DocumentContext create() {
- final DocumentContextPresenter presenter = new DocumentContextPresenter(i(StateManager.class),
- p(ContextNavigator.class), p(ContextPropEditor.class));
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<DocumentViewer>(DocumentViewer.class) {
- @Override
- public DocumentViewer create() {
- final DocumentViewerPresenter presenter = new DocumentViewerPresenter(i(StateManager.class),
- i(Session.class), i(I18nUITranslationService.class), i(ActionContentToolbar.class),
- i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
- final DocumentViewerView view = new DocumentViewerPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(ToolGroup.class, new Factory<DocFolderContent>(DocFolderContent.class) {
- @Override
- public DocFolderContent create() {
- final DocFolderContentPresenter presenter = new DocFolderContentPresenter(i(StateManager.class),
- i(Session.class), i(ActionContentToolbar.class), i(ContentActionRegistry.class),
- p(FileDownloadUtils.class), i(I18nTranslationService.class), p(MediaUtils.class));
- final DocFolderContentView view = new DocFolderContentPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,124 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.docs.client;
+
+import org.ourproject.kune.docs.client.cnt.DocFolderContent;
+import org.ourproject.kune.docs.client.cnt.DocFolderContentPanel;
+import org.ourproject.kune.docs.client.cnt.DocFolderContentPresenter;
+import org.ourproject.kune.docs.client.cnt.DocFolderContentView;
+import org.ourproject.kune.docs.client.cnt.DocumentViewer;
+import org.ourproject.kune.docs.client.cnt.DocumentViewerPanel;
+import org.ourproject.kune.docs.client.cnt.DocumentViewerPresenter;
+import org.ourproject.kune.docs.client.cnt.DocumentViewerView;
+import org.ourproject.kune.docs.client.ctx.DocumentContext;
+import org.ourproject.kune.docs.client.ctx.DocumentContextPresenter;
+import org.ourproject.kune.platf.client.app.ToolGroup;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
+import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.themes.WsThemeManager;
+import org.ourproject.kune.workspace.client.tool.ToolSelector;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.suco.client.ioc.decorator.Singleton;
+import com.calclab.suco.client.ioc.module.Factory;
+
+public class DocumentClientModule extends AbstractExtendedModule {
+
+ @Override
+ public void onInstall() {
+
+ register(ToolGroup.class, new Factory<DocumentClientTool>(DocumentClientTool.class) {
+ @Override
+ public DocumentClientTool create() {
+ i(DocumentClientActions.class);
+ return new DocumentClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
+ i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<DocumentClientActions>(DocumentClientActions.class) {
+ @Override
+ public DocumentClientActions create() {
+ return new DocumentClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
+ i(Session.class), i(StateManager.class), i(SchedulerManager.class),
+ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
+ i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
+ i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(DocumentViewer.class),
+ p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<DocumentContext>(DocumentContext.class) {
+ @Override
+ public DocumentContext create() {
+ final DocumentContextPresenter presenter = new DocumentContextPresenter(i(StateManager.class),
+ p(ContextNavigator.class), p(ContextPropEditor.class));
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<DocumentViewer>(DocumentViewer.class) {
+ @Override
+ public DocumentViewer create() {
+ final DocumentViewerPresenter presenter = new DocumentViewerPresenter(i(StateManager.class),
+ i(Session.class), i(I18nUITranslationService.class), i(ActionContentToolbar.class),
+ i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
+ final DocumentViewerView view = new DocumentViewerPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(ToolGroup.class, new Factory<DocFolderContent>(DocFolderContent.class) {
+ @Override
+ public DocFolderContent create() {
+ final DocFolderContentPresenter presenter = new DocFolderContentPresenter(i(StateManager.class),
+ i(Session.class), i(ActionContentToolbar.class), i(ContentActionRegistry.class),
+ p(FileDownloadUtils.class), i(I18nTranslationService.class), p(MediaUtils.class));
+ final DocFolderContentView view = new DocFolderContentPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,114 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.gallery.client;
-
-import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_ALBUM;
-import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_ROOT;
-import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_UPLOADEDFILE;
-
-import org.ourproject.kune.gallery.client.cnt.GalleryViewer;
-import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class GalleryClientActions extends AbstractFoldableContentActions {
- public GalleryClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
- final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
- final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
- final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
- final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
- final GalleryViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
- final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
- super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
- contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
- contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
- documentViewer, entityLogo, publicLink, wsBackManager);
- }
-
- @Override
- protected void createActions() {
- final String[] all = { TYPE_ROOT, TYPE_ALBUM, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_ALBUM };
- final String[] contentsModerated = { TYPE_UPLOADEDFILE };
- final String[] containersNoRoot = { TYPE_ALBUM };
- final String[] contents = { TYPE_UPLOADEDFILE };
-
- final String parentMenuTitle = i18n.t("File");
- final String parentMenuTitleCtx = i18n.t("Album");
-
- createNewContainerAction(TYPE_ALBUM, "images/nav/gallery_add.png", i18n.t("New sub-album"), parentMenuTitleCtx,
- i18n.t("New"), i18n.t("New sub-album"), Position.ctx, TYPE_ALBUM);
- createNewContainerAction(TYPE_ALBUM, "images/nav/gallery_add.png", i18n.t("New album"), parentMenuTitleCtx,
- i18n.t("New"), i18n.t("New album"), Position.ctx, TYPE_ROOT);
-
- createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
- createContentModeratedActions(parentMenuTitle, contentsModerated);
- createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
-
- // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
- // createSetAsDefContent(parentMenuTitleCtx);
-
- createRefreshCntAction(parentMenuTitle, contents);
- createRefreshCxtAction(parentMenuTitleCtx, containers);
-
- createSetAsDefContent(parentMenuTitle, contents);
- createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
-
- // createUploadAction(i18n.t("Upload file"), "images/nav/upload.png",
- // i18n.t("Upload some files (images, PDFs, ...)"), null, containers);
-
- createDownloadActions(TYPE_UPLOADEDFILE);
-
- createGoAction(all);
-
- createGoHomeAction(containers);
-
- // createTranslateAction(TYPE_ALBUM, TYPE_UPLOADEDFILE);
-
- createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot);
- createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
- createShowDeletedItems(parentMenuTitleCtx, all);
- }
-
- @Override
- protected void createPostSessionInitActions() {
- super.createUploadMediaAction(TYPE_ALBUM);
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,114 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.gallery.client;
+
+import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_ALBUM;
+import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_ROOT;
+import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_UPLOADEDFILE;
+
+import org.ourproject.kune.gallery.client.cnt.GalleryViewer;
+import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class GalleryClientActions extends AbstractFoldableContentActions {
+ public GalleryClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
+ final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
+ final Provider<ContentServiceAsync> contentServiceProvider,
+ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
+ final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
+ final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
+ final GalleryViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
+ final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
+ super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
+ contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
+ contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
+ documentViewer, entityLogo, publicLink, wsBackManager);
+ }
+
+ @Override
+ protected void createActions() {
+ final String[] all = { TYPE_ROOT, TYPE_ALBUM, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_ALBUM };
+ final String[] contentsModerated = { TYPE_UPLOADEDFILE };
+ final String[] containersNoRoot = { TYPE_ALBUM };
+ final String[] contents = { TYPE_UPLOADEDFILE };
+
+ final String parentMenuTitle = i18n.t("File");
+ final String parentMenuTitleCtx = i18n.t("Album");
+
+ createNewContainerAction(TYPE_ALBUM, "images/nav/gallery_add.png", i18n.t("New sub-album"), parentMenuTitleCtx,
+ i18n.t("New"), i18n.t("New sub-album"), Position.ctx, TYPE_ALBUM);
+ createNewContainerAction(TYPE_ALBUM, "images/nav/gallery_add.png", i18n.t("New album"), parentMenuTitleCtx,
+ i18n.t("New"), i18n.t("New album"), Position.ctx, TYPE_ROOT);
+
+ createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
+ createContentModeratedActions(parentMenuTitle, contentsModerated);
+ createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
+
+ // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
+ // createSetAsDefContent(parentMenuTitleCtx);
+
+ createRefreshCntAction(parentMenuTitle, contents);
+ createRefreshCxtAction(parentMenuTitleCtx, containers);
+
+ createSetAsDefContent(parentMenuTitle, contents);
+ createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
+
+ // createUploadAction(i18n.t("Upload file"), "images/nav/upload.png",
+ // i18n.t("Upload some files (images, PDFs, ...)"), null, containers);
+
+ createDownloadActions(TYPE_UPLOADEDFILE);
+
+ createGoAction(all);
+
+ createGoHomeAction(containers);
+
+ // createTranslateAction(TYPE_ALBUM, TYPE_UPLOADEDFILE);
+
+ createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot);
+ createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
+ createShowDeletedItems(parentMenuTitleCtx, all);
+ }
+
+ @Override
+ protected void createPostSessionInitActions() {
+ super.createUploadMediaAction(TYPE_ALBUM);
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,125 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.gallery.client;
-
-import org.ourproject.kune.gallery.client.cnt.GalleryFolderContent;
-import org.ourproject.kune.gallery.client.cnt.GalleryFolderContentPanel;
-import org.ourproject.kune.gallery.client.cnt.GalleryFolderContentPresenter;
-import org.ourproject.kune.gallery.client.cnt.GalleryFolderContentView;
-import org.ourproject.kune.gallery.client.cnt.GalleryViewer;
-import org.ourproject.kune.gallery.client.cnt.GalleryViewerPanel;
-import org.ourproject.kune.gallery.client.cnt.GalleryViewerPresenter;
-import org.ourproject.kune.gallery.client.cnt.GalleryViewerView;
-import org.ourproject.kune.gallery.client.ctx.GalleryContext;
-import org.ourproject.kune.gallery.client.ctx.GalleryContextPresenter;
-import org.ourproject.kune.platf.client.app.ToolGroup;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
-import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.tool.ToolSelector;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.ioc.decorator.Singleton;
-import com.calclab.suco.client.ioc.module.Factory;
-
-public class GalleryClientModule extends AbstractExtendedModule {
-
- @Override
- public void onInstall() {
-
- register(ToolGroup.class, new Factory<GalleryClientTool>(GalleryClientTool.class) {
- @Override
- public GalleryClientTool create() {
- i(GalleryClientActions.class);
- return new GalleryClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
- i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
- }
- });
-
- register(ToolGroup.class, new Factory<GalleryClientActions>(GalleryClientActions.class) {
- @Override
- public GalleryClientActions create() {
- return new GalleryClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
- i(Session.class), i(StateManager.class), i(SchedulerManager.class),
- p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
- i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
- i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(GalleryViewer.class),
- p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
- }
- });
-
- register(ToolGroup.class, new Factory<GalleryContext>(GalleryContext.class) {
- @Override
- public GalleryContext create() {
- final GalleryContextPresenter presenter = new GalleryContextPresenter(i(StateManager.class),
- p(ContextNavigator.class), p(ContextPropEditor.class));
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<GalleryViewer>(GalleryViewer.class) {
- @Override
- public GalleryViewer create() {
- final GalleryViewerPresenter presenter = new GalleryViewerPresenter(i(StateManager.class),
- i(Session.class), i(I18nUITranslationService.class), i(ActionContentToolbar.class),
- i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
- final GalleryViewerView view = new GalleryViewerPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(ToolGroup.class, new Factory<GalleryFolderContent>(GalleryFolderContent.class) {
- @Override
- public GalleryFolderContent create() {
- final GalleryFolderContentPresenter presenter = new GalleryFolderContentPresenter(
- i(StateManager.class), i(Session.class), i(ActionContentToolbar.class),
- i(ContentActionRegistry.class), i(I18nTranslationService.class), p(FileDownloadUtils.class),
- p(FileDownloadUtils.class), p(MediaUtils.class));
- final GalleryFolderContentView view = new GalleryFolderContentPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class), i(StateManager.class), i(Session.class));
- presenter.init(view);
- return presenter;
- }
- });
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,125 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.gallery.client;
+
+import org.ourproject.kune.gallery.client.cnt.GalleryFolderContent;
+import org.ourproject.kune.gallery.client.cnt.GalleryFolderContentPanel;
+import org.ourproject.kune.gallery.client.cnt.GalleryFolderContentPresenter;
+import org.ourproject.kune.gallery.client.cnt.GalleryFolderContentView;
+import org.ourproject.kune.gallery.client.cnt.GalleryViewer;
+import org.ourproject.kune.gallery.client.cnt.GalleryViewerPanel;
+import org.ourproject.kune.gallery.client.cnt.GalleryViewerPresenter;
+import org.ourproject.kune.gallery.client.cnt.GalleryViewerView;
+import org.ourproject.kune.gallery.client.ctx.GalleryContext;
+import org.ourproject.kune.gallery.client.ctx.GalleryContextPresenter;
+import org.ourproject.kune.platf.client.app.ToolGroup;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
+import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.themes.WsThemeManager;
+import org.ourproject.kune.workspace.client.tool.ToolSelector;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.suco.client.ioc.decorator.Singleton;
+import com.calclab.suco.client.ioc.module.Factory;
+
+public class GalleryClientModule extends AbstractExtendedModule {
+
+ @Override
+ public void onInstall() {
+
+ register(ToolGroup.class, new Factory<GalleryClientTool>(GalleryClientTool.class) {
+ @Override
+ public GalleryClientTool create() {
+ i(GalleryClientActions.class);
+ return new GalleryClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
+ i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<GalleryClientActions>(GalleryClientActions.class) {
+ @Override
+ public GalleryClientActions create() {
+ return new GalleryClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
+ i(Session.class), i(StateManager.class), i(SchedulerManager.class),
+ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
+ i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
+ i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(GalleryViewer.class),
+ p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<GalleryContext>(GalleryContext.class) {
+ @Override
+ public GalleryContext create() {
+ final GalleryContextPresenter presenter = new GalleryContextPresenter(i(StateManager.class),
+ p(ContextNavigator.class), p(ContextPropEditor.class));
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<GalleryViewer>(GalleryViewer.class) {
+ @Override
+ public GalleryViewer create() {
+ final GalleryViewerPresenter presenter = new GalleryViewerPresenter(i(StateManager.class),
+ i(Session.class), i(I18nUITranslationService.class), i(ActionContentToolbar.class),
+ i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
+ final GalleryViewerView view = new GalleryViewerPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(ToolGroup.class, new Factory<GalleryFolderContent>(GalleryFolderContent.class) {
+ @Override
+ public GalleryFolderContent create() {
+ final GalleryFolderContentPresenter presenter = new GalleryFolderContentPresenter(
+ i(StateManager.class), i(Session.class), i(ActionContentToolbar.class),
+ i(ContentActionRegistry.class), i(I18nTranslationService.class), p(FileDownloadUtils.class),
+ p(FileDownloadUtils.class), p(MediaUtils.class));
+ final GalleryFolderContentView view = new GalleryFolderContentPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class), i(StateManager.class), i(Session.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+ }
+}
Modified: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/rack/RackServletFilter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -36,8 +36,6 @@
import org.ourproject.kune.rack.dock.Dock;
import org.ourproject.kune.rack.dock.RequestMatcher;
-import cc.kune.wave.server.WaveStarter;
-
import com.google.inject.Injector;
public class RackServletFilter implements Filter {
@@ -72,6 +70,7 @@
}
public static final String INJECTOR_ATTRIBUTE = Injector.class.getName();
+ public static final String INJECTOR_PARENT_ATTRIBUTE = Injector.class.getName() + "Parent";
private static final Log LOG = LogFactory.getLog(RackServletFilter.class);
private static final String MODULE_PARAMETER = RackModule.class.getName();
private List<Dock> docks;
@@ -128,8 +127,11 @@
final RackBuilder builder = new RackBuilder();
module.configure(builder);
final Rack rack = builder.getRack();
- final WaveStarter waveStarter = new WaveStarter();
- final Injector waveChildInjector = waveStarter.runMain();
+ // final WaveStarter waveStarter = new WaveStarter();
+ // final Injector waveChildInjector = waveStarter.runMain();
+ final Injector waveChildInjector = (Injector) filterConfig.getServletContext().getAttribute(
+ INJECTOR_PARENT_ATTRIBUTE);
+ // final Injector waveChildInjector = Guice.createInjector();
final Injector kuneChildInjector = installInjector(filterConfig, rack, waveChildInjector);
startContainerListeners(rack.getListeners(), kuneChildInjector);
docks = rack.getDocks();
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,116 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.wiki.client;
-
-import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_FOLDER;
-import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_ROOT;
-import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_UPLOADEDFILE;
-import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_WIKIPAGE;
-
-import org.ourproject.kune.wiki.client.cnt.WikiViewer;
-import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class WikiClientActions extends AbstractFoldableContentActions {
- public WikiClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
- final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
- final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
- final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
- final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
- final WikiViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
- final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
- super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
- contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
- contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
- documentViewer, entityLogo, publicLink, wsBackManager);
- }
-
- @Override
- protected void createActions() {
- final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_WIKIPAGE, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
- // final String[] contentsModerated = { };
- final String[] containersNoRoot = { TYPE_FOLDER };
- final String[] contents = { TYPE_WIKIPAGE, TYPE_UPLOADEDFILE };
-
- final String parentMenuTitle = i18n.t("Wikipage");
- final String parentMenuTitleCtx = i18n.t("Wiki");
-
- createNewContainerAction(TYPE_FOLDER, "images/nav/folder_add.png", i18n.t("New folder"), parentMenuTitleCtx,
- i18n.t("New"), i18n.t("New folder"), Position.ctx, TYPE_ROOT, TYPE_FOLDER);
-
- createNewContentAction(TYPE_WIKIPAGE, "images/nav/wikipage_add.png", i18n.t("New wikipage"),
- parentMenuTitleCtx, Position.ctx, TYPE_ROOT, TYPE_FOLDER);
-
- // createContentModeratedActions(parentMenuTitle, contentsModerated);
- createTranslateAction(parentMenuTitle, TYPE_FOLDER, TYPE_WIKIPAGE);
- createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
- createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
- createEditAction(parentMenuTitle, TYPE_WIKIPAGE);
-
- // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
- // createSetAsDefContent(parentMenuTitleCtx);
-
- createRefreshCntAction(parentMenuTitle, contents);
- createRefreshCxtAction(parentMenuTitleCtx, containers);
-
- createSetAsDefContent(parentMenuTitle, contents);
- createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
-
- createUploadAction(i18n.t("Upload file"), "images/nav/upload.png",
- i18n.t("Upload some files (images, PDFs, ...)"), null, containers);
-
- createDownloadActions(TYPE_UPLOADEDFILE);
-
- createGoAction(all);
-
- createGoHomeAction(containers);
-
- createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot);
- createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
- createShowDeletedItems(parentMenuTitleCtx, all);
- }
-
- @Override
- protected void createPostSessionInitActions() {
- // super.createUploadMediaAction();
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,116 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.wiki.client;
+
+import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_FOLDER;
+import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_ROOT;
+import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_UPLOADEDFILE;
+import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_WIKIPAGE;
+
+import org.ourproject.kune.wiki.client.cnt.WikiViewer;
+import org.ourproject.kune.workspace.client.AbstractFoldableContentActions;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class WikiClientActions extends AbstractFoldableContentActions {
+ public WikiClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
+ final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
+ final Provider<ContentServiceAsync> contentServiceProvider,
+ final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
+ final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
+ final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
+ final WikiViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
+ final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
+ super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
+ contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
+ contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
+ documentViewer, entityLogo, publicLink, wsBackManager);
+ }
+
+ @Override
+ protected void createActions() {
+ final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_WIKIPAGE, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
+ // final String[] contentsModerated = { };
+ final String[] containersNoRoot = { TYPE_FOLDER };
+ final String[] contents = { TYPE_WIKIPAGE, TYPE_UPLOADEDFILE };
+
+ final String parentMenuTitle = i18n.t("Wikipage");
+ final String parentMenuTitleCtx = i18n.t("Wiki");
+
+ createNewContainerAction(TYPE_FOLDER, "images/nav/folder_add.png", i18n.t("New folder"), parentMenuTitleCtx,
+ i18n.t("New"), i18n.t("New folder"), Position.ctx, TYPE_ROOT, TYPE_FOLDER);
+
+ createNewContentAction(TYPE_WIKIPAGE, "images/nav/wikipage_add.png", i18n.t("New wikipage"),
+ parentMenuTitleCtx, Position.ctx, TYPE_ROOT, TYPE_FOLDER);
+
+ // createContentModeratedActions(parentMenuTitle, contentsModerated);
+ createTranslateAction(parentMenuTitle, TYPE_FOLDER, TYPE_WIKIPAGE);
+ createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
+ createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
+ createEditAction(parentMenuTitle, TYPE_WIKIPAGE);
+
+ // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
+ // createSetAsDefContent(parentMenuTitleCtx);
+
+ createRefreshCntAction(parentMenuTitle, contents);
+ createRefreshCxtAction(parentMenuTitleCtx, containers);
+
+ createSetAsDefContent(parentMenuTitle, contents);
+ createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
+
+ createUploadAction(i18n.t("Upload file"), "images/nav/upload.png",
+ i18n.t("Upload some files (images, PDFs, ...)"), null, containers);
+
+ createDownloadActions(TYPE_UPLOADEDFILE);
+
+ createGoAction(all);
+
+ createGoHomeAction(containers);
+
+ createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot);
+ createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
+ createShowDeletedItems(parentMenuTitleCtx, all);
+ }
+
+ @Override
+ protected void createPostSessionInitActions() {
+ // super.createUploadMediaAction();
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,124 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.wiki.client;
-
-import org.ourproject.kune.platf.client.app.ToolGroup;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
-import org.ourproject.kune.wiki.client.cnt.WikiFolderContent;
-import org.ourproject.kune.wiki.client.cnt.WikiFolderContentPanel;
-import org.ourproject.kune.wiki.client.cnt.WikiFolderContentPresenter;
-import org.ourproject.kune.wiki.client.cnt.WikiFolderContentView;
-import org.ourproject.kune.wiki.client.cnt.WikiViewer;
-import org.ourproject.kune.wiki.client.cnt.WikiViewerPanel;
-import org.ourproject.kune.wiki.client.cnt.WikiViewerPresenter;
-import org.ourproject.kune.wiki.client.cnt.WikiViewerView;
-import org.ourproject.kune.wiki.client.ctx.WikiContext;
-import org.ourproject.kune.wiki.client.ctx.WikiContextPresenter;
-import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.tool.ToolSelector;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.ioc.decorator.Singleton;
-import com.calclab.suco.client.ioc.module.Factory;
-
-public class WikiClientModule extends AbstractExtendedModule {
-
- @Override
- public void onInstall() {
-
- register(ToolGroup.class, new Factory<WikiClientTool>(WikiClientTool.class) {
- @Override
- public WikiClientTool create() {
- i(WikiClientActions.class);
- return new WikiClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
- i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
- }
- });
-
- register(ToolGroup.class, new Factory<WikiClientActions>(WikiClientActions.class) {
- @Override
- public WikiClientActions create() {
- return new WikiClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
- i(Session.class), i(StateManager.class), i(SchedulerManager.class),
- p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
- i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
- i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(WikiViewer.class),
- p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
- }
- });
-
- register(ToolGroup.class, new Factory<WikiContext>(WikiContext.class) {
- @Override
- public WikiContext create() {
- final WikiContextPresenter presenter = new WikiContextPresenter(i(StateManager.class),
- p(ContextNavigator.class), p(ContextPropEditor.class));
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<WikiViewer>(WikiViewer.class) {
- @Override
- public WikiViewer create() {
- final WikiViewerPresenter presenter = new WikiViewerPresenter(i(StateManager.class), i(Session.class),
- i(I18nUITranslationService.class), i(ActionContentToolbar.class),
- i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
- final WikiViewerView view = new WikiViewerPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(ToolGroup.class, new Factory<WikiFolderContent>(WikiFolderContent.class) {
- @Override
- public WikiFolderContent create() {
- final WikiFolderContentPresenter presenter = new WikiFolderContentPresenter(i(StateManager.class),
- i(Session.class), i(ActionContentToolbar.class), i(ContentActionRegistry.class),
- i(I18nTranslationService.class), p(FileDownloadUtils.class), p(MediaUtils.class));
- final WikiFolderContentView view = new WikiFolderContentPanel(i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,124 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.wiki.client;
+
+import org.ourproject.kune.platf.client.app.ToolGroup;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
+import org.ourproject.kune.wiki.client.cnt.WikiFolderContent;
+import org.ourproject.kune.wiki.client.cnt.WikiFolderContentPanel;
+import org.ourproject.kune.wiki.client.cnt.WikiFolderContentPresenter;
+import org.ourproject.kune.wiki.client.cnt.WikiFolderContentView;
+import org.ourproject.kune.wiki.client.cnt.WikiViewer;
+import org.ourproject.kune.wiki.client.cnt.WikiViewerPanel;
+import org.ourproject.kune.wiki.client.cnt.WikiViewerPresenter;
+import org.ourproject.kune.wiki.client.cnt.WikiViewerView;
+import org.ourproject.kune.wiki.client.ctx.WikiContext;
+import org.ourproject.kune.wiki.client.ctx.WikiContextPresenter;
+import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.themes.WsThemeManager;
+import org.ourproject.kune.workspace.client.tool.ToolSelector;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.suco.client.ioc.decorator.Singleton;
+import com.calclab.suco.client.ioc.module.Factory;
+
+public class WikiClientModule extends AbstractExtendedModule {
+
+ @Override
+ public void onInstall() {
+
+ register(ToolGroup.class, new Factory<WikiClientTool>(WikiClientTool.class) {
+ @Override
+ public WikiClientTool create() {
+ i(WikiClientActions.class);
+ return new WikiClientTool(i(I18nUITranslationService.class), i(ToolSelector.class),
+ i(WsThemeManager.class), i(WorkspaceSkeleton.class), i(ContentCapabilitiesRegistry.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<WikiClientActions>(WikiClientActions.class) {
+ @Override
+ public WikiClientActions create() {
+ return new WikiClientActions(i(I18nUITranslationService.class), i(ContextNavigator.class),
+ i(Session.class), i(StateManager.class), i(SchedulerManager.class),
+ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class),
+ i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class),
+ i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(WikiViewer.class),
+ p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class));
+ }
+ });
+
+ register(ToolGroup.class, new Factory<WikiContext>(WikiContext.class) {
+ @Override
+ public WikiContext create() {
+ final WikiContextPresenter presenter = new WikiContextPresenter(i(StateManager.class),
+ p(ContextNavigator.class), p(ContextPropEditor.class));
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<WikiViewer>(WikiViewer.class) {
+ @Override
+ public WikiViewer create() {
+ final WikiViewerPresenter presenter = new WikiViewerPresenter(i(StateManager.class), i(Session.class),
+ i(I18nUITranslationService.class), i(ActionContentToolbar.class),
+ i(ContentActionRegistry.class), p(FileDownloadUtils.class), p(MediaUtils.class));
+ final WikiViewerView view = new WikiViewerPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(ToolGroup.class, new Factory<WikiFolderContent>(WikiFolderContent.class) {
+ @Override
+ public WikiFolderContent create() {
+ final WikiFolderContentPresenter presenter = new WikiFolderContentPresenter(i(StateManager.class),
+ i(Session.class), i(ActionContentToolbar.class), i(ContentActionRegistry.class),
+ i(I18nTranslationService.class), p(FileDownloadUtils.class), p(MediaUtils.class));
+ final WikiFolderContentView view = new WikiFolderContentPanel(i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,674 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client;
-
-import org.ourproject.kune.platf.client.actions.ActionCheckedCondition;
-import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
-import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator;
-import org.ourproject.kune.platf.client.actions.ActionToolbarMenuAndItemDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarMenuCheckItemDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
-import org.ourproject.kune.platf.client.actions.RadioMustBeChecked;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
-import org.ourproject.kune.workspace.client.cnt.FoldableContent;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.errors.SessionExpiredException;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.domain.ContentStatus;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.AccessRolDTO;
-import cc.kune.core.shared.dto.ContentSimpleDTO;
-import cc.kune.core.shared.dto.GroupDTO;
-import cc.kune.core.shared.dto.InitDataDTO;
-import cc.kune.core.shared.dto.StateAbstractDTO;
-import cc.kune.core.shared.dto.StateContainerDTO;
-import cc.kune.core.shared.dto.StateContentDTO;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-public abstract class AbstractFoldableContentActions {
-
- protected enum Position {
- cnt, ctx
- }
-
- public static final ActionToolbarPosition CONTENT_BOTTOMBAR = new ActionToolbarPosition("afca-ctn-bottom");
-
- public static final ActionToolbarPosition CONTENT_TOPBAR = new ActionToolbarPosition("afca-ctn-top");
- public static final ActionToolbarPosition CONTEXT_BOTTOMBAR = new ActionToolbarPosition("afca-ctx-bottom");
- public static final ActionToolbarPosition CONTEXT_TOPBAR = new ActionToolbarPosition("afca-ctx-top");
- private static final String PUBLICATION_MENU = "Publication";
-
- protected final ContentActionRegistry contentActionRegistry;
- protected final Provider<ContentServiceAsync> contentServiceProvider;
- protected final ContextActionRegistry contextActionRegistry;
- protected final ContextNavigator contextNavigator;
- protected final Provider<ContextPropEditor> contextPropEditorProvider;
- protected final SchedulerManager deferredCommandWrapper;
- protected final EntityHeader entityLogo;
- protected final ErrorHandler errorHandler;
- protected final Provider<FileDownloadUtils> fileDownloadProvider;
- protected final Provider<FileUploader> fileUploaderProvider;
- protected final FoldableContent foldableContent;
- protected final Provider<GroupServiceAsync> groupServiceProvider;
- protected final I18nUITranslationService i18n;
- private final SitePublicSpaceLink publicLink;
- protected final Session session;
- protected final StateManager stateManager;
- protected final Provider<ContentEditor> textEditorProvider;
-
- private final WsBackManager wsBackManager;
-
- public AbstractFoldableContentActions(final Session session, final StateManager stateManager,
- final I18nUITranslationService i18n, final ErrorHandler errorHandler,
- final SchedulerManager deferredCommandWrapper, final Provider<GroupServiceAsync> groupServiceProvider,
- final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<FileUploader> fileUploaderProvider, final ContextNavigator contextNavigator,
- final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final Provider<ContentEditor> textEditorProvider,
- final Provider<ContextPropEditor> contextPropEditorProvider, final FoldableContent foldableContent,
- final EntityHeader entityLogo, final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
- this.session = session;
- this.stateManager = stateManager;
- this.i18n = i18n;
- this.errorHandler = errorHandler;
- this.deferredCommandWrapper = deferredCommandWrapper;
- this.groupServiceProvider = groupServiceProvider;
- this.contentServiceProvider = contentServiceProvider;
- this.fileUploaderProvider = fileUploaderProvider;
- this.contextNavigator = contextNavigator;
- this.contentActionRegistry = contentActionRegistry;
- this.contextActionRegistry = contextActionRegistry;
- this.fileDownloadProvider = fileDownloadProvider;
- this.textEditorProvider = textEditorProvider;
- this.contextPropEditorProvider = contextPropEditorProvider;
- this.foldableContent = foldableContent;
- this.entityLogo = entityLogo;
- this.publicLink = publicLink;
- this.wsBackManager = wsBackManager;
- createActions();
- session.onInitDataReceived(new Listener<InitDataDTO>() {
- @Override
- public void onEvent(final InitDataDTO parameter) {
- createPostSessionInitActions();
- }
- });
- }
-
- protected abstract void createActions();
-
- protected void createContentModeratedActions(final String parentMenuTitle, final String... contentsModerated) {
- createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Published online"), ContentStatus.publishedOnline,
- contentsModerated);
- createSetStatusAction(AccessRolDTO.Editor, i18n.t("Editing in progress"), ContentStatus.editingInProgress,
- contentsModerated);
- createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Rejected"), ContentStatus.rejected, contentsModerated);
- createSetStatusAction(AccessRolDTO.Editor, i18n.t("Submitted for publish"),
- ContentStatus.submittedForEvaluation, contentsModerated);
- createSetStatusAction(AccessRolDTO.Administrator, i18n.t("In the rubbish bin"), ContentStatus.inTheDustbin,
- contentsModerated);
- }
-
- protected void createContentRenameAction(final String parentMenuTitle, final String textDescription,
- final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtn = new ActionToolbarMenuAndItemDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- contextNavigator.editItem(stateToken);
- }
- });
- renameCtn.setTextDescription(textDescription);
- renameCtn.setParentMenuTitle(parentMenuTitle);
- renameCtn.setEnableCondition(notDeleted());
- // renameCtn.setShortcut(new ShortcutDescriptor(false, Keyboard.KEY_F2,
- // i18n.tWithNT("F2", "The F2 Function key")));
- contentActionRegistry.addAction(renameCtn, registerInTypes);
- }
-
- protected void createDelContainerAction(final String text, final String parentMenuTitle,
- final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> delContainer = new ActionToolbarMenuAndItemDescriptor<StateToken>(
- AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- NotifyUser.info("Sorry, in development");
- }
- });
- delContainer.setParentMenuTitle(parentMenuTitle);
- delContainer.setTextDescription(i18n.t(text));
- delContainer.setMustBeConfirmed(true);
- delContainer.setConfirmationTitle(i18n.t("Please confirm"));
- delContainer.setConfirmationText(i18n.t("You will delete it with all its contents. Are you sure?"));
- contextActionRegistry.addAction(delContainer, registerInTypes);
- }
-
- protected void createDelContentAction(final String parentMenuTitle, final String textDescription,
- final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> delContent = new ActionToolbarMenuAndItemDescriptor<StateToken>(
- AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- contentServiceProvider.get().delContent(session.getUserHash(), token,
- new AsyncCallbackSimple<StateContentDTO>() {
- @Override
- public void onSuccess(final StateContentDTO state) {
- session.setCurrentState(state);
- final StateToken parent = token.copy().clearDocument();
- stateManager.gotoToken(parent);
- contextNavigator.clear();
- contextNavigator.refreshState();
- }
- });
- }
- });
- delContent.setParentMenuTitle(parentMenuTitle);
- delContent.setTextDescription(textDescription);
- delContent.setMustBeConfirmed(true);
- delContent.setConfirmationTitle(i18n.t("Please confirm"));
- delContent.setConfirmationText(i18n.t("Are you sure?"));
- delContent.setEnableCondition(notDefAndNotDeleted());
- contentActionRegistry.addAction(delContent, registerInTypes);
- }
-
- protected void createDownloadActions(final String typeUploadedfile) {
- final ActionToolbarButtonDescriptor<StateToken> download = new ActionToolbarButtonDescriptor<StateToken>(
- AccessRolDTO.Viewer, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- downloadContent(token);
- }
- });
- download.setMustBeAuthenticated(false);
- download.setTextDescription(i18n.t("Download"));
- download.setToolTip(i18n.t("Download this file"));
- download.setIconUrl("images/nav/download.png");
-
- final ActionMenuItemDescriptor<StateToken> downloadCtx = new ActionMenuItemDescriptor<StateToken>(
- AccessRolDTO.Viewer, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- downloadContent(token);
- }
- });
- downloadCtx.setMustBeAuthenticated(false);
- downloadCtx.setTextDescription(i18n.t("Download"));
- downloadCtx.setIconUrl("images/nav/download.png");
-
- contentActionRegistry.addAction(download, typeUploadedfile);
- contextActionRegistry.addAction(downloadCtx, typeUploadedfile);
- }
-
- protected ActionToolbarButtonDescriptor<StateToken> createEditAction(final String fileMenuTitle,
- final String... registerInTypes) {
- final ActionToolbarButtonDescriptor<StateToken> editContent = new ActionToolbarButtonDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- NotifyUser.showProgressProcessing();
- session.check(new AsyncCallbackSimple<Void>() {
- @Override
- public void onSuccess(final Void result) {
- final ContentEditor editor = textEditorProvider.get();
- foldableContent.detach();
- contextNavigator.detach();
- contextPropEditorProvider.get().attach();
- editor.edit(session.getContentState().getContent(), new Listener<String>() {
- @Override
- public void onEvent(final String html) {
- NotifyUser.showProgressSaving();
- contentServiceProvider.get().save(session.getUserHash(), stateToken, html,
- new AsyncCallback<Void>() {
- @Override
- public void onFailure(final Throwable caught) {
- NotifyUser.hideProgress();
- if (caught instanceof SessionExpiredException) {
- errorHandler.doSessionExpired();
- } else {
- NotifyUser.error(i18n.t("Error saving document. Retrying..."));
- errorHandler.process(caught);
- editor.onSaveFailed();
- }
- }
-
- @Override
- public void onSuccess(final Void param) {
- NotifyUser.hideProgress();
- session.getContentState().setContent(html);
- editor.onSavedSuccessful();
- }
- });
- }
- }, new Listener0() {
- @Override
- public void onEvent() {
- // onClose
- deferredCommandWrapper.addCommand(new ScheduledCommand() {
- @Override
- public void execute() {
- foldableContent.attach();
- contextPropEditorProvider.get().detach();
- contextNavigator.attach();
- if (session.inSameToken(stateToken)) {
- contextNavigator.refreshState();
- foldableContent.refreshState();
- }
- }
- });
- }
- });
- editor.setFileMenuTitle(fileMenuTitle);
- NotifyUser.hideProgress();
- }
- });
- }
- });
- editContent.setTextDescription(i18n.tWithNT("Edit", "used in button"));
- editContent.setIconUrl("images/content_edit.png");
- editContent.setLeftSeparator(ActionToolbarButtonSeparator.spacer);
- editContent.setEnableCondition(notDeleted());
- contentActionRegistry.addAction(editContent, registerInTypes);
- return editContent;
- }
-
- protected ActionMenuItemDescriptor<StateToken> createGoAction(final String... registerInTypes) {
- final ActionMenuItemDescriptor<StateToken> go = new ActionMenuItemDescriptor<StateToken>(AccessRolDTO.Viewer,
- new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- stateManager.gotoToken(token);
- }
- });
- go.setMustBeAuthenticated(false);
- go.setTextDescription(i18n.t("Open"));
- go.setIconUrl("images/nav/go.png");
- contextActionRegistry.addAction(go, registerInTypes);
- return go;
- }
-
- protected ActionToolbarButtonDescriptor<StateToken> createGoHomeAction(final String... registerInTypes) {
- final ActionToolbarButtonDescriptor<StateToken> goGroupHome = new ActionToolbarButtonDescriptor<StateToken>(
- AccessRolDTO.Viewer, CONTEXT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- stateManager.gotoToken(token.getGroup());
- }
- });
- goGroupHome.setMustBeAuthenticated(false);
- goGroupHome.setIconUrl("images/group-home.png");
- goGroupHome.setEnableCondition(new ActionEnableCondition<StateToken>() {
- @Override
- public boolean mustBeEnabled(final StateToken token) {
- final StateToken defContentToken = session.getCurrentState().getGroup().getDefaultContent().getStateToken();
- return !session.getCurrentStateToken().equals(defContentToken);
- }
- });
- goGroupHome.setLeftSeparator(ActionToolbarButtonSeparator.fill);
- contextActionRegistry.addAction(goGroupHome, registerInTypes);
- return goGroupHome;
- }
-
- protected void createNewContainerAction(final String contentTypeId, final String iconUrl,
- final String textDescription, final String parentMenuTitle, final String parentMenuSubtitle,
- final String defaultName, final Position position, final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> addFolder;
- addFolder = new ActionToolbarMenuAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_TOPBAR,
- new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- NotifyUser.showProgressProcessing();
- contentServiceProvider.get().addFolder(session.getUserHash(), stateToken, defaultName,
- contentTypeId, new AsyncCallbackSimple<StateContainerDTO>() {
- @Override
- public void onSuccess(final StateContainerDTO state) {
- contextNavigator.setEditOnNextStateChange(true);
- stateManager.setRetrievedState(state);
- }
- });
- }
- });
- addFolder.setTextDescription(textDescription);
- addFolder.setParentMenuTitle(parentMenuTitle);
- addFolder.setParentSubMenuTitle(parentMenuSubtitle);
- addFolder.setIconUrl(iconUrl);
- register(addFolder, position, registerInTypes);
- }
-
- protected ActionToolbarMenuAndItemDescriptor<StateToken> createNewContentAction(final String typeId,
- final String iconUrl, final String description, final String parentMenuTitle, final Position position,
- final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> addContent = new ActionToolbarMenuAndItemDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() {
- @Override
- public void onEvent() {
- NotifyUser.showProgressProcessing();
- contentServiceProvider.get().addContent(session.getUserHash(),
- session.getCurrentState().getStateToken(), description, typeId,
- new AsyncCallbackSimple<StateContentDTO>() {
- @Override
- public void onSuccess(final StateContentDTO state) {
- contextNavigator.setEditOnNextStateChange(true);
- stateManager.setRetrievedState(state);
- }
- });
- }
- });
- addContent.setTextDescription(description);
- addContent.setParentMenuTitle(parentMenuTitle);
- addContent.setParentSubMenuTitle(i18n.t("New"));
- addContent.setIconUrl(iconUrl);
- register(addContent, position, registerInTypes);
- return addContent;
- }
-
- protected abstract void createPostSessionInitActions();
-
- protected ActionToolbarMenuDescriptor<StateToken> createRefreshCntAction(final String parentMenuTitle,
- final String... registerInTypes) {
- final ActionToolbarMenuDescriptor<StateToken> refreshCnt = new ActionToolbarMenuDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- stateManager.reload();
- contextNavigator.selectItem(stateToken);
- }
- });
- refreshCnt.setMustBeAuthenticated(false);
- refreshCnt.setParentMenuTitle(parentMenuTitle);
- refreshCnt.setTextDescription(i18n.t("Refresh"));
- refreshCnt.setIconUrl("images/nav/refresh.png");
- contentActionRegistry.addAction(refreshCnt, registerInTypes);
- return refreshCnt;
- }
-
- protected ActionToolbarMenuDescriptor<StateToken> createRefreshCxtAction(final String parentMenuTitleCtx,
- final String... registerInTypes) {
- final ActionToolbarMenuDescriptor<StateToken> refreshCtx = new ActionToolbarMenuDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- stateManager.reload();
- contextNavigator.selectItem(stateToken);
- }
- });
- refreshCtx.setMustBeAuthenticated(false);
- refreshCtx.setParentMenuTitle(parentMenuTitleCtx);
- refreshCtx.setTextDescription(i18n.t("Refresh"));
- refreshCtx.setIconUrl("images/nav/refresh.png");
- contextActionRegistry.addAction(refreshCtx, registerInTypes);
- return refreshCtx;
- }
-
- protected ActionToolbarMenuAndItemDescriptor<StateToken> createRenameContentInCtxAction(
- final String parentMenuTitleCtx, final String textDescription, final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtx = new ActionToolbarMenuAndItemDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- contextNavigator.editItem(stateToken);
- }
- });
- renameCtx.setTextDescription(textDescription);
- renameCtx.setParentMenuTitle(parentMenuTitleCtx);
- contextActionRegistry.addAction(renameCtx, registerInTypes);
- return renameCtx;
- }
-
- protected ActionToolbarMenuDescriptor<StateToken> createSetAsDefContent(final String parentMenuTitle,
- final String... registerInTypes) {
- final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupContent;
- setAsDefGroupContent = new ActionToolbarMenuDescriptor<StateToken>(AccessRolDTO.Administrator, CONTENT_TOPBAR,
- new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- NotifyUser.showProgressProcessing();
- contentServiceProvider.get().setAsDefaultContent(session.getUserHash(), token,
- new AsyncCallbackSimple<ContentSimpleDTO>() {
- @Override
- public void onSuccess(final ContentSimpleDTO defContent) {
- session.getCurrentState().getGroup().setDefaultContent(defContent);
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Content selected as the group homepage"));
- }
- });
- }
- });
- setAsDefGroupContent.setTextDescription(i18n.t("Set this as the default group page"));
- setAsDefGroupContent.setIconUrl("images/group-home.png");
- setAsDefGroupContent.setEnableCondition(notDefAndNotDeleted());
- setAsDefGroupContent.setParentMenuTitle(parentMenuTitle);
- contentActionRegistry.addAction(setAsDefGroupContent, registerInTypes);
- return setAsDefGroupContent;
- }
-
- protected void createSetGroupBackImageAction(final String parentMenuTitle, final String... registerInTypes) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> setGroupBackImage = new ActionToolbarMenuAndItemDescriptor<StateToken>(
- AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken token) {
- groupServiceProvider.get().setGroupBackImage(session.getUserHash(), token,
- new AsyncCallbackSimple<GroupDTO>() {
- @Override
- public void onSuccess(final GroupDTO newGroup) {
- if (session.getCurrentState().getGroup().getShortName().equals(
- newGroup.getShortName())) {
- session.getCurrentState().setGroup(newGroup);
- wsBackManager.clearBackImage();
- wsBackManager.setBackImage(newGroup.getGroupBackImage().getStateToken());
- }
- }
- });
- }
- });
- setGroupBackImage.setParentMenuTitle(parentMenuTitle);
- setGroupBackImage.setTextDescription(i18n.t("Set this as the group background image"));
- setGroupBackImage.setIconUrl("images/nav/picture.png");
- setGroupBackImage.setEnableCondition(new ActionEnableCondition<StateToken>() {
- @Override
- public boolean mustBeEnabled(final StateToken token) {
- return session.getContentState().getMimeType().isImage();
- }
- });
- contentActionRegistry.addAction(setGroupBackImage, registerInTypes);
- }
-
- protected void createSetStatusAction(final AccessRolDTO rol, final String textDescription,
- final ContentStatus status, final String[] contentsModerated) {
- final ActionToolbarMenuRadioDescriptor<StateToken> action = new ActionToolbarMenuRadioDescriptor<StateToken>(
- rol, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- setContentStatus(status, stateToken);
- }
- }, "ContentRadioStatus", new RadioMustBeChecked() {
- @Override
- public boolean mustBeChecked() {
- if (session.getContainerState() instanceof StateContentDTO) {
- final ContentStatus currentStatus = session.getContentState().getStatus();
- return status.equals(currentStatus);
- }
- return false;
- }
- });
- action.setTextDescription(textDescription);
- action.setParentMenuTitle(PUBLICATION_MENU);
- action.setParentMenuIconUrl("images/anybody.png");
- contentActionRegistry.addAction(action, contentsModerated);
- }
-
- protected void createShowDeletedItems(final String parentMenuTitle, final String... registerInTypes) {
- final ActionToolbarMenuCheckItemDescriptor<StateToken> showDeletedItems = new ActionToolbarMenuCheckItemDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() {
- @Override
- public void onEvent() {
- final boolean mustShow = !session.getCurrentUserInfo().getShowDeletedContent();
- session.getCurrentUserInfo().setShowDeletedContent(mustShow);
- if (!mustShow && session.isCurrentStateAContent()
- && session.getContentState().getStatus().equals(ContentStatus.inTheDustbin)) {
- stateManager.gotoToken(session.getCurrentStateToken().getGroup());
- }
- contextNavigator.clear();
- contextNavigator.refreshState();
- }
- }, new ActionCheckedCondition() {
- @Override
- public boolean mustBeChecked() {
- return session.getShowDeletedContent();
- }
- });
- showDeletedItems.setParentMenuTitle(parentMenuTitle);
- showDeletedItems.setTextDescription("Show deleted items");
- showDeletedItems.setMustBeAuthenticated(true);
- contextActionRegistry.addAction(showDeletedItems, registerInTypes);
- }
-
- protected ActionToolbarMenuDescriptor<StateToken> createTranslateAction(final String fileMenuTitle,
- final String... registerInTypes) {
- final ActionToolbarMenuDescriptor<StateToken> translateContent = new ActionToolbarMenuDescriptor<StateToken>(
- AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
- @Override
- public void onEvent(final StateToken stateToken) {
- NotifyUser.important(i18n.t("Sorry, this functionality is currently in development"));
- }
- });
- translateContent.setParentMenuTitle(fileMenuTitle);
- translateContent.setTextDescription(i18n.tWithNT("Translate", "used in button"));
- translateContent.setToolTip(i18n.t("Translate this document to other languages"));
- translateContent.setIconUrl("images/language.gif");
- translateContent.setEnableCondition(notDeleted());
- contentActionRegistry.addAction(translateContent, registerInTypes);
- return translateContent;
- }
-
- protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadAction(final String textDescription,
- final String iconUrl, final String toolTip, final String permitedExtensions,
- final String... registerInTypes) {
- final ActionToolbarButtonAndItemDescriptor<StateToken> uploadFile;
- uploadFile = new ActionToolbarButtonAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_BOTTOMBAR,
- new Listener0() {
- @Override
- public void onEvent() {
- if (permitedExtensions != null) {
- // FIXME: can't be reset ...
- // fileUploaderProvider.get().setPermittedExtensions(permitedExtensions);
- } else {
- // FIXME: can't be reset ...
- // fileUploaderProvider.get().resetPermittedExtensions();
- }
- fileUploaderProvider.get().show();
- }
- });
- uploadFile.setTextDescription(textDescription);
- uploadFile.setIconUrl(iconUrl);
- uploadFile.setToolTip(toolTip);
- contextActionRegistry.addAction(uploadFile, registerInTypes);
- return uploadFile;
- }
-
- protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadMediaAction(final String... registerInTypes) {
- final ActionToolbarButtonAndItemDescriptor<StateToken> uploadMedia = createUploadAction(i18n.t("Upload media"),
- "images/nav/upload.png", i18n.t("Upload some media (images, videos...)"),
- session.getGalleryPermittedExtensions());
- contextActionRegistry.addAction(uploadMedia, registerInTypes);
- return uploadMedia;
- }
-
- protected void downloadContent(final StateToken token) {
- fileDownloadProvider.get().downloadFile(token);
- }
-
- private ActionEnableCondition<StateToken> notDefAndNotDeleted() {
- return new ActionEnableCondition<StateToken>() {
- @Override
- public boolean mustBeEnabled(final StateToken token) {
- final boolean isNotDefContentToken = !session.getCurrentState().getGroup().getDefaultContent().getStateToken().equals(
- session.getCurrentStateToken());
- return isNotDefContentToken && notDeleted().mustBeEnabled(token);
- }
- };
- }
-
- private ActionEnableCondition<StateToken> notDeleted() {
- return new ActionEnableCondition<StateToken>() {
- @Override
- public boolean mustBeEnabled(final StateToken token) {
- final boolean isNotDeleted = !(session.isCurrentStateAContent() && session.getContentState().getStatus().equals(
- ContentStatus.inTheDustbin));
- return isNotDeleted;
- }
- };
- }
-
- private void register(final ActionToolbarMenuAndItemDescriptor<StateToken> action, final Position position,
- final String... registerInTypes) {
- if (position.equals(Position.ctx)) {
- contextActionRegistry.addAction(action, registerInTypes);
- } else if (position.equals(Position.cnt)) {
- contentActionRegistry.addAction(action, registerInTypes);
- }
- }
-
- private void setContentStatus(final ContentStatus status, final StateToken stateToken) {
- final AsyncCallbackSimple<StateAbstractDTO> callback = new AsyncCallbackSimple<StateAbstractDTO>() {
- @Override
- public void onSuccess(final StateAbstractDTO state) {
- if (session.inSameToken(stateToken)) {
- session.setCurrentState(state);
- publicLink.setState(state);
- foldableContent.refreshState();
- }
- contextNavigator.setItemStatus(stateToken, status);
- }
- };
- if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected)
- || status.equals(ContentStatus.inTheDustbin)) {
- contentServiceProvider.get().setStatusAsAdmin(session.getUserHash(), stateToken, status, callback);
- } else {
- contentServiceProvider.get().setStatus(session.getUserHash(), stateToken, status, callback);
- }
- }
-
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,674 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client;
+
+import org.ourproject.kune.platf.client.actions.ActionCheckedCondition;
+import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
+import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuAndItemDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuCheckItemDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
+import org.ourproject.kune.platf.client.actions.RadioMustBeChecked;
+import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
+import org.ourproject.kune.workspace.client.cnt.ContentActionRegistry;
+import org.ourproject.kune.workspace.client.cnt.FoldableContent;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.errors.SessionExpiredException;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.domain.ContentStatus;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.AccessRolDTO;
+import cc.kune.core.shared.dto.ContentSimpleDTO;
+import cc.kune.core.shared.dto.GroupDTO;
+import cc.kune.core.shared.dto.InitDataDTO;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.dto.StateContainerDTO;
+import cc.kune.core.shared.dto.StateContentDTO;
+
+import com.calclab.suco.client.events.Listener;
+import com.calclab.suco.client.events.Listener0;
+import com.calclab.suco.client.ioc.Provider;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public abstract class AbstractFoldableContentActions {
+
+ protected enum Position {
+ cnt, ctx
+ }
+
+ public static final ActionToolbarPosition CONTENT_BOTTOMBAR = new ActionToolbarPosition("afca-ctn-bottom");
+
+ public static final ActionToolbarPosition CONTENT_TOPBAR = new ActionToolbarPosition("afca-ctn-top");
+ public static final ActionToolbarPosition CONTEXT_BOTTOMBAR = new ActionToolbarPosition("afca-ctx-bottom");
+ public static final ActionToolbarPosition CONTEXT_TOPBAR = new ActionToolbarPosition("afca-ctx-top");
+ private static final String PUBLICATION_MENU = "Publication";
+
+ protected final ContentActionRegistry contentActionRegistry;
+ protected final Provider<ContentServiceAsync> contentServiceProvider;
+ protected final ContextActionRegistry contextActionRegistry;
+ protected final ContextNavigator contextNavigator;
+ protected final Provider<ContextPropEditor> contextPropEditorProvider;
+ protected final SchedulerManager deferredCommandWrapper;
+ protected final EntityHeader entityLogo;
+ protected final ErrorHandler errorHandler;
+ protected final Provider<FileDownloadUtils> fileDownloadProvider;
+ protected final Provider<FileUploader> fileUploaderProvider;
+ protected final FoldableContent foldableContent;
+ protected final Provider<GroupServiceAsync> groupServiceProvider;
+ protected final I18nUITranslationService i18n;
+ private final SitePublicSpaceLink publicLink;
+ protected final Session session;
+ protected final StateManager stateManager;
+ protected final Provider<ContentEditor> textEditorProvider;
+
+ private final WsBackManager wsBackManager;
+
+ public AbstractFoldableContentActions(final Session session, final StateManager stateManager,
+ final I18nUITranslationService i18n, final ErrorHandler errorHandler,
+ final SchedulerManager deferredCommandWrapper, final Provider<GroupServiceAsync> groupServiceProvider,
+ final Provider<ContentServiceAsync> contentServiceProvider,
+ final Provider<FileUploader> fileUploaderProvider, final ContextNavigator contextNavigator,
+ final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final Provider<ContentEditor> textEditorProvider,
+ final Provider<ContextPropEditor> contextPropEditorProvider, final FoldableContent foldableContent,
+ final EntityHeader entityLogo, final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.i18n = i18n;
+ this.errorHandler = errorHandler;
+ this.deferredCommandWrapper = deferredCommandWrapper;
+ this.groupServiceProvider = groupServiceProvider;
+ this.contentServiceProvider = contentServiceProvider;
+ this.fileUploaderProvider = fileUploaderProvider;
+ this.contextNavigator = contextNavigator;
+ this.contentActionRegistry = contentActionRegistry;
+ this.contextActionRegistry = contextActionRegistry;
+ this.fileDownloadProvider = fileDownloadProvider;
+ this.textEditorProvider = textEditorProvider;
+ this.contextPropEditorProvider = contextPropEditorProvider;
+ this.foldableContent = foldableContent;
+ this.entityLogo = entityLogo;
+ this.publicLink = publicLink;
+ this.wsBackManager = wsBackManager;
+ createActions();
+ session.onInitDataReceived(new Listener<InitDataDTO>() {
+ @Override
+ public void onEvent(final InitDataDTO parameter) {
+ createPostSessionInitActions();
+ }
+ });
+ }
+
+ protected abstract void createActions();
+
+ protected void createContentModeratedActions(final String parentMenuTitle, final String... contentsModerated) {
+ createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Published online"), ContentStatus.publishedOnline,
+ contentsModerated);
+ createSetStatusAction(AccessRolDTO.Editor, i18n.t("Editing in progress"), ContentStatus.editingInProgress,
+ contentsModerated);
+ createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Rejected"), ContentStatus.rejected, contentsModerated);
+ createSetStatusAction(AccessRolDTO.Editor, i18n.t("Submitted for publish"),
+ ContentStatus.submittedForEvaluation, contentsModerated);
+ createSetStatusAction(AccessRolDTO.Administrator, i18n.t("In the rubbish bin"), ContentStatus.inTheDustbin,
+ contentsModerated);
+ }
+
+ protected void createContentRenameAction(final String parentMenuTitle, final String textDescription,
+ final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtn = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ contextNavigator.editItem(stateToken);
+ }
+ });
+ renameCtn.setTextDescription(textDescription);
+ renameCtn.setParentMenuTitle(parentMenuTitle);
+ renameCtn.setEnableCondition(notDeleted());
+ // renameCtn.setShortcut(new ShortcutDescriptor(false, Keyboard.KEY_F2,
+ // i18n.tWithNT("F2", "The F2 Function key")));
+ contentActionRegistry.addAction(renameCtn, registerInTypes);
+ }
+
+ protected void createDelContainerAction(final String text, final String parentMenuTitle,
+ final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> delContainer = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ NotifyUser.info("Sorry, in development");
+ }
+ });
+ delContainer.setParentMenuTitle(parentMenuTitle);
+ delContainer.setTextDescription(i18n.t(text));
+ delContainer.setMustBeConfirmed(true);
+ delContainer.setConfirmationTitle(i18n.t("Please confirm"));
+ delContainer.setConfirmationText(i18n.t("You will delete it with all its contents. Are you sure?"));
+ contextActionRegistry.addAction(delContainer, registerInTypes);
+ }
+
+ protected void createDelContentAction(final String parentMenuTitle, final String textDescription,
+ final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> delContent = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ contentServiceProvider.get().delContent(session.getUserHash(), token,
+ new AsyncCallbackSimple<StateContentDTO>() {
+ @Override
+ public void onSuccess(final StateContentDTO state) {
+ session.setCurrentState(state);
+ final StateToken parent = token.copy().clearDocument();
+ stateManager.gotoToken(parent);
+ contextNavigator.clear();
+ contextNavigator.refreshState();
+ }
+ });
+ }
+ });
+ delContent.setParentMenuTitle(parentMenuTitle);
+ delContent.setTextDescription(textDescription);
+ delContent.setMustBeConfirmed(true);
+ delContent.setConfirmationTitle(i18n.t("Please confirm"));
+ delContent.setConfirmationText(i18n.t("Are you sure?"));
+ delContent.setEnableCondition(notDefAndNotDeleted());
+ contentActionRegistry.addAction(delContent, registerInTypes);
+ }
+
+ protected void createDownloadActions(final String typeUploadedfile) {
+ final ActionToolbarButtonDescriptor<StateToken> download = new ActionToolbarButtonDescriptor<StateToken>(
+ AccessRolDTO.Viewer, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ downloadContent(token);
+ }
+ });
+ download.setMustBeAuthenticated(false);
+ download.setTextDescription(i18n.t("Download"));
+ download.setToolTip(i18n.t("Download this file"));
+ download.setIconUrl("images/nav/download.png");
+
+ final ActionMenuItemDescriptor<StateToken> downloadCtx = new ActionMenuItemDescriptor<StateToken>(
+ AccessRolDTO.Viewer, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ downloadContent(token);
+ }
+ });
+ downloadCtx.setMustBeAuthenticated(false);
+ downloadCtx.setTextDescription(i18n.t("Download"));
+ downloadCtx.setIconUrl("images/nav/download.png");
+
+ contentActionRegistry.addAction(download, typeUploadedfile);
+ contextActionRegistry.addAction(downloadCtx, typeUploadedfile);
+ }
+
+ protected ActionToolbarButtonDescriptor<StateToken> createEditAction(final String fileMenuTitle,
+ final String... registerInTypes) {
+ final ActionToolbarButtonDescriptor<StateToken> editContent = new ActionToolbarButtonDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ NotifyUser.showProgressProcessing();
+ session.check(new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ final ContentEditor editor = textEditorProvider.get();
+ foldableContent.detach();
+ contextNavigator.detach();
+ contextPropEditorProvider.get().attach();
+ editor.edit(session.getContentState().getContent(), new Listener<String>() {
+ @Override
+ public void onEvent(final String html) {
+ NotifyUser.showProgressSaving();
+ contentServiceProvider.get().save(session.getUserHash(), stateToken, html,
+ new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ NotifyUser.hideProgress();
+ if (caught instanceof SessionExpiredException) {
+ errorHandler.doSessionExpired();
+ } else {
+ NotifyUser.error(i18n.t("Error saving document. Retrying..."));
+ errorHandler.process(caught);
+ editor.onSaveFailed();
+ }
+ }
+
+ @Override
+ public void onSuccess(final Void param) {
+ NotifyUser.hideProgress();
+ session.getContentState().setContent(html);
+ editor.onSavedSuccessful();
+ }
+ });
+ }
+ }, new Listener0() {
+ @Override
+ public void onEvent() {
+ // onClose
+ deferredCommandWrapper.addCommand(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ foldableContent.attach();
+ contextPropEditorProvider.get().detach();
+ contextNavigator.attach();
+ if (session.inSameToken(stateToken)) {
+ contextNavigator.refreshState();
+ foldableContent.refreshState();
+ }
+ }
+ });
+ }
+ });
+ editor.setFileMenuTitle(fileMenuTitle);
+ NotifyUser.hideProgress();
+ }
+ });
+ }
+ });
+ editContent.setTextDescription(i18n.tWithNT("Edit", "used in button"));
+ editContent.setIconUrl("images/content_edit.png");
+ editContent.setLeftSeparator(ActionToolbarButtonSeparator.spacer);
+ editContent.setEnableCondition(notDeleted());
+ contentActionRegistry.addAction(editContent, registerInTypes);
+ return editContent;
+ }
+
+ protected ActionMenuItemDescriptor<StateToken> createGoAction(final String... registerInTypes) {
+ final ActionMenuItemDescriptor<StateToken> go = new ActionMenuItemDescriptor<StateToken>(AccessRolDTO.Viewer,
+ new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ stateManager.gotoToken(token);
+ }
+ });
+ go.setMustBeAuthenticated(false);
+ go.setTextDescription(i18n.t("Open"));
+ go.setIconUrl("images/nav/go.png");
+ contextActionRegistry.addAction(go, registerInTypes);
+ return go;
+ }
+
+ protected ActionToolbarButtonDescriptor<StateToken> createGoHomeAction(final String... registerInTypes) {
+ final ActionToolbarButtonDescriptor<StateToken> goGroupHome = new ActionToolbarButtonDescriptor<StateToken>(
+ AccessRolDTO.Viewer, CONTEXT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ stateManager.gotoToken(token.getGroup());
+ }
+ });
+ goGroupHome.setMustBeAuthenticated(false);
+ goGroupHome.setIconUrl("images/group-home.png");
+ goGroupHome.setEnableCondition(new ActionEnableCondition<StateToken>() {
+ @Override
+ public boolean mustBeEnabled(final StateToken token) {
+ final StateToken defContentToken = session.getCurrentState().getGroup().getDefaultContent().getStateToken();
+ return !session.getCurrentStateToken().equals(defContentToken);
+ }
+ });
+ goGroupHome.setLeftSeparator(ActionToolbarButtonSeparator.fill);
+ contextActionRegistry.addAction(goGroupHome, registerInTypes);
+ return goGroupHome;
+ }
+
+ protected void createNewContainerAction(final String contentTypeId, final String iconUrl,
+ final String textDescription, final String parentMenuTitle, final String parentMenuSubtitle,
+ final String defaultName, final Position position, final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> addFolder;
+ addFolder = new ActionToolbarMenuAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_TOPBAR,
+ new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ NotifyUser.showProgressProcessing();
+ contentServiceProvider.get().addFolder(session.getUserHash(), stateToken, defaultName,
+ contentTypeId, new AsyncCallbackSimple<StateContainerDTO>() {
+ @Override
+ public void onSuccess(final StateContainerDTO state) {
+ contextNavigator.setEditOnNextStateChange(true);
+ stateManager.setRetrievedState(state);
+ }
+ });
+ }
+ });
+ addFolder.setTextDescription(textDescription);
+ addFolder.setParentMenuTitle(parentMenuTitle);
+ addFolder.setParentSubMenuTitle(parentMenuSubtitle);
+ addFolder.setIconUrl(iconUrl);
+ register(addFolder, position, registerInTypes);
+ }
+
+ protected ActionToolbarMenuAndItemDescriptor<StateToken> createNewContentAction(final String typeId,
+ final String iconUrl, final String description, final String parentMenuTitle, final Position position,
+ final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> addContent = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() {
+ @Override
+ public void onEvent() {
+ NotifyUser.showProgressProcessing();
+ contentServiceProvider.get().addContent(session.getUserHash(),
+ session.getCurrentState().getStateToken(), description, typeId,
+ new AsyncCallbackSimple<StateContentDTO>() {
+ @Override
+ public void onSuccess(final StateContentDTO state) {
+ contextNavigator.setEditOnNextStateChange(true);
+ stateManager.setRetrievedState(state);
+ }
+ });
+ }
+ });
+ addContent.setTextDescription(description);
+ addContent.setParentMenuTitle(parentMenuTitle);
+ addContent.setParentSubMenuTitle(i18n.t("New"));
+ addContent.setIconUrl(iconUrl);
+ register(addContent, position, registerInTypes);
+ return addContent;
+ }
+
+ protected abstract void createPostSessionInitActions();
+
+ protected ActionToolbarMenuDescriptor<StateToken> createRefreshCntAction(final String parentMenuTitle,
+ final String... registerInTypes) {
+ final ActionToolbarMenuDescriptor<StateToken> refreshCnt = new ActionToolbarMenuDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ stateManager.reload();
+ contextNavigator.selectItem(stateToken);
+ }
+ });
+ refreshCnt.setMustBeAuthenticated(false);
+ refreshCnt.setParentMenuTitle(parentMenuTitle);
+ refreshCnt.setTextDescription(i18n.t("Refresh"));
+ refreshCnt.setIconUrl("images/nav/refresh.png");
+ contentActionRegistry.addAction(refreshCnt, registerInTypes);
+ return refreshCnt;
+ }
+
+ protected ActionToolbarMenuDescriptor<StateToken> createRefreshCxtAction(final String parentMenuTitleCtx,
+ final String... registerInTypes) {
+ final ActionToolbarMenuDescriptor<StateToken> refreshCtx = new ActionToolbarMenuDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ stateManager.reload();
+ contextNavigator.selectItem(stateToken);
+ }
+ });
+ refreshCtx.setMustBeAuthenticated(false);
+ refreshCtx.setParentMenuTitle(parentMenuTitleCtx);
+ refreshCtx.setTextDescription(i18n.t("Refresh"));
+ refreshCtx.setIconUrl("images/nav/refresh.png");
+ contextActionRegistry.addAction(refreshCtx, registerInTypes);
+ return refreshCtx;
+ }
+
+ protected ActionToolbarMenuAndItemDescriptor<StateToken> createRenameContentInCtxAction(
+ final String parentMenuTitleCtx, final String textDescription, final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtx = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ contextNavigator.editItem(stateToken);
+ }
+ });
+ renameCtx.setTextDescription(textDescription);
+ renameCtx.setParentMenuTitle(parentMenuTitleCtx);
+ contextActionRegistry.addAction(renameCtx, registerInTypes);
+ return renameCtx;
+ }
+
+ protected ActionToolbarMenuDescriptor<StateToken> createSetAsDefContent(final String parentMenuTitle,
+ final String... registerInTypes) {
+ final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupContent;
+ setAsDefGroupContent = new ActionToolbarMenuDescriptor<StateToken>(AccessRolDTO.Administrator, CONTENT_TOPBAR,
+ new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ NotifyUser.showProgressProcessing();
+ contentServiceProvider.get().setAsDefaultContent(session.getUserHash(), token,
+ new AsyncCallbackSimple<ContentSimpleDTO>() {
+ @Override
+ public void onSuccess(final ContentSimpleDTO defContent) {
+ session.getCurrentState().getGroup().setDefaultContent(defContent);
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Content selected as the group homepage"));
+ }
+ });
+ }
+ });
+ setAsDefGroupContent.setTextDescription(i18n.t("Set this as the default group page"));
+ setAsDefGroupContent.setIconUrl("images/group-home.png");
+ setAsDefGroupContent.setEnableCondition(notDefAndNotDeleted());
+ setAsDefGroupContent.setParentMenuTitle(parentMenuTitle);
+ contentActionRegistry.addAction(setAsDefGroupContent, registerInTypes);
+ return setAsDefGroupContent;
+ }
+
+ protected void createSetGroupBackImageAction(final String parentMenuTitle, final String... registerInTypes) {
+ final ActionToolbarMenuAndItemDescriptor<StateToken> setGroupBackImage = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken token) {
+ groupServiceProvider.get().setGroupBackImage(session.getUserHash(), token,
+ new AsyncCallbackSimple<GroupDTO>() {
+ @Override
+ public void onSuccess(final GroupDTO newGroup) {
+ if (session.getCurrentState().getGroup().getShortName().equals(
+ newGroup.getShortName())) {
+ session.getCurrentState().setGroup(newGroup);
+ wsBackManager.clearBackImage();
+ wsBackManager.setBackImage(newGroup.getGroupBackImage().getStateToken());
+ }
+ }
+ });
+ }
+ });
+ setGroupBackImage.setParentMenuTitle(parentMenuTitle);
+ setGroupBackImage.setTextDescription(i18n.t("Set this as the group background image"));
+ setGroupBackImage.setIconUrl("images/nav/picture.png");
+ setGroupBackImage.setEnableCondition(new ActionEnableCondition<StateToken>() {
+ @Override
+ public boolean mustBeEnabled(final StateToken token) {
+ return session.getContentState().getMimeType().isImage();
+ }
+ });
+ contentActionRegistry.addAction(setGroupBackImage, registerInTypes);
+ }
+
+ protected void createSetStatusAction(final AccessRolDTO rol, final String textDescription,
+ final ContentStatus status, final String[] contentsModerated) {
+ final ActionToolbarMenuRadioDescriptor<StateToken> action = new ActionToolbarMenuRadioDescriptor<StateToken>(
+ rol, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ setContentStatus(status, stateToken);
+ }
+ }, "ContentRadioStatus", new RadioMustBeChecked() {
+ @Override
+ public boolean mustBeChecked() {
+ if (session.getContainerState() instanceof StateContentDTO) {
+ final ContentStatus currentStatus = session.getContentState().getStatus();
+ return status.equals(currentStatus);
+ }
+ return false;
+ }
+ });
+ action.setTextDescription(textDescription);
+ action.setParentMenuTitle(PUBLICATION_MENU);
+ action.setParentMenuIconUrl("images/anybody.png");
+ contentActionRegistry.addAction(action, contentsModerated);
+ }
+
+ protected void createShowDeletedItems(final String parentMenuTitle, final String... registerInTypes) {
+ final ActionToolbarMenuCheckItemDescriptor<StateToken> showDeletedItems = new ActionToolbarMenuCheckItemDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() {
+ @Override
+ public void onEvent() {
+ final boolean mustShow = !session.getCurrentUserInfo().getShowDeletedContent();
+ session.getCurrentUserInfo().setShowDeletedContent(mustShow);
+ if (!mustShow && session.isCurrentStateAContent()
+ && session.getContentState().getStatus().equals(ContentStatus.inTheDustbin)) {
+ stateManager.gotoToken(session.getCurrentStateToken().getGroup());
+ }
+ contextNavigator.clear();
+ contextNavigator.refreshState();
+ }
+ }, new ActionCheckedCondition() {
+ @Override
+ public boolean mustBeChecked() {
+ return session.getShowDeletedContent();
+ }
+ });
+ showDeletedItems.setParentMenuTitle(parentMenuTitle);
+ showDeletedItems.setTextDescription("Show deleted items");
+ showDeletedItems.setMustBeAuthenticated(true);
+ contextActionRegistry.addAction(showDeletedItems, registerInTypes);
+ }
+
+ protected ActionToolbarMenuDescriptor<StateToken> createTranslateAction(final String fileMenuTitle,
+ final String... registerInTypes) {
+ final ActionToolbarMenuDescriptor<StateToken> translateContent = new ActionToolbarMenuDescriptor<StateToken>(
+ AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() {
+ @Override
+ public void onEvent(final StateToken stateToken) {
+ NotifyUser.important(i18n.t("Sorry, this functionality is currently in development"));
+ }
+ });
+ translateContent.setParentMenuTitle(fileMenuTitle);
+ translateContent.setTextDescription(i18n.tWithNT("Translate", "used in button"));
+ translateContent.setToolTip(i18n.t("Translate this document to other languages"));
+ translateContent.setIconUrl("images/language.gif");
+ translateContent.setEnableCondition(notDeleted());
+ contentActionRegistry.addAction(translateContent, registerInTypes);
+ return translateContent;
+ }
+
+ protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadAction(final String textDescription,
+ final String iconUrl, final String toolTip, final String permitedExtensions,
+ final String... registerInTypes) {
+ final ActionToolbarButtonAndItemDescriptor<StateToken> uploadFile;
+ uploadFile = new ActionToolbarButtonAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_BOTTOMBAR,
+ new Listener0() {
+ @Override
+ public void onEvent() {
+ if (permitedExtensions != null) {
+ // FIXME: can't be reset ...
+ // fileUploaderProvider.get().setPermittedExtensions(permitedExtensions);
+ } else {
+ // FIXME: can't be reset ...
+ // fileUploaderProvider.get().resetPermittedExtensions();
+ }
+ fileUploaderProvider.get().show();
+ }
+ });
+ uploadFile.setTextDescription(textDescription);
+ uploadFile.setIconUrl(iconUrl);
+ uploadFile.setToolTip(toolTip);
+ contextActionRegistry.addAction(uploadFile, registerInTypes);
+ return uploadFile;
+ }
+
+ protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadMediaAction(final String... registerInTypes) {
+ final ActionToolbarButtonAndItemDescriptor<StateToken> uploadMedia = createUploadAction(i18n.t("Upload media"),
+ "images/nav/upload.png", i18n.t("Upload some media (images, videos...)"),
+ session.getGalleryPermittedExtensions());
+ contextActionRegistry.addAction(uploadMedia, registerInTypes);
+ return uploadMedia;
+ }
+
+ protected void downloadContent(final StateToken token) {
+ fileDownloadProvider.get().downloadFile(token);
+ }
+
+ private ActionEnableCondition<StateToken> notDefAndNotDeleted() {
+ return new ActionEnableCondition<StateToken>() {
+ @Override
+ public boolean mustBeEnabled(final StateToken token) {
+ final boolean isNotDefContentToken = !session.getCurrentState().getGroup().getDefaultContent().getStateToken().equals(
+ session.getCurrentStateToken());
+ return isNotDefContentToken && notDeleted().mustBeEnabled(token);
+ }
+ };
+ }
+
+ private ActionEnableCondition<StateToken> notDeleted() {
+ return new ActionEnableCondition<StateToken>() {
+ @Override
+ public boolean mustBeEnabled(final StateToken token) {
+ final boolean isNotDeleted = !(session.isCurrentStateAContent() && session.getContentState().getStatus().equals(
+ ContentStatus.inTheDustbin));
+ return isNotDeleted;
+ }
+ };
+ }
+
+ private void register(final ActionToolbarMenuAndItemDescriptor<StateToken> action, final Position position,
+ final String... registerInTypes) {
+ if (position.equals(Position.ctx)) {
+ contextActionRegistry.addAction(action, registerInTypes);
+ } else if (position.equals(Position.cnt)) {
+ contentActionRegistry.addAction(action, registerInTypes);
+ }
+ }
+
+ private void setContentStatus(final ContentStatus status, final StateToken stateToken) {
+ final AsyncCallbackSimple<StateAbstractDTO> callback = new AsyncCallbackSimple<StateAbstractDTO>() {
+ @Override
+ public void onSuccess(final StateAbstractDTO state) {
+ if (session.inSameToken(stateToken)) {
+ session.setCurrentState(state);
+ publicLink.setState(state);
+ foldableContent.refreshState();
+ }
+ contextNavigator.setItemStatus(stateToken, status);
+ }
+ };
+ if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected)
+ || status.equals(ContentStatus.inTheDustbin)) {
+ contentServiceProvider.get().setStatusAsAdmin(session.getUserHash(), stateToken, status, callback);
+ } else {
+ contentServiceProvider.get().setStatus(session.getUserHash(), stateToken, status, callback);
+ }
+ }
+
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,1114 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client;
-
-import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.platf.client.actions.ActionManager;
-import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
-import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
-import org.ourproject.kune.platf.client.actions.ui.SimpleGuiItem;
-import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
-import org.ourproject.kune.platf.client.app.GroupOptionsCollection;
-import org.ourproject.kune.platf.client.app.UserOptionsCollection;
-import org.ourproject.kune.platf.client.registry.AuthorableRegistry;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.registry.RenamableRegistry;
-import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
-import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialog;
-import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources;
-import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialog;
-import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup;
-import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog;
-import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.InsertMediaDialog;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.InsertMediaGroup;
-import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
-import org.ourproject.kune.platf.client.ui.rte.insertspecialchar.InsertSpecialCharDialog;
-import org.ourproject.kune.platf.client.ui.rte.inserttable.InsertTableDialog;
-import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
-import org.ourproject.kune.workspace.client.cnt.ActionContentToolbarPresenter;
-import org.ourproject.kune.workspace.client.cnt.ContentIconsRegistry;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter;
-import org.ourproject.kune.workspace.client.cxt.ActionContextBottomToolbar;
-import org.ourproject.kune.workspace.client.cxt.ActionContextTopToolbar;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPanel;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPresenter;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditorView;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditorPanel;
-import org.ourproject.kune.workspace.client.editor.ContentEditorPresenter;
-import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocal;
-import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPanel;
-import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPresenter;
-import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocal;
-import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPanel;
-import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPresenter;
-import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocal;
-import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocalPanel;
-import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocalPresenter;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPanel;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPresenter;
-import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
-import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
-import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
-import org.ourproject.kune.workspace.client.i18n.I18nTranslatorView;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView;
-import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction;
-import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard;
-import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel;
-import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenter;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstForm;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdForm;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndForm;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdForm;
-import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView;
-import org.ourproject.kune.workspace.client.nohomepage.NoHomePage;
-import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
-import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter;
-import org.ourproject.kune.workspace.client.oldsn.other.AddAsBuddieHeaderButton;
-import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionBuddiesSummaryToolbar;
-import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionBuddiesSummaryToolbarPresenter;
-import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionGroupSummaryToolbar;
-import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionGroupSummaryToolbarPresenter;
-import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionParticipationSummaryToolbarPresenter;
-import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionParticipationToolbar;
-import org.ourproject.kune.workspace.client.options.GroupOptions;
-import org.ourproject.kune.workspace.client.options.GroupOptionsPanel;
-import org.ourproject.kune.workspace.client.options.GroupOptionsPresenter;
-import org.ourproject.kune.workspace.client.options.UserOptions;
-import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePanel;
-import org.ourproject.kune.workspace.client.options.license.GroupOptionsDefLicense;
-import org.ourproject.kune.workspace.client.options.license.GroupOptionsDefLicensePresenter;
-import org.ourproject.kune.workspace.client.options.license.UserOptionsDefLicense;
-import org.ourproject.kune.workspace.client.options.license.UserOptionsDefLicensePresenter;
-import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter;
-import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogo;
-import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogoPanel;
-import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogoPresenter;
-import org.ourproject.kune.workspace.client.options.logo.UserOptionsLogo;
-import org.ourproject.kune.workspace.client.options.logo.UserOptionsLogoPanel;
-import org.ourproject.kune.workspace.client.options.logo.UserOptionsLogoPresenter;
-import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConfPanel;
-import org.ourproject.kune.workspace.client.options.pscape.GroupOptionsPublicSpaceConf;
-import org.ourproject.kune.workspace.client.options.pscape.GroupOptionsPublicSpaceConfPresenter;
-import org.ourproject.kune.workspace.client.options.pscape.UserOptionsPublicSpaceConf;
-import org.ourproject.kune.workspace.client.options.pscape.UserOptionsPublicSpaceConfPresenter;
-import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConf;
-import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPanel;
-import org.ourproject.kune.workspace.client.options.tools.GroupOptionsToolsConfPresenter;
-import org.ourproject.kune.workspace.client.options.tools.UserOptionsToolsConf;
-import org.ourproject.kune.workspace.client.options.tools.UserOptionsToolsConfPresenter;
-import org.ourproject.kune.workspace.client.rate.RateIt;
-import org.ourproject.kune.workspace.client.rate.RateItPanel;
-import org.ourproject.kune.workspace.client.rate.RateItPresenter;
-import org.ourproject.kune.workspace.client.rate.RatePanel;
-import org.ourproject.kune.workspace.client.rate.RatePresenter;
-import org.ourproject.kune.workspace.client.search.EntityLiveSearcherView;
-import org.ourproject.kune.workspace.client.search.GroupLiveSearchPanel;
-import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
-import org.ourproject.kune.workspace.client.search.GroupLiveSearcherPresenter;
-import org.ourproject.kune.workspace.client.search.SiteSearcher;
-import org.ourproject.kune.workspace.client.search.SiteSearcherPanel;
-import org.ourproject.kune.workspace.client.search.SiteSearcherPresenter;
-import org.ourproject.kune.workspace.client.search.SiteSearcherView;
-import org.ourproject.kune.workspace.client.search.UserLiveSearcher;
-import org.ourproject.kune.workspace.client.search.UserLiveSearcherPanel;
-import org.ourproject.kune.workspace.client.search.UserLiveSearcherPresenter;
-import org.ourproject.kune.workspace.client.site.WorkspaceNotifyUser;
-import org.ourproject.kune.workspace.client.site.msg.ToastMessage;
-import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel;
-import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
-import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress;
-import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearch;
-import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLink;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter;
-import org.ourproject.kune.workspace.client.skel.ActionCntCtxToolbarPanel;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.tags.TagsSummary;
-import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel;
-import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter;
-import org.ourproject.kune.workspace.client.themes.WsBackManager;
-import org.ourproject.kune.workspace.client.themes.WsBackManagerImpl;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.themes.WsThemeManagerPanel;
-import org.ourproject.kune.workspace.client.themes.WsThemeSelector;
-import org.ourproject.kune.workspace.client.themes.WsThemeSelectorPresenter;
-import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntitySubTitlePanel;
-import org.ourproject.kune.workspace.client.title.EntitySubTitlePresenter;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
-import org.ourproject.kune.workspace.client.title.EntityTitlePresenter;
-import org.ourproject.kune.workspace.client.title.RenameAction;
-import org.ourproject.kune.workspace.client.tool.ToolSelector;
-import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenter;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-import org.ourproject.kune.workspace.client.upload.FileUploaderDialog;
-import org.ourproject.kune.workspace.client.upload.FileUploaderPresenter;
-
-import cc.kune.common.client.noti.NotifyLevelImages;
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.common.client.utils.TimerWrapper;
-import cc.kune.core.client.auth.Register;
-import cc.kune.core.client.auth.SignIn;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.groups.newgroup.NewGroup;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.resources.icons.IconResources;
-import cc.kune.core.client.rpcservices.ContentService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupService;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
-import cc.kune.core.client.rpcservices.SocialNetworkService;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
-import cc.kune.core.client.rpcservices.UserServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.HistoryTokenCallback;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.SiteCommonTokens;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.StateTokenUtils;
-import cc.kune.core.shared.dto.UserSimpleDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.ioc.decorator.NoDecoration;
-import com.calclab.suco.client.ioc.decorator.Singleton;
-import com.calclab.suco.client.ioc.module.Factory;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.rpc.ServiceDefTarget;
-
-public class WorkspaceModule extends AbstractExtendedModule {
- @Override
- protected void onInstall() {
-
- register(Singleton.class, new Factory<SocialNetworkServiceAsync>(SocialNetworkServiceAsync.class) {
- @Override
- public SocialNetworkServiceAsync create() {
- final SocialNetworkServiceAsync snServiceAsync = (SocialNetworkServiceAsync) GWT.create(SocialNetworkService.class);
- ((ServiceDefTarget) snServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL()
- + "SocialNetworkService");
- return snServiceAsync;
- }
- }, new Factory<GroupServiceAsync>(GroupServiceAsync.class) {
- @Override
- public GroupServiceAsync create() {
- final GroupServiceAsync groupServiceAsync = (GroupServiceAsync) GWT.create(GroupService.class);
- ((ServiceDefTarget) groupServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "GroupService");
- return groupServiceAsync;
- }
- }, new Factory<ContentServiceAsync>(ContentServiceAsync.class) {
- @Override
- public ContentServiceAsync create() {
- final ContentServiceAsync contentServiceAsync = (ContentServiceAsync) GWT.create(ContentService.class);
- ((ServiceDefTarget) contentServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "ContentService");
- return contentServiceAsync;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) {
- @Override
- public WorkspaceSkeleton create() {
- return new WorkspaceSkeleton();
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<SiteProgress>(SiteProgress.class) {
- @Override
- public SiteProgress create() {
- final SiteProgressPresenter presenter = new SiteProgressPresenter();
- final SiteProgressPanel panel = new SiteProgressPanel(presenter, p(SitePublicSpaceLink.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<WorkspaceNotifyUser>(WorkspaceNotifyUser.class) {
- @Override
- public WorkspaceNotifyUser create() {
- return new WorkspaceNotifyUser(i(NotifyUser.class), i(I18nUITranslationService.class),
- i(SiteProgress.class), p(ToastMessage.class), p(WorkspaceSkeleton.class));
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<SitePublicSpaceLink>(SitePublicSpaceLink.class) {
- @Override
- public SitePublicSpaceLink create() {
- final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter(i(StateManager.class),
- i(StateTokenUtils.class));
- final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter,
- i(WorkspaceSkeleton.class), i(I18nUITranslationService.class), i(Images.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<StateTokenUtils>(StateTokenUtils.class) {
- @Override
- public StateTokenUtils create() {
- return new StateTokenUtils(i(Session.class));
- }
- });
-
- register(NoDecoration.class, new Factory<ToastMessage>(ToastMessage.class) {
- @Override
- public ToastMessage create() {
- final ToastMessagePresenter presenter = new ToastMessagePresenter();
- final ToastMessagePanel panel = new ToastMessagePanel();
- presenter.init(panel);
- return presenter;
- }
- });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<SiteUserOptions>(SiteUserOptions.class) {
- // @Override
- // public SiteUserOptions create() {
- // final SiteUserOptionsPresenter presenter = new
- // SiteUserOptionsPresenter(i(Session.class),
- // i(StateManager.class), p(FileDownloadUtils.class),
- // $(I18nTranslationService.class),
- // $(IconResources.class));
- // final SiteUserOptionsPanel panel = new
- // SiteUserOptionsPanel(presenter, i(WorkspaceSkeleton.class),
- // $(GuiBindingsRegister.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) {
- @Override
- public SiteSignInLink create() {
- final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter(i(Session.class));
- final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<SiteSignOutLink>(SiteSignOutLink.class) {
- @Override
- public SiteSignOutLink create() {
- final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter(i(Session.class),
- p(UserServiceAsync.class), p(ErrorHandler.class));
- final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter,
- i(I18nUITranslationService.class), i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
- //
- // register(ApplicationComponentGroup.class, new
- // Factory<SiteOptions>(SiteOptions.class) {
- // @Override
- // public SiteOptions create() {
- // final SiteOptionsPresenter presenter = new
- // SiteOptionsPresenter(i(I18nUITranslationService.class),
- // i(IconResources.class));
- // final SiteOptionsPanel panel = new
- // SiteOptionsPanel(i(WorkspaceSkeleton.class),
- // i(I18nUITranslationService.class), i(GuiBindingsRegister.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
- @Override
- public SiteSearch create() {
- final SiteSearchPresenter presenter = new SiteSearchPresenter(p(SiteSearcher.class),
- i(I18nTranslationService.class));
- final SiteSearchPanel panel = new SiteSearchPanel(presenter, i(WorkspaceSkeleton.class),
- i(Images.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) {
- @Override
- public SiteLogo create() {
- // final SiteLogoPresenter presenter = new
- // SiteLogoPresenter(i(Session.class));
- // final SiteLogoPanel panel = new SiteLogoPanel(presenter,
- // i(WorkspaceSkeleton.class));
- // presenter.init(panel);
- return null;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<EntityHeader>(EntityHeader.class) {
- @Override
- public EntityHeader create() {
- final EntityHeaderPresenter presenter = new EntityHeaderPresenter(i(StateManager.class),
- i(WsThemeManager.class), i(Session.class));
- final EntityHeaderPanel panel = new EntityHeaderPanel(i(WorkspaceSkeleton.class),
- p(FileDownloadUtils.class), i(Images.class), i(GuiBindingsRegister.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<WsBackManager>(WsBackManager.class) {
- @Override
- public WsBackManager create() {
- return new WsBackManagerImpl(i(FileDownloadUtils.class));
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<WsThemeManager>(WsThemeManager.class) {
- @Override
- public WsThemeManager create() {
- final WsThemeManager presenter = new WsThemeManager(i(Session.class), p(GroupServiceAsync.class),
- i(StateManager.class), i(WsBackManager.class));
- new WsThemeManagerPanel(presenter, i(WorkspaceSkeleton.class));
- return presenter;
- }
- });
-
- register(NoDecoration.class, new Factory<WsThemeSelector>(WsThemeSelector.class) {
- @Override
- public WsThemeSelector create() {
- final WsThemeSelectorPresenter presenter = new WsThemeSelectorPresenter(i(Session.class),
- i(I18nTranslationService.class));
- presenter.init(new SimpleGuiItem(i(GuiBindingsRegister.class)));
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) {
- @Override
- public EntityTitle create() {
- final EntityTitlePresenter presenter = new EntityTitlePresenter(i(StateManager.class),
- i(Session.class), i(ContentIconsRegistry.class), i(RenamableRegistry.class),
- i(RenameAction.class));
- final EntityTitlePanel panel = new EntityTitlePanel(i(WorkspaceSkeleton.class), presenter);
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<EntitySubTitle>(EntitySubTitle.class) {
- @Override
- public EntitySubTitle create() {
- final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter(
- i(I18nUITranslationService.class), i(StateManager.class), false, i(AuthorableRegistry.class));
- final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<EntityLicensePresenter>(EntityLicensePresenter.class) {
- // @Override
- // public EntityLicensePresenter create() {
- // final EntityLicensePresenter presenter = new
- // EntityLicensePresenter(i(StateManager.class));
- // final EntityLicensePanel panel = new EntityLicensePanel(presenter,
- // i(I18nUITranslationService.class),
- // i(WorkspaceSkeleton.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) {
- @Override
- public RateIt create() {
- final RateItPresenter presenter = new RateItPresenter(i(I18nUITranslationService.class),
- i(Session.class), p(ContentServiceAsync.class), i(StateManager.class), p(RatePresenter.class),
- i(ContentCapabilitiesRegistry.class));
- final RateItPanel panel = new RateItPanel(presenter, i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class), i(Images.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<RatePresenter>(RatePresenter.class) {
- @Override
- public RatePresenter create() {
- final RatePresenter presenter = new RatePresenter(i(StateManager.class),
- i(ContentCapabilitiesRegistry.class));
- final RatePanel panel = new RatePanel(null, null, i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<ActionManager>(ActionManager.class) {
- @Override
- public ActionManager create() {
- return new ActionManager();
- }
- });
-
- register(Singleton.class, new Factory<ActionGroupSummaryToolbar>(ActionGroupSummaryToolbar.class) {
- @Override
- public ActionGroupSummaryToolbar create() {
- final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(p(ActionManager.class));
- final ActionGroupSummaryToolbarPresenter toolbar = new ActionGroupSummaryToolbarPresenter(panel);
- return toolbar;
- }
- }, new Factory<ActionParticipationToolbar>(ActionParticipationToolbar.class) {
- @Override
- public ActionParticipationToolbar create() {
- final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(p(ActionManager.class));
- final ActionParticipationSummaryToolbarPresenter toolbar = new ActionParticipationSummaryToolbarPresenter(
- panel);
- return toolbar;
- }
- }, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) {
- @Override
- public ActionBuddiesSummaryToolbar create() {
- final ActionToolbarPanel<UserSimpleDTO> panel = new ActionToolbarPanel<UserSimpleDTO>(
- p(ActionManager.class));
- final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel);
- return toolbar;
- }
- });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<GroupMembersSummary>(GroupMembersSummary.class) {
- // @Override
- // public GroupMembersSummary create() {
- // final GroupMembersSummaryPresenter presenter = new
- // GroupMembersSummaryPresenter(
- // i(I18nUITranslationService.class), i(StateManager.class),
- // i(ImageUtils.class),
- // i(Session.class), p(SocialNetworkServiceAsync.class),
- // p(GroupServiceAsync.class),
- // p(GroupLiveSearcher.class), p(ChatEngine.class),
- // i(GroupActionRegistry.class),
- // i(ActionGroupSummaryToolbar.class), p(FileDownloadUtils.class),
- // i(AccessRightsClientManager.class), i(IconResources.class));
- // final GroupMembersSummaryView view = new
- // GroupMembersSummaryPanel(presenter,
- // i(I18nUITranslationService.class), i(WorkspaceSkeleton.class), i(
- // ActionGroupSummaryToolbar.class).getView());
- // presenter.init(view);
- // return presenter;
- // }
- // });
-
- register(ApplicationComponentGroup.class, new Factory<AddAsBuddieHeaderButton>(AddAsBuddieHeaderButton.class) {
- @Override
- public AddAsBuddieHeaderButton create() {
- return new AddAsBuddieHeaderButton(p(ChatEngine.class), i(Session.class), i(StateManager.class),
- i(I18nTranslationService.class), i(IconResources.class), i(EntityHeader.class));
- }
- });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<BuddiesSummary>(BuddiesSummary.class) {
- // @Override
- // public BuddiesSummary create() {
- // final BuddiesSummaryPresenter presenter = new
- // BuddiesSummaryPresenter(i(StateManager.class),
- // i(Session.class), p(UserServiceAsync.class),
- // i(UserActionRegistry.class),
- // i(I18nTranslationService.class), p(ChatEngine.class),
- // i(ActionBuddiesSummaryToolbar.class),
- // p(FileDownloadUtils.class), i(ImageUtils.class),
- // p(SocialNetworkServiceAsync.class),
- // i(GroupActionRegistry.class), i(AccessRightsClientManager.class),
- // i(IconResources.class));
- // final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter,
- // i(WorkspaceSkeleton.class),
- // i(I18nTranslationService.class), i(ActionManager.class),
- // i(ActionBuddiesSummaryToolbar.class).getView());
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<ParticipationSummary>(ParticipationSummary.class) {
- // @Override
- // public ParticipationSummary create() {
- // final ParticipationSummaryPresenter presenter = new
- // ParticipationSummaryPresenter(
- // i(I18nUITranslationService.class), i(StateManager.class),
- // i(ImageUtils.class),
- // i(Session.class), p(SocialNetworkServiceAsync.class),
- // i(GroupActionRegistry.class),
- // i(ActionParticipationToolbar.class), p(FileDownloadUtils.class),
- // i(AccessRightsClientManager.class), i(IconResources.class));
- // final ParticipationSummaryView view = new
- // ParticipationSummaryPanel(presenter,
- // i(I18nUITranslationService.class), i(WorkspaceSkeleton.class), i(
- // ActionParticipationToolbar.class).getView());
- // presenter.init(view);
- // return presenter;
- // }
- // });
-
- register(ApplicationComponentGroup.class, new Factory<TagsSummary>(TagsSummary.class) {
- @Override
- public TagsSummary create() {
- final TagsSummaryPresenter presenter = new TagsSummaryPresenter(i(Session.class),
- p(SiteSearcher.class), i(StateManager.class));
- final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<NoHomePage>(NoHomePage.class) {
- @Override
- public NoHomePage create() {
- final NoHomePagePresenter presenter = new NoHomePagePresenter(i(StateManager.class),
- p(EntityHeader.class));
- final NoHomePagePanel panel = new NoHomePagePanel(presenter, i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(ApplicationComponentGroup.class, new Factory<GroupOptions>(GroupOptions.class) {
- @Override
- public GroupOptions create() {
- final GroupOptionsPresenter presenter = new GroupOptionsPresenter(i(StateManager.class),
- i(I18nTranslationService.class), i(IconResources.class));
- final GroupOptionsPanel panel = new GroupOptionsPanel(presenter, i(EntityHeader.class),
- i(I18nTranslationService.class), i(NotifyLevelImages.class), i(GroupOptionsCollection.class));
- presenter.init(panel);
- return presenter;
- }
- });
- //
- // register(ApplicationComponentGroup.class, new
- // Factory<UserOptions>(UserOptions.class) {
- // @Override
- // public UserOptions create() {
- // final UserOptionsPresenter presenter = new
- // UserOptionsPresenter(i(Session.class),
- // i(StateManager.class), i(I18nTranslationService.class),
- // i(IconResources.class),
- // i(SiteUserOptions.class));
- // final UserOptionsPanel panel = new UserOptionsPanel(presenter,
- // i(EntityHeader.class),
- // i(I18nTranslationService.class), i(NotifyLevelImages.class),
- // i(UserOptionsCollection.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- register(GroupOptionsCollection.class, new Factory<EntityOptionsToolsConf>(EntityOptionsToolsConf.class) {
- @Override
- public EntityOptionsToolsConf create() {
- final GroupOptionsToolsConfPresenter presenter = new GroupOptionsToolsConfPresenter(
- i(StateManager.class), i(Session.class), i(I18nTranslationService.class),
- i(GroupOptions.class), p(GroupServiceAsync.class));
- final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter,
- i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(UserOptionsCollection.class, new Factory<UserOptionsToolsConf>(UserOptionsToolsConf.class) {
- @Override
- public UserOptionsToolsConf create() {
- final UserOptionsToolsConfPresenter presenter = new UserOptionsToolsConfPresenter(i(Session.class),
- i(StateManager.class), i(I18nTranslationService.class), i(UserOptions.class),
- p(GroupServiceAsync.class));
- final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter,
- i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(GroupOptionsCollection.class, new Factory<GroupOptionsLogo>(GroupOptionsLogo.class) {
- @Override
- public GroupOptionsLogo create() {
- final EntityOptionsLogoPresenter presenter = new GroupOptionsLogoPresenter(i(Session.class),
- i(EntityHeader.class), i(GroupOptions.class), i(StateManager.class), p(UserServiceAsync.class),
- p(ChatEngine.class));
- final GroupOptionsLogoPanel panel = new GroupOptionsLogoPanel(presenter, i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(UserOptionsCollection.class, new Factory<UserOptionsLogo>(UserOptionsLogo.class) {
- @Override
- public UserOptionsLogo create() {
- final EntityOptionsLogoPresenter presenter = new UserOptionsLogoPresenter(i(Session.class),
- i(EntityHeader.class), i(UserOptions.class), i(StateManager.class), p(UserServiceAsync.class),
- p(ChatEngine.class));
- final UserOptionsLogoPanel panel = new UserOptionsLogoPanel(presenter, i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(GroupOptionsCollection.class, new Factory<GroupOptionsDefLicense>(GroupOptionsDefLicense.class) {
- @Override
- public GroupOptionsDefLicense create() {
- final GroupOptionsDefLicensePresenter presenter = new GroupOptionsDefLicensePresenter(
- i(GroupOptions.class), i(StateManager.class), i(Session.class), p(LicenseWizard.class),
- p(LicenseChangeAction.class));
- final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter,
- i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(UserOptionsCollection.class, new Factory<UserOptionsDefLicense>(UserOptionsDefLicense.class) {
- @Override
- public UserOptionsDefLicense create() {
- final UserOptionsDefLicensePresenter presenter = new UserOptionsDefLicensePresenter(
- i(UserOptions.class), i(Session.class), p(LicenseWizard.class), p(LicenseChangeAction.class));
- final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter,
- i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(GroupOptionsCollection.class, new Factory<GroupOptionsPublicSpaceConf>(
- GroupOptionsPublicSpaceConf.class) {
- @Override
- public GroupOptionsPublicSpaceConf create() {
- final WsThemeSelector themeSelector = i(WsThemeSelector.class);
- final GroupOptionsPublicSpaceConfPresenter presenter = new GroupOptionsPublicSpaceConfPresenter(
- i(Session.class), i(StateManager.class), i(GroupOptions.class), i(WsThemeManager.class),
- themeSelector, p(GroupServiceAsync.class), i(WsBackManager.class));
- final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel(presenter,
- i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector,
- i(FileDownloadUtils.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(UserOptionsCollection.class,
- new Factory<UserOptionsPublicSpaceConf>(UserOptionsPublicSpaceConf.class) {
- @Override
- public UserOptionsPublicSpaceConf create() {
- final WsThemeSelector themeSelector = i(WsThemeSelector.class);
- final UserOptionsPublicSpaceConfPresenter presenter = new UserOptionsPublicSpaceConfPresenter(
- i(Session.class), i(StateManager.class), i(UserOptions.class), i(WsThemeManager.class),
- themeSelector, p(GroupServiceAsync.class), i(WsBackManager.class));
- final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel(
- presenter, i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector,
- i(FileDownloadUtils.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<LicenseChangeAction>(LicenseChangeAction.class) {
- @Override
- public LicenseChangeAction create() {
- return new LicenseChangeAction(p(GroupServiceAsync.class), i(Session.class),
- i(I18nTranslationService.class), i(StateManager.class));
- }
- });
-
- register(Singleton.class, new Factory<RenameAction>(RenameAction.class) {
- @Override
- public RenameAction create() {
- return new RenameAction(i(I18nTranslationService.class), i(Session.class), p(ContentServiceAsync.class));
- }
- });
-
- register(Singleton.class, new Factory<LicenseWizard>(LicenseWizard.class) {
- @Override
- public LicenseWizard create() {
- final LicenseWizardPresenter presenter = new LicenseWizardPresenter(
- i(LicenseWizardFirstFormView.class), i(LicenseWizardSndFormView.class),
- i(LicenseWizardTrdFormView.class), i(LicenseWizardFrdFormView.class), i(Session.class));
- final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<LicenseWizardFirstFormView>(LicenseWizardFirstFormView.class) {
- @Override
- public LicenseWizardFirstFormView create() {
- return new LicenseWizardFirstForm(i(I18nTranslationService.class));
- }
- });
-
- register(Singleton.class, new Factory<LicenseWizardSndFormView>(LicenseWizardSndFormView.class) {
- @Override
- public LicenseWizardSndFormView create() {
- return new LicenseWizardSndForm(i(I18nTranslationService.class));
- }
- });
-
- register(Singleton.class, new Factory<LicenseWizardTrdFormView>(LicenseWizardTrdFormView.class) {
- @Override
- public LicenseWizardTrdFormView create() {
- return new LicenseWizardTrdForm(i(Images.class), i(I18nTranslationService.class));
- }
- });
-
- register(Singleton.class, new Factory<LicenseWizardFrdFormView>(LicenseWizardFrdFormView.class) {
- @Override
- public LicenseWizardFrdFormView create() {
- return new LicenseWizardFrdForm(i(I18nTranslationService.class), i(Session.class));
- }
- });
-
- register(Singleton.class, new Factory<FileUploader>(FileUploader.class) {
- @Override
- public FileUploader create() {
- final FileUploaderPresenter presenter = new FileUploaderPresenter(i(Session.class));
- final FileUploaderDialog panel = new FileUploaderDialog(presenter, i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
-
- @Override
- public void onAfterCreated(final FileUploader uploader) {
- i(ContextNavigator.class).addFileUploaderListener(uploader);
- }
- });
-
- register(Singleton.class, new Factory<SiteSearcher>(SiteSearcher.class) {
- @Override
- public SiteSearcher create() {
- final SiteSearcherPresenter presenter = new SiteSearcherPresenter(p(StateManager.class));
- final SiteSearcherView view = new SiteSearcherPanel(presenter, i(I18nTranslationService.class),
- i(WorkspaceSkeleton.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<I18nTranslator>(I18nTranslator.class) {
- @Override
- public I18nTranslator create() {
- final I18nTranslatorPresenter presenter = new I18nTranslatorPresenter(i(Session.class),
- i(I18nServiceAsync.class), i(I18nUITranslationService.class));
- final I18nTranslatorView view = new I18nTranslatorPanel(presenter, i(I18nTranslationService.class),
- i(LanguageSelector.class), i(WorkspaceSkeleton.class), i(Images.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<SiteOptionsI18nTranslatorAction>(
- // SiteOptionsI18nTranslatorAction.class) {
- // @Override
- // public SiteOptionsI18nTranslatorAction create() {
- // return new SiteOptionsI18nTranslatorAction(i(SiteOptions.class),
- // i(I18nTranslationService.class),
- // i(IconResources.class), p(I18nTranslator.class));
- // }
- // });
-
- // register(Singleton.class, new Factory<SignIn>(SignIn.class) {
- // @Override
- // public SignIn create() {
- // final SignInPresenter presenter = new
- // SignInPresenter(i(Session.class), i(StateManager.class),
- // i(I18nUITranslationService.class), p(UserServiceAsync.class),
- // p(Register.class));
- // final SignInView panel = new SignInPanel(presenter,
- // i(I18nTranslationService.class),
- // i(WorkspaceSkeleton.class), i(NotifyLevelImages.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
- //
- // register(Singleton.class, new Factory<Register>(Register.class) {
- // @Override
- // public Register create() {
- // final RegisterPresenter presenter = new
- // RegisterPresenter(i(Session.class), i(StateManager.class),
- // i(I18nUITranslationService.class), p(UserServiceAsync.class),
- // p(SignIn.class));
- // final RegisterView panel = new RegisterPanel(presenter,
- // i(I18nTranslationService.class),
- // i(WorkspaceSkeleton.class), i(Session.class),
- // i(NotifyLevelImages.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- // register(Singleton.class, new Factory<NewGroup>(NewGroup.class) {
- // @Override
- // public NewGroup create() {
- // final NewGroupPresenter presenter = new
- // NewGroupPresenter(i(I18nTranslationService.class),
- // i(Session.class), i(StateManager.class),
- // p(GroupServiceAsync.class));
- // final NewGroupPanel view = new NewGroupPanel(presenter,
- // i(I18nTranslationService.class),
- // p(LicenseWizard.class), i(NotifyLevelImages.class));
- // presenter.init(view);
- // return presenter;
- // }
- // });
-
- register(Singleton.class, new Factory<UserLiveSearcher>(UserLiveSearcher.class) {
- @Override
- public UserLiveSearcher create() {
- final UserLiveSearcherPresenter presenter = new UserLiveSearcherPresenter();
- final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter,
- i(I18nTranslationService.class), i(FileDownloadUtils.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<GroupLiveSearcher>(GroupLiveSearcher.class) {
- @Override
- public GroupLiveSearcher create() {
- final GroupLiveSearcherPresenter presenter = new GroupLiveSearcherPresenter();
- final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter,
- i(I18nTranslationService.class), i(FileDownloadUtils.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<ToolSelector>(ToolSelector.class) {
- @Override
- public ToolSelector create() {
- final ToolSelectorPresenter presenter = new ToolSelectorPresenter(i(StateManager.class),
- i(WsThemeManager.class));
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<LanguageSelector>(LanguageSelector.class) {
- @Override
- public LanguageSelector create() {
- final LanguageSelectorPresenter presenter = new LanguageSelectorPresenter(i(Session.class));
- final LanguageSelectorView view = new LanguageSelectorPanel(presenter, i(I18nTranslationService.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- // Register of tokens like "signin", "newgroup", "translate" etcetera
- i(StateManager.class).addSiteToken(SiteCommonTokens.SIGNIN, new HistoryTokenCallback() {
-
- @Override
- public void onHistoryToken() {
- i(SignIn.class).doSignIn();
- }
- });
-
- i(StateManager.class).addSiteToken(SiteCommonTokens.REGISTER, new HistoryTokenCallback() {
-
- @Override
- public void onHistoryToken() {
- i(Register.class).doRegister();
- }
- });
-
- i(StateManager.class).addSiteToken(SiteCommonTokens.NEWGROUP, new HistoryTokenCallback() {
-
- @Override
- public void onHistoryToken() {
- i(NewGroup.class).doNewGroup();
- }
- });
-
- i(StateManager.class).addSiteToken(SiteCommonTokens.TRANSLATE, new HistoryTokenCallback() {
-
- @Override
- public void onHistoryToken() {
- i(I18nTranslator.class).doShowTranslator();
- }
- });
-
- register(NoDecoration.class, new Factory<ActionContentToolbar>(ActionContentToolbar.class) {
- @Override
- public ActionContentToolbar create() {
- final ActionCntCtxToolbarPanel<StateToken> tbar = new ActionCntCtxToolbarPanel<StateToken>(
- AbstractFoldableContentActions.CONTENT_TOPBAR, p(ActionManager.class),
- i(WorkspaceSkeleton.class));
- final ActionContentToolbar toolbar = new ActionContentToolbarPresenter(tbar);
- return toolbar;
- }
- });
-
- register(Singleton.class, new Factory<ContentEditor>(ContentEditor.class) {
- @Override
- public ContentEditor create() {
- final ContentEditorPresenter presenter = new ContentEditorPresenter(i(I18nTranslationService.class),
- i(Session.class), i(RTEImgResources.class), p(InsertLinkDialog.class),
- p(ColorWebSafePalette.class), p(EditHtmlDialog.class), p(InsertImageDialog.class),
- p(InsertMediaDialog.class), p(InsertTableDialog.class), p(InsertSpecialCharDialog.class),
- i(SchedulerManager.class), true, i(StateManager.class), i(SiteSignOutLink.class),
- i(WorkspaceSkeleton.class), i(TimerWrapper.class), i(EntityTitle.class));
- final ContentEditorPanel panel = new ContentEditorPanel(presenter, i(I18nUITranslationService.class),
- i(GlobalShortcutRegister.class), i(GuiBindingsRegister.class));
- presenter.init(panel);
- return presenter;
- }
- });
- register(NoDecoration.class, new Factory<ActionContextTopToolbar>(ActionContextTopToolbar.class) {
- @Override
- public ActionContextTopToolbar create() {
- final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>(
- AbstractFoldableContentActions.CONTEXT_TOPBAR, p(ActionManager.class),
- i(WorkspaceSkeleton.class));
- final ActionContextTopToolbar toolbar = new ActionContextTopToolbar(panel);
- return toolbar;
- }
- });
-
- register(NoDecoration.class, new Factory<ActionContextBottomToolbar>(ActionContextBottomToolbar.class) {
- @Override
- public ActionContextBottomToolbar create() {
- final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>(
- AbstractFoldableContentActions.CONTEXT_BOTTOMBAR, p(ActionManager.class),
- i(WorkspaceSkeleton.class));
- final ActionContextBottomToolbar toolbar = new ActionContextBottomToolbar(panel);
- return toolbar;
- }
- });
-
- register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) {
- @Override
- public ContextNavigator create() {
- final ContextNavigatorPresenter presenter = new ContextNavigatorPresenter(i(StateManager.class),
- i(Session.class), i(I18nTranslationService.class), i(ContentIconsRegistry.class),
- i(ContentCapabilitiesRegistry.class), i(ActionContextTopToolbar.class),
- i(ActionContextBottomToolbar.class), i(ContextActionRegistry.class),
- p(FileDownloadUtils.class), true, i(RenameAction.class));
- final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter,
- i(I18nTranslationService.class), i(WorkspaceSkeleton.class), i(ActionManager.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(Singleton.class, new Factory<ContextPropEditor>(ContextPropEditor.class) {
- @Override
- public ContextPropEditor create() {
- final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter(i(Session.class),
- i(StateManager.class), i(ContentCapabilitiesRegistry.class), p(TagsSummary.class),
- p(ContentServiceAsync.class), i(EntitySubTitle.class));
- final ContextPropEditorView view = new ContextPropEditorPanel(presenter,
- i(I18nUITranslationService.class), i(WorkspaceSkeleton.class), p(LanguageSelector.class),
- i(Images.class));
- presenter.init(view);
- return presenter;
- }
- });
-
- register(InsertImageGroup.class, new Factory<InsertImageLocal>(InsertImageLocal.class) {
- @Override
- public InsertImageLocal create() {
- final InsertImageLocalPresenter presenter = new InsertImageLocalPresenter(i(InsertImageDialog.class),
- i(Session.class));
- final InsertImageLocalPanel panel = new InsertImageLocalPanel(presenter,
- i(I18nTranslationService.class), i(FileDownloadUtils.class), i(Session.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- // register(ApplicationComponentGroup.class, new
- // Factory<MaxMinWorkspace>(MaxMinWorkspace.class) {
- // @Override
- // public MaxMinWorkspace create() {
- // final MaxMinWorkspacePresenter presenter = new
- // MaxMinWorkspacePresenter(
- // i(GlobalShortcutRegister.class), i(IconResources.class),
- // i(I18nTranslationService.class),
- // i(SiteOptions.class));
- // final MaxMinWorkspacePanel panel = new
- // MaxMinWorkspacePanel(i(WorkspaceSkeleton.class));
- // presenter.init(panel);
- // return presenter;
- // }
- // });
-
- register(InsertLinkGroup.class, new Factory<InsertLinkLocal>(InsertLinkLocal.class) {
- @Override
- public InsertLinkLocal create() {
- final InsertLinkLocalPresenter presenter = new InsertLinkLocalPresenter(i(InsertLinkDialog.class));
- final InsertLinkLocalPanel panel = new InsertLinkLocalPanel(presenter, i(WorkspaceSkeleton.class),
- i(I18nTranslationService.class), i(FileDownloadUtils.class), i(StateTokenUtils.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
- register(InsertMediaGroup.class, new Factory<InsertMediaLocal>(InsertMediaLocal.class) {
- @Override
- public InsertMediaLocal create() {
- final InsertMediaLocalPresenter presenter = new InsertMediaLocalPresenter(i(InsertMediaDialog.class),
- i(Session.class), p(MediaUtils.class));
- final InsertMediaLocalPanel panel = new InsertMediaLocalPanel(presenter,
- i(I18nTranslationService.class), i(FileDownloadUtils.class));
- presenter.init(panel);
- return presenter;
- }
- });
- i(GlobalShortcutRegister.class).enable();
- }
-
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,1118 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.workspace.client;
+
+import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.platf.client.actions.ActionManager;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
+import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
+import org.ourproject.kune.platf.client.actions.ui.SimpleGuiItem;
+import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
+import org.ourproject.kune.platf.client.app.GroupOptionsCollection;
+import org.ourproject.kune.platf.client.app.UserOptionsCollection;
+import org.ourproject.kune.platf.client.registry.AuthorableRegistry;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.registry.RenamableRegistry;
+import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
+import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
+import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
+import org.ourproject.kune.platf.client.ui.rte.edithtml.EditHtmlDialog;
+import org.ourproject.kune.platf.client.ui.rte.img.RTEImgResources;
+import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageDialog;
+import org.ourproject.kune.platf.client.ui.rte.insertimg.InsertImageGroup;
+import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkDialog;
+import org.ourproject.kune.platf.client.ui.rte.insertlink.InsertLinkGroup;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.InsertMediaDialog;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.InsertMediaGroup;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.abstractmedia.MediaUtils;
+import org.ourproject.kune.platf.client.ui.rte.insertspecialchar.InsertSpecialCharDialog;
+import org.ourproject.kune.platf.client.ui.rte.inserttable.InsertTableDialog;
+import org.ourproject.kune.workspace.client.cnt.ActionContentToolbar;
+import org.ourproject.kune.workspace.client.cnt.ActionContentToolbarPresenter;
+import org.ourproject.kune.workspace.client.cnt.ContentIconsRegistry;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter;
+import org.ourproject.kune.workspace.client.cxt.ActionContextBottomToolbar;
+import org.ourproject.kune.workspace.client.cxt.ActionContextTopToolbar;
+import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPanel;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPresenter;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorView;
+import org.ourproject.kune.workspace.client.editor.ContentEditor;
+import org.ourproject.kune.workspace.client.editor.ContentEditorPanel;
+import org.ourproject.kune.workspace.client.editor.ContentEditorPresenter;
+import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocal;
+import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPanel;
+import org.ourproject.kune.workspace.client.editor.insertlocalimg.InsertImageLocalPresenter;
+import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocal;
+import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPanel;
+import org.ourproject.kune.workspace.client.editor.insertlocallink.InsertLinkLocalPresenter;
+import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocal;
+import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocalPanel;
+import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocalPresenter;
+import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
+import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
+import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
+import org.ourproject.kune.workspace.client.i18n.I18nTranslatorView;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenter;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstForm;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdForm;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFrdFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndForm;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdForm;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardTrdFormView;
+import org.ourproject.kune.workspace.client.nohomepage.NoHomePage;
+import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
+import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter;
+import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionBuddiesSummaryToolbar;
+import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionBuddiesSummaryToolbarPresenter;
+import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionGroupSummaryToolbar;
+import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionGroupSummaryToolbarPresenter;
+import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionParticipationSummaryToolbarPresenter;
+import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionParticipationToolbar;
+import org.ourproject.kune.workspace.client.options.GroupOptions;
+import org.ourproject.kune.workspace.client.options.GroupOptionsPanel;
+import org.ourproject.kune.workspace.client.options.GroupOptionsPresenter;
+import org.ourproject.kune.workspace.client.options.UserOptions;
+import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePanel;
+import org.ourproject.kune.workspace.client.options.license.GroupOptionsDefLicense;
+import org.ourproject.kune.workspace.client.options.license.GroupOptionsDefLicensePresenter;
+import org.ourproject.kune.workspace.client.options.license.UserOptionsDefLicense;
+import org.ourproject.kune.workspace.client.options.license.UserOptionsDefLicensePresenter;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter;
+import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogo;
+import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogoPanel;
+import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogoPresenter;
+import org.ourproject.kune.workspace.client.options.logo.UserOptionsLogo;
+import org.ourproject.kune.workspace.client.options.logo.UserOptionsLogoPanel;
+import org.ourproject.kune.workspace.client.options.logo.UserOptionsLogoPresenter;
+import org.ourproject.kune.workspace.client.options.pscape.EntityOptionsPublicSpaceConfPanel;
+import org.ourproject.kune.workspace.client.options.pscape.GroupOptionsPublicSpaceConf;
+import org.ourproject.kune.workspace.client.options.pscape.GroupOptionsPublicSpaceConfPresenter;
+import org.ourproject.kune.workspace.client.options.pscape.UserOptionsPublicSpaceConf;
+import org.ourproject.kune.workspace.client.options.pscape.UserOptionsPublicSpaceConfPresenter;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConf;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPanel;
+import org.ourproject.kune.workspace.client.options.tools.GroupOptionsToolsConfPresenter;
+import org.ourproject.kune.workspace.client.options.tools.UserOptionsToolsConf;
+import org.ourproject.kune.workspace.client.options.tools.UserOptionsToolsConfPresenter;
+import org.ourproject.kune.workspace.client.rate.RateIt;
+import org.ourproject.kune.workspace.client.rate.RateItPanel;
+import org.ourproject.kune.workspace.client.rate.RateItPresenter;
+import org.ourproject.kune.workspace.client.rate.RatePanel;
+import org.ourproject.kune.workspace.client.rate.RatePresenter;
+import org.ourproject.kune.workspace.client.search.EntityLiveSearcherView;
+import org.ourproject.kune.workspace.client.search.GroupLiveSearchPanel;
+import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
+import org.ourproject.kune.workspace.client.search.GroupLiveSearcherPresenter;
+import org.ourproject.kune.workspace.client.search.SiteSearcher;
+import org.ourproject.kune.workspace.client.search.SiteSearcherPanel;
+import org.ourproject.kune.workspace.client.search.SiteSearcherPresenter;
+import org.ourproject.kune.workspace.client.search.SiteSearcherView;
+import org.ourproject.kune.workspace.client.search.UserLiveSearcher;
+import org.ourproject.kune.workspace.client.search.UserLiveSearcherPanel;
+import org.ourproject.kune.workspace.client.search.UserLiveSearcherPresenter;
+import org.ourproject.kune.workspace.client.site.WorkspaceNotifyUser;
+import org.ourproject.kune.workspace.client.site.msg.ToastMessage;
+import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel;
+import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
+import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress;
+import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel;
+import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearch;
+import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLink;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter;
+import org.ourproject.kune.workspace.client.skel.ActionCntCtxToolbarPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.tags.TagsSummary;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter;
+import org.ourproject.kune.workspace.client.themes.WsBackManager;
+import org.ourproject.kune.workspace.client.themes.WsBackManagerImpl;
+import org.ourproject.kune.workspace.client.themes.WsThemeManager;
+import org.ourproject.kune.workspace.client.themes.WsThemeManagerPanel;
+import org.ourproject.kune.workspace.client.themes.WsThemeSelector;
+import org.ourproject.kune.workspace.client.themes.WsThemeSelectorPresenter;
+import org.ourproject.kune.workspace.client.title.EntitySubTitle;
+import org.ourproject.kune.workspace.client.title.EntitySubTitlePanel;
+import org.ourproject.kune.workspace.client.title.EntitySubTitlePresenter;
+import org.ourproject.kune.workspace.client.title.EntityTitle;
+import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
+import org.ourproject.kune.workspace.client.title.EntityTitlePresenter;
+import org.ourproject.kune.workspace.client.title.RenameAction;
+import org.ourproject.kune.workspace.client.tool.ToolSelector;
+import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenter;
+import org.ourproject.kune.workspace.client.upload.FileUploader;
+import org.ourproject.kune.workspace.client.upload.FileUploaderDialog;
+import org.ourproject.kune.workspace.client.upload.FileUploaderPresenter;
+
+import cc.kune.common.client.noti.NotifyLevelImages;
+import cc.kune.common.client.utils.SchedulerManager;
+import cc.kune.common.client.utils.TimerWrapper;
+import cc.kune.core.client.auth.Register;
+import cc.kune.core.client.auth.SignIn;
+import cc.kune.core.client.errors.ErrorHandler;
+import cc.kune.core.client.groups.newgroup.NewGroup;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.rpcservices.ContentService;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.rpcservices.GroupService;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.rpcservices.SocialNetworkService;
+import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.rpcservices.UserServiceAsync;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.state.HistoryTokenCallback;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteCommonTokens;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.StateTokenUtils;
+import cc.kune.core.shared.dto.UserSimpleDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.suco.client.ioc.decorator.NoDecoration;
+import com.calclab.suco.client.ioc.decorator.Singleton;
+import com.calclab.suco.client.ioc.module.Factory;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.rpc.ServiceDefTarget;
+
+public class WorkspaceModule extends AbstractExtendedModule {
+ @Override
+ protected void onInstall() {
+
+ register(Singleton.class, new Factory<SocialNetworkServiceAsync>(SocialNetworkServiceAsync.class) {
+ @Override
+ public SocialNetworkServiceAsync create() {
+ final SocialNetworkServiceAsync snServiceAsync = (SocialNetworkServiceAsync) GWT.create(SocialNetworkService.class);
+ ((ServiceDefTarget) snServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL()
+ + "SocialNetworkService");
+ return snServiceAsync;
+ }
+ }, new Factory<GroupServiceAsync>(GroupServiceAsync.class) {
+ @Override
+ public GroupServiceAsync create() {
+ final GroupServiceAsync groupServiceAsync = (GroupServiceAsync) GWT.create(GroupService.class);
+ ((ServiceDefTarget) groupServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "GroupService");
+ return groupServiceAsync;
+ }
+ }, new Factory<ContentServiceAsync>(ContentServiceAsync.class) {
+ @Override
+ public ContentServiceAsync create() {
+ final ContentServiceAsync contentServiceAsync = (ContentServiceAsync) GWT.create(ContentService.class);
+ ((ServiceDefTarget) contentServiceAsync).setServiceEntryPoint(GWT.getModuleBaseURL() + "ContentService");
+ return contentServiceAsync;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) {
+ @Override
+ public WorkspaceSkeleton create() {
+ return new WorkspaceSkeleton();
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<SiteProgress>(SiteProgress.class) {
+ @Override
+ public SiteProgress create() {
+ final SiteProgressPresenter presenter = new SiteProgressPresenter();
+ final SiteProgressPanel panel = new SiteProgressPanel(presenter, p(SitePublicSpaceLink.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<WorkspaceNotifyUser>(WorkspaceNotifyUser.class) {
+ @Override
+ public WorkspaceNotifyUser create() {
+ return new WorkspaceNotifyUser(i(NotifyUser.class), i(I18nUITranslationService.class),
+ i(SiteProgress.class), p(ToastMessage.class), p(WorkspaceSkeleton.class));
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<SitePublicSpaceLink>(SitePublicSpaceLink.class) {
+ @Override
+ public SitePublicSpaceLink create() {
+ final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter(i(StateManager.class),
+ i(StateTokenUtils.class));
+ final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter,
+ i(WorkspaceSkeleton.class), i(I18nUITranslationService.class), i(Images.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<StateTokenUtils>(StateTokenUtils.class) {
+ @Override
+ public StateTokenUtils create() {
+ return new StateTokenUtils(i(Session.class));
+ }
+ });
+
+ register(NoDecoration.class, new Factory<ToastMessage>(ToastMessage.class) {
+ @Override
+ public ToastMessage create() {
+ final ToastMessagePresenter presenter = new ToastMessagePresenter();
+ final ToastMessagePanel panel = new ToastMessagePanel();
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<SiteUserOptions>(SiteUserOptions.class) {
+ // @Override
+ // public SiteUserOptions create() {
+ // final SiteUserOptionsPresenter presenter = new
+ // SiteUserOptionsPresenter(i(Session.class),
+ // i(StateManager.class), p(FileDownloadUtils.class),
+ // $(I18nTranslationService.class),
+ // $(IconResources.class));
+ // final SiteUserOptionsPanel panel = new
+ // SiteUserOptionsPanel(presenter, i(WorkspaceSkeleton.class),
+ // $(GuiBindingsRegister.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) {
+ @Override
+ public SiteSignInLink create() {
+ final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter(i(Session.class));
+ final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, i(I18nUITranslationService.class),
+ i(WorkspaceSkeleton.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<SiteSignOutLink>(SiteSignOutLink.class) {
+ @Override
+ public SiteSignOutLink create() {
+ final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter(i(Session.class),
+ p(UserServiceAsync.class), p(ErrorHandler.class));
+ final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter,
+ i(I18nUITranslationService.class), i(WorkspaceSkeleton.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+ //
+ // register(ApplicationComponentGroup.class, new
+ // Factory<SiteOptions>(SiteOptions.class) {
+ // @Override
+ // public SiteOptions create() {
+ // final SiteOptionsPresenter presenter = new
+ // SiteOptionsPresenter(i(I18nUITranslationService.class),
+ // i(IconResources.class));
+ // final SiteOptionsPanel panel = new
+ // SiteOptionsPanel(i(WorkspaceSkeleton.class),
+ // i(I18nUITranslationService.class), i(GuiBindingsRegister.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
+ @Override
+ public SiteSearch create() {
+ final SiteSearchPresenter presenter = new SiteSearchPresenter(p(SiteSearcher.class),
+ i(I18nTranslationService.class));
+ final SiteSearchPanel panel = new SiteSearchPanel(presenter, i(WorkspaceSkeleton.class),
+ i(Images.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) {
+ @Override
+ public SiteLogo create() {
+ // final SiteLogoPresenter presenter = new
+ // SiteLogoPresenter(i(Session.class));
+ // final SiteLogoPanel panel = new SiteLogoPanel(presenter,
+ // i(WorkspaceSkeleton.class));
+ // presenter.init(panel);
+ return null;
+ }
+ });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<EntityHeader>(EntityHeader.class) {
+ // @Override
+ // public EntityHeader create() {
+ // final EntityHeaderPresenter presenter = new
+ // EntityHeaderPresenter(i(StateManager.class),
+ // i(WsThemeManager.class), i(Session.class));
+ // final EntityHeaderPanel panel = new
+ // EntityHeaderPanel(i(WorkspaceSkeleton.class),
+ // p(FileDownloadUtils.class), i(Images.class),
+ // i(GuiBindingsRegister.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ register(Singleton.class, new Factory<WsBackManager>(WsBackManager.class) {
+ @Override
+ public WsBackManager create() {
+ return new WsBackManagerImpl(i(FileDownloadUtils.class));
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<WsThemeManager>(WsThemeManager.class) {
+ @Override
+ public WsThemeManager create() {
+ final WsThemeManager presenter = new WsThemeManager(i(Session.class), p(GroupServiceAsync.class),
+ i(StateManager.class), i(WsBackManager.class));
+ new WsThemeManagerPanel(presenter, i(WorkspaceSkeleton.class));
+ return presenter;
+ }
+ });
+
+ register(NoDecoration.class, new Factory<WsThemeSelector>(WsThemeSelector.class) {
+ @Override
+ public WsThemeSelector create() {
+ final WsThemeSelectorPresenter presenter = new WsThemeSelectorPresenter(i(Session.class),
+ i(I18nTranslationService.class));
+ presenter.init(new SimpleGuiItem(i(GuiBindingsRegister.class)));
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) {
+ @Override
+ public EntityTitle create() {
+ final EntityTitlePresenter presenter = new EntityTitlePresenter(i(StateManager.class),
+ i(Session.class), i(ContentIconsRegistry.class), i(RenamableRegistry.class),
+ i(RenameAction.class));
+ final EntityTitlePanel panel = new EntityTitlePanel(i(WorkspaceSkeleton.class), presenter);
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<EntitySubTitle>(EntitySubTitle.class) {
+ @Override
+ public EntitySubTitle create() {
+ final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter(
+ i(I18nUITranslationService.class), i(StateManager.class), false, i(AuthorableRegistry.class));
+ final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, i(WorkspaceSkeleton.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<EntityLicensePresenter>(EntityLicensePresenter.class) {
+ // @Override
+ // public EntityLicensePresenter create() {
+ // final EntityLicensePresenter presenter = new
+ // EntityLicensePresenter(i(StateManager.class));
+ // final EntityLicensePanel panel = new EntityLicensePanel(presenter,
+ // i(I18nUITranslationService.class),
+ // i(WorkspaceSkeleton.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) {
+ @Override
+ public RateIt create() {
+ final RateItPresenter presenter = new RateItPresenter(i(I18nUITranslationService.class),
+ i(Session.class), p(ContentServiceAsync.class), i(StateManager.class), p(RatePresenter.class),
+ i(ContentCapabilitiesRegistry.class));
+ final RateItPanel panel = new RateItPanel(presenter, i(I18nUITranslationService.class),
+ i(WorkspaceSkeleton.class), i(Images.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<RatePresenter>(RatePresenter.class) {
+ @Override
+ public RatePresenter create() {
+ final RatePresenter presenter = new RatePresenter(i(StateManager.class),
+ i(ContentCapabilitiesRegistry.class));
+ final RatePanel panel = new RatePanel(null, null, i(I18nUITranslationService.class),
+ i(WorkspaceSkeleton.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<ActionManager>(ActionManager.class) {
+ @Override
+ public ActionManager create() {
+ return new ActionManager();
+ }
+ });
+
+ register(Singleton.class, new Factory<ActionGroupSummaryToolbar>(ActionGroupSummaryToolbar.class) {
+ @Override
+ public ActionGroupSummaryToolbar create() {
+ final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(p(ActionManager.class));
+ final ActionGroupSummaryToolbarPresenter toolbar = new ActionGroupSummaryToolbarPresenter(panel);
+ return toolbar;
+ }
+ }, new Factory<ActionParticipationToolbar>(ActionParticipationToolbar.class) {
+ @Override
+ public ActionParticipationToolbar create() {
+ final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(p(ActionManager.class));
+ final ActionParticipationSummaryToolbarPresenter toolbar = new ActionParticipationSummaryToolbarPresenter(
+ panel);
+ return toolbar;
+ }
+ }, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) {
+ @Override
+ public ActionBuddiesSummaryToolbar create() {
+ final ActionToolbarPanel<UserSimpleDTO> panel = new ActionToolbarPanel<UserSimpleDTO>(
+ p(ActionManager.class));
+ final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel);
+ return toolbar;
+ }
+ });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<GroupMembersSummary>(GroupMembersSummary.class) {
+ // @Override
+ // public GroupMembersSummary create() {
+ // final GroupMembersSummaryPresenter presenter = new
+ // GroupMembersSummaryPresenter(
+ // i(I18nUITranslationService.class), i(StateManager.class),
+ // i(ImageUtils.class),
+ // i(Session.class), p(SocialNetworkServiceAsync.class),
+ // p(GroupServiceAsync.class),
+ // p(GroupLiveSearcher.class), p(ChatEngine.class),
+ // i(GroupActionRegistry.class),
+ // i(ActionGroupSummaryToolbar.class), p(FileDownloadUtils.class),
+ // i(AccessRightsClientManager.class), i(IconResources.class));
+ // final GroupMembersSummaryView view = new
+ // GroupMembersSummaryPanel(presenter,
+ // i(I18nUITranslationService.class), i(WorkspaceSkeleton.class), i(
+ // ActionGroupSummaryToolbar.class).getView());
+ // presenter.init(view);
+ // return presenter;
+ // }
+ // });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<AddAsBuddieHeaderButton>(AddAsBuddieHeaderButton.class) {
+ // @Override
+ // public AddAsBuddieHeaderButton create() {
+ // return new AddAsBuddieHeaderButton(p(ChatEngine.class),
+ // i(Session.class), i(StateManager.class),
+ // i(I18nTranslationService.class), i(IconResources.class),
+ // i(EntityHeader.class));
+ // }
+ // });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<BuddiesSummary>(BuddiesSummary.class) {
+ // @Override
+ // public BuddiesSummary create() {
+ // final BuddiesSummaryPresenter presenter = new
+ // BuddiesSummaryPresenter(i(StateManager.class),
+ // i(Session.class), p(UserServiceAsync.class),
+ // i(UserActionRegistry.class),
+ // i(I18nTranslationService.class), p(ChatEngine.class),
+ // i(ActionBuddiesSummaryToolbar.class),
+ // p(FileDownloadUtils.class), i(ImageUtils.class),
+ // p(SocialNetworkServiceAsync.class),
+ // i(GroupActionRegistry.class), i(AccessRightsClientManager.class),
+ // i(IconResources.class));
+ // final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter,
+ // i(WorkspaceSkeleton.class),
+ // i(I18nTranslationService.class), i(ActionManager.class),
+ // i(ActionBuddiesSummaryToolbar.class).getView());
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<ParticipationSummary>(ParticipationSummary.class) {
+ // @Override
+ // public ParticipationSummary create() {
+ // final ParticipationSummaryPresenter presenter = new
+ // ParticipationSummaryPresenter(
+ // i(I18nUITranslationService.class), i(StateManager.class),
+ // i(ImageUtils.class),
+ // i(Session.class), p(SocialNetworkServiceAsync.class),
+ // i(GroupActionRegistry.class),
+ // i(ActionParticipationToolbar.class), p(FileDownloadUtils.class),
+ // i(AccessRightsClientManager.class), i(IconResources.class));
+ // final ParticipationSummaryView view = new
+ // ParticipationSummaryPanel(presenter,
+ // i(I18nUITranslationService.class), i(WorkspaceSkeleton.class), i(
+ // ActionParticipationToolbar.class).getView());
+ // presenter.init(view);
+ // return presenter;
+ // }
+ // });
+
+ register(ApplicationComponentGroup.class, new Factory<TagsSummary>(TagsSummary.class) {
+ @Override
+ public TagsSummary create() {
+ final TagsSummaryPresenter presenter = new TagsSummaryPresenter(i(Session.class),
+ p(SiteSearcher.class), i(StateManager.class));
+ final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, i(I18nUITranslationService.class),
+ i(WorkspaceSkeleton.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<NoHomePage>(NoHomePage.class) {
+ @Override
+ public NoHomePage create() {
+ final NoHomePagePresenter presenter = new NoHomePagePresenter(i(StateManager.class),
+ p(EntityHeader.class));
+ final NoHomePagePanel panel = new NoHomePagePanel(presenter, i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(ApplicationComponentGroup.class, new Factory<GroupOptions>(GroupOptions.class) {
+ @Override
+ public GroupOptions create() {
+ final GroupOptionsPresenter presenter = new GroupOptionsPresenter(i(StateManager.class),
+ i(I18nTranslationService.class), i(IconResources.class));
+ final GroupOptionsPanel panel = new GroupOptionsPanel(presenter, i(EntityHeader.class),
+ i(I18nTranslationService.class), i(NotifyLevelImages.class), i(GroupOptionsCollection.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+ //
+ // register(ApplicationComponentGroup.class, new
+ // Factory<UserOptions>(UserOptions.class) {
+ // @Override
+ // public UserOptions create() {
+ // final UserOptionsPresenter presenter = new
+ // UserOptionsPresenter(i(Session.class),
+ // i(StateManager.class), i(I18nTranslationService.class),
+ // i(IconResources.class),
+ // i(SiteUserOptions.class));
+ // final UserOptionsPanel panel = new UserOptionsPanel(presenter,
+ // i(EntityHeader.class),
+ // i(I18nTranslationService.class), i(NotifyLevelImages.class),
+ // i(UserOptionsCollection.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ register(GroupOptionsCollection.class, new Factory<EntityOptionsToolsConf>(EntityOptionsToolsConf.class) {
+ @Override
+ public EntityOptionsToolsConf create() {
+ final GroupOptionsToolsConfPresenter presenter = new GroupOptionsToolsConfPresenter(
+ i(StateManager.class), i(Session.class), i(I18nTranslationService.class),
+ i(GroupOptions.class), p(GroupServiceAsync.class));
+ final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter,
+ i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(UserOptionsCollection.class, new Factory<UserOptionsToolsConf>(UserOptionsToolsConf.class) {
+ @Override
+ public UserOptionsToolsConf create() {
+ final UserOptionsToolsConfPresenter presenter = new UserOptionsToolsConfPresenter(i(Session.class),
+ i(StateManager.class), i(I18nTranslationService.class), i(UserOptions.class),
+ p(GroupServiceAsync.class));
+ final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter,
+ i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(GroupOptionsCollection.class, new Factory<GroupOptionsLogo>(GroupOptionsLogo.class) {
+ @Override
+ public GroupOptionsLogo create() {
+ final EntityOptionsLogoPresenter presenter = new GroupOptionsLogoPresenter(i(Session.class),
+ i(EntityHeader.class), i(GroupOptions.class), i(StateManager.class), p(UserServiceAsync.class),
+ p(ChatEngine.class));
+ final GroupOptionsLogoPanel panel = new GroupOptionsLogoPanel(presenter, i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(UserOptionsCollection.class, new Factory<UserOptionsLogo>(UserOptionsLogo.class) {
+ @Override
+ public UserOptionsLogo create() {
+ final EntityOptionsLogoPresenter presenter = new UserOptionsLogoPresenter(i(Session.class),
+ i(EntityHeader.class), i(UserOptions.class), i(StateManager.class), p(UserServiceAsync.class),
+ p(ChatEngine.class));
+ final UserOptionsLogoPanel panel = new UserOptionsLogoPanel(presenter, i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(GroupOptionsCollection.class, new Factory<GroupOptionsDefLicense>(GroupOptionsDefLicense.class) {
+ @Override
+ public GroupOptionsDefLicense create() {
+ final GroupOptionsDefLicensePresenter presenter = new GroupOptionsDefLicensePresenter(
+ i(GroupOptions.class), i(StateManager.class), i(Session.class), p(LicenseWizard.class),
+ p(LicenseChangeAction.class));
+ final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter,
+ i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(UserOptionsCollection.class, new Factory<UserOptionsDefLicense>(UserOptionsDefLicense.class) {
+ @Override
+ public UserOptionsDefLicense create() {
+ final UserOptionsDefLicensePresenter presenter = new UserOptionsDefLicensePresenter(
+ i(UserOptions.class), i(Session.class), p(LicenseWizard.class), p(LicenseChangeAction.class));
+ final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter,
+ i(WorkspaceSkeleton.class), i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(GroupOptionsCollection.class, new Factory<GroupOptionsPublicSpaceConf>(
+ GroupOptionsPublicSpaceConf.class) {
+ @Override
+ public GroupOptionsPublicSpaceConf create() {
+ final WsThemeSelector themeSelector = i(WsThemeSelector.class);
+ final GroupOptionsPublicSpaceConfPresenter presenter = new GroupOptionsPublicSpaceConfPresenter(
+ i(Session.class), i(StateManager.class), i(GroupOptions.class), i(WsThemeManager.class),
+ themeSelector, p(GroupServiceAsync.class), i(WsBackManager.class));
+ final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel(presenter,
+ i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector,
+ i(FileDownloadUtils.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(UserOptionsCollection.class,
+ new Factory<UserOptionsPublicSpaceConf>(UserOptionsPublicSpaceConf.class) {
+ @Override
+ public UserOptionsPublicSpaceConf create() {
+ final WsThemeSelector themeSelector = i(WsThemeSelector.class);
+ final UserOptionsPublicSpaceConfPresenter presenter = new UserOptionsPublicSpaceConfPresenter(
+ i(Session.class), i(StateManager.class), i(UserOptions.class), i(WsThemeManager.class),
+ themeSelector, p(GroupServiceAsync.class), i(WsBackManager.class));
+ final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel(
+ presenter, i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector,
+ i(FileDownloadUtils.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseChangeAction>(LicenseChangeAction.class) {
+ @Override
+ public LicenseChangeAction create() {
+ return new LicenseChangeAction(p(GroupServiceAsync.class), i(Session.class),
+ i(I18nTranslationService.class), i(StateManager.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<RenameAction>(RenameAction.class) {
+ @Override
+ public RenameAction create() {
+ return new RenameAction(i(I18nTranslationService.class), i(Session.class), p(ContentServiceAsync.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizard>(LicenseWizard.class) {
+ @Override
+ public LicenseWizard create() {
+ final LicenseWizardPresenter presenter = new LicenseWizardPresenter(
+ i(LicenseWizardFirstFormView.class), i(LicenseWizardSndFormView.class),
+ i(LicenseWizardTrdFormView.class), i(LicenseWizardFrdFormView.class), i(Session.class));
+ final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizardFirstFormView>(LicenseWizardFirstFormView.class) {
+ @Override
+ public LicenseWizardFirstFormView create() {
+ return new LicenseWizardFirstForm(i(I18nTranslationService.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizardSndFormView>(LicenseWizardSndFormView.class) {
+ @Override
+ public LicenseWizardSndFormView create() {
+ return new LicenseWizardSndForm(i(I18nTranslationService.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizardTrdFormView>(LicenseWizardTrdFormView.class) {
+ @Override
+ public LicenseWizardTrdFormView create() {
+ return new LicenseWizardTrdForm(i(Images.class), i(I18nTranslationService.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizardFrdFormView>(LicenseWizardFrdFormView.class) {
+ @Override
+ public LicenseWizardFrdFormView create() {
+ return new LicenseWizardFrdForm(i(I18nTranslationService.class), i(Session.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<FileUploader>(FileUploader.class) {
+ @Override
+ public FileUploader create() {
+ final FileUploaderPresenter presenter = new FileUploaderPresenter(i(Session.class));
+ final FileUploaderDialog panel = new FileUploaderDialog(presenter, i(I18nUITranslationService.class),
+ i(WorkspaceSkeleton.class));
+ presenter.init(panel);
+ return presenter;
+ }
+
+ @Override
+ public void onAfterCreated(final FileUploader uploader) {
+ i(ContextNavigator.class).addFileUploaderListener(uploader);
+ }
+ });
+
+ register(Singleton.class, new Factory<SiteSearcher>(SiteSearcher.class) {
+ @Override
+ public SiteSearcher create() {
+ final SiteSearcherPresenter presenter = new SiteSearcherPresenter(p(StateManager.class));
+ final SiteSearcherView view = new SiteSearcherPanel(presenter, i(I18nTranslationService.class),
+ i(WorkspaceSkeleton.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<I18nTranslator>(I18nTranslator.class) {
+ @Override
+ public I18nTranslator create() {
+ final I18nTranslatorPresenter presenter = new I18nTranslatorPresenter(i(Session.class),
+ i(I18nServiceAsync.class), i(I18nUITranslationService.class));
+ final I18nTranslatorView view = new I18nTranslatorPanel(presenter, i(I18nTranslationService.class),
+ i(LanguageSelector.class), i(WorkspaceSkeleton.class), i(Images.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<SiteOptionsI18nTranslatorAction>(
+ // SiteOptionsI18nTranslatorAction.class) {
+ // @Override
+ // public SiteOptionsI18nTranslatorAction create() {
+ // return new SiteOptionsI18nTranslatorAction(i(SiteOptions.class),
+ // i(I18nTranslationService.class),
+ // i(IconResources.class), p(I18nTranslator.class));
+ // }
+ // });
+
+ // register(Singleton.class, new Factory<SignIn>(SignIn.class) {
+ // @Override
+ // public SignIn create() {
+ // final SignInPresenter presenter = new
+ // SignInPresenter(i(Session.class), i(StateManager.class),
+ // i(I18nUITranslationService.class), p(UserServiceAsync.class),
+ // p(Register.class));
+ // final SignInView panel = new SignInPanel(presenter,
+ // i(I18nTranslationService.class),
+ // i(WorkspaceSkeleton.class), i(NotifyLevelImages.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+ //
+ // register(Singleton.class, new Factory<Register>(Register.class) {
+ // @Override
+ // public Register create() {
+ // final RegisterPresenter presenter = new
+ // RegisterPresenter(i(Session.class), i(StateManager.class),
+ // i(I18nUITranslationService.class), p(UserServiceAsync.class),
+ // p(SignIn.class));
+ // final RegisterView panel = new RegisterPanel(presenter,
+ // i(I18nTranslationService.class),
+ // i(WorkspaceSkeleton.class), i(Session.class),
+ // i(NotifyLevelImages.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ // register(Singleton.class, new Factory<NewGroup>(NewGroup.class) {
+ // @Override
+ // public NewGroup create() {
+ // final NewGroupPresenter presenter = new
+ // NewGroupPresenter(i(I18nTranslationService.class),
+ // i(Session.class), i(StateManager.class),
+ // p(GroupServiceAsync.class));
+ // final NewGroupPanel view = new NewGroupPanel(presenter,
+ // i(I18nTranslationService.class),
+ // p(LicenseWizard.class), i(NotifyLevelImages.class));
+ // presenter.init(view);
+ // return presenter;
+ // }
+ // });
+
+ register(Singleton.class, new Factory<UserLiveSearcher>(UserLiveSearcher.class) {
+ @Override
+ public UserLiveSearcher create() {
+ final UserLiveSearcherPresenter presenter = new UserLiveSearcherPresenter();
+ final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter,
+ i(I18nTranslationService.class), i(FileDownloadUtils.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<GroupLiveSearcher>(GroupLiveSearcher.class) {
+ @Override
+ public GroupLiveSearcher create() {
+ final GroupLiveSearcherPresenter presenter = new GroupLiveSearcherPresenter();
+ final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter,
+ i(I18nTranslationService.class), i(FileDownloadUtils.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<ToolSelector>(ToolSelector.class) {
+ @Override
+ public ToolSelector create() {
+ final ToolSelectorPresenter presenter = new ToolSelectorPresenter(i(StateManager.class),
+ i(WsThemeManager.class));
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<LanguageSelector>(LanguageSelector.class) {
+ @Override
+ public LanguageSelector create() {
+ final LanguageSelectorPresenter presenter = new LanguageSelectorPresenter(i(Session.class));
+ final LanguageSelectorView view = new LanguageSelectorPanel(presenter, i(I18nTranslationService.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ // Register of tokens like "signin", "newgroup", "translate" etcetera
+ i(StateManager.class).addSiteToken(SiteCommonTokens.SIGNIN, new HistoryTokenCallback() {
+
+ @Override
+ public void onHistoryToken() {
+ i(SignIn.class).doSignIn();
+ }
+ });
+
+ i(StateManager.class).addSiteToken(SiteCommonTokens.REGISTER, new HistoryTokenCallback() {
+
+ @Override
+ public void onHistoryToken() {
+ i(Register.class).doRegister();
+ }
+ });
+
+ i(StateManager.class).addSiteToken(SiteCommonTokens.NEWGROUP, new HistoryTokenCallback() {
+
+ @Override
+ public void onHistoryToken() {
+ i(NewGroup.class).doNewGroup();
+ }
+ });
+
+ i(StateManager.class).addSiteToken(SiteCommonTokens.TRANSLATE, new HistoryTokenCallback() {
+
+ @Override
+ public void onHistoryToken() {
+ i(I18nTranslator.class).doShowTranslator();
+ }
+ });
+
+ register(NoDecoration.class, new Factory<ActionContentToolbar>(ActionContentToolbar.class) {
+ @Override
+ public ActionContentToolbar create() {
+ final ActionCntCtxToolbarPanel<StateToken> tbar = new ActionCntCtxToolbarPanel<StateToken>(
+ AbstractFoldableContentActions.CONTENT_TOPBAR, p(ActionManager.class),
+ i(WorkspaceSkeleton.class));
+ final ActionContentToolbar toolbar = new ActionContentToolbarPresenter(tbar);
+ return toolbar;
+ }
+ });
+
+ register(Singleton.class, new Factory<ContentEditor>(ContentEditor.class) {
+ @Override
+ public ContentEditor create() {
+ final ContentEditorPresenter presenter = new ContentEditorPresenter(i(I18nTranslationService.class),
+ i(Session.class), i(RTEImgResources.class), p(InsertLinkDialog.class),
+ p(ColorWebSafePalette.class), p(EditHtmlDialog.class), p(InsertImageDialog.class),
+ p(InsertMediaDialog.class), p(InsertTableDialog.class), p(InsertSpecialCharDialog.class),
+ i(SchedulerManager.class), true, i(StateManager.class), i(SiteSignOutLink.class),
+ i(WorkspaceSkeleton.class), i(TimerWrapper.class), i(EntityTitle.class));
+ final ContentEditorPanel panel = new ContentEditorPanel(presenter, i(I18nUITranslationService.class),
+ i(GlobalShortcutRegister.class), i(GuiBindingsRegister.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+ register(NoDecoration.class, new Factory<ActionContextTopToolbar>(ActionContextTopToolbar.class) {
+ @Override
+ public ActionContextTopToolbar create() {
+ final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>(
+ AbstractFoldableContentActions.CONTEXT_TOPBAR, p(ActionManager.class),
+ i(WorkspaceSkeleton.class));
+ final ActionContextTopToolbar toolbar = new ActionContextTopToolbar(panel);
+ return toolbar;
+ }
+ });
+
+ register(NoDecoration.class, new Factory<ActionContextBottomToolbar>(ActionContextBottomToolbar.class) {
+ @Override
+ public ActionContextBottomToolbar create() {
+ final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>(
+ AbstractFoldableContentActions.CONTEXT_BOTTOMBAR, p(ActionManager.class),
+ i(WorkspaceSkeleton.class));
+ final ActionContextBottomToolbar toolbar = new ActionContextBottomToolbar(panel);
+ return toolbar;
+ }
+ });
+
+ register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) {
+ @Override
+ public ContextNavigator create() {
+ final ContextNavigatorPresenter presenter = new ContextNavigatorPresenter(i(StateManager.class),
+ i(Session.class), i(I18nTranslationService.class), i(ContentIconsRegistry.class),
+ i(ContentCapabilitiesRegistry.class), i(ActionContextTopToolbar.class),
+ i(ActionContextBottomToolbar.class), i(ContextActionRegistry.class),
+ p(FileDownloadUtils.class), true, i(RenameAction.class));
+ final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter,
+ i(I18nTranslationService.class), i(WorkspaceSkeleton.class), i(ActionManager.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<ContextPropEditor>(ContextPropEditor.class) {
+ @Override
+ public ContextPropEditor create() {
+ final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter(i(Session.class),
+ i(StateManager.class), i(ContentCapabilitiesRegistry.class), p(TagsSummary.class),
+ p(ContentServiceAsync.class), i(EntitySubTitle.class));
+ final ContextPropEditorView view = new ContextPropEditorPanel(presenter,
+ i(I18nUITranslationService.class), i(WorkspaceSkeleton.class), p(LanguageSelector.class),
+ i(Images.class));
+ presenter.init(view);
+ return presenter;
+ }
+ });
+
+ register(InsertImageGroup.class, new Factory<InsertImageLocal>(InsertImageLocal.class) {
+ @Override
+ public InsertImageLocal create() {
+ final InsertImageLocalPresenter presenter = new InsertImageLocalPresenter(i(InsertImageDialog.class),
+ i(Session.class));
+ final InsertImageLocalPanel panel = new InsertImageLocalPanel(presenter,
+ i(I18nTranslationService.class), i(FileDownloadUtils.class), i(Session.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ // register(ApplicationComponentGroup.class, new
+ // Factory<MaxMinWorkspace>(MaxMinWorkspace.class) {
+ // @Override
+ // public MaxMinWorkspace create() {
+ // final MaxMinWorkspacePresenter presenter = new
+ // MaxMinWorkspacePresenter(
+ // i(GlobalShortcutRegister.class), i(IconResources.class),
+ // i(I18nTranslationService.class),
+ // i(SiteOptions.class));
+ // final MaxMinWorkspacePanel panel = new
+ // MaxMinWorkspacePanel(i(WorkspaceSkeleton.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
+
+ register(InsertLinkGroup.class, new Factory<InsertLinkLocal>(InsertLinkLocal.class) {
+ @Override
+ public InsertLinkLocal create() {
+ final InsertLinkLocalPresenter presenter = new InsertLinkLocalPresenter(i(InsertLinkDialog.class));
+ final InsertLinkLocalPanel panel = new InsertLinkLocalPanel(presenter, i(WorkspaceSkeleton.class),
+ i(I18nTranslationService.class), i(FileDownloadUtils.class), i(StateTokenUtils.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(InsertMediaGroup.class, new Factory<InsertMediaLocal>(InsertMediaLocal.class) {
+ @Override
+ public InsertMediaLocal create() {
+ final InsertMediaLocalPresenter presenter = new InsertMediaLocalPresenter(i(InsertMediaDialog.class),
+ i(Session.class), p(MediaUtils.class));
+ final InsertMediaLocalPanel panel = new InsertMediaLocalPanel(presenter,
+ i(I18nTranslationService.class), i(FileDownloadUtils.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+ i(GlobalShortcutRegister.class).enable();
+ }
+
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,41 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-
-public interface EntityHeader {
-
- void addAction(OldGuiActionDescrip descriptor);
-
- void addWidget(View widget);
-
- /**
- * Refresh the logo from the group info in the client session
- */
- void refreshGroupLogo();
-
- /**
- * Reload the logo from the group reloaded from the server
- */
- void reloadGroupLogoImage();
-
-}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,44 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.ui.IconLabel;
-
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-
-public class EntityHeaderButton extends IconLabel implements View {
- public EntityHeaderButton(final AbstractImagePrototype icon, final String text) {
- super(icon, text, false);
- setDefStyle();
- }
-
- public EntityHeaderButton(final String text, final AbstractImagePrototype icon) {
- super(text, icon, false);
- setDefStyle();
- }
-
- private void setDefStyle() {
- addStyleName("kune-Margin-Medium-t");
- addStyleName("kune-pointer");
- addStyleName("kune-floatright");
- }
-
-}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,132 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader;
-
-import java.util.Date;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.ComplexToolbar;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-
-import cc.kune.core.client.services.FileConstants;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class EntityHeaderPanel extends HorizontalPanel implements EntityHeaderView {
-
- private final Provider<FileDownloadUtils> downloadProvider;
- private final EntityTextLogo entityTextLogo;
- private final Images images;
- private final VerticalPanel vpanel;
- private final ComplexToolbar toolbar;
-
- public EntityHeaderPanel(final WorkspaceSkeleton wskel, final Provider<FileDownloadUtils> downloadProvider,
- final Images images, final GuiBindingsRegister bindings) {
- super();
- super.setWidth("100%");
- this.downloadProvider = downloadProvider;
- this.images = images;
- vpanel = new VerticalPanel();
- vpanel.setWidth("100%");
- vpanel.setHorizontalAlignment(ALIGN_RIGHT);
- entityTextLogo = new EntityTextLogo();
- add(entityTextLogo);
- toolbar = new ComplexToolbar(bindings);
- toolbar.setTranspStyle();
- vpanel.add(toolbar);
- add(vpanel);
- wskel.addToEntityMainHeader(this);
- }
-
- public void addAction(final OldGuiActionDescrip descriptor) {
- toolbar.add(descriptor);
- }
-
- public void addWidget(final View view) {
- final Widget widget = (Widget) view;
- vpanel.add(widget);
- }
-
- public void reloadImage(final GroupDTO group) {
- entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
- + new Date().getTime());
- }
-
- @Deprecated
- public void setFullLogo(final StateToken stateToken, final boolean clipped) {
- clear();
- final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
- Image logo;
- if (clipped) {
- logo = new Image(imageUrl, 0, 0, FileConstants.LOGO_DEF_WIDTH, FileConstants.LOGO_DEF_HEIGHT);
- } else {
- logo = new Image(imageUrl);
- logo.setWidth(String.valueOf(FileConstants.LOGO_DEF_WIDTH));
- logo.setHeight(String.valueOf(FileConstants.LOGO_DEF_HEIGHT));
- }
- add(logo);
- }
-
- public void setLargeFont() {
- entityTextLogo.setLargeFont();
- }
-
- public void setLogoImage(final StateToken stateToken) {
- entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(stateToken));
- }
-
- public void setLogoImageVisible(final boolean visible) {
- entityTextLogo.setLogoVisible(visible);
- }
-
- public void setLogoText(final String groupName) {
- entityTextLogo.setLogoText(groupName);
- }
-
- public void setMediumFont() {
- entityTextLogo.setMediumFont();
- }
-
- public void setSmallFont() {
- entityTextLogo.setSmallFont();
- }
-
- public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
- if (oldTheme != null) {
- entityTextLogo.removeStyleDependentName(oldTheme.toString());
- }
- entityTextLogo.addStyleDependentName(newTheme.toString());
- }
-
- public void showDefUserLogo() {
- entityTextLogo.setLogoImage(images.personAvatarDef());
- }
-}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,102 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.calclab.suco.client.events.Listener2;
-
-public class EntityHeaderPresenter implements EntityHeader {
- private static final int MEDIUM_NAME_LIMIT = 90;
- private static final int LARGE_NAME_LIMIT = 20;
-
- private EntityHeaderView view;
- private final Session session;
-
- public EntityHeaderPresenter(final StateManager stateManager, final WsThemeManager theme, final Session session) {
- this.session = session;
-
- stateManager.onGroupChanged(new Listener2<String, String>() {
- public void onEvent(final String oldGroup, final String newGroup) {
- setGroupLogo(session.getCurrentState().getGroup());
- }
- });
- theme.addOnThemeChanged(new Listener2<WsTheme, WsTheme>() {
- public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
- view.setTheme(oldTheme, newTheme);
- }
- });
- }
-
- public void addAction(final OldGuiActionDescrip descriptor) {
- view.addAction(descriptor);
- }
-
- public void addWidget(final View widget) {
- view.addWidget(widget);
- }
-
- public void init(final EntityHeaderView view) {
- this.view = view;
- }
-
- public void refreshGroupLogo() {
- setGroupLogo(session.getCurrentState().getGroup());
- }
-
- public void reloadGroupLogoImage() {
- view.reloadImage(session.getCurrentState().getGroup());
- }
-
- void setGroupLogo(final GroupDTO group) {
- if (group.hasLogo()) {
- setLogoText(group.getLongName());
- view.setLogoImage(group.getStateToken());
- view.setLogoImageVisible(true);
- } else {
- setLogoText(group.getLongName());
- if (group.isPersonal()) {
- view.showDefUserLogo();
- view.setLogoImageVisible(true);
- } else {
- view.setLogoImageVisible(false);
- }
- }
- }
-
- void setLogoText(final String name) {
- final int length = name.length();
- if (length <= LARGE_NAME_LIMIT) {
- view.setLargeFont();
- } else if (length <= MEDIUM_NAME_LIMIT) {
- view.setMediumFont();
- } else {
- view.setSmallFont();
- }
- view.setLogoText(name);
- }
-}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,52 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.GroupDTO;
-
-public interface EntityHeaderView {
-
- void addAction(OldGuiActionDescrip descriptor);
-
- void addWidget(View view);
-
- void reloadImage(GroupDTO group);
-
- void setLargeFont();
-
- void setLogoImage(StateToken stateToken);
-
- void setLogoImageVisible(boolean visible);
-
- void setLogoText(final String groupName);
-
- void setMediumFont();
-
- void setSmallFont();
-
- void setTheme(final WsTheme oldTheme, WsTheme newTheme);
-
- void showDefUserLogo();
-}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,117 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader;
-
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.VerticalPanel;
-
-public class EntityTextLogo extends VerticalPanel {
-
- public static final String LOGO_NAME = "k-elogop-ln";
- public static final String LOGO_IMAGE = "k-elogop-image";
-
- private static final String _100 = "100%";
- private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
- private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
- private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
- private final Label logoLabel;
- private final Image logoImage;
-
- public EntityTextLogo() {
- // Initialize
- super();
- final HorizontalPanel generalHP = new HorizontalPanel();
- final VerticalPanel logoTextVP = new VerticalPanel();
- logoImage = new Image();
- logoLabel = new Label();
- final Label expandCell = new Label("");
-
- logoImage.ensureDebugId(LOGO_IMAGE);
- logoLabel.ensureDebugId(LOGO_NAME);
-
- // Layout
- add(generalHP);
- generalHP.add(logoImage);
- generalHP.add(logoTextVP);
- logoTextVP.add(logoLabel);
-
- // Set properties
-
- expandCell.setStyleName("k-elogop-expand");
- generalHP.setWidth(_100);
- generalHP.setHeight(_100);
- generalHP.setCellWidth(logoTextVP, _100);
- generalHP.setCellHeight(logoTextVP, _100);
- logoTextVP.setWidth(_100);
- logoTextVP.setCellWidth(logoLabel, _100);
- super.setVerticalAlignment(ALIGN_MIDDLE);
- logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
- generalHP.setVerticalAlignment(ALIGN_MIDDLE);
- setStylePrimaryName("k-entitytextlogo");
- addStyleName("k-entitytextlogo-no-border");
- logoImage.setVisible(false);
- setLogoTextImpl("");
- }
-
- public void setLargeFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
- }
-
- public void setLogoImage(final AbstractImagePrototype imageProto) {
- imageProto.applyTo(logoImage);
- }
-
- public void setLogoImage(final String url) {
- Image.prefetch(url);
- logoImage.setUrl(url);
- }
-
- public void setLogoText(final String text) {
- setLogoTextImpl(text);
- }
-
- public void setLogoVisible(final boolean visible) {
- logoImage.setVisible(visible);
- }
-
- public void setMediumFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
- }
-
- public void setSmallFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
- }
-
- private void resetFontSize() {
- logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
- logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
- logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
- }
-
- private void setLogoTextImpl(final String text) {
- logoLabel.setText(text);
- }
-}
\ No newline at end of file
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin)
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,54 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.nohomepage;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.StateAbstractDTO;
-import cc.kune.core.shared.dto.StateNoContentDTO;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.ioc.Provider;
-
-public class NoHomePagePresenter implements NoHomePage {
-
- private NoHomePageView view;
-
- public NoHomePagePresenter(final StateManager stateManager, final Provider<EntityHeader> entityLogoProvider) {
- stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
- public void onEvent(StateAbstractDTO state) {
- if (state instanceof StateNoContentDTO) {
- view.clearWs();
- entityLogoProvider.get().refreshGroupLogo();
- }
- }
- });
- }
-
- public View getView() {
- return view;
- }
-
- public void init(NoHomePageView view) {
- this.view = view;
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,54 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.workspace.client.nohomepage;
+
+import org.ourproject.kune.platf.client.View;
+
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.dto.StateNoContentDTO;
+
+import com.calclab.suco.client.events.Listener;
+import com.calclab.suco.client.ioc.Provider;
+
+public class NoHomePagePresenter implements NoHomePage {
+
+ private NoHomePageView view;
+
+ public NoHomePagePresenter(final StateManager stateManager, final Provider<EntityHeader> entityLogoProvider) {
+ stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
+ public void onEvent(StateAbstractDTO state) {
+ if (state instanceof StateNoContentDTO) {
+ view.clearWs();
+ entityLogoProvider.get().refreshGroupLogo();
+ }
+ }
+ });
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(NoHomePageView view) {
+ this.view = view;
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,103 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.oldsn.other;
-
-import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
-import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
-import org.ourproject.kune.platf.client.actions.Action;
-import org.ourproject.kune.platf.client.actions.ActionEvent;
-import org.ourproject.kune.platf.client.actions.PropertyChangeEvent;
-import org.ourproject.kune.platf.client.actions.PropertyChangeListener;
-import org.ourproject.kune.platf.client.actions.ui.ButtonDescriptor;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-
-import cc.kune.core.client.resources.icons.IconConstants;
-import cc.kune.core.client.resources.icons.IconResources;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.StateAbstractDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.calclab.suco.client.ioc.Provider;
-
-public class AddAsBuddieHeaderButton {
-
- public static class AddAsBuddieAction extends AbstractExtendedAction {
- private final Provider<ChatEngine> chatEngine;
- private final Session session;
-
- public AddAsBuddieAction(final Provider<ChatEngine> chatEngine, final Session session,
- final StateManager stateManager, final I18nTranslationService i18n, final IconResources img) {
- super();
- this.chatEngine = chatEngine;
- this.session = session;
- stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
- public void onEvent(final StateAbstractDTO state) {
- setState(state);
- }
- });
- chatEngine.get().addOnRosterChanged(new Listener0() {
- public void onEvent() {
- setState(session.getCurrentState());
- }
- });
- putValue(Action.NAME, i18n.t("Add as a buddie"));
- putValue(Action.SMALL_ICON, IconConstants.toPath(img.addGreen()));
- }
-
- public void actionPerformed(final ActionEvent event) {
- chatEngine.get().addNewBuddie(session.getCurrentState().getGroup().getShortName());
- NotifyUser.info("Added as buddie. Waiting buddie response");
- setEnabled(false);
- }
-
- private void setState(final StateAbstractDTO state) {
- final String groupName = state.getGroup().getShortName();
- final boolean isPersonal = state.getGroup().isPersonal();
- final boolean isLogged = session.isLogged();
- if (isLogged && isPersonal && (!chatEngine.get().isBuddie(groupName))
- && (!session.getCurrentUser().getShortName().equals(groupName))) {
- setEnabled(true);
- } else {
- setEnabled(false);
- }
- }
- }
-
- public AddAsBuddieHeaderButton(final Provider<ChatEngine> chatEngine, final Session session,
- final StateManager stateManager, final I18nTranslationService i18n, final IconResources img,
- final EntityHeader entityHeader) {
- final AddAsBuddieAction buddieAction = new AddAsBuddieAction(chatEngine, session, stateManager, i18n, img);
- final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
- button.setVisible(false);
- buddieAction.addPropertyChangeListener(new PropertyChangeListener() {
- public void propertyChange(final PropertyChangeEvent event) {
- if (event.getPropertyName().equals(OldAbstractAction.ENABLED)) {
- button.setVisible((Boolean) event.getNewValue());
- }
- }
- });
- entityHeader.addAction(button);
- }
-}
\ No newline at end of file
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,63 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.options;
-
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.platf.client.app.GroupOptionsCollection;
-import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-
-import cc.kune.common.client.noti.NotifyLevelImages;
-import cc.kune.core.client.resources.CoreMessages;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-public class GroupOptionsPanel extends AbstractTabbedDialogPanel implements GroupOptionsView {
-
- public static final String GROUP_OP_PANEL_ID = "k-gop-diagpan";
- public static final String GROUP_OPTIONS_ERROR_ID = "k-gop-err-mess";
- private final EntityHeader entityHeader;
-
- private final GroupOptionsCollection entityPreferencesGroup;
-
- public GroupOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
- final I18nTranslationService i18n, final NotifyLevelImages images,
- final GroupOptionsCollection entityOptionsGroup) {
- super(GROUP_OP_PANEL_ID, "", 400, HEIGHT + 80, 400, HEIGHT + 80, false, images, GROUP_OPTIONS_ERROR_ID);
- this.entityHeader = entityHeader;
- this.entityPreferencesGroup = entityOptionsGroup;
- super.setIconCls("k-options-icon");
- super.setTitle(i18n.t(CoreMessages.GROUP_OPTIONS_DIALOG_TITLE));
- }
-
- @Override
- public void addAction(final OldGuiActionDescrip descriptor) {
- entityHeader.addAction(descriptor);
- }
-
- @Override
- public void createAndShow() {
- createAndShowItImpl();
- }
-
- private void createAndShowItImpl() {
- entityPreferencesGroup.createAll();
- super.createAndShow();
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,63 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
+import org.ourproject.kune.platf.client.app.GroupOptionsCollection;
+import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
+
+import cc.kune.common.client.noti.NotifyLevelImages;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+public class GroupOptionsPanel extends AbstractTabbedDialogPanel implements GroupOptionsView {
+
+ public static final String GROUP_OP_PANEL_ID = "k-gop-diagpan";
+ public static final String GROUP_OPTIONS_ERROR_ID = "k-gop-err-mess";
+ private final EntityHeader entityHeader;
+
+ private final GroupOptionsCollection entityPreferencesGroup;
+
+ public GroupOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
+ final I18nTranslationService i18n, final NotifyLevelImages images,
+ final GroupOptionsCollection entityOptionsGroup) {
+ super(GROUP_OP_PANEL_ID, "", 400, HEIGHT + 80, 400, HEIGHT + 80, false, images, GROUP_OPTIONS_ERROR_ID);
+ this.entityHeader = entityHeader;
+ this.entityPreferencesGroup = entityOptionsGroup;
+ super.setIconCls("k-options-icon");
+ super.setTitle(i18n.t(CoreMessages.GROUP_OPTIONS_DIALOG_TITLE));
+ }
+
+ @Override
+ public void addAction(final OldGuiActionDescrip descriptor) {
+ // entityHeader.addAction(descriptor);
+ }
+
+ @Override
+ public void createAndShow() {
+ createAndShowItImpl();
+ }
+
+ private void createAndShowItImpl() {
+ entityPreferencesGroup.createAll();
+ super.createAndShow();
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,55 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.options;
-
-import org.ourproject.kune.platf.client.app.UserOptionsCollection;
-import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-
-import cc.kune.common.client.noti.NotifyLevelImages;
-import cc.kune.core.client.resources.CoreMessages;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-public class UserOptionsPanel extends AbstractTabbedDialogPanel implements UserOptionsView {
-
- public static final String USER_OP_PANEL_ID = "k-uop-diagpan";
- public static final String USER_OPTIONS_ERROR_ID = "k-uop-err-mess";
-
- private final UserOptionsCollection userPreferencesGroup;
-
- public UserOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
- final I18nTranslationService i18n, final NotifyLevelImages images,
- final UserOptionsCollection userOptionsGroup) {
- super(USER_OP_PANEL_ID, "", 400, HEIGHT + 80, 400, HEIGHT + 80, false, images, USER_OPTIONS_ERROR_ID);
- this.userPreferencesGroup = userOptionsGroup;
- super.setIconCls("k-options-icon");
- super.setTitle(i18n.t(CoreMessages.USER_OPTIONS_DIALOG_TITLE));
- }
-
- @Override
- public void createAndShow() {
- createAndShowItImpl();
- }
-
- private void createAndShowItImpl() {
- userPreferencesGroup.createAll();
- super.createAndShow();
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,55 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.app.UserOptionsCollection;
+import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
+
+import cc.kune.common.client.noti.NotifyLevelImages;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+public class UserOptionsPanel extends AbstractTabbedDialogPanel implements UserOptionsView {
+
+ public static final String USER_OP_PANEL_ID = "k-uop-diagpan";
+ public static final String USER_OPTIONS_ERROR_ID = "k-uop-err-mess";
+
+ private final UserOptionsCollection userPreferencesGroup;
+
+ public UserOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
+ final I18nTranslationService i18n, final NotifyLevelImages images,
+ final UserOptionsCollection userOptionsGroup) {
+ super(USER_OP_PANEL_ID, "", 400, HEIGHT + 80, 400, HEIGHT + 80, false, images, USER_OPTIONS_ERROR_ID);
+ this.userPreferencesGroup = userOptionsGroup;
+ super.setIconCls("k-options-icon");
+ super.setTitle(i18n.t(CoreMessages.USER_OPTIONS_DIALOG_TITLE));
+ }
+
+ @Override
+ public void createAndShow() {
+ createAndShowItImpl();
+ }
+
+ private void createAndShowItImpl() {
+ userPreferencesGroup.createAll();
+ super.createAndShow();
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,72 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.options.logo;
-
-import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.options.EntityOptions;
-
-import cc.kune.core.client.rpcservices.UserServiceAsync;
-import cc.kune.core.client.state.Session;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public abstract class EntityOptionsLogoPresenter implements GroupOptionsLogo, UserOptionsLogo {
-
- protected EntityOptionsLogoView view;
- protected final Session session;
- private final EntityHeader entityLogo;
- private final EntityOptions entityOptions;
- protected final Provider<UserServiceAsync> userService;
- protected final Provider<ChatEngine> chatEngine;
-
- public EntityOptionsLogoPresenter(final Session session, final EntityHeader entityLogo,
- final EntityOptions entityOptions, final Provider<UserServiceAsync> userService,
- final Provider<ChatEngine> chatEngine) {
- this.session = session;
- this.entityLogo = entityLogo;
- this.entityOptions = entityOptions;
- this.userService = userService;
- this.chatEngine = chatEngine;
- }
-
- public View getView() {
- return view;
- }
-
- public void init(final EntityOptionsLogoView view) {
- this.view = view;
- entityOptions.addTab(view);
- setState();
- }
-
- public void onSubmitComplete(final int httpStatus, final String photoBinary) {
- entityLogo.reloadGroupLogoImage();
- }
-
- public void onSubmitFailed(final int httpStatus, final String responseText) {
- NotifyUser.error("Error setting the logo: " + responseText);
- }
-
- protected abstract void setState();
-
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,72 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package org.ourproject.kune.workspace.client.options.logo;
+
+import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+
+import cc.kune.core.client.rpcservices.UserServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public abstract class EntityOptionsLogoPresenter implements GroupOptionsLogo, UserOptionsLogo {
+
+ protected EntityOptionsLogoView view;
+ protected final Session session;
+ private final EntityHeader entityLogo;
+ private final EntityOptions entityOptions;
+ protected final Provider<UserServiceAsync> userService;
+ protected final Provider<ChatEngine> chatEngine;
+
+ public EntityOptionsLogoPresenter(final Session session, final EntityHeader entityLogo,
+ final EntityOptions entityOptions, final Provider<UserServiceAsync> userService,
+ final Provider<ChatEngine> chatEngine) {
+ this.session = session;
+ this.entityLogo = entityLogo;
+ this.entityOptions = entityOptions;
+ this.userService = userService;
+ this.chatEngine = chatEngine;
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(final EntityOptionsLogoView view) {
+ this.view = view;
+ entityOptions.addTab(view);
+ setState();
+ }
+
+ public void onSubmitComplete(final int httpStatus, final String photoBinary) {
+ entityLogo.reloadGroupLogoImage();
+ }
+
+ public void onSubmitFailed(final int httpStatus, final String responseText) {
+ NotifyUser.error("Error setting the logo: " + responseText);
+ }
+
+ protected abstract void setState();
+
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,56 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.options.logo;
-
-import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.options.EntityOptions;
-
-import cc.kune.core.client.rpcservices.UserServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-
-import com.calclab.suco.client.events.Listener2;
-import com.calclab.suco.client.ioc.Provider;
-
-public class GroupOptionsLogoPresenter extends EntityOptionsLogoPresenter {
-
- public GroupOptionsLogoPresenter(final Session session, final EntityHeader entityLogo,
- final EntityOptions entityOptions, final StateManager stateManager,
- final Provider<UserServiceAsync> userService, final Provider<ChatEngine> chatEngine) {
- super(session, entityLogo, entityOptions, userService, chatEngine);
- stateManager.onGroupChanged(new Listener2<String, String>() {
- public void onEvent(final String group1, final String group2) {
- setState();
- }
- });
- }
-
- @Override
- public void init(final EntityOptionsLogoView view) {
- super.init(view);
- view.setNormalGroupsLabels();
- }
-
- @Override
- protected void setState() {
- view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,56 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.options.logo;
+
+import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+
+import cc.kune.core.client.rpcservices.UserServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+
+import com.calclab.suco.client.events.Listener2;
+import com.calclab.suco.client.ioc.Provider;
+
+public class GroupOptionsLogoPresenter extends EntityOptionsLogoPresenter {
+
+ public GroupOptionsLogoPresenter(final Session session, final EntityHeader entityLogo,
+ final EntityOptions entityOptions, final StateManager stateManager,
+ final Provider<UserServiceAsync> userService, final Provider<ChatEngine> chatEngine) {
+ super(session, entityLogo, entityOptions, userService, chatEngine);
+ stateManager.onGroupChanged(new Listener2<String, String>() {
+ public void onEvent(final String group1, final String group2) {
+ setState();
+ }
+ });
+ }
+
+ @Override
+ public void init(final EntityOptionsLogoView view) {
+ super.init(view);
+ view.setNormalGroupsLabels();
+ }
+
+ @Override
+ protected void setState() {
+ view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
+ }
+}
Deleted: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,73 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.options.logo;
-
-import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.options.EntityOptions;
-
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.UserServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.GroupDTO;
-import cc.kune.core.shared.dto.UserInfoDTO;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.ioc.Provider;
-
-public class UserOptionsLogoPresenter extends EntityOptionsLogoPresenter {
-
- public UserOptionsLogoPresenter(final Session session, final EntityHeader entityLogo,
- final EntityOptions entityOptions, final StateManager stateManager,
- final Provider<UserServiceAsync> userService, final Provider<ChatEngine> chatEngine) {
- super(session, entityLogo, entityOptions, userService, chatEngine);
- session.onUserSignIn(new Listener<UserInfoDTO>() {
- public void onEvent(final UserInfoDTO parameter) {
- setState();
- }
- });
- }
-
- @Override
- public void init(final EntityOptionsLogoView view) {
- super.init(view);
- view.setPersonalGroupsLabels();
- }
-
- @Override
- public void onSubmitComplete(final int httpStatus, final String photoBinary) {
- super.onSubmitComplete(httpStatus, photoBinary);
- final GroupDTO group = session.getCurrentState().getGroup();
- if (session.getCurrentUser().getShortName().equals(group.getShortName())) {
- userService.get().getUserAvatarBaser64(session.getUserHash(), group.getStateToken(),
- new AsyncCallbackSimple<String>() {
- public void onSuccess(final String photoBinary) {
- chatEngine.get().setAvatar(photoBinary);
- }
- });
- }
- }
-
- @Override
- protected void setState() {
- view.setUploadParams(session.getUserHash(), session.getCurrentUser().getStateToken().toString());
- }
-}
Copied: branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java (from rev 1248, trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,73 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.options.logo;
+
+import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.UserServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.dto.GroupDTO;
+import cc.kune.core.shared.dto.UserInfoDTO;
+
+import com.calclab.suco.client.events.Listener;
+import com.calclab.suco.client.ioc.Provider;
+
+public class UserOptionsLogoPresenter extends EntityOptionsLogoPresenter {
+
+ public UserOptionsLogoPresenter(final Session session, final EntityHeader entityLogo,
+ final EntityOptions entityOptions, final StateManager stateManager,
+ final Provider<UserServiceAsync> userService, final Provider<ChatEngine> chatEngine) {
+ super(session, entityLogo, entityOptions, userService, chatEngine);
+ session.onUserSignIn(new Listener<UserInfoDTO>() {
+ public void onEvent(final UserInfoDTO parameter) {
+ setState();
+ }
+ });
+ }
+
+ @Override
+ public void init(final EntityOptionsLogoView view) {
+ super.init(view);
+ view.setPersonalGroupsLabels();
+ }
+
+ @Override
+ public void onSubmitComplete(final int httpStatus, final String photoBinary) {
+ super.onSubmitComplete(httpStatus, photoBinary);
+ final GroupDTO group = session.getCurrentState().getGroup();
+ if (session.getCurrentUser().getShortName().equals(group.getShortName())) {
+ userService.get().getUserAvatarBaser64(session.getUserHash(), group.getStateToken(),
+ new AsyncCallbackSimple<String>() {
+ public void onSuccess(final String photoBinary) {
+ chatEngine.get().setAvatar(photoBinary);
+ }
+ });
+ }
+ }
+
+ @Override
+ protected void setState() {
+ view.setUploadParams(session.getUserHash(), session.getCurrentUser().getStateToken().toString());
+ }
+}
Copied: branches/wave-jetty-embed-guice/src/test/java/cc/kune/core/client/ws (from rev 1248, trunk/src/test/java/cc/kune/core/client/ws)
Deleted: branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java
===================================================================
--- trunk/src/test/java/testsuites/OthersTestSuite.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -1,57 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package testsuites;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-import org.ourproject.kune.blogs.server.BlogServerToolTest;
-import org.ourproject.kune.chat.ChatToolTest;
-import org.ourproject.kune.chat.server.managers.XmppManagerTest;
-import org.ourproject.kune.docs.DocumentToolTest;
-import org.ourproject.kune.docs.server.DocumentServerToolTest;
-import org.ourproject.kune.gallery.server.GalleryServerToolTest;
-import org.ourproject.kune.rack.filters.rest.TestRESTMethodFinder;
-import org.ourproject.kune.rack.filters.rest.TestRESTServiceDefinition;
-import org.ourproject.kune.wiki.server.WikiServerToolTest;
-import org.ourproject.kune.workspace.client.entityheader.EntityLogoPresenterTest;
-import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenterTest;
-import org.ourproject.kune.workspace.client.socialnet.RolActionTest;
-import org.ourproject.kune.workspace.client.socialnet.RolComparatorTest;
-import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenterTest;
-import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenterTest;
-
-/**
- * Rescan with :
- *
- * <pre>
- * find src/test/java/org/ourproject/kune/{chat,docs,gallery,wiki,workspace,blogs,rack} -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/ /.class, /g'
- *
- * </pre>
- *
- */
-(a)RunWith(Suite.class)
-@SuiteClasses({ ChatToolTest.class, XmppManagerTest.class, DocumentToolTest.class, DocumentServerToolTest.class,
- GalleryServerToolTest.class, WikiServerToolTest.class, EntityLogoPresenterTest.class,
- ToolSelectorPresenterTest.class, TagsSummaryPresenterTest.class, RolActionTest.class, RolComparatorTest.class,
- LicenseWizardPresenterTest.class, BlogServerToolTest.class, TestRESTServiceDefinition.class,
- TestRESTMethodFinder.class })
-public class OthersTestSuite {
-}
Copied: branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java (from rev 1248, trunk/src/test/java/testsuites/OthersTestSuite.java)
===================================================================
--- branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java (rev 0)
+++ branches/wave-jetty-embed-guice/src/test/java/testsuites/OthersTestSuite.java 2011-02-12 02:18:52 UTC (rev 1249)
@@ -0,0 +1,58 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package testsuites;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.blogs.server.BlogServerToolTest;
+import org.ourproject.kune.chat.ChatToolTest;
+import org.ourproject.kune.chat.server.managers.XmppManagerTest;
+import org.ourproject.kune.docs.DocumentToolTest;
+import org.ourproject.kune.docs.server.DocumentServerToolTest;
+import org.ourproject.kune.gallery.server.GalleryServerToolTest;
+import org.ourproject.kune.rack.filters.rest.TestRESTMethodFinder;
+import org.ourproject.kune.rack.filters.rest.TestRESTServiceDefinition;
+import org.ourproject.kune.wiki.server.WikiServerToolTest;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenterTest;
+import org.ourproject.kune.workspace.client.socialnet.RolActionTest;
+import org.ourproject.kune.workspace.client.socialnet.RolComparatorTest;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenterTest;
+import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenterTest;
+
+import cc.kune.core.client.ws.entheader.EntityLogoPresenterTest;
+
+/**
+ * Rescan with :
+ *
+ * <pre>
+ * find src/test/java/org/ourproject/kune/{chat,docs,gallery,wiki,workspace,blogs,rack} -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/ /.class, /g'
+ *
+ * </pre>
+ *
+ */
+(a)RunWith(Suite.class)
+@SuiteClasses({ ChatToolTest.class, XmppManagerTest.class, DocumentToolTest.class, DocumentServerToolTest.class,
+ GalleryServerToolTest.class, WikiServerToolTest.class, EntityLogoPresenterTest.class,
+ ToolSelectorPresenterTest.class, TagsSummaryPresenterTest.class, RolActionTest.class, RolComparatorTest.class,
+ LicenseWizardPresenterTest.class, BlogServerToolTest.class, TestRESTServiceDefinition.class,
+ TestRESTMethodFinder.class })
+public class OthersTestSuite {
+}
1
0
Author: vjrj_
Date: 2011-02-12 00:06:04 +0100 (Sat, 12 Feb 2011)
New Revision: 1248
Added:
trunk/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java
trunk/src/main/java/cc/kune/core/client/ws/entheader/
trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeader.java
trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPanel.java
trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPresenter.java
trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityTextLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java
trunk/src/test/java/cc/kune/core/client/ws/
trunk/src/test/java/cc/kune/core/client/ws/entheader/
Removed:
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java
trunk/src/test/java/org/ourproject/kune/workspace/client/entityheader/
Modified:
trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java
trunk/src/main/java/cc/kune/client/KuneGinjector.java
trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreParts.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspace.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspaceView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java
trunk/src/test/java/cc/kune/core/client/ws/entheader/EntityLogoPresenterTest.java
trunk/src/test/java/testsuites/OthersTestSuite.java
Log:
Entity header updated
Copied: trunk/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java)
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java (rev 0)
+++ trunk/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -0,0 +1,117 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.chat.client;
+
+import cc.kune.common.client.actions.AbstractAction;
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.PropertyChangeEvent;
+import cc.kune.common.client.actions.PropertyChangeListener;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.noti.NotifyUser;
+import cc.kune.core.client.resources.icons.IconConstants;
+import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateChangedEvent;
+import cc.kune.core.client.state.StateChangedEvent.StateChangedHandler;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.calclab.emite.im.client.roster.XmppRoster;
+import com.calclab.emite.im.client.roster.events.RosterGroupChangedEvent;
+import com.calclab.emite.im.client.roster.events.RosterGroupChangedHandler;
+import com.calclab.suco.client.Suco;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class AddAsBuddieHeaderButton {
+
+ public static class AddAsBuddieAction extends AbstractExtendedAction {
+ private final Provider<ChatClientDefault> chatEngine;
+ private final Session session;
+
+ @Inject
+ public AddAsBuddieAction(final Provider<ChatClientDefault> chatEngine, final Session session,
+ final StateManager stateManager, final I18nTranslationService i18n, final IconResources img) {
+ super();
+ this.chatEngine = chatEngine;
+ this.session = session;
+ stateManager.onStateChanged(new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ setState(event.getState());
+ }
+ });
+ Suco.get(XmppRoster.class).addRosterGroupChangedHandler(new RosterGroupChangedHandler() {
+
+ @Override
+ public void onGroupChanged(final RosterGroupChangedEvent event) {
+ setState(session.getCurrentState());
+ }
+ });
+ putValue(Action.NAME, i18n.t("Add as a buddie"));
+ putValue(Action.SMALL_ICON, IconConstants.toPath(img.addGreen()));
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ chatEngine.get().addNewBuddie(session.getCurrentState().getGroup().getShortName());
+ NotifyUser.info("Added as buddie. Waiting buddie response");
+ setEnabled(false);
+ }
+
+ private boolean currentGroupsIsAsPerson(final StateAbstractDTO state) {
+ return state.getGroup().isPersonal();
+ }
+
+ private boolean isNotMe(final String groupName) {
+ return !session.getCurrentUser().getShortName().equals(groupName);
+ }
+
+ private void setState(final StateAbstractDTO state) {
+ final String groupName = state.getGroup().getShortName();
+ final boolean imLogged = session.isLogged();
+ final boolean isNotBuddie = !chatEngine.get().isBuddie(groupName);
+ if (imLogged && currentGroupsIsAsPerson(state) && isNotBuddie && isNotMe(groupName)) {
+ setEnabled(true);
+ } else {
+ setEnabled(false);
+ }
+ }
+ }
+
+ @Inject
+ public AddAsBuddieHeaderButton(final AddAsBuddieAction buddieAction, final EntityHeader entityHeader) {
+ final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
+ button.setVisible(false);
+ buddieAction.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
+ if (event.getPropertyName().equals(AbstractAction.ENABLED)) {
+ button.setVisible((Boolean) event.getNewValue());
+ }
+ }
+ });
+ entityHeader.addAction(button);
+ }
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/chat/client/AddAsBuddieHeaderButton.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/cc/kune/chat/client/ChatGinModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -32,5 +32,6 @@
protected void configure() {
bind(ChatClient.class).to(ChatClientDefault.class).in(Singleton.class);
bind(ChatOptions.class).in(Singleton.class);
+ bind(AddAsBuddieHeaderButton.class).in(Singleton.class);
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -44,6 +44,7 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
import cc.kune.core.client.ws.CorePresenter;
+import cc.kune.core.client.ws.entheader.EntityHeaderPresenter;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.pspace.client.PSpaceGinModule;
import cc.kune.pspace.client.PSpacePresenter;
@@ -71,6 +72,8 @@
Provider<CorePresenter> getCorePresenter();
+ AsyncProvider<EntityHeaderPresenter> getEntityHeaderPresenter();
+
AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
ErrorHandler getErrorHandler();
Modified: trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2011-02-11 23:06:04 UTC (rev 1248)
@@ -10,9 +10,11 @@
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<!-- Specify the app entry point class. -->
-<!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint' />-->
+ <!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint'
+ /> -->
<!-- Specify the paths for translatable code -->
- <source path='client' />
+ <source path='client'
+ excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
<public path="public" />
<inherits name='org.cobogw.gwt.user.User' />
<inherits name='com.google.gwt.inject.Inject' />
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -88,6 +88,9 @@
import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
import cc.kune.core.client.ws.CorePresenter;
import cc.kune.core.client.ws.CoreViewImpl;
+import cc.kune.core.client.ws.entheader.EntityHeader;
+import cc.kune.core.client.ws.entheader.EntityHeaderPanel;
+import cc.kune.core.client.ws.entheader.EntityHeaderPresenter;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.WsArmor;
import cc.kune.gspace.client.WsArmorImpl;
@@ -139,6 +142,8 @@
GroupMembersPanel.class, GroupMembersPresenter.GroupMembersProxy.class);
bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
+ bindPresenter(EntityHeaderPresenter.class, EntityHeaderPresenter.EntityHeaderView.class,
+ EntityHeaderPanel.class, EntityHeaderPresenter.EntityHeaderProxy.class);
bind(UserPassAutocompleteManager.class).to(UserPassAutocompleteManagerImpl.class).in(Singleton.class);
bindPresenter(SignInPresenter.class, SignInView.class, SignInPanel.class, SignInPresenter.SignInProxy.class);
@@ -147,6 +152,7 @@
bind(SignIn.class).to(SignInPresenter.class).in(Singleton.class);
bind(Register.class).to(RegisterPresenter.class).in(Singleton.class);
bind(NewGroup.class).to(NewGroupPresenter.class).in(Singleton.class);
+ bind(EntityHeader.class).to(EntityHeaderPresenter.class).in(Singleton.class);
bind(UserMessagesPresenter.class).in(Singleton.class);
bind(UserMessagesPanel.class).in(Singleton.class);
Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,5 +1,6 @@
package cc.kune.core.client;
+import cc.kune.chat.client.AddAsBuddieHeaderButton;
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
@@ -14,13 +15,15 @@
@Inject
public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter,
- final Provider<SiteUserOptionsPresenter> userOptions, final Provider<EntityLicensePresenter> licenseFooter) {
+ final Provider<SiteUserOptionsPresenter> userOptions, final Provider<EntityLicensePresenter> licenseFooter,
+ final Provider<AddAsBuddieHeaderButton> buddieButton) {
session.onInitDataReceived(new AppStartHandler() {
@Override
public void onAppStart(final AppStartEvent event) {
grouMembersPresenter.get();
userOptions.get();
licenseFooter.get();
+ buddieButton.get();
}
});
}
Copied: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeader.java (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeader.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeader.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -0,0 +1,42 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.core.client.ws.entheader;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+
+import com.google.gwt.user.client.ui.IsWidget;
+
+public interface EntityHeader {
+
+ void addAction(GuiActionDescrip descriptor);
+
+ void addWidget(IsWidget widget);
+
+ /**
+ * Refresh the logo from the group info in the client session
+ */
+ void refreshGroupLogo();
+
+ /**
+ * Reload the logo from the group reloaded from the server
+ */
+ void reloadGroupLogoImage();
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeader.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPanel.java (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPanel.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -0,0 +1,152 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.ws.entheader;
+
+import java.util.Date;
+
+import cc.kune.common.client.actions.ui.ActionFlowPanel;
+import cc.kune.common.client.actions.ui.bind.GuiProvider;
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.services.FileConstants;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.ws.entheader.EntityHeaderPresenter.EntityHeaderView;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.GroupDTO;
+import cc.kune.gspace.client.WsArmor;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class EntityHeaderPanel extends ViewImpl implements EntityHeaderView {
+
+ private final Provider<FileDownloadUtils> downloadProvider;
+ private final EntityTextLogo entityTextLogo;
+ private final CoreResources images;
+ private final HorizontalPanel mainPanel;
+ private final ActionFlowPanel toolbar;
+ private final VerticalPanel vpanel;
+
+ @Inject
+ public EntityHeaderPanel(final Provider<FileDownloadUtils> downloadProvider, final CoreResources images,
+ final GuiProvider bindings, final WsArmor armor) {
+ mainPanel = new HorizontalPanel();
+ mainPanel.setWidth("100%");
+ this.downloadProvider = downloadProvider;
+ this.images = images;
+ vpanel = new VerticalPanel();
+ vpanel.setWidth("100%");
+ vpanel.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT);
+ entityTextLogo = new EntityTextLogo();
+ mainPanel.add(entityTextLogo);
+ toolbar = new ActionFlowPanel(bindings);
+ vpanel.add(toolbar);
+ mainPanel.add(vpanel);
+ armor.getEntityHeader().add(mainPanel);
+ }
+
+ @Override
+ public void addAction(final GuiActionDescrip descriptor) {
+ toolbar.add(descriptor);
+ }
+
+ @Override
+ public void addWidget(final IsWidget view) {
+ final Widget widget = (Widget) view;
+ vpanel.add(widget);
+ }
+
+ @Override
+ public Widget asWidget() {
+ return mainPanel;
+ }
+
+ @Override
+ public void reloadImage(final GroupDTO group) {
+ entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
+ + new Date().getTime());
+ }
+
+ @Deprecated
+ public void setFullLogo(final StateToken stateToken, final boolean clipped) {
+ mainPanel.clear();
+ final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
+ Image logo;
+ if (clipped) {
+ logo = new Image(imageUrl, 0, 0, FileConstants.LOGO_DEF_WIDTH, FileConstants.LOGO_DEF_HEIGHT);
+ } else {
+ logo = new Image(imageUrl);
+ logo.setWidth(String.valueOf(FileConstants.LOGO_DEF_WIDTH));
+ logo.setHeight(String.valueOf(FileConstants.LOGO_DEF_HEIGHT));
+ }
+ mainPanel.add(logo);
+ }
+
+ @Override
+ public void setLargeFont() {
+ entityTextLogo.setLargeFont();
+ }
+
+ @Override
+ public void setLogoImage(final StateToken stateToken) {
+ entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(stateToken));
+ }
+
+ @Override
+ public void setLogoImageVisible(final boolean visible) {
+ entityTextLogo.setLogoVisible(visible);
+ }
+
+ @Override
+ public void setLogoText(final String groupName) {
+ entityTextLogo.setLogoText(groupName);
+ }
+
+ @Override
+ public void setMediumFont() {
+ entityTextLogo.setMediumFont();
+ }
+
+ //
+ // @Override
+ // public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ // if (oldTheme != null) {
+ // entityTextLogo.removeStyleDependentName(oldTheme.toString());
+ // }
+ // entityTextLogo.addStyleDependentName(newTheme.toString());
+ // }
+
+ @Override
+ public void setSmallFont() {
+ entityTextLogo.setSmallFont();
+ }
+
+ @Override
+ public void showDefUserLogo() {
+ entityTextLogo.setLogoImage(AbstractImagePrototype.create(images.personAvatarDef()));
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPanel.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPresenter.java (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -0,0 +1,146 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.core.client.ws.entheader;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.core.client.state.GroupChangedEvent;
+import cc.kune.core.client.state.GroupChangedEvent.GroupChangedHandler;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.GroupDTO;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.ui.IsWidget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+
+public class EntityHeaderPresenter extends
+ Presenter<EntityHeaderPresenter.EntityHeaderView, EntityHeaderPresenter.EntityHeaderProxy> implements
+ EntityHeader {
+
+ @ProxyCodeSplit
+ public interface EntityHeaderProxy extends Proxy<EntityHeaderPresenter> {
+ }
+ public interface EntityHeaderView extends View {
+ void addAction(GuiActionDescrip descriptor);
+
+ void addWidget(IsWidget widget);
+
+ void reloadImage(GroupDTO group);
+
+ void setLargeFont();
+
+ void setLogoImage(StateToken stateToken);
+
+ void setLogoImageVisible(boolean visible);
+
+ void setLogoText(final String groupName);
+
+ void setMediumFont();
+
+ void setSmallFont();
+
+ // void setTheme(final WsTheme oldTheme, WsTheme newTheme);
+
+ void showDefUserLogo();
+ }
+
+ private static final int LARGE_NAME_LIMIT = 20;
+
+ private static final int MEDIUM_NAME_LIMIT = 90;
+ private final Session session;
+
+ @Inject
+ public EntityHeaderPresenter(final EventBus eventBus, final EntityHeaderView view, final EntityHeaderProxy proxy,
+ final StateManager stateManager, final Session session) {
+ super(eventBus, view, proxy);
+ this.session = session;
+ stateManager.onGroupChanged(new GroupChangedHandler() {
+ @Override
+ public void onGroupChanged(final GroupChangedEvent event) {
+ setGroupLogo(session.getCurrentState().getGroup());
+ }
+ });
+ // theme.addOnThemeChanged(new Listener2<WsTheme, WsTheme>() {
+ // @Override
+ // public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
+ // // getView().setTheme(oldTheme, newTheme);
+ // }
+ // });
+ }
+
+ @Override
+ public void addAction(final GuiActionDescrip descriptor) {
+ getView().addAction(descriptor);
+ }
+
+ @Override
+ public void addWidget(final IsWidget widget) {
+ getView().addWidget(widget);
+ }
+
+ @Override
+ public void refreshGroupLogo() {
+ setGroupLogo(session.getCurrentState().getGroup());
+ }
+
+ @Override
+ public void reloadGroupLogoImage() {
+ getView().reloadImage(session.getCurrentState().getGroup());
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
+
+ void setGroupLogo(final GroupDTO group) {
+ if (group.hasLogo()) {
+ setLogoText(group.getLongName());
+ getView().setLogoImage(group.getStateToken());
+ getView().setLogoImageVisible(true);
+ } else {
+ setLogoText(group.getLongName());
+ if (group.isPersonal()) {
+ getView().showDefUserLogo();
+ getView().setLogoImageVisible(true);
+ } else {
+ getView().setLogoImageVisible(false);
+ }
+ }
+ }
+
+ void setLogoText(final String name) {
+ final int length = name.length();
+ if (length <= LARGE_NAME_LIMIT) {
+ getView().setLargeFont();
+ } else if (length <= MEDIUM_NAME_LIMIT) {
+ getView().setMediumFont();
+ } else {
+ getView().setSmallFont();
+ }
+ getView().setLogoText(name);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityHeaderPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityTextLogo.java (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityTextLogo.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ws/entheader/EntityTextLogo.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -0,0 +1,117 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.ws.entheader;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class EntityTextLogo extends VerticalPanel {
+
+ public static final String LOGO_NAME = "k-elogop-ln";
+ public static final String LOGO_IMAGE = "k-elogop-image";
+
+ private static final String _100 = "100%";
+ private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
+ private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
+ private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
+ private final Label logoLabel;
+ private final Image logoImage;
+
+ public EntityTextLogo() {
+ // Initialize
+ super();
+ final HorizontalPanel generalHP = new HorizontalPanel();
+ final VerticalPanel logoTextVP = new VerticalPanel();
+ logoImage = new Image();
+ logoLabel = new Label();
+ final Label expandCell = new Label("");
+
+ logoImage.ensureDebugId(LOGO_IMAGE);
+ logoLabel.ensureDebugId(LOGO_NAME);
+
+ // Layout
+ add(generalHP);
+ generalHP.add(logoImage);
+ generalHP.add(logoTextVP);
+ logoTextVP.add(logoLabel);
+
+ // Set properties
+
+ expandCell.setStyleName("k-elogop-expand");
+ generalHP.setWidth(_100);
+ generalHP.setHeight(_100);
+ generalHP.setCellWidth(logoTextVP, _100);
+ generalHP.setCellHeight(logoTextVP, _100);
+ logoTextVP.setWidth(_100);
+ logoTextVP.setCellWidth(logoLabel, _100);
+ super.setVerticalAlignment(ALIGN_MIDDLE);
+ logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
+ generalHP.setVerticalAlignment(ALIGN_MIDDLE);
+ setStylePrimaryName("k-entitytextlogo");
+ addStyleName("k-entitytextlogo-no-border");
+ logoImage.setVisible(false);
+ setLogoTextImpl("");
+ }
+
+ public void setLargeFont() {
+ resetFontSize();
+ logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
+ }
+
+ public void setLogoImage(final AbstractImagePrototype imageProto) {
+ imageProto.applyTo(logoImage);
+ }
+
+ public void setLogoImage(final String url) {
+ Image.prefetch(url);
+ logoImage.setUrl(url);
+ }
+
+ public void setLogoText(final String text) {
+ setLogoTextImpl(text);
+ }
+
+ public void setLogoVisible(final boolean visible) {
+ logoImage.setVisible(visible);
+ }
+
+ public void setMediumFont() {
+ resetFontSize();
+ logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
+ }
+
+ public void setSmallFont() {
+ resetFontSize();
+ logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
+ }
+
+ private void resetFontSize() {
+ logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
+ logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
+ logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
+ }
+
+ private void setLogoTextImpl(final String text) {
+ logoLabel.setText(text);
+ }
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 23:06:04 UTC (rev 1248)
@@ -923,6 +923,7 @@
font-size: 16px;
color: #784421;
}
+
.k-footer-license-label-title {
margin-right: 5px;
color: #280b0b;
@@ -932,4 +933,79 @@
float: right;
margin: 10px 15px 0px 5px;
cursor: pointer;
-}
\ No newline at end of file
+}
+
+
+.k-entitytextlogo-border {
+ border: 2px solid #F2F2F2;
+}
+
+.k-entitytextlogo-no-border {
+ border: none;
+}
+
+.k-entitytextlogo {
+ height: 60px;
+ margin: 5px;
+ overflow: hidden;
+ width: 468px;
+}
+
+.k-entitytextlogo table {
+ vertical-align: middle;
+}
+
+.k-elogo-l-l {
+ font-size: 46px;
+}
+
+.k-elogo-l-m {
+ font-size: 167%;
+}
+
+.k-elogo-l-s {
+ font-size: 108%;
+}
+
+.k-entitytextlogo .gwt-Label {
+ font-weight: 700;
+ margin: 5px;
+ height: 27px;
+}
+
+.k-entitytextlogo-default .gwt-Label {
+ color: #69312F;
+}
+
+.k-entitytextlogo-green .gwt-Label {
+ color: #250;
+}
+
+.k-entitytextlogo-blue .gwt-Label {
+ color: #000080;
+}
+
+.k-entitytextlogo-grey .gwt-Label {
+ color: #1A1A1A;
+}
+
+.k-entitytextlogo-purple .gwt-Label {
+ color: #440055;
+}
+
+.k-entitytextlogo-red .gwt-Label {
+ color: #800000;
+}
+
+.k-elogo-plink {
+ color: #CCC;
+ font-size: 85%;
+ margin: 5px;
+ text-decoration: underline;
+ white-space: nowrap;
+ background-color: #FFF;
+}
+
+.k-elogop-expand {
+ background-color: transparent;
+}
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2011-02-11 23:06:04 UTC (rev 1248)
@@ -69,80 +69,6 @@
border-bottom-width: 5px;
}
-.k-entitytextlogo-border {
- border: 2px solid #F2F2F2;
-}
-
-.k-entitytextlogo-no-border {
- border: none;
-}
-
-.k-entitytextlogo {
- height: 60px;
- margin: 0 0 4px 0;
- overflow: hidden;
- width: 468px;
-}
-
-.k-entitytextlogo table {
- vertical-align: middle;
-}
-
-.k-elogo-l-l {
- font-size: 272%;
-}
-
-.k-elogo-l-m {
- font-size: 167%;
-}
-
-.k-elogo-l-s {
- font-size: 108%;
-}
-
-.k-entitytextlogo .gwt-Label {
- font-weight: 700;
- margin: 5px;
- height: 27px;
-}
-
-.k-entitytextlogo-default .gwt-Label {
- color: #69312F;
-}
-
-.k-entitytextlogo-green .gwt-Label {
- color: #250;
-}
-
-.k-entitytextlogo-blue .gwt-Label {
- color: #000080;
-}
-
-.k-entitytextlogo-grey .gwt-Label {
- color: #1A1A1A;
-}
-
-.k-entitytextlogo-purple .gwt-Label {
- color: #440055;
-}
-
-.k-entitytextlogo-red .gwt-Label {
- color: #800000;
-}
-
-.k-elogo-plink {
- color: #CCC;
- font-size: 85%;
- margin: 5px;
- text-decoration: underline;
- white-space: nowrap;
- background-color: #FFF;
-}
-
-.k-elogop-expand {
- background-color: transparent;
-}
-
.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed
{
background: #DD8A3D none repeat scroll 0% 50%;
Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -31,7 +31,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
import org.ourproject.kune.workspace.client.upload.FileUploader;
@@ -44,6 +43,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import com.calclab.suco.client.ioc.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -39,7 +39,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
@@ -55,6 +54,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.ioc.decorator.Singleton;
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -31,7 +31,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
import org.ourproject.kune.workspace.client.upload.FileUploader;
@@ -44,6 +43,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import com.calclab.suco.client.ioc.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -39,7 +39,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
@@ -55,6 +54,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.ioc.decorator.Singleton;
Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -30,7 +30,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
import org.ourproject.kune.workspace.client.upload.FileUploader;
@@ -43,6 +42,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import com.calclab.suco.client.ioc.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -39,7 +39,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
@@ -55,6 +54,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.ioc.decorator.Singleton;
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -31,7 +31,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
import org.ourproject.kune.workspace.client.upload.FileUploader;
@@ -44,6 +43,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import com.calclab.suco.client.ioc.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -39,7 +39,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
@@ -55,6 +54,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.suco.client.ioc.decorator.Singleton;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -38,7 +38,6 @@
import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.themes.WsBackManager;
import org.ourproject.kune.workspace.client.upload.FileUploader;
@@ -53,6 +52,7 @@
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.AccessRolDTO;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -71,9 +71,6 @@
import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocal;
import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocalPanel;
import org.ourproject.kune.workspace.client.editor.insertlocalmedia.InsertMediaLocalPresenter;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPanel;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPresenter;
import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
@@ -97,7 +94,6 @@
import org.ourproject.kune.workspace.client.nohomepage.NoHomePage;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter;
-import org.ourproject.kune.workspace.client.oldsn.other.AddAsBuddieHeaderButton;
import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionBuddiesSummaryToolbar;
import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionBuddiesSummaryToolbarPresenter;
import org.ourproject.kune.workspace.client.oldsn.toolbar.ActionGroupSummaryToolbar;
@@ -212,6 +208,7 @@
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteCommonTokens;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateTokenUtils;
import cc.kune.core.shared.dto.UserSimpleDTO;
@@ -384,17 +381,21 @@
}
});
- register(ApplicationComponentGroup.class, new Factory<EntityHeader>(EntityHeader.class) {
- @Override
- public EntityHeader create() {
- final EntityHeaderPresenter presenter = new EntityHeaderPresenter(i(StateManager.class),
- i(WsThemeManager.class), i(Session.class));
- final EntityHeaderPanel panel = new EntityHeaderPanel(i(WorkspaceSkeleton.class),
- p(FileDownloadUtils.class), i(Images.class), i(GuiBindingsRegister.class));
- presenter.init(panel);
- return presenter;
- }
- });
+ // register(ApplicationComponentGroup.class, new
+ // Factory<EntityHeader>(EntityHeader.class) {
+ // @Override
+ // public EntityHeader create() {
+ // final EntityHeaderPresenter presenter = new
+ // EntityHeaderPresenter(i(StateManager.class),
+ // i(WsThemeManager.class), i(Session.class));
+ // final EntityHeaderPanel panel = new
+ // EntityHeaderPanel(i(WorkspaceSkeleton.class),
+ // p(FileDownloadUtils.class), i(Images.class),
+ // i(GuiBindingsRegister.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
register(Singleton.class, new Factory<WsBackManager>(WsBackManager.class) {
@Override
@@ -540,13 +541,16 @@
// }
// });
- register(ApplicationComponentGroup.class, new Factory<AddAsBuddieHeaderButton>(AddAsBuddieHeaderButton.class) {
- @Override
- public AddAsBuddieHeaderButton create() {
- return new AddAsBuddieHeaderButton(p(ChatEngine.class), i(Session.class), i(StateManager.class),
- i(I18nTranslationService.class), i(IconResources.class), i(EntityHeader.class));
- }
- });
+ // register(ApplicationComponentGroup.class, new
+ // Factory<AddAsBuddieHeaderButton>(AddAsBuddieHeaderButton.class) {
+ // @Override
+ // public AddAsBuddieHeaderButton create() {
+ // return new AddAsBuddieHeaderButton(p(ChatEngine.class),
+ // i(Session.class), i(StateManager.class),
+ // i(I18nTranslationService.class), i(IconResources.class),
+ // i(EntityHeader.class));
+ // }
+ // });
// register(ApplicationComponentGroup.class, new
// Factory<BuddiesSummary>(BuddiesSummary.class) {
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeader.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,41 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-
-public interface EntityHeader {
-
- void addAction(OldGuiActionDescrip descriptor);
-
- void addWidget(View widget);
-
- /**
- * Refresh the logo from the group info in the client session
- */
- void refreshGroupLogo();
-
- /**
- * Reload the logo from the group reloaded from the server
- */
- void reloadGroupLogoImage();
-
-}
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderButton.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,44 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.ui.IconLabel;
-
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-
-public class EntityHeaderButton extends IconLabel implements View {
- public EntityHeaderButton(final AbstractImagePrototype icon, final String text) {
- super(icon, text, false);
- setDefStyle();
- }
-
- public EntityHeaderButton(final String text, final AbstractImagePrototype icon) {
- super(text, icon, false);
- setDefStyle();
- }
-
- private void setDefStyle() {
- addStyleName("kune-Margin-Medium-t");
- addStyleName("kune-pointer");
- addStyleName("kune-floatright");
- }
-
-}
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,132 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader;
-
-import java.util.Date;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.ComplexToolbar;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-
-import cc.kune.core.client.services.FileConstants;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class EntityHeaderPanel extends HorizontalPanel implements EntityHeaderView {
-
- private final Provider<FileDownloadUtils> downloadProvider;
- private final EntityTextLogo entityTextLogo;
- private final Images images;
- private final VerticalPanel vpanel;
- private final ComplexToolbar toolbar;
-
- public EntityHeaderPanel(final WorkspaceSkeleton wskel, final Provider<FileDownloadUtils> downloadProvider,
- final Images images, final GuiBindingsRegister bindings) {
- super();
- super.setWidth("100%");
- this.downloadProvider = downloadProvider;
- this.images = images;
- vpanel = new VerticalPanel();
- vpanel.setWidth("100%");
- vpanel.setHorizontalAlignment(ALIGN_RIGHT);
- entityTextLogo = new EntityTextLogo();
- add(entityTextLogo);
- toolbar = new ComplexToolbar(bindings);
- toolbar.setTranspStyle();
- vpanel.add(toolbar);
- add(vpanel);
- wskel.addToEntityMainHeader(this);
- }
-
- public void addAction(final OldGuiActionDescrip descriptor) {
- toolbar.add(descriptor);
- }
-
- public void addWidget(final View view) {
- final Widget widget = (Widget) view;
- vpanel.add(widget);
- }
-
- public void reloadImage(final GroupDTO group) {
- entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
- + new Date().getTime());
- }
-
- @Deprecated
- public void setFullLogo(final StateToken stateToken, final boolean clipped) {
- clear();
- final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
- Image logo;
- if (clipped) {
- logo = new Image(imageUrl, 0, 0, FileConstants.LOGO_DEF_WIDTH, FileConstants.LOGO_DEF_HEIGHT);
- } else {
- logo = new Image(imageUrl);
- logo.setWidth(String.valueOf(FileConstants.LOGO_DEF_WIDTH));
- logo.setHeight(String.valueOf(FileConstants.LOGO_DEF_HEIGHT));
- }
- add(logo);
- }
-
- public void setLargeFont() {
- entityTextLogo.setLargeFont();
- }
-
- public void setLogoImage(final StateToken stateToken) {
- entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(stateToken));
- }
-
- public void setLogoImageVisible(final boolean visible) {
- entityTextLogo.setLogoVisible(visible);
- }
-
- public void setLogoText(final String groupName) {
- entityTextLogo.setLogoText(groupName);
- }
-
- public void setMediumFont() {
- entityTextLogo.setMediumFont();
- }
-
- public void setSmallFont() {
- entityTextLogo.setSmallFont();
- }
-
- public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
- if (oldTheme != null) {
- entityTextLogo.removeStyleDependentName(oldTheme.toString());
- }
- entityTextLogo.addStyleDependentName(newTheme.toString());
- }
-
- public void showDefUserLogo() {
- entityTextLogo.setLogoImage(images.personAvatarDef());
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,102 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.calclab.suco.client.events.Listener2;
-
-public class EntityHeaderPresenter implements EntityHeader {
- private static final int MEDIUM_NAME_LIMIT = 90;
- private static final int LARGE_NAME_LIMIT = 20;
-
- private EntityHeaderView view;
- private final Session session;
-
- public EntityHeaderPresenter(final StateManager stateManager, final WsThemeManager theme, final Session session) {
- this.session = session;
-
- stateManager.onGroupChanged(new Listener2<String, String>() {
- public void onEvent(final String oldGroup, final String newGroup) {
- setGroupLogo(session.getCurrentState().getGroup());
- }
- });
- theme.addOnThemeChanged(new Listener2<WsTheme, WsTheme>() {
- public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
- view.setTheme(oldTheme, newTheme);
- }
- });
- }
-
- public void addAction(final OldGuiActionDescrip descriptor) {
- view.addAction(descriptor);
- }
-
- public void addWidget(final View widget) {
- view.addWidget(widget);
- }
-
- public void init(final EntityHeaderView view) {
- this.view = view;
- }
-
- public void refreshGroupLogo() {
- setGroupLogo(session.getCurrentState().getGroup());
- }
-
- public void reloadGroupLogoImage() {
- view.reloadImage(session.getCurrentState().getGroup());
- }
-
- void setGroupLogo(final GroupDTO group) {
- if (group.hasLogo()) {
- setLogoText(group.getLongName());
- view.setLogoImage(group.getStateToken());
- view.setLogoImageVisible(true);
- } else {
- setLogoText(group.getLongName());
- if (group.isPersonal()) {
- view.showDefUserLogo();
- view.setLogoImageVisible(true);
- } else {
- view.setLogoImageVisible(false);
- }
- }
- }
-
- void setLogoText(final String name) {
- final int length = name.length();
- if (length <= LARGE_NAME_LIMIT) {
- view.setLargeFont();
- } else if (length <= MEDIUM_NAME_LIMIT) {
- view.setMediumFont();
- } else {
- view.setSmallFont();
- }
- view.setLogoText(name);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,52 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.entityheader;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.GroupDTO;
-
-public interface EntityHeaderView {
-
- void addAction(OldGuiActionDescrip descriptor);
-
- void addWidget(View view);
-
- void reloadImage(GroupDTO group);
-
- void setLargeFont();
-
- void setLogoImage(StateToken stateToken);
-
- void setLogoImageVisible(boolean visible);
-
- void setLogoText(final String groupName);
-
- void setMediumFont();
-
- void setSmallFont();
-
- void setTheme(final WsTheme oldTheme, WsTheme newTheme);
-
- void showDefUserLogo();
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityTextLogo.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,117 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader;
-
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.VerticalPanel;
-
-public class EntityTextLogo extends VerticalPanel {
-
- public static final String LOGO_NAME = "k-elogop-ln";
- public static final String LOGO_IMAGE = "k-elogop-image";
-
- private static final String _100 = "100%";
- private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
- private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
- private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
- private final Label logoLabel;
- private final Image logoImage;
-
- public EntityTextLogo() {
- // Initialize
- super();
- final HorizontalPanel generalHP = new HorizontalPanel();
- final VerticalPanel logoTextVP = new VerticalPanel();
- logoImage = new Image();
- logoLabel = new Label();
- final Label expandCell = new Label("");
-
- logoImage.ensureDebugId(LOGO_IMAGE);
- logoLabel.ensureDebugId(LOGO_NAME);
-
- // Layout
- add(generalHP);
- generalHP.add(logoImage);
- generalHP.add(logoTextVP);
- logoTextVP.add(logoLabel);
-
- // Set properties
-
- expandCell.setStyleName("k-elogop-expand");
- generalHP.setWidth(_100);
- generalHP.setHeight(_100);
- generalHP.setCellWidth(logoTextVP, _100);
- generalHP.setCellHeight(logoTextVP, _100);
- logoTextVP.setWidth(_100);
- logoTextVP.setCellWidth(logoLabel, _100);
- super.setVerticalAlignment(ALIGN_MIDDLE);
- logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
- generalHP.setVerticalAlignment(ALIGN_MIDDLE);
- setStylePrimaryName("k-entitytextlogo");
- addStyleName("k-entitytextlogo-no-border");
- logoImage.setVisible(false);
- setLogoTextImpl("");
- }
-
- public void setLargeFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
- }
-
- public void setLogoImage(final AbstractImagePrototype imageProto) {
- imageProto.applyTo(logoImage);
- }
-
- public void setLogoImage(final String url) {
- Image.prefetch(url);
- logoImage.setUrl(url);
- }
-
- public void setLogoText(final String text) {
- setLogoTextImpl(text);
- }
-
- public void setLogoVisible(final boolean visible) {
- logoImage.setVisible(visible);
- }
-
- public void setMediumFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
- }
-
- public void setSmallFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
- }
-
- private void resetFontSize() {
- logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
- logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
- logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
- }
-
- private void setLogoTextImpl(final String text) {
- logoLabel.setText(text);
- }
-}
\ No newline at end of file
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin)
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspace.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspace.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.workspace.client.entityheader.maxmin;
+package org.ourproject.kune.workspace.client.entityheadermaxmin;
public interface MaxMinWorkspace {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePanel.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePanel.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.workspace.client.entityheader.maxmin;
+package org.ourproject.kune.workspace.client.entityheadermaxmin;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,137 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entityheader.maxmin;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
-import org.ourproject.kune.platf.client.actions.Action;
-import org.ourproject.kune.platf.client.actions.ActionEvent;
-import org.ourproject.kune.platf.client.actions.KeyStroke;
-import org.ourproject.kune.platf.client.actions.Shortcut;
-import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
-import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions;
-
-import cc.kune.core.client.resources.icons.IconResources;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.gwt.resources.client.ImageResource;
-
-public class MaxMinWorkspacePresenter implements MaxMinWorkspace {
- public class MaximizeAction extends AbstractExtendedAction {
- public MaximizeAction(final String name, final ImageResource img) {
- super();
- putValue(Action.NAME, name);
- putValue(Action.SMALL_ICON, img);
- }
-
- public void actionPerformed(final ActionEvent event) {
- showMaximized(true);
- }
- }
- public class MinimizeAction extends AbstractExtendedAction {
- public MinimizeAction(final String name, final ImageResource img) {
- super();
- putValue(Action.NAME, name);
- putValue(Action.SMALL_ICON, img);
- }
-
- public void actionPerformed(final ActionEvent event) {
- showMaximized(false);
- }
- }
-
- public static final String MIN_ICON = "mmwp-min_bt";
- public static final String MAX_ICON = "mmwp-max_bt";
- private MaxMinWorkspaceView view;
-
- private boolean maximized;
-
- private final IconResources images;
-
- private final I18nTranslationService i18n;
-
- private final GlobalShortcutRegister shortcutReg;
-
- private OldMenuItemDescriptor maximizeButton;
-
- private OldMenuItemDescriptor minimizeButton;
- private final SiteOptions siteOptions;
-
- public MaxMinWorkspacePresenter(final GlobalShortcutRegister shortcutReg, final IconResources images,
- final I18nTranslationService i18n, final SiteOptions siteOptions) {
- this.shortcutReg = shortcutReg;
- this.images = images;
- this.i18n = i18n;
- this.siteOptions = siteOptions;
- maximized = false;
-
- }
-
- public View getView() {
- return view;
- }
-
- public void init(final MaxMinWorkspaceView view) {
- this.view = view;
- createActions();
- }
-
- public void maximize() {
- showMaximized(true);
- }
-
- public void minimize() {
- showMaximized(false);
- }
-
- private void createActions() {
- final KeyStroke shortcut = Shortcut.getShortcut(true, true, false, false, Character.valueOf('F'));
-
- final MaximizeAction maximizeAction = new MaximizeAction(i18n.t("Maximize the workspace"), images.maximize());
- maximizeAction.setShortcut(shortcut);
- maximizeButton = new OldMenuItemDescriptor(maximizeAction);
- maximizeButton.setPosition(0);
- maximizeButton.setId(MAX_ICON);
-
- final MinimizeAction minimizeAction = new MinimizeAction(i18n.t("Minimize the workspace"), images.minimize());
- minimizeAction.setShortcut(shortcut);
- minimizeButton = new OldMenuItemDescriptor(minimizeAction);
- minimizeButton.setPosition(1);
- minimizeButton.setVisible(false);
- minimizeButton.setId(MIN_ICON);
-
- shortcutReg.put(shortcut, new AbstractExtendedAction() {
- public void actionPerformed(final ActionEvent event) {
- showMaximized(!maximized);
- }
- });
-
- siteOptions.addAction(maximizeButton);
- siteOptions.addAction(minimizeButton);
- }
-
- private void showMaximized(final boolean maximized) {
- maximizeButton.setVisible(!maximized);
- minimizeButton.setVisible(maximized);
- this.maximized = maximized;
- view.setMaximized(maximized);
- }
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java (from rev 1245, trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java (rev 0)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspacePresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -0,0 +1,141 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.entityheadermaxmin;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
+import org.ourproject.kune.platf.client.actions.Action;
+import org.ourproject.kune.platf.client.actions.ActionEvent;
+import org.ourproject.kune.platf.client.actions.KeyStroke;
+import org.ourproject.kune.platf.client.actions.Shortcut;
+import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
+import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
+
+import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.resources.client.ImageResource;
+
+public class MaxMinWorkspacePresenter implements MaxMinWorkspace {
+ public class MaximizeAction extends AbstractExtendedAction {
+ public MaximizeAction(final String name, final ImageResource img) {
+ super();
+ putValue(Action.NAME, name);
+ putValue(Action.SMALL_ICON, img);
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ showMaximized(true);
+ }
+ }
+ public class MinimizeAction extends AbstractExtendedAction {
+ public MinimizeAction(final String name, final ImageResource img) {
+ super();
+ putValue(Action.NAME, name);
+ putValue(Action.SMALL_ICON, img);
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ showMaximized(false);
+ }
+ }
+
+ public static final String MAX_ICON = "mmwp-max_bt";
+ public static final String MIN_ICON = "mmwp-min_bt";
+ private final I18nTranslationService i18n;
+
+ private final IconResources images;
+
+ private OldMenuItemDescriptor maximizeButton;
+
+ private boolean maximized;
+
+ private OldMenuItemDescriptor minimizeButton;
+ // private final SiteOptions siteOptions;
+
+ private final GlobalShortcutRegister shortcutReg;
+
+ private MaxMinWorkspaceView view;
+
+ public MaxMinWorkspacePresenter(final GlobalShortcutRegister shortcutReg, final IconResources images,
+ final I18nTranslationService i18n) {
+ this.shortcutReg = shortcutReg;
+ this.images = images;
+ this.i18n = i18n;
+ // this.siteOptions = siteOptions;
+ maximized = false;
+
+ }
+
+ private void createActions() {
+ final KeyStroke shortcut = Shortcut.getShortcut(true, true, false, false, Character.valueOf('F'));
+
+ final MaximizeAction maximizeAction = new MaximizeAction(i18n.t("Maximize the workspace"), images.maximize());
+ maximizeAction.setShortcut(shortcut);
+ maximizeButton = new OldMenuItemDescriptor(maximizeAction);
+ maximizeButton.setPosition(0);
+ maximizeButton.setId(MAX_ICON);
+
+ final MinimizeAction minimizeAction = new MinimizeAction(i18n.t("Minimize the workspace"), images.minimize());
+ minimizeAction.setShortcut(shortcut);
+ minimizeButton = new OldMenuItemDescriptor(minimizeAction);
+ minimizeButton.setPosition(1);
+ minimizeButton.setVisible(false);
+ minimizeButton.setId(MIN_ICON);
+
+ shortcutReg.put(shortcut, new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ showMaximized(!maximized);
+ }
+ });
+
+ // siteOptions.addAction(maximizeButton);
+ // siteOptions.addAction(minimizeButton);
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(final MaxMinWorkspaceView view) {
+ this.view = view;
+ createActions();
+ }
+
+ @Override
+ public void maximize() {
+ showMaximized(true);
+ }
+
+ @Override
+ public void minimize() {
+ showMaximized(false);
+ }
+
+ private void showMaximized(final boolean maximized) {
+ maximizeButton.setVisible(!maximized);
+ minimizeButton.setVisible(maximized);
+ this.maximized = maximized;
+ view.setMaximized(maximized);
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspaceView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspaceView.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheadermaxmin/MaxMinWorkspaceView.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.workspace.client.entityheader.maxmin;
+package org.ourproject.kune.workspace.client.entityheadermaxmin;
import org.ourproject.kune.platf.client.View;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -20,9 +20,9 @@
package org.ourproject.kune.workspace.client.nohomepage;
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.dto.StateNoContentDTO;
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -1,103 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.oldsn.other;
-
-import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
-import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
-import org.ourproject.kune.platf.client.actions.Action;
-import org.ourproject.kune.platf.client.actions.ActionEvent;
-import org.ourproject.kune.platf.client.actions.PropertyChangeEvent;
-import org.ourproject.kune.platf.client.actions.PropertyChangeListener;
-import org.ourproject.kune.platf.client.actions.ui.ButtonDescriptor;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-
-import cc.kune.core.client.resources.icons.IconConstants;
-import cc.kune.core.client.resources.icons.IconResources;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.StateAbstractDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.calclab.suco.client.ioc.Provider;
-
-public class AddAsBuddieHeaderButton {
-
- public static class AddAsBuddieAction extends AbstractExtendedAction {
- private final Provider<ChatEngine> chatEngine;
- private final Session session;
-
- public AddAsBuddieAction(final Provider<ChatEngine> chatEngine, final Session session,
- final StateManager stateManager, final I18nTranslationService i18n, final IconResources img) {
- super();
- this.chatEngine = chatEngine;
- this.session = session;
- stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
- public void onEvent(final StateAbstractDTO state) {
- setState(state);
- }
- });
- chatEngine.get().addOnRosterChanged(new Listener0() {
- public void onEvent() {
- setState(session.getCurrentState());
- }
- });
- putValue(Action.NAME, i18n.t("Add as a buddie"));
- putValue(Action.SMALL_ICON, IconConstants.toPath(img.addGreen()));
- }
-
- public void actionPerformed(final ActionEvent event) {
- chatEngine.get().addNewBuddie(session.getCurrentState().getGroup().getShortName());
- NotifyUser.info("Added as buddie. Waiting buddie response");
- setEnabled(false);
- }
-
- private void setState(final StateAbstractDTO state) {
- final String groupName = state.getGroup().getShortName();
- final boolean isPersonal = state.getGroup().isPersonal();
- final boolean isLogged = session.isLogged();
- if (isLogged && isPersonal && (!chatEngine.get().isBuddie(groupName))
- && (!session.getCurrentUser().getShortName().equals(groupName))) {
- setEnabled(true);
- } else {
- setEnabled(false);
- }
- }
- }
-
- public AddAsBuddieHeaderButton(final Provider<ChatEngine> chatEngine, final Session session,
- final StateManager stateManager, final I18nTranslationService i18n, final IconResources img,
- final EntityHeader entityHeader) {
- final AddAsBuddieAction buddieAction = new AddAsBuddieAction(chatEngine, session, stateManager, i18n, img);
- final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
- button.setVisible(false);
- buddieAction.addPropertyChangeListener(new PropertyChangeListener() {
- public void propertyChange(final PropertyChangeEvent event) {
- if (event.getPropertyName().equals(OldAbstractAction.ENABLED)) {
- button.setVisible((Boolean) event.getNewValue());
- }
- }
- });
- entityHeader.addAction(button);
- }
-}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/GroupOptionsPanel.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -22,10 +22,10 @@
import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
import org.ourproject.kune.platf.client.app.GroupOptionsCollection;
import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import cc.kune.common.client.noti.NotifyLevelImages;
import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
public class GroupOptionsPanel extends AbstractTabbedDialogPanel implements GroupOptionsView {
@@ -48,7 +48,7 @@
@Override
public void addAction(final OldGuiActionDescrip descriptor) {
- entityHeader.addAction(descriptor);
+ // entityHeader.addAction(descriptor);
}
@Override
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPanel.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -21,10 +21,10 @@
import org.ourproject.kune.platf.client.app.UserOptionsCollection;
import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import cc.kune.common.client.noti.NotifyLevelImages;
import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
public class UserOptionsPanel extends AbstractTabbedDialogPanel implements UserOptionsView {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -22,11 +22,11 @@
import org.ourproject.kune.chat.client.ChatEngine;
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.options.EntityOptions;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import com.calclab.suco.client.ioc.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -20,12 +20,12 @@
package org.ourproject.kune.workspace.client.options.logo;
import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.options.EntityOptions;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import com.calclab.suco.client.events.Listener2;
import com.calclab.suco.client.ioc.Provider;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/UserOptionsLogoPresenter.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -20,13 +20,13 @@
package org.ourproject.kune.workspace.client.options.logo;
import org.ourproject.kune.chat.client.ChatEngine;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.options.EntityOptions;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.UserInfoDTO;
Copied: trunk/src/test/java/cc/kune/core/client/ws/entheader (from rev 1244, trunk/src/test/java/org/ourproject/kune/workspace/client/entityheader)
Modified: trunk/src/test/java/cc/kune/core/client/ws/entheader/EntityLogoPresenterTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/workspace/client/entityheader/EntityLogoPresenterTest.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/test/java/cc/kune/core/client/ws/entheader/EntityLogoPresenterTest.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.workspace.client.entityheader;
+package cc.kune.core.client.ws.entheader;
import org.junit.Before;
import org.junit.Test;
@@ -26,30 +26,32 @@
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ws.entheader.EntityHeaderPresenter.EntityHeaderView;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.GroupType;
public class EntityLogoPresenterTest {
+ private EntityHeaderPresenter entityLogoPresenter;
+ private Session session;
private StateManager stateManager;
- private Session session;
- private EntityHeaderPresenter entityLogoPresenter;
private EntityHeaderView view;
@Before
public void before() {
stateManager = Mockito.mock(StateManager.class);
session = Mockito.mock(Session.class);
- WsThemeManager theme = Mockito.mock(WsThemeManager.class);
- entityLogoPresenter = new EntityHeaderPresenter(stateManager, theme, session);
+ final WsThemeManager theme = Mockito.mock(WsThemeManager.class);
+ // entityLogoPresenter = new EntityHeaderPresenter(stateManager, theme,
+ // session);
view = Mockito.mock(EntityHeaderView.class);
- entityLogoPresenter.init(view);
+ // entityLogoPresenter.init(view);
}
@Test
public void testCommProjectNoLogo() {
- GroupDTO group = new GroupDTO("shortname", "longname", GroupType.COMMUNITY);
+ final GroupDTO group = new GroupDTO("shortname", "longname", GroupType.COMMUNITY);
group.setHasLogo(false);
entityLogoPresenter.setGroupLogo(group);
Mockito.verify(view, Mockito.never()).setLogoImageVisible(true);
@@ -63,6 +65,16 @@
testGroupWIthLogo(GroupType.COMMUNITY);
}
+ private void testGroupWIthLogo(final GroupType groupType) {
+ final GroupDTO group = new GroupDTO("shortname", "longname", groupType);
+ group.setHasLogo(true);
+ entityLogoPresenter.setGroupLogo(group);
+ Mockito.verify(view, Mockito.times(1)).setLogoImageVisible(true);
+ Mockito.verify(view, Mockito.never()).setLogoImageVisible(false);
+ Mockito.verify(view, Mockito.never()).showDefUserLogo();
+ Mockito.verify(view, Mockito.times(1)).setLogoImage((StateToken) Mockito.anyObject());
+ }
+
@Test
public void testOrgWithLogo() {
testGroupWIthLogo(GroupType.ORGANIZATION);
@@ -80,7 +92,7 @@
@Test
public void testPersonalProjectNoLogo() {
- GroupDTO group = new GroupDTO("shortname", "longname", GroupType.PERSONAL);
+ final GroupDTO group = new GroupDTO("shortname", "longname", GroupType.PERSONAL);
group.setHasLogo(false);
entityLogoPresenter.setGroupLogo(group);
Mockito.verify(view, Mockito.times(1)).setLogoImageVisible(true);
@@ -94,14 +106,4 @@
testGroupWIthLogo(GroupType.PROJECT);
}
- private void testGroupWIthLogo(GroupType groupType) {
- GroupDTO group = new GroupDTO("shortname", "longname", groupType);
- group.setHasLogo(true);
- entityLogoPresenter.setGroupLogo(group);
- Mockito.verify(view, Mockito.times(1)).setLogoImageVisible(true);
- Mockito.verify(view, Mockito.never()).setLogoImageVisible(false);
- Mockito.verify(view, Mockito.never()).showDefUserLogo();
- Mockito.verify(view, Mockito.times(1)).setLogoImage((StateToken) Mockito.anyObject());
- }
-
}
Modified: trunk/src/test/java/testsuites/OthersTestSuite.java
===================================================================
--- trunk/src/test/java/testsuites/OthersTestSuite.java 2011-02-11 18:17:57 UTC (rev 1247)
+++ trunk/src/test/java/testsuites/OthersTestSuite.java 2011-02-11 23:06:04 UTC (rev 1248)
@@ -31,13 +31,14 @@
import org.ourproject.kune.rack.filters.rest.TestRESTMethodFinder;
import org.ourproject.kune.rack.filters.rest.TestRESTServiceDefinition;
import org.ourproject.kune.wiki.server.WikiServerToolTest;
-import org.ourproject.kune.workspace.client.entityheader.EntityLogoPresenterTest;
import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenterTest;
import org.ourproject.kune.workspace.client.socialnet.RolActionTest;
import org.ourproject.kune.workspace.client.socialnet.RolComparatorTest;
import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenterTest;
import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenterTest;
+import cc.kune.core.client.ws.entheader.EntityLogoPresenterTest;
+
/**
* Rescan with :
*
1
0
11 Feb '11
Author: vjrj_
Date: 2011-02-11 19:17:57 +0100 (Fri, 11 Feb 2011)
New Revision: 1247
Added:
trunk/src/main/java/cc/kune/core/client/ui/footer/
trunk/src/main/java/cc/kune/core/client/ui/footer/license/
Removed:
trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicenseView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/
Modified:
trunk/TODO
trunk/src/main/java/cc/kune/client/KuneGinjector.java
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreParts.java
trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePanel.java
trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
trunk/src/main/resources/wave-server.properties
Log:
few changes in licenses
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/TODO 2011-02-11 18:17:57 UTC (rev 1247)
@@ -11,6 +11,7 @@
Use org-mode in emacs to easy manage this file
* SHORT-TERM (URGENT)
+** >> Delete host/room conf in ws.html
** HelloWord with samples of extensions: sitebar, sitebar options menu, siteuseroptions, sn, ...
** TODO Register of "reserved words" not permitted for groups/users names (in server and in client)
** TODO WIAB under proxies
Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -42,6 +42,7 @@
import cc.kune.core.client.sn.GroupMembersPresenter;
import cc.kune.core.client.state.SiteTokenListeners;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
import cc.kune.core.client.ws.CorePresenter;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.pspace.client.PSpaceGinModule;
@@ -70,6 +71,8 @@
Provider<CorePresenter> getCorePresenter();
+ AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
+
ErrorHandler getErrorHandler();
EventBus getEventBus();
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -84,6 +84,8 @@
import cc.kune.core.client.state.SiteTokenListeners;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.client.state.StateManagerDefault;
+import cc.kune.core.client.ui.footer.license.EntityLicensePanel;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
import cc.kune.core.client.ws.CorePresenter;
import cc.kune.core.client.ws.CoreViewImpl;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -135,6 +137,8 @@
NewGroupPresenter.NewGroupProxy.class);
bindPresenter(GroupMembersPresenter.class, GroupMembersPresenter.GroupMembersView.class,
GroupMembersPanel.class, GroupMembersPresenter.GroupMembersProxy.class);
+ bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
+ EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
bind(UserPassAutocompleteManager.class).to(UserPassAutocompleteManagerImpl.class).in(Singleton.class);
bindPresenter(SignInPresenter.class, SignInView.class, SignInPanel.class, SignInPresenter.SignInProxy.class);
Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -5,6 +5,7 @@
import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
import cc.kune.core.client.sn.GroupMembersPresenter;
import cc.kune.core.client.state.Session;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -13,12 +14,13 @@
@Inject
public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter,
- final Provider<SiteUserOptionsPresenter> userOptions) {
+ final Provider<SiteUserOptionsPresenter> userOptions, final Provider<EntityLicensePresenter> licenseFooter) {
session.onInitDataReceived(new AppStartHandler() {
@Override
public void onAppStart(final AppStartEvent event) {
grouMembersPresenter.get();
userOptions.get();
+ licenseFooter.get();
}
});
}
Copied: trunk/src/main/java/cc/kune/core/client/ui/footer/license (from rev 1244, trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot)
Modified: trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePanel.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -17,97 +17,115 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.workspace.client.licensefoot;
+package cc.kune.core.client.ui.footer.license;
-import org.ourproject.kune.platf.client.ui.SimpleToolbar;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.adamtacy.client.ui.effects.examples.Fade;
+import org.adamtacy.client.ui.effects.examples.Show;
import cc.kune.common.client.ui.KuneWindowUtils;
+import cc.kune.core.client.ui.footer.license.EntityLicensePresenter.EntityLicenseView;
import cc.kune.core.shared.dto.LicenseDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.WsArmor;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.MouseOutEvent;
import com.google.gwt.event.dom.client.MouseOutHandler;
import com.google.gwt.event.dom.client.MouseOverEvent;
import com.google.gwt.event.dom.client.MouseOverHandler;
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.gwtext.client.core.Ext;
-import com.gwtext.client.core.ExtElement;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
-public class EntityLicensePanel implements EntityLicenseView {
+public class EntityLicensePanel extends ViewImpl implements EntityLicenseView {
public static final String LICENSE_LABEL = "k-elp-lic-lab";
+ private final I18nTranslationService i18n;
+ private final Element labelElement;
+ private final FlowPanel licenseBar;
private final Image licenseImage;
private final Label licenseLabel;
- private final I18nTranslationService i18n;
- private final SimpleToolbar licenseBar;
- private final WorkspaceSkeleton ws;
- private final ExtElement labelElement;
- public EntityLicensePanel(final EntityLicensePresenter presenter, final I18nTranslationService i18n,
- final WorkspaceSkeleton ws) {
+ @Inject
+ public EntityLicensePanel(final I18nTranslationService i18n, final WsArmor armor) {
this.i18n = i18n;
- this.ws = ws;
licenseImage = new Image();
licenseLabel = new Label("", false);
- licenseBar = new SimpleToolbar();
- licenseBar.addSpacer();
- licenseBar.add(licenseImage, VerticalPanel.ALIGN_TOP);
+ licenseBar = new FlowPanel();
+ licenseBar.add(licenseImage);
licenseBar.add(licenseLabel);
-
- final ClickHandler clickListener = new ClickHandler() {
- public void onClick(final ClickEvent event) {
- presenter.onLicenseClick();
- }
- };
-
- // licenseLabel.addClickHandler(clickListener);
- licenseImage.addClickHandler(clickListener);
-
licenseImage.addMouseOutHandler(new MouseOutHandler() {
+ @Override
public void onMouseOut(final MouseOutEvent event) {
// fade(false);
}
});
licenseImage.addMouseOverHandler(new MouseOverHandler() {
+ @Override
public void onMouseOver(final MouseOverEvent event) {
- fade(true);
+ show();
}
});
+ licenseImage.addStyleName("k-footer-license-img");
+ licenseLabel.addStyleName("k-footer-license-label");
+ armor.getEntityFooter().add(licenseBar);
+ labelElement = licenseLabel.getElement();
+ }
- licenseLabel.addStyleName("kune-Margin-Large-l");
- licenseLabel.setStyleName("k-elp-limg");
- licenseImage.setStyleName("k-elp-limg");
- ws.getEntityWorkspace().getBottomTitle().add(licenseBar);
- labelElement = Ext.get(licenseLabel.getElement());
+ @Override
+ public Widget asWidget() {
+ return null;
}
+ @Override
public void attach() {
licenseBar.setVisible(true);
}
+ @Override
public void detach() {
licenseBar.setVisible(false);
}
+ private void fade() {
+ final Fade fade = new Fade(labelElement);
+ fade.setDuration(.5);
+ fade.play();
+ }
+
+ @Override
+ public HasClickHandlers getImage() {
+ return licenseImage;
+ }
+
+ @Override
+ public HasClickHandlers getLabel() {
+ return licenseLabel;
+ }
+
+ @Override
public void openWindow(final String url) {
KuneWindowUtils.open(url);
}
+ private void show() {
+ if ("0".equals(labelElement.getStyle().getOpacity())) {
+ final Show show = new Show(labelElement);
+ show.setDuration(.5);
+ show.play();
+ }
+ }
+
+ @Override
public void showLicense(final String groupName, final LicenseDTO licenseDTO) {
final String licenseText = i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName());
licenseLabel.setText(licenseText);
// KuneUiUtils.setQuickTip(licenseLabel, licenseText);
licenseImage.setUrl(licenseDTO.getImageUrl());
- fade(false);
+ fade();
}
-
- private void fade(final boolean in) {
- labelElement.setOpacity(in ? 1 : 0, true);
- ws.getEntityWorkspace().refreshBottomTitle();
- }
}
Modified: trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -17,49 +17,84 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.workspace.client.licensefoot;
+package cc.kune.core.client.ui.footer.license;
-import org.ourproject.kune.platf.client.View;
-
+import cc.kune.core.client.state.StateChangedEvent;
+import cc.kune.core.client.state.StateChangedEvent.StateChangedHandler;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.LicenseDTO;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.dto.StateContainerDTO;
-import com.calclab.suco.client.events.Listener;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public class EntityLicensePresenter {
+public class EntityLicensePresenter extends
+ Presenter<EntityLicensePresenter.EntityLicenseView, EntityLicensePresenter.EntityLicenseProxy> {
- private EntityLicenseView view;
+ @ProxyCodeSplit
+ public interface EntityLicenseProxy extends Proxy<EntityLicensePresenter> {
+ }
+ public interface EntityLicenseView extends View {
+ void attach();
+
+ void detach();
+
+ HasClickHandlers getImage();
+
+ HasClickHandlers getLabel();
+
+ void openWindow(String url);
+
+ void showLicense(String groupName, LicenseDTO licenseDTO);
+
+ }
+
private LicenseDTO license;
- public EntityLicensePresenter(final StateManager stateManager) {
- stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
- public void onEvent(final StateAbstractDTO state) {
+ @Inject
+ public EntityLicensePresenter(final EventBus eventBus, final EntityLicenseView view,
+ final EntityLicenseProxy proxy, final StateManager stateManager) {
+ super(eventBus, view, proxy);
+ stateManager.onStateChanged(new StateChangedHandler() {
+
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ final StateAbstractDTO state = event.getState();
if (state instanceof StateContainerDTO) {
setLicense((StateContainerDTO) state);
} else {
- view.detach();
+ getView().detach();
}
}
});
- }
+ final ClickHandler clickHandler = new ClickHandler() {
- public View getView() {
- return view;
+ @Override
+ public void onClick(final ClickEvent event) {
+ getView().openWindow(license.getUrl());
+ }
+ };
+ getView().getImage().addClickHandler(clickHandler);
+ getView().getLabel().addClickHandler(clickHandler);
}
- public void init(final EntityLicenseView view) {
- this.view = view;
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
}
- public void onLicenseClick() {
- view.openWindow(license.getUrl());
- }
-
private void setLicense(final StateContainerDTO state) {
this.license = state.getLicense();
- view.showLicense(state.getGroup().getLongName(), license);
- view.attach();
+ getView().showLicense(state.getGroup().getShortName(), license);
+ getView().attach();
}
}
Deleted: trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicenseView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicenseView.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicenseView.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -1,36 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.licensefoot;
-
-import org.ourproject.kune.platf.client.View;
-
-import cc.kune.core.shared.dto.LicenseDTO;
-
-public interface EntityLicenseView extends View {
-
- void attach();
-
- void detach();
-
- void openWindow(String url);
-
- void showLicense(String groupName, LicenseDTO licenseDTO);
-
-}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 18:17:57 UTC (rev 1247)
@@ -913,4 +913,23 @@
.k-maxsize {
width: 100%;
height: 100%;
+}
+
+.k-footer-license-label {
+ float: right;
+ margin-top: 8px;
+ cursor: pointer;
+ font-weight: bold;
+ font-size: 16px;
+ color: #784421;
+}
+.k-footer-license-label-title {
+ margin-right: 5px;
+ color: #280b0b;
+}
+
+.k-footer-license-img {
+ float: right;
+ margin: 10px 15px 0px 5px;
+ cursor: pointer;
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-02-11 18:17:57 UTC (rev 1247)
@@ -33,7 +33,7 @@
-moz-border-radius-bottomleft: 10px;
border-top-bottom-radius: 10px;
background-color: #f7ebe3;
- padding: 7px 10px 0px 17px;
+ /* padding: 7px 10px 0px 17px; */
overflow: hidden;
}
@@ -120,6 +120,7 @@
border-bottom-right-radius: 7px;
padding: 7px 7px 0 7px;
overflow: hidden;
+ border-collapse:separate;
}
.docFooter span {
@@ -161,6 +162,7 @@
.entityToolsSouth {
border-top: 2px solid #FFF;
padding: 10px;
+ border-collapse: separate;
}
.entityToolsSouth span {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-11 18:17:57 UTC (rev 1247)
@@ -82,8 +82,6 @@
import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter;
import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView;
-import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
-import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter;
import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction;
import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard;
import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel;
@@ -448,16 +446,19 @@
}
});
- register(ApplicationComponentGroup.class, new Factory<EntityLicensePresenter>(EntityLicensePresenter.class) {
- @Override
- public EntityLicensePresenter create() {
- final EntityLicensePresenter presenter = new EntityLicensePresenter(i(StateManager.class));
- final EntityLicensePanel panel = new EntityLicensePanel(presenter, i(I18nUITranslationService.class),
- i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
+ // register(ApplicationComponentGroup.class, new
+ // Factory<EntityLicensePresenter>(EntityLicensePresenter.class) {
+ // @Override
+ // public EntityLicensePresenter create() {
+ // final EntityLicensePresenter presenter = new
+ // EntityLicensePresenter(i(StateManager.class));
+ // final EntityLicensePanel panel = new EntityLicensePanel(presenter,
+ // i(I18nUITranslationService.class),
+ // i(WorkspaceSkeleton.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) {
@Override
Modified: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties 2011-02-11 04:00:24 UTC (rev 1246)
+++ trunk/src/main/resources/wave-server.properties 2011-02-11 18:17:57 UTC (rev 1247)
@@ -39,7 +39,7 @@
account_store_directory = _accounts
# Currently supported delta store types: memory, file
-delta_store_type = file
+delta_store_type = memory
# The location where deltas are stored on disk. This should be changed.
# Note: This is only used when using the file delta store. It is ignored
1
0
r1246 - in trunk: . src/main/java/cc/kune/common/public/gxt-custom/css src/main/java/cc/kune/core/client/sitebar src/main/java/cc/kune/core/public src/main/java/cc/kune/gspace/client src/main/webapp/WEB-INF/publicspace/public/templates/basic
by Vicente J. Ruiz Jurado 11 Feb '11
by Vicente J. Ruiz Jurado 11 Feb '11
11 Feb '11
Author: vjrj_
Date: 2011-02-11 05:00:24 +0100 (Fri, 11 Feb 2011)
New Revision: 1246
Modified:
trunk/CREDITS
trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
trunk/src/main/java/cc/kune/core/public/about.html
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java
trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml
trunk/src/main/webapp/WEB-INF/publicspace/public/templates/basic/basic.css
Log:
SN Refactorization
Modified: trunk/CREDITS
===================================================================
--- trunk/CREDITS 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/CREDITS 2011-02-11 04:00:24 UTC (rev 1246)
@@ -18,7 +18,7 @@
Freire staff.
* Daniel Jiménez for the initial help and coordination
* Javier de la Cueva and Leovigildo García-Bobadilla for the legal support
+* The <URL:http://iepala.es> staff for their support and infraestructure
* Jonathan Araña Cruz, Roxu and all the <URL:http://xsto.info> staff for help with the infraestructure
-* Johnattan Rupire for web contributions.
-* The <URL:http://iepala.es> staff for their support
+* Johnattan Rupire and William Austen Bradbury for web contributions and translations.
* and <URL:http://ourproject.org> and again <URL:http://xsto.info> for sharing with us their resources
Modified: trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css 2011-02-11 04:00:24 UTC (rev 1246)
@@ -1380,6 +1380,9 @@
background-color: #f09134;
background-image: none;
border-color: #b36427;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
}
.x-menu-item-active a.x-menu-item {
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-02-11 04:00:24 UTC (rev 1246)
@@ -108,6 +108,7 @@
public void onAppStart(final AppStartEvent event) {
final IsActionExtensible right = getView().getRightBar();
OPTIONS_MENU.putValue(Action.NAME, i18n.t("Options"));
+ // OPTIONS_MENU.putValue(Action.SMALL_ICON, res.arrowDownBlack());
// OPTIONS_MENU.setParent(RIGHT_TOOLBAR);
OPTIONS_MENU.setStyles("k-no-backimage, k-btn-sitebar");
OPTIONS_MENU.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
@@ -146,7 +147,7 @@
gotoKuneDevSite.putValue(Action.SMALL_ICON, icons.kuneIcon16());
aboutAction.putValue(Action.NAME, i18n.t("About kune"));
- aboutAction.putValue(Action.SMALL_ICON, res.kuneIcon16());
+ aboutAction.putValue(Action.SMALL_ICON, res.info());
// aboutAction.setShortcut(shortcut);
// shortcutReg.put(shortcut, aboutAction);
Modified: trunk/src/main/java/cc/kune/core/public/about.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/about.html 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/java/cc/kune/core/public/about.html 2011-02-11 04:00:24 UTC (rev 1246)
@@ -13,7 +13,7 @@
</img>
</a>
</span>
-<p>Version 0.0.7 (r1239+c71)</p>
+<p>Version 0.0.7 (r1244+c1)</p>
<h1><a name="section_1">CREDITS</a></h1>
<h2><a name="section_1_1">Authors</a></h2>
@@ -32,9 +32,9 @@
Freire staff.
</li><li>Daniel Jiménez for the initial help and coordination
</li><li>Javier de la Cueva and Leovigildo García-Bobadilla for the legal support
+ </li><li>The <a href="http://iepala.es">http://iepala.es</a> staff for their support and infraestructure
</li><li>Jonathan Araña Cruz, Roxu and all the <a href="http://xsto.info">http://xsto.info</a> staff for help with the infraestructure
- </li><li>Johnattan Rupire for web contributions.
- </li><li>The <a href="http://iepala.es">http://iepala.es</a> staff for their support
+ </li><li>Johnattan Rupire and William Austen Bradbury for web contributions and translations.
</li><li>and <a href="http://ourproject.org">http://ourproject.org</a> and again <a href="http://xsto.info">http://xsto.info</a> for sharing with us their resources
</li></ul>
<h1><a name="section_2">LICENSES</a></h1>
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 04:00:24 UTC (rev 1246)
@@ -903,4 +903,14 @@
color: #FFF;
font-size: 16px;
font-weight: bold;
+}
+
+.k-frame-def {
+ margin: 0px;
+ border: 0px;
+}
+
+.k-maxsize {
+ width: 100%;
+ height: 100%;
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java 2011-02-11 04:00:24 UTC (rev 1246)
@@ -28,7 +28,6 @@
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
-import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
@@ -76,10 +75,8 @@
DockLayoutPanel splitCenter;
@UiField
DockLayoutPanel splitEast;
-
@UiField
TabLayoutPanel tabs;
-
@UiField
SimplePanel userSpace;
@@ -90,8 +87,7 @@
tabs.setStyleName("k-spaces");
homeSpace.add(RootPanel.get("k-home-ini"));
publicSpace.add(pspace.getWidget());
- userSpace.add(new Label("User space"));
- // userSpace.add(new WebClient());
+ // userSpace.add(new Label("User space"));
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml 2011-02-11 04:00:24 UTC (rev 1246)
@@ -1,12 +1,12 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:kp="urn:import:cc.kune.pspace.client"
- xmlns:g="urn:import:com.google.gwt.user.client.ui">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:kp="urn:import:cc.kune.pspace.client" xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:with field='res'
type='cc.kune.gspace.client.resources.WsArmorResources' />
<ui:style>
.frame {
- border: 0px;
- margin: 0px;
+ border: 0px;
+ margin: 0px;
}
</ui:style>
<g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
@@ -28,7 +28,9 @@
<g:header size='0' />
<g:SimplePanel ui:field="userSpace" width="100%"
height="100%">
- </g:SimplePanel>
+ <g:Frame url="http://localhost:9898/" styleName="{style.frame}"
+ ui:field="frame" width="100%" height="100%" />
+ </g:SimplePanel>
</g:tab>
<g:tab>
<g:header size='0' />
@@ -106,7 +108,7 @@
</g:tab>
<g:tab>
<g:header size='0' />
- <g:SimplePanel ui:field="publicSpace" width="100%"
+ <g:SimplePanel ui:field="publicSpace" width="100%"
height="100%"></g:SimplePanel>
</g:tab>
</g:TabLayoutPanel>
Modified: trunk/src/main/webapp/WEB-INF/publicspace/public/templates/basic/basic.css
===================================================================
--- trunk/src/main/webapp/WEB-INF/publicspace/public/templates/basic/basic.css 2011-02-11 03:28:34 UTC (rev 1245)
+++ trunk/src/main/webapp/WEB-INF/publicspace/public/templates/basic/basic.css 2011-02-11 04:00:24 UTC (rev 1246)
@@ -9,7 +9,7 @@
}
.page {
- width: 800px;
+ /* width: 800px; */
margin: 2em auto;
padding: 1em;
background-color: #fff;
1
0
Author: vjrj_
Date: 2011-02-11 04:28:34 +0100 (Fri, 11 Feb 2011)
New Revision: 1245
Added:
trunk/script/header.html
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml
trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptions.java
trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsEditableCondition.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotMeCondition.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsVisibleCondition.java
trunk/src/main/java/cc/kune/core/public/about.html
trunk/src/main/java/cc/kune/core/public/frame-def.css
trunk/src/main/java/cc/kune/core/public/images/group-def-icon.gif
trunk/src/main/java/cc/kune/core/public/logo-kune-big.png
trunk/src/test/java/cc/kune/common/
trunk/src/test/java/cc/kune/common/client/
trunk/src/test/java/cc/kune/common/client/actions/
trunk/src/test/java/cc/kune/common/client/actions/ui/
trunk/src/test/java/cc/kune/common/client/actions/ui/descrip/
trunk/src/test/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescripTest.java
Removed:
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiAddConditionAdapter.java
trunk/src/main/java/cc/kune/common/public/gxt/css/gxt-op-common.css
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrableGroupWhenLoggedCondition.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrablePersonWhenLoggedCondition.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/GroupWhenLoggedCondition.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/PersonWhenLoggedCondition.java
trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css
trunk/src/main/java/org/ourproject/kune/platf/public/images/group-def-icon.gif
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteoptions/
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPresenter.java
Modified:
trunk/CREDITS
trunk/TODO
trunk/img/webtemplate/web_template-2011.svg
trunk/script/css-update.sh
trunk/script/generateAbout.sh
trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuGui.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/gxtui/GxtSubMenuGui.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java
trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreParts.java
trunk/src/main/java/cc/kune/core/client/logs/EventBusWithLogging.java
trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsAdministrableCondition.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNAdminsMenuItemsRegistry.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNCollabsMenuItemsRegistry.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNPendingsMenuItemsRegistry.java
trunk/src/main/java/cc/kune/core/client/state/SiteCommonTokens.java
trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java
trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/public/ws.html
trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml
trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/SiteOptionsI18nTranslatorAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java
Log:
SN Refactorization
Modified: trunk/CREDITS
===================================================================
--- trunk/CREDITS 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/CREDITS 2011-02-11 03:28:34 UTC (rev 1245)
@@ -18,6 +18,7 @@
Freire staff.
* Daniel Jiménez for the initial help and coordination
* Javier de la Cueva and Leovigildo García-Bobadilla for the legal support
-* Jonathan Araña Cruz, Roxu and all the xsto staff for help with the infraestructure
+* Jonathan Araña Cruz, Roxu and all the <URL:http://xsto.info> staff for help with the infraestructure
* Johnattan Rupire for web contributions.
-* and ourproject.org and again xsto.info for sharing with us their resources
+* The <URL:http://iepala.es> staff for their support
+* and <URL:http://ourproject.org> and again <URL:http://xsto.info> for sharing with us their resources
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/TODO 2011-02-11 03:28:34 UTC (rev 1245)
@@ -11,6 +11,8 @@
Use org-mode in emacs to easy manage this file
* SHORT-TERM (URGENT)
+** HelloWord with samples of extensions: sitebar, sitebar options menu, siteuseroptions, sn, ...
+** TODO Register of "reserved words" not permitted for groups/users names (in server and in client)
** TODO WIAB under proxies
https://groups.google.com/group/wave-protocol/browse_thread/thread/202dee4b…
** TODO StateManager #signin while already signed in NPE
Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/img/webtemplate/web_template-2011.svg 2011-02-11 03:28:34 UTC (rev 1245)
@@ -52,16 +52,16 @@
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
- inkscape:zoom="0.78961905"
- inkscape:cx="493.46544"
- inkscape:cy="448.12343"
- inkscape:current-layer="layer7"
+ inkscape:zoom="2.7077228"
+ inkscape:cx="962.93133"
+ inkscape:cy="392.7939"
+ inkscape:current-layer="layer1"
inkscape:document-units="px"
showgrid="false"
inkscape:window-width="1280"
- inkscape:window-height="974"
+ inkscape:window-height="747"
inkscape:window-x="0"
- inkscape:window-y="21"
+ inkscape:window-y="1024"
inkscape:window-maximized="1"
inkscape:snap-bbox="false"
inkscape:bbox-paths="true"
@@ -232,7 +232,7 @@
id="g5365">
<path
transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)"
- d="m 277.35793,332.62314 a 26.82268,26.82268 0 1 1 -53.64536,0 26.82268,26.82268 0 1 1 53.64536,0 z"
+ d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
sodipodi:ry="26.82268"
sodipodi:rx="26.82268"
sodipodi:cy="332.62314"
@@ -242,7 +242,7 @@
sodipodi:type="arc" />
<path
transform="matrix(0.05245387,0,0,0.05245387,400.1808,-0.554549)"
- d="m 277.35793,332.62314 a 26.82268,26.82268 0 1 1 -53.64536,0 26.82268,26.82268 0 1 1 53.64536,0 z"
+ d="m 277.35793,332.62314 c 0,14.81376 -12.00893,26.82268 -26.82268,26.82268 -14.81376,0 -26.82268,-12.00892 -26.82268,-26.82268 0,-14.81376 12.00892,-26.82268 26.82268,-26.82268 14.81375,0 26.82268,12.00892 26.82268,26.82268 z"
sodipodi:ry="26.82268"
sodipodi:rx="26.82268"
sodipodi:cy="332.62314"
@@ -567,7 +567,7 @@
transform="translate(-751,-12)">
<path
transform="translate(0,-3)"
- d="m 333,232 a 11,11 0 1 1 -22,0 11,11 0 1 1 22,0 z"
+ d="m 333,232 c 0,6.07513 -4.92487,11 -11,11 -6.07513,0 -11,-4.92487 -11,-11 0,-6.07513 4.92487,-11 11,-11 6.07513,0 11,4.92487 11,11 z"
sodipodi:ry="11"
sodipodi:rx="11"
sodipodi:cy="232"
@@ -2546,7 +2546,7 @@
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(0.475,0,0,0.95,-21.570622,377.21335)"
- d="m 110,32.362183 a 20,10 0 1 1 -40,0 20,10 0 1 1 40,0 z"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
sodipodi:ry="10"
sodipodi:rx="20"
sodipodi:cy="32.362183"
@@ -2559,7 +2559,7 @@
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,8.0842525,364.37023)"
- d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="16.362183"
@@ -2578,14 +2578,14 @@
sodipodi:cy="16.362183"
sodipodi:rx="1"
sodipodi:ry="1"
- d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,2.7154875,362.20909)" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,7.7663825,370.24449)"
- d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="16.362183"
@@ -2604,14 +2604,14 @@
sodipodi:cy="16.362183"
sodipodi:rx="1"
sodipodi:ry="1"
- d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,2.2467045,371.75097)" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
transform="matrix(1.8840121,0.6711918,-0.6711918,1.8840121,-0.8112855,366.96948)"
- d="m 16,16.362183 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="16.362183"
@@ -2627,6 +2627,48 @@
height="113.28773"
x="-48.066803"
y="340.33881" />
+ <rect
+ style="opacity:0.84999999999999998;color:#000000;fill:#280b0b;fill-opacity:1;fill-rule:nonzero;stroke:#552200;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6139"
+ width="167.08397"
+ height="134.83969"
+ x="879.38934"
+ y="307.78625" />
+ <rect
+ style="opacity:0.85;color:#000000;fill:#c87137;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:0.1996699;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6141"
+ width="164.7063"
+ height="32.31588"
+ x="880.42413"
+ y="328.24014" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="889.85516"
+ y="349.36758"
+ id="text24744-4"
+ sodipodi:linespacing="125%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan24746-6"
+ x="889.85516"
+ y="349.36758">menu item</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+ sodipodi:linespacing="125%"
+ id="text6164"
+ y="379.36758"
+ x="889.85516"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="379.36758"
+ x="889.85516"
+ id="tspan6166"
+ sodipodi:role="line">menu item</tspan></text>
</g>
<g
inkscape:groupmode="layer"
Modified: trunk/script/css-update.sh
===================================================================
--- trunk/script/css-update.sh 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/script/css-update.sh 2011-02-11 03:28:34 UTC (rev 1245)
@@ -17,3 +17,4 @@
cp src/main/java/cc/kune/core/public/ws.html target/kune-0.0.7/ws/
cp src/main/webapp/templates/basic/basic.css target/kune-0.0.7/templates/basic/basic.css
cp src/main/webapp/templates/basic/docs.liquid.html target/kune-0.0.7/templates/basic/
+cp src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css target/kune-0.0.7/ws/gxt-custom/css/gxt-op-common.css
Modified: trunk/script/generateAbout.sh
===================================================================
--- trunk/script/generateAbout.sh 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/script/generateAbout.sh 2011-02-11 03:28:34 UTC (rev 1245)
@@ -13,9 +13,9 @@
VER=`grep "<version>" pom.xml | head -1 | sed 's/..version.//g'`
-echo Kune >> $tmp
-echo "--------------------------------------------------------------------------------" >> $tmp
+#echo "kune" >> $tmp
+#echo "--------------------------------------------------------------------------------" >> $tmp
echo Version $VER '('$SVNVER')' >> $tmp
-txt2html -h 80 --preserve_indent -8 --style_url /ws/css/richtext.css --infile $tmp --infile CREDITS --infile COPYRIGHT --outfile war/ws/about.html
+txt2html --prepend_file bin/header.html -h 80 --preserve_indent -8 --style_url frame-def.css --infile $tmp --infile CREDITS --infile COPYRIGHT --outfile src/main/java/cc/kune/core/public/about.html
rm $tmp
Added: trunk/script/header.html
===================================================================
--- trunk/script/header.html (rev 0)
+++ trunk/script/header.html 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,6 @@
+<span>
+ <a target="_blank" href="http://kune.ourproject.org/" title="kune" rel="home">
+<img src="logo-kune-big.png" alt="kune-logo" height="36" width="200">
+</img>
+</a>
+</span>
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -56,6 +56,7 @@
import com.calclab.emite.core.client.xmpp.stanzas.XmppURI;
import com.calclab.emite.im.client.chat.ChatManager;
import com.calclab.emite.im.client.roster.XmppRoster;
+import com.calclab.emite.reconnect.client.SessionReconnect;
import com.calclab.emite.xep.avatar.client.AvatarManager;
import com.calclab.emite.xep.muc.client.Room;
import com.calclab.emite.xep.muc.client.RoomManager;
@@ -133,7 +134,7 @@
xmppSession = Suco.get(XmppSession.class);
chatManager = Suco.get(ChatManager.class);
roomManager = Suco.get(RoomManager.class);
- // Suco.get(SessionReconnect.class);
+ Suco.get(SessionReconnect.class);
eventBus.addHandler(AppStartEvent.getType(), new AppStartEvent.AppStartHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuGui.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuGui.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -31,7 +31,6 @@
import com.extjs.gxt.ui.client.widget.menu.Menu;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
import com.extjs.gxt.ui.client.widget.menu.SeparatorMenuItem;
-import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.UIObject;
@@ -107,7 +106,6 @@
protected String getMenuPosition() {
final MenuPosition position = (MenuPosition) descriptor.getValue(MENU_POSITION);
- GWT.log("menu position" + position == null ? "none" : position.name());
return position == null ? DEF_MENU_POSITION : position.name();
}
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-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/AbstractGxtMenuItemGui.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -31,6 +31,7 @@
import cc.kune.common.client.actions.ui.descrip.MenuCheckItemDescriptor;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
import cc.kune.common.client.actions.ui.descrip.MenuRadioItemDescriptor;
+import cc.kune.common.client.utils.TextUtils;
import com.extjs.gxt.ui.client.event.MenuEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
@@ -91,7 +92,6 @@
public void componentSelected(final MenuEvent ce) {
final AbstractAction action = descriptor.getAction();
if (action != null) {
-
action.actionPerformed(new ActionEvent(getItemObjectOfAction(descriptor), Event.getCurrentEvent()));
}
}
@@ -157,7 +157,7 @@
@Override
protected void setToolTipText(final String tooltip) {
- if (tooltip != null) {
+ if (TextUtils.notEmpty(tooltip)) {
item.setToolTip(new GxtDefTooltip(tooltip));
}
}
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-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtMenuGui.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -25,6 +25,7 @@
import cc.kune.common.client.actions.ui.ParentWidget;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.common.client.utils.TextUtils;
import com.extjs.gxt.ui.client.Style.ButtonScale;
import com.extjs.gxt.ui.client.event.ButtonEvent;
@@ -142,7 +143,7 @@
@Override
public void setToolTipText(final String tooltip) {
if (button != null) {
- if (tooltip != null && tooltip.length() > 0) {
+ if (TextUtils.notEmpty(tooltip)) {
button.setToolTip(new GxtDefTooltip(tooltip));
}
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtSubMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtSubMenuGui.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtSubMenuGui.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -22,6 +22,7 @@
import cc.kune.common.client.actions.ui.AbstractGuiItem;
import cc.kune.common.client.actions.ui.ParentWidget;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.utils.TextUtils;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
@@ -72,7 +73,9 @@
@Override
public void setToolTipText(final String tooltip) {
- item.setToolTip(new GxtDefTooltip(tooltip));
+ if (TextUtils.notEmpty(tooltip)) {
+ item.setToolTip(new GxtDefTooltip(tooltip));
+ }
}
@Override
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-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -19,6 +19,9 @@
*/
package cc.kune.common.client.actions.ui.descrip;
+import java.util.ArrayList;
+import java.util.List;
+
import cc.kune.common.client.actions.AbstractAction;
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
@@ -32,7 +35,7 @@
/** The action. */
private final AbstractAction action;
- private GuiAddCondition addCondition = new GuiAddConditionAdapter();
+ private final List<GuiAddCondition> addConditions;
/** The item DOM id. */
private String id;
@@ -56,9 +59,15 @@
this.action = action;
position = NO_POSITION;
parent = NO_PARENT;
+ addConditions = new ArrayList<GuiAddCondition>();
}
@Override
+ public void add(final GuiAddCondition addCondition) {
+ addConditions.add(addCondition);
+ }
+
+ @Override
public void fire(final ActionEvent event) {
action.actionPerformed(event);
}
@@ -69,11 +78,6 @@
}
@Override
- public GuiAddCondition getAddCondition() {
- return addCondition;
- }
-
- @Override
public String getId() {
return id;
}
@@ -147,19 +151,16 @@
@Override
public boolean mustBeAdded() {
- boolean result = false;
- if (addCondition != null) {
- result = addCondition.mustBeAdded(this);
+ final boolean result = true;
+ for (final GuiAddCondition addCondition : addConditions) {
+ if (!addCondition.mustBeAdded(this)) {
+ return false;
+ }
}
return result;
}
@Override
- public void setAddCondition(final GuiAddCondition addCondition) {
- this.addCondition = addCondition;
- }
-
- @Override
public void setEnabled(final boolean enabled) {
super.putValue(Action.ENABLED, enabled);
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -26,12 +26,12 @@
void addPropertyChangeListener(final PropertyChangeListener listener);
+ void add(final GuiAddCondition addCondition);
+
void fire(final ActionEvent event);
AbstractAction getAction();
- GuiAddCondition getAddCondition();
-
String getId();
Object getItem();
@@ -64,8 +64,6 @@
void removePropertyChangeListener(final PropertyChangeListener listener);
- void setAddCondition(final GuiAddCondition addCondition);
-
void setEnabled(final boolean enabled);
void setId(final String id);
Deleted: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiAddConditionAdapter.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiAddConditionAdapter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiAddConditionAdapter.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,28 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.common.client.actions.ui.descrip;
-
-
-public class GuiAddConditionAdapter implements GuiAddCondition {
- @Override
- public boolean mustBeAdded(final GuiActionDescrip descrip) {
- return true;
- }
-}
Modified: trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -89,7 +89,7 @@
}
public static void showAlertMessage(final String title, final String message, final SimpleCallback callback) {
- eventBus.fireEvent(new ConfirmAskEvent(title, message, i18n.t("Ok"), i18n.t("Close"), callback));
+ eventBus.fireEvent(new ConfirmAskEvent(title, message, i18n.t("Ok"), "", callback));
}
public static void showProgress(final String text) {
Deleted: trunk/src/main/java/cc/kune/common/public/gxt/css/gxt-op-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/gxt/css/gxt-op-common.css 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/public/gxt/css/gxt-op-common.css 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,2347 +0,0 @@
-body {
- background-color: #16181a;
- color: #fcfcfc;
-}
-
-.ext-el-mask {
- background-color: #ccc;
-}
-
-.ext-el-mask-msg {
- border-color: #223;
- background-color: #3f4757;
- background-image: url(../images/box/tb-blue.gif);
-}
-
-.ext-el-mask-msg div {
- background-color: #232d38;
- border-color: #556;
- color: #fff;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-mask-loading div {
- background-color: #232d38;
- background-image: url(../images/grid/loading.gif);
-}
-
-.x-item-disabled {
- color: #ddd;
-}
-
-.x-item-disabled * {
- color: #ddd !important;
-}
-
-.x-splitbar-proxy {
- background-color: #aaa;
-}
-
-.x-color-palette a {
- border-color: #fff;
-}
-
-.x-color-palette a:hover,.x-color-palette a.x-color-palette-sel {
- border-color: #8bb8f3;
- background-color: #deecfd;
-}
-
-.x-color-palette em {
- border-color: #aca899;
-}
-
-.x-ie-shadow {
- background-color: #777;
-}
-
-/*
-.x-shadow .xsmc {
- background-image: url(../images/default/shadow-c.png);
-}
-
-.x-shadow .xsml,.x-shadow .xsmr {
- background-image: url(../images/default/shadow-lr.png);
-}
-
-.x-shadow .xstl,.x-shadow .xstc,.x-shadow .xstr,.x-shadow .xsbl,.x-shadow .xsbc,.x-shadow .xsbr {
- background-image: url(../images/default/shadow.png);
-}
-*/
-.loading-indicator {
- font-size: 14px;
- background-image: url(../images/grid/loading.gif);
-}
-
-.x-spotlight {
- background-color: #ccc;
-}
-
-.x-tab-panel-header,.x-tab-panel-footer {
- background-color: #e18325;
- border-color: #8db2e3;
- overflow: hidden;
- zoom: 1;
-}
-
-.x-tab-panel-header,.x-tab-panel-footer {
- border-color: #222;
-}
-
-ul.x-tab-strip-top {
- background-color: #343843;
- background-image: url(../images/tabs/tab-strip-bg.gif);
- border-bottom-color: #343d4e;
-}
-
-ul.x-tab-strip-bottom {
- background-color: #343843;
- background-image: url(../images/tabs/tab-strip-btm-bg.gif);
- border-top-color: #343843;
-}
-
-.x-tab-panel-header-plain .x-tab-strip-spacer,.x-tab-panel-footer-plain .x-tab-strip-spacer {
- border-color: #222;
- background-color: #e18325;
-}
-
-.x-tab-strip span.x-tab-strip-text {
- font: normal 14px tahoma, arial, helvetica;
- color: #fff;
-}
-
-.x-tab-strip-over span.x-tab-strip-text {
- color: #fff;
-}
-
-.x-tab-strip-active span.x-tab-strip-text {
- color: black;
- font-weight: bold;
-}
-
-.x-tab-strip-disabled .x-tabs-text {
- color: #aaaaaa;
-}
-
-.x-tab-strip-top .x-tab-right,.x-tab-strip-top .x-tab-left,.x-tab-strip-top .x-tab-strip-inner {
- background-image: url(../images/tabs/tabs-sprite.gif);
-}
-
-.x-tab-strip-bottom .x-tab-right {
- background-image: url(../images/tabs/tab-btm-inactive-right-bg.gif);
-}
-
-.x-tab-strip-bottom .x-tab-left {
- background-image: url(../images/tabs/tab-btm-inactive-left-bg.gif);
-}
-
-.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
- background-image: url(../images/tabs/tab-btm-right-bg.gif);
-}
-
-.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
- background-image: url(../images/tabs/tab-btm-left-bg.gif);
-}
-
-.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
- background-image: url(../images/tabs/tab-close.gif);
-}
-
-.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover {
- background-image: url(../images/tabs/tab-close.gif);
-}
-
-.x-tab-panel-body {
- border-color: #18181a;
- background-color: #fff;
-}
-
-.x-tab-panel-body-top {
- border-top: 0 none;
-}
-
-.x-tab-panel-body-bottom {
- border-bottom: 0 none;
-}
-
-.x-tab-scroller-left {
- background-image: url(../images/tabs/scroll-left.gif);
- border-bottom-color: #8db2e3;
-}
-
-.x-tab-scroller-left-over {
- background-position: 0 0;
-}
-
-.x-tab-scroller-left-disabled {
- background-position: -18px 0;
- opacity: .5;
- -moz-opacity: .5;
- filter: alpha(opacity = 50);
- cursor: default;
-}
-
-.x-tab-scroller-right {
- background-image: url(../images/tabs/scroll-right.gif);
- border-bottom-color: #8db2e3;
-}
-
-.x-tab-panel-bbar .x-toolbar,.x-tab-panel-tbar .x-toolbar {
- border-color: #99bbe8;
-}
-
-.x-form-field {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-form-text,textarea.x-form-field {
- color: #ffffff;
- background-color: #33373d;
- background-image: url(../images/form/text-bg.gif);
- border-color: #737b8c;
- border-width: 2px;
-}
-
-.x-form-text,.ext-ie .x-form-file {
- height: 26px;
-}
-
-.ext-strict .x-form-text {
- height: 20px;
-}
-
-.x-form-select-one {
- background-color: #fff;
- border-color: #b5b8c8;
-}
-
-.x-form-check-group-label {
- border-bottom: 1px solid #99bbe8;
- color: #fff;
-}
-
-.x-editor .x-form-check-wrap {
- background-color: #fff;
-}
-
-.x-form-field-wrap .x-form-trigger {
- background-image: url(../images/form/trigger.gif);
- border-bottom-color: #737b8c;
- border-bottom-width: 2px;
- height: 24px;
- width: 20px;
-}
-
-.x-form-field-wrap .x-form-trigger.x-form-trigger-over {
- border-bottom-color: #d97e27;
-}
-
-.x-form-field-wrap .x-form-trigger.x-form-trigger-click {
- border-bottom-color: #c86e19;
-}
-
-.x-small-editor .x-form-field-wrap .x-form-trigger {
- height: 20px;
-}
-
-.x-form-field-wrap .x-form-trigger-over {
- background-position: -20px 0;
-}
-
-.x-form-field-wrap .x-form-trigger-click {
- background-position: -40px 0;
-}
-
-.x-trigger-wrap-focus .x-form-trigger {
- background-position: -60px 0;
-}
-
-.x-trigger-wrap-focus .x-form-trigger-over {
- background-position: -80px 0;
-}
-
-.x-trigger-wrap-focus .x-form-trigger-click {
- background-position: -100px 0;
-}
-
-.x-form-field-wrap .x-form-date-trigger {
- background-image: url(../images/form/date-trigger.gif);
-}
-
-.x-form-field-wrap .x-form-clear-trigger {
- background-image: url(../images/form/clear-trigger.gif);
-}
-
-.x-form-field-wrap .x-form-search-trigger {
- background-image: url(../images/form/search-trigger.gif);
-}
-
-.x-trigger-wrap-focus .x-form-trigger {
- border-bottom-color: #737b8c;
-}
-
-.x-item-disabled .x-form-trigger-over {
- border-bottom-color: #b5b8c8;
-}
-
-.x-item-disabled .x-form-trigger-click {
- border-bottom-color: #b5b8c8;
-}
-
-.x-form-focus,textarea.x-form-focus {
- border-color: #ff9c33;
-}
-
-.x-form-invalid,textarea.x-form-invalid {
- background-color: #15171a;
- background-image: url(../images/grid/invalid_line.gif);
- border-color: #c30;
-}
-
-.ext-safari .x-form-invalid {
- background-color: #fee;
- border-color: #ff7870;
-}
-
-.x-form-inner-invalid,textarea.x-form-inner-invalid {
- background-color: #fff;
- background-image: url(../images/grid/invalid_line.gif);
-}
-
-.x-form-grow-sizer {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-form-item {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-form-invalid-msg {
- color: #c0272b;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- background-image: url(../images/default/shared/warning.gif);
-}
-
-.x-form-empty-field {
- color: #dadadd;
-}
-
-.x-small-editor .x-form-text {
- height: 22px;
-}
-
-.x-small-editor .x-form-field {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.ext-safari .x-small-editor .x-form-field {
- font: normal 15px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-form-invalid-icon {
- background-image: url(../images/form/exclamation.gif);
- height: 25px;
- width: 19px;
- background-position: center right;
-}
-
-.x-fieldset {
- border-color: #737B8C;
- color: white !important;
-}
-
-.x-fieldset legend {
- font: bold 14px tahoma, arial, helvetica, sans-serif;
- color: white !important;
-}
-
-.x-btn {
- font: normal 14px tahoma, verdana, helvetica;
-}
-
-.x-btn button {
- font: normal 14px arial, tahoma, verdana, helvetica;
- color: #fffffa;
- padding-left: 6px !important;
- padding-right: 6px !important;
-}
-
-.x-btn-over .x-btn button {
- color: #fff;
-}
-
-.x-btn-noicon .x-btn-small .x-btn-text,.x-btn-text-icon .x-btn-icon-small-left .x-btn-text,.x-btn-icon .x-btn-small .x-btn-text,.x-btn-text-icon .x-btn-icon-small-right .x-btn-text
- {
- height: 18px;
-}
-
-.x-btn-icon .x-btn-small .x-btn-text {
- width: 18px;
-}
-
-.x-btn-text-icon .x-btn-icon-small-left .x-btn-text {
- padding-left: 21px !important;
-}
-
-.x-btn-text-icon .x-btn-icon-small-right .x-btn-text {
- padding-right: 21px !important;
-}
-
-.x-btn-text-icon .x-btn-icon-medium-left .x-btn-text {
- padding-left: 29px !important;
-}
-
-.x-btn-text-icon .x-btn-icon-medium-right .x-btn-text {
- padding-right: 29px !important;
-}
-
-.x-btn-text-icon .x-btn-icon-large-left .x-btn-text {
- padding-left: 37px !important;
-}
-
-.x-btn-text-icon .x-btn-icon-large-right .x-btn-text {
- padding-right: 37px !important;
-}
-
-.x-btn em {
- font-style: normal;
- font-weight: normal;
-}
-
-.x-btn-tl,.x-btn-tr,.x-btn-tc,.x-btn-ml,.x-btn-mr,.x-btn-mc,.x-btn-bl,.x-btn-br,.x-btn-bc {
- background-image: url(../images/button/btn.gif);
-}
-
-.x-btn-click .x-btn-text,.x-btn-menu-active .x-btn-text,.x-btn-pressed .x-btn-text {
- color: #fff;
-}
-
-.x-btn-pressed .x-btn-text {
- font-style: italic;
- text-decoration: underline;
- font-weight: bold;
- color: black !important;
-}
-
-.x-btn-disabled * {
- color: #eee !important;
-}
-
-.x-btn-mc em.x-btn-arrow {
- background-image: url(../images/button/arrow.gif);
- padding-right: 13px;
-}
-
-.x-btn-mc em.x-btn-split {
- background-image: url(../images/button/s-arrow.gif);
- padding-right: 20px;
-}
-
-.x-contrast .x-btn-mc em.x-btn-split {
- padding-right: 0px;
-}
-
-.x-btn-over .x-btn-mc em.x-btn-split,.x-btn-click .x-btn-mc em.x-btn-split,.x-btn-menu-active .x-btn-mc em.x-btn-split,.x-btn-pressed .x-btn-mc em.x-btn-split
- {
- background-image: url(../images/button/s-arrow-o.gif);
-}
-
-.x-btn-mc em.x-btn-arrow-bottom {
- background-image: url(../images/button/s-arrow-b-noline.gif);
-}
-
-.x-btn-mc em.x-btn-split-bottom {
- background-image: url(../images/button/s-arrow-b.gif);
-}
-
-.x-btn-over .x-btn-mc em.x-btn-split-bottom,.x-btn-click .x-btn-mc em.x-btn-split-bottom,.x-btn-menu-active .x-btn-mc em.x-btn-split-bottom,.x-btn-pressed .x-btn-mc em.x-btn-split-bottom
- {
- background-image: url(../images/button/s-arrow-bo.gif);
-}
-
-.x-btn-group-header {
- color: #d2d2d2;
-}
-
-.x-btn-group-tc {
- background-image: url(../images/button/group-tb.gif);
-}
-
-.x-btn-group-tl {
- background-image: url(../images/button/group-cs.gif);
-}
-
-.x-btn-group-tr {
- background-image: url(../images/button/group-cs.gif);
-}
-
-.x-btn-group-bc {
- background-image: url(../images/button/group-tb.gif);
-}
-
-.x-btn-group-bl {
- background-image: url(../images/button/group-cs.gif);
-}
-
-.x-btn-group-br {
- background-image: url(../images/button/group-cs.gif);
-}
-
-.x-btn-group-ml {
- background-image: url(../images/button/group-lr.gif);
-}
-
-.x-btn-group-mr {
- background-image: url(../images/button/group-lr.gif);
-}
-
-.x-btn-group-notitle .x-btn-group-tc {
- background-image: url(../images/button/group-tb.gif);
-}
-
-.x-toolbar {
- border-color: #18181a;
- background-color: #393d4e;
- background-image: url(../images/toolbar/bg.gif);
-}
-
-.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-toolbar .x-item-disabled {
- color: gray;
-}
-
-.x-toolbar .x-item-disabled * {
- color: gray;
-}
-
-.x-toolbar .x-btn-mc em.x-btn-split {
- background-image: url(../images/button/s-arrow-noline.gif);
-}
-
-.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split
- {
- background-image: url(../images/button/s-arrow-o.gif);
-}
-
-.x-toolbar .x-btn-mc em.x-btn-split-bottom {
- background-image: url(../images/button/s-arrow-b-noline.gif);
-}
-
-.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom
- {
- background-image: url(../images/button/s-arrow-bo.gif);
-}
-
-.x-toolbar .xtb-sep {
- background-image: url(../images/grid/grid-blue-split.gif);
-}
-
-.x-toolbar .x-btn {
- padding-left: 3px;
- padding-right: 3px;
-}
-
-.x-toolbar .x-btn-mc em.x-btn-arrow {
- padding-right: 10px;
-}
-
-.x-toolbar .x-btn-text-icon .x-btn-icon-small-left .x-btn-text {
- padding-left: 18px !important;
-}
-
-.x-toolbar .x-btn-mc em.x-btn-split {
- padding-right: 14px;
-}
-
-.x-tbar-page-first {
- background-image: url(../images/grid/page-first.gif) !important;
-}
-
-.x-tbar-loading {
- background-image: url(../images/grid/refresh.gif) !important;
-}
-
-.x-tbar-page-last {
- background-image: url(../images/grid/page-last.gif) !important;
-}
-
-.x-tbar-page-next {
- background-image: url(../images/grid/page-next.gif) !important;
-}
-
-.x-tbar-page-prev {
- background-image: url(../images/grid/page-prev.gif) !important;
-}
-
-.x-item-disabled .x-tbar-loading {
- background-image: url(../images/grid/loading.gif) !important;
-}
-
-.x-item-disabled .x-tbar-page-first {
- background-image: url(../images/grid/page-first-disabled.gif) !important;
-}
-
-.x-item-disabled .x-tbar-page-last {
- background-image: url(../images/grid/page-last-disabled.gif) !important;
-}
-
-.x-item-disabled .x-tbar-page-next {
- background-image: url(../images/grid/page-next-disabled.gif) !important;
-}
-
-.x-item-disabled .x-tbar-page-prev {
- background-image: url(../images/grid/page-prev-disabled.gif) !important;
-}
-
-.x-paging-info {
- color: #444;
-}
-
-.x-toolbar-more-icon {
- background-image: url(../images/toolbar/more.gif) !important;
-}
-
-.x-statusbar .x-status-busy {
- background-image: url(../images/grid/loading.gif);
-}
-
-.x-statusbar .x-status-text-panel {
- border-color: #99bbe8 #fff #fff #99bbe8;
-}
-
-.x-resizable-handle {
- background-color: #fff;
- color: #000;
-}
-
-.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west
- {
- background-image: url(../images/sizer/e-handle.gif);
-}
-
-.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south,.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north
- {
- background-image: url(../images/sizer/s-handle.gif);
-}
-
-.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north {
- background-image: url(../images/sizer/s-handle.gif);
-}
-
-.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast {
- background-image: url(../images/sizer/se-handle.gif);
-}
-
-.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest {
- background-image: url(../images/sizer/nw-handle.gif);
-}
-
-.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast {
- background-image: url(../images/sizer/ne-handle.gif);
-}
-
-.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest {
- background-image: url(../images/sizer/sw-handle.gif);
-}
-
-.x-resizable-proxy {
- border-color: #3b5a82;
-}
-
-.x-resizable-overlay {
- background-color: #fff;
-}
-
-.x-grid3 {
- background-color: #1f2933;
-}
-
-.x-grid-panel .x-panel-mc .x-panel-body {
- border-color: #223;
-}
-
-.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-grid3-hd-row td {
- border-left-color: #556;
- border-right-color: #223;
-}
-
-.x-grid-row-loading {
- background-color: #fff;
- background-image: url(../images/default/shared/loading-balls.gif);
-}
-
-.x-grid3-row {
- border-bottom: 1px solid #111;
-}
-
-.x-grid3-row-alt {
- background-color: #1b232b;
-}
-
-.x-grid3-row-over {
- background-color: #7e5530;
- background-image: none;
-}
-
-.x-grid3-resize-proxy {
- background-color: #777;
-}
-
-.x-grid3-resize-marker {
- background-color: #777;
-}
-
-.x-grid3-header {
- background-color: #3b3f50;
- background-image: url(../images/grid/grid3-hrow.gif);
-}
-
-.x-grid3-header-pop {
- border-left-color: #d0d0d0;
-}
-
-.x-grid3-header-pop-inner {
- border-left-color: #eee;
- background-image: url(../images/default/grid/hd-pop.gif);
-}
-
-td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open {
- border-left-color: #889;
- border-right-color: #445;
-}
-
-td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner
- {
- background-color: #4e628a;
- background-image: url(../images/grid/grid3-hrow-over.gif);
-}
-
-.x-grid3-cell-inner,.x-grid3-hd-inner {
- color: #fff;
-}
-
-.sort-asc .x-grid3-sort-icon {
- background-image: url(../images/grid/sort_asc.gif);
- width: 15px;
- height: 9px;
- margin-left: 5px;
-}
-
-.sort-desc .x-grid3-sort-icon {
- background-image: url(../images/grid/sort_desc.gif);
- width: 15px;
- height: 9px;
- margin-left: 5px;
-}
-
-.x-grid3-cell-text,.x-grid3-hd-text {
- color: #fff;
-}
-
-.x-grid3-split {
- background-image: url(../images/default/grid/grid-split.gif);
-}
-
-.x-grid3-hd-text {
- color: fff;
-}
-
-.x-dd-drag-proxy .x-grid3-hd-inner {
- background-color: #bec7da;
- background-image: url(../images/grid/grid3-hrow-over.gif);
- border-color: #aaccf6;
-}
-
-.col-move-top {
- background-image: url(../images/default/grid/col-move-top.gif);
-}
-
-.col-move-bottom {
- background-image: url(../images/default/grid/col-move-bottom.gif);
-}
-
-.x-grid3-row-selected {
- background-color: #e5872c !important;
- background-image: none;
- border-style: solid;
- font-weight: bold !important;
- color: black !important;
-}
-
-.x-grid3-highlightrow {
- border: 1px dotted #e5872c !important;
- background-color: #666360;
- text-decoration: underline;
-}
-
-.x-grid3-group-selected {
- background-color: #e5872c !important;
-}
-
-.x-grid3-row-selected .x-grid3-cell-inner {
- color: black !important;
-}
-
-.x-grid3-cell-selected .x-grid3-cell-inner {
- background-color: #ffa340 !important;
- color: black !important;
- font-weight: bold;
-}
-
-.x-grid3-cell-selected span {
- color: black !important;
-}
-
-.x-grid3-cell-selected .x-grid3-cell-text {
- color: black;
-}
-
-.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker {
- background-color: #ebeadb !important;
- background-image: url(../images/default/grid/grid-hrow.gif) !important;
- color: #fff;
- border-top-color: #fff;
- border-right-color: #6fa0df !important;
-}
-
-.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div {
- color: fff !important;
-}
-
-.x-grid3-dirty-cell {
- background-image: url(../images/grid/dirty.gif);
-}
-
-.x-grid3-topbar,.x-grid3-bottombar {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-grid3-bottombar .x-toolbar {
- border-top-color: #a9bfd3;
-}
-
-.x-props-grid .x-grid3-td-name .x-grid3-cell-inner {
- background-image: url(../images/grid/grid3-special-col-bg.gif) !important;
- color: #fff !important;
-}
-
-.x-props-grid .x-grid3-td-value {
- color: #fff !important;
-}
-
-.x-props-grid .x-grid3-body .x-grid3-td-name {
- background-color: #263240 !important;
- border-right-color: #223;
-}
-
-.xg-hmenu-sort-asc .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-asc.gif);
-}
-
-.xg-hmenu-sort-desc .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-desc.gif);
-}
-
-.xg-hmenu-lock .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-lock.gif);
-}
-
-.xg-hmenu-unlock .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-unlock.gif);
-}
-
-.x-grid3-hd-btn {
- background-color: #c2c9d0;
- background-image: url(../images/grid/grid3-hd-btn.gif);
-}
-
-.x-grid3-body .x-grid3-td-expander {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
-}
-
-.x-grid3-row-expander {
- background-image: url(../images/grid/row-expand-sprite.gif);
-}
-
-.x-grid3-body .x-grid3-td-checker {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
-}
-
-.x-grid3-row-checker,.x-grid3-hd-checker {
- background-image: url(../images/default/grid/row-check-sprite.gif);
-}
-
-.x-grid3-body .x-grid3-td-numberer {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
-}
-
-.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
- color: #fff;
-}
-
-.x-grid3-body .x-grid3-td-row-icon {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
-}
-
-.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander
- {
- background-image: url(../images/grid/grid3-special-col-sel-bg.gif);
-}
-
-.x-grid3-check-col {
- background-image: url(../images/menu/unchecked.gif);
-}
-
-.x-grid3-check-col-on {
- background-image: url(../images/menu/checked.gif);
-}
-
-.x-grid-group,.x-grid-group-body,.x-grid-group-hd {
- zoom: 1;
-}
-
-.x-grid-group-hd {
- border-bottom-color: #4e628a;
-}
-
-.x-grid-group-hd div.x-grid-group-title {
- background-image: url(../images/grid/group-collapse.gif);
- background-position: 3px 6px;
- color: #ffd;
- font: bold 14px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title {
- background-image: url(../images/grid/group-expand.gif);
-}
-
-.x-group-by-icon {
- background-image: url(../images/grid/group-by.gif);
-}
-
-.x-cols-icon {
- background-image: url(../images/grid/columns.gif);
-}
-
-.x-show-groups-icon {
- background-image: url(../images/grid/group-by.gif);
-}
-
-.x-grid-empty {
- color: gray;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
- border-right-color: #ededed;
-}
-
-.x-grid-with-col-lines .x-grid3-row {
- border-top-color: #ededed;
-}
-
-.x-grid-with-col-lines .x-grid3-row-selected {
- border-top-color: #a3bae9;
-}
-
-.x-dd-drag-ghost {
- color: #000;
- font: normal 14px arial, helvetica, sans-serif;
- border-color: #ddd #bbb #bbb #ddd;
- background-color: #bec7da;
-}
-
-/*
-.x-dd-drop-nodrop .x-dd-drop-icon {
- background-image: url(../images/default/dd/drop-no.gif);
-}
-
-.x-dd-drop-ok .x-dd-drop-icon {
- background-image: url(../images/default/dd/drop-yes.gif);
-}
-
-.x-dd-drop-ok-add .x-dd-drop-icon {
- background-image: url(../images/default/dd/drop-add.gif);
-}
-*/
-.x-view-selector {
- background-color: #c3daf9;
- border-color: #3399bb;
-}
-
-.x-tree-node-expanded .x-tree-node-icon {
- background-image: url(../images/tree/folder-open.gif);
-}
-
-.x-tree-node-leaf .x-tree-node-icon {
- background-image: url(../images/default/tree/leaf.gif);
-}
-
-.x-tree-node-collapsed .x-tree-node-icon {
- background-image: url(../images/tree/folder.gif);
-}
-
-.x-tree-node-loading .x-tree-node-icon {
- background-image: url(../images/default/tree/loading.gif) !important;
-}
-
-.x-tree-node .x-tree-node-inline-icon {
- background-image: none;
-}
-
-.x-tree-node-loading a span {
- font-style: italic;
- color: #444444;
-}
-
-.ext-ie .x-tree-node-el input {
- width: 14px;
- height: 14px;
-}
-
-.x-tree-lines .x-tree-elbow {
- background-image: url(../images/tree/elbow.gif);
-}
-
-.x-tree-lines .x-tree-elbow-plus {
- background-image: url(../images/tree/elbow-plus.gif);
-}
-
-.x-tree-lines .x-tree-elbow-minus {
- background-image: url(../images/tree/elbow-minus.gif);
-}
-
-.x-tree-lines .x-tree-elbow-end {
- background-image: url(../images/tree/elbow-end.gif);
-}
-
-.x-tree-lines .x-tree-elbow-end-plus {
- background-image: url(../images/tree/elbow-end-plus.gif);
-}
-
-.x-tree-lines .x-tree-elbow-end-minus {
- background-image: url(../images/tree/elbow-end-minus.gif);
-}
-
-.x-tree-lines .x-tree-elbow-line {
- background-image: url(../images/tree/elbow-line.gif);
-}
-
-.x-tree-no-lines .x-tree-elbow-plus {
- background-image: url(../images/tree/elbow-plus-nl.gif);
-}
-
-.x-tree-no-lines .x-tree-elbow-minus {
- background-image: url(../images/tree/elbow-minus-nl.gif);
-}
-
-.x-tree-no-lines .x-tree-elbow-end-plus {
- background-image: url(../images/tree/elbow-end-plus-nl.gif);
-}
-
-.x-tree-no-lines .x-tree-elbow-end-minus {
- background-image: url(../images/tree/elbow-end-minus-nl.gif);
-}
-
-.x-tree-arrows .x-tree-elbow-plus {
- background-image: url(../images/tree/arrows.gif);
-}
-
-.x-tree-arrows .x-tree-elbow-minus {
- background-image: url(../images/tree/arrows.gif);
-}
-
-.x-tree-arrows .x-tree-elbow-end-plus {
- background-image: url(../images/tree/arrows.gif);
-}
-
-.x-tree-arrows .x-tree-elbow-end-minus {
- background-image: url(../images/tree/arrows.gif);
-}
-
-.x-tree-node {
- color: #000;
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-tree-node a,.x-dd-drag-ghost a {
- color: #fff;
-}
-
-.x-tree-node a span,.x-dd-drag-ghost a span {
- color: #fff;
-}
-
-.x-tree-node .x-tree-selected a,.x-dd-drag-ghost a {
- color: #fff;
-}
-
-.x-tree-node .x-tree-selected a span,.x-dd-drag-ghost a span {
- color: #fff;
-}
-
-.x-tree-node .x-tree-node-disabled a span {
- color: gray !important;
-}
-
-.x-tree-node div.x-tree-drag-insert-below {
- border-bottom-color: #36c;
-}
-
-.x-tree-node div.x-tree-drag-insert-above {
- border-top-color: #36c;
-}
-
-.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a {
- border-bottom-color: #36c;
-}
-
-.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a {
- border-top-color: #36c;
-}
-
-.x-tree-node .x-tree-drag-append a span {
- background-color: #ddd;
- border-color: gray;
-}
-
-.x-tree-node .x-tree-node-over {
- background-color: #7e5530;
-}
-
-.x-tree-node .x-tree-selected {
- background-color: #e5872c;
- font-weight: bold;
-}
-
-.x-tree-drop-ok-append .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-add.gif);
-}
-
-.x-tree-drop-ok-above .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-over.gif);
-}
-
-.x-tree-drop-ok-below .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-under.gif);
-}
-
-.x-tree-drop-ok-between .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-between.gif);
-}
-
-.x-date-picker {
- border-color: #737b8c;
- background-color: #21252e;
-}
-
-.x-date-middle,.x-date-left,.x-date-right {
- background-image: url(../images/shared/hd-sprite.gif);
- color: #fff;
- font: bold 14px "sans serif", tahoma, verdana, helvetica;
-}
-
-.x-date-middle .x-btn .x-btn-text {
- color: #fff;
-}
-
-.x-date-middle .x-btn-mc em.x-btn-arrow {
- background-image: url(../images/toolbar/btn-arrow-light.gif);
-}
-
-.x-date-right a {
- background-image: url(../images/shared/right-btn.gif);
-}
-
-.x-date-left a {
- background-image: url(../images/shared/left-btn.gif);
-}
-
-.x-date-inner th {
- background-color: #363d4a;
- background-image: url(../images/toolbar/bg.gif);
- border-bottom-color: #535b5c;
- font: normal 13px arial, helvetica, tahoma, sans-serif;
- color: #fff;
-}
-
-.x-date-inner td {
- border-color: #112;
-}
-
-.x-date-inner a {
- font: normal 14px arial, helvetica, tahoma, sans-serif;
- color: #fff;
- padding: 2px 7px 1px 3px; /* Structure to account for larger, bolder fonts in Access theme. */
-}
-
-.x-date-inner .x-date-active {
- color: #000;
-}
-
-.x-date-inner .x-date-selected a {
- background-color: #e5872c;
- background-image: none;
- border-color: #864900;
- padding: 1px 6px 1px 2px; /* Structure to account for larger, bolder fonts in Access theme. */
-}
-
-.x-date-inner .x-date-today a {
- border-color: #99a;
-}
-
-.x-date-inner .x-date-selected span {
- font-weight: bold;
-}
-
-.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
- color: #aaa;
-}
-
-.x-date-bottom {
- border-top-color: #737b8c;
- background-color: #464d5a;
- background-image: url(../images/shared/glass-bg.gif);
-}
-
-.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover {
- color: #fff;
- background-color: #7e5530;
-}
-
-.x-date-inner .x-date-disabled a {
- background-color: #eee;
- color: #bbb;
-}
-
-.x-date-mmenu {
- background-color: #eee !important;
-}
-
-.x-date-mmenu .x-menu-item {
- font-size: 13px;
- color: #000;
-}
-
-.x-date-mp {
- background-color: #21252e;
-}
-
-.x-date-mp td {
- font: normal 14px arial, helvetica, tahoma, sans-serif;
-}
-
-.x-date-mp-btns button {
- background-color: #083772;
- color: #fff;
- border-color: #3366cc #000055 #000055 #3366cc;
- font: normal 14px arial, helvetica, tahoma, sans-serif;
-}
-
-.x-date-mp-btns {
- background-color: #dfecfb;
- background-image: url(../images/shared/glass-bg.gif);
-}
-
-.x-date-mp-btns td {
- border-top-color: #c5d2df;
-}
-
-td.x-date-mp-month a,td.x-date-mp-year a {
- color: #fff;
-}
-
-td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
- color: fff;
- background-color: #7e5530;
-}
-
-td.x-date-mp-sel a {
- background-color: #e5872c;
- background-image: none;
- border-color: #864900;
-}
-
-.x-date-mp-ybtn a {
- background-image: url(../images/panel/tool-sprites.gif);
-}
-
-td.x-date-mp-sep {
- border-right-color: #c5d2df;
-}
-
-.x-tip .x-tip-close {
- background-image: url(../images/qtip/close.gif);
-}
-
-.x-tip .x-tip-tc,.x-tip .x-tip-tl,.x-tip .x-tip-tr,.x-tip .x-tip-bc,.x-tip .x-tip-bl,.x-tip .x-tip-br,.x-tip .x-tip-ml,.x-tip .x-tip-mr
- {
- background-image: url(../images/qtip/tip-sprite.gif);
-}
-
-.x-tip .x-tip-mc {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-tip .x-tip-ml {
- background-color: #fff;
-}
-
-.x-tip .x-tip-header-text {
- font: bold 14px tahoma, arial, helvetica, sans-serif;
- color: #ffd;
-}
-
-.x-tip .x-tip-body {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- color: #000;
-}
-
-.x-form-invalid-tip .x-tip-tc,.x-form-invalid-tip .x-tip-tl,.x-form-invalid-tip .x-tip-tr,.x-form-invalid-tip .x-tip-bc,.x-form-invalid-tip .x-tip-bl,.x-form-invalid-tip .x-tip-br,.x-form-invalid-tip .x-tip-ml,.x-form-invalid-tip .x-tip-mr
- {
- background-image: url(../images/default/form/error-tip-corners.gif);
-}
-
-.x-form-invalid-tip .x-tip-body {
- background-image: url(../images/form/exclamation.gif);
-}
-
-.x-tip-anchor {
- background-image: url(../images/qtip/tip-anchor-sprite.gif);
-}
-
-.x-menu {
- border-color: #222;
- background-color: #414551;
- background-image: url(../images/menu/menu.gif);
-}
-
-.x-menu-nosep {
- background-image: none;
-}
-
-.x-menu-list-item {
- font: normal 14px tahoma, arial, sans-serif;
-}
-
-.x-menu-item-arrow {
- background-image: url(../images/menu/menu-parent.gif);
-}
-
-.x-menu-sep {
- background-color: #223;
- border-bottom-color: #666;
-}
-
-a.x-menu-item {
- color: #fffff6;
-}
-
-.x-menu-item-active {
- background-color: #f09134;
- background-image: none;
- border-color: #b36427;
-}
-
-.x-menu-item-active a.x-menu-item {
- border-color: #b36427;
-}
-
-.x-menu-check-item .x-menu-item-icon {
- background-image: url(../images/default/menu/unchecked.gif);
-}
-
-.x-menu-item-checked .x-menu-item-icon {
- background-image: url(../images/default/menu/checked.gif);
-}
-
-.x-menu-item-checked .x-menu-group-item .x-menu-item-icon {
- background-image: url(../images/menu/group-checked.gif);
-}
-
-.x-menu-group-item .x-menu-item-icon {
- background-image: none;
-}
-
-.x-menu-plain {
- background-color: #fff !important;
-}
-
-.x-menu .x-date-picker {
- border-color: #a3bad9;
-}
-
-.x-cycle-menu .x-menu-item-checked {
- border-color: #a3bae9 !important;
- background-color: #def8f6;
-}
-
-.x-menu-scroller-top {
- background-image: url(../images/layout/mini-top.gif);
-}
-
-.x-menu-scroller-bottom {
- background-image: url(../images/layout/mini-bottom.gif);
-}
-
-.x-box-tl {
- background-image: url(../images/default/box/corners.gif);
-}
-
-.x-box-tc {
- background-image: url(../images/default/box/tb.gif);
-}
-
-.x-box-tr {
- background-image: url(../images/default/box/corners.gif);
-}
-
-.x-box-ml {
- background-image: url(../images/default/box/l.gif);
-}
-
-.x-box-mc {
- background-color: #eee;
- background-image: url(../images/default/box/tb.gif);
- font-family: "Myriad Pro", "Myriad Web", "Tahoma", "Helvetica", "Arial", sans-serif;
- color: #393939;
- font-size: 15px;
-}
-
-.x-box-mc h3 {
- font-size: 18px;
- font-weight: bold;
-}
-
-.x-box-mr {
- background-image: url(../images/default/box/r.gif);
-}
-
-.x-box-bl {
- background-image: url(../images/default/box/corners.gif);
-}
-
-.x-box-bc {
- background-image: url(../images/default/box/tb.gif);
-}
-
-.x-box-br {
- background-image: url(../images/default/box/corners.gif);
-}
-
-.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr {
- background-image: url(../images/default/box/corners-blue.gif);
-}
-
-.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc {
- background-image: url(../images/default/box/tb-blue.gif);
-}
-
-.x-box-blue .x-box-mc {
- background-color: #c3daf9;
-}
-
-.x-box-blue .x-box-mc h3 {
- color: #17385b;
-}
-
-.x-box-blue .x-box-ml {
- background-image: url(../images/default/box/l-blue.gif);
-}
-
-.x-box-blue .x-box-mr {
- background-image: url(../images/default/box/r-blue.gif);
-}
-
-.x-combo-list {
- border: 2px solid #232732;
- background-color: #555566 !important;
- font: normal 15px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-combo-list-inner {
- background-color: #414551;
-}
-
-.x-combo-list-hd {
- font: bold 14px tahoma, arial, helvetica, sans-serif;
- color: fff;
- background-image: url(../images/default/layout/panel-title-light-bg.gif);
- border-bottom-color: #98c0f4;
-}
-
-.x-resizable-pinned .x-combo-list-inner {
- border-bottom-color: #98c0f4;
-}
-
-.x-combo-list-item {
- border-color: #556;
-}
-
-.x-combo-list .x-combo-selected {
- border-color: #e5872c !important;
- background-color: #e5872c;
- font-weight: bold;
-}
-
-.x-combo-list .x-toolbar {
- border-top-color: #98c0f4;
-}
-
-.x-combo-list-small {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-panel {
- border-color: #18181a;
-}
-
-.x-panel-header {
- color: #fff !important;
- font-weight: bold;
- font-size: 14px;
- font-family: tahoma, arial, verdana, sans-serif;
- border-color: #18181a;
- background-image: url(../images/panel/white-top-bottom.gif);
-}
-
-.x-panel-body {
- color: #fffff6;
- border-color: #18181a;
- background-color: #232d38;
-}
-
-.x-tab-panel .x-panel-body {
- color: #fffff6;
- border-color: #18181a;
- background-color: #1f2730;
-}
-
-.x-panel-bbar .x-toolbar,.x-panel-tbar .x-toolbar {
- border-color: #223;
-}
-
-.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar {
- border-top-color: #223;
-}
-
-.x-panel-body-noheader,.x-panel-mc .x-panel-body {
- border-top-color: #223;
-}
-
-.x-panel-tl .x-panel-header {
- color: fff;
- font: bold 14px tahoma, arial, verdana, sans-serif;
-}
-
-.x-panel-tc {
- background-image: url(../images/panel/top-bottom.gif);
-}
-
-.x-panel-tl,.x-panel-tr,.x-panel-bl,.x-panel-br {
- background-image: url(../images/panel/corners-sprite.gif);
- border-bottom-color: #222224;
-}
-
-.x-panel-bc {
- background-image: url(../images/panel/top-bottom.gif);
-}
-
-.x-panel-mc {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- background-color: #3f4757;
-}
-
-.x-panel-ml {
- background-image: url(../images/panel/left-right.gif);
-}
-
-.x-panel-mr {
- background-image: url(../images/panel/left-right.gif);
-}
-
-.x-tool {
- background-image: url(../images/panel/tool-sprites.gif);
-}
-
-.x-tool-resize {
-background-position:0 -360px;
-}
-
-.x-tool-resize-over {
-background-position:-15px -360px;
-}
-
-.x-tool-move {
-background-position:0 -375px;
-}
-
-.x-tool-move-over {
-background-position:-15px -375px;
-}
-
-.x-panel-ghost {
- background-color: #3f4757;
-}
-
-.x-panel-ghost ul {
- border-color: #18181a;
-}
-
-.x-panel-dd-spacer {
- border-color: #18181a;
-}
-
-.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-window-proxy {
- background-color: #1f2833;
- border-color: #18181a;
-}
-
-.x-window-tl .x-window-header {
- color: #fff !important;
- font: bold 14px tahoma, arial, verdana, sans-serif;
-}
-
-.x-window-tc {
- background-image: url(../images/window/top-bottom.png);
-}
-
-.x-window-tl {
- background-image: url(../images/window/left-corners.png);
-}
-
-.x-window-tr {
- background-image: url(../images/window/right-corners.png);
-}
-
-.x-window-bc {
- background-image: url(../images/window/top-bottom.png);
-}
-
-.x-window-bl {
- background-image: url(../images/window/left-corners.png);
-}
-
-.x-window-br {
- background-image: url(../images/window/right-corners.png);
-}
-
-.x-window-mc {
- border-color: #18181a;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- background-color: #1f2833;
-}
-
-.x-window-ml {
- background-image: url(../images/window/left-right.png);
-}
-
-.x-window-mr {
- background-image: url(../images/window/left-right.png);
-}
-
-.x-window-maximized .x-window-tc {
- background-color: #fff;
-}
-
-.x-window-bbar .x-toolbar {
- border-top-color: #323945;
-}
-
-.x-panel-ghost .x-window-tl {
- border-bottom-color: #323945;
-}
-
-.x-panel-collapsed .x-window-tl {
- border-bottom-color: #323945;
-}
-
-.x-dlg-mask {
- background-color: #ccc;
-}
-
-.x-window-plain .x-window-mc {
- background-color: #464f61;
- border-color: #636778;
-}
-
-.ext-ie .x-window-plain .x-window-mc {
- background-color: #3f4757;
-}
-
-.x-window-plain .x-window-body {
- color: #fffff6;
- border-color: #464F61;
-}
-
-body.x-body-masked .x-window-plain .x-window-mc {
- background-color: #464f61;
-}
-
-.x-html-editor-wrap {
- border-color: #737B8C;
- background-color: #fff;
-}
-
-.x-html-editor-wrap iframe {
- background-color: #fff;
-}
-
-.x-panel-noborder .x-panel-header-noborder {
- border-bottom-color: #343d4e;
-}
-
-.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
- border-bottom-color: #343d4e;
-}
-
-.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
- border-top-color: #343d4e;
-}
-
-.x-tab-panel-bbar-noborder .x-toolbar {
- border-top-color: #343d4e;
-}
-
-.x-tab-panel-tbar-noborder .x-toolbar {
- border-bottom-color: #343d4e;
-}
-
-.x-border-layout-ct {
- background-color: #3f4757;
-}
-
-.x-accordion-hd {
- color: #fff;
- font-weight: normal;
- background-image: url(../images/panel/light-hd.gif);
-}
-
-.x-layout-collapsed {
- background-color: #323845;
- border-color: #1a1a1c;
-}
-
-.x-layout-collapsed-over {
- background-color: #2d3440;
-}
-
-.x-layout-split-west .x-layout-mini {
- background-image: url(../images/default/layout/mini-left.gif);
-}
-
-.x-layout-split-east .x-layout-mini {
- background-image: url(../images/default/layout/mini-right.gif);
-}
-
-.x-layout-split-north .x-layout-mini {
- background-image: url(../images/default/layout/mini-top.gif);
-}
-
-.x-layout-split-south .x-layout-mini {
- background-image: url(../images/default/layout/mini-bottom.gif);
-}
-
-.x-layout-cmini-west .x-layout-mini {
- background-image: url(../images/default/layout/mini-right.gif);
-}
-
-.x-layout-cmini-east .x-layout-mini {
- background-image: url(../images/default/layout/mini-left.gif);
-}
-
-.x-layout-cmini-north .x-layout-mini {
- background-image: url(../images/default/layout/mini-bottom.gif);
-}
-
-.x-layout-cmini-south .x-layout-mini {
- background-image: url(../images/default/layout/mini-top.gif);
-}
-
-.x-progress-wrap {
- border-color: #18181a;
-}
-
-.x-progress-inner {
- background-color: #232d38;
- background-image: none;
-}
-
-.x-progress-bar {
- background-color: #f39a00;
- background-image: url(../images/progress/progress-bg.gif);
- border-top-color: #a66900;
- border-bottom-color: #a66900;
- border-right-color: #ffb941;
-}
-
-.x-progress-text {
- font-size: 14px;
- font-weight: bold;
- color: #fff;
-}
-
-.x-progress-text-back {
- color: #aaa;
- line-height: 11px;
-}
-
-.x-list-header {
- background-color: #393d4e;
- background-image: url(../images/toolbar/bg.gif);
- background-position: 0 top;
-}
-
-.x-list-header-inner div em {
- border-left-color: #667;
- font: normal 14px arial, tahoma, helvetica, sans-serif;
- line-height: 14px;
-}
-
-.x-list-body dt em {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-list-over {
- background-color: #eee;
-}
-
-.x-list-selected {
- background-color: #dfe8f6;
- font-weight: bold;
-}
-
-.x-list-resizer {
- border-left-color: #555;
- border-right-color: #555;
-}
-
-.x-list-header-inner em.sort-asc,.x-list-header-inner em.sort-desc {
- background-image: url(../images/grid/sort-hd.gif);
- border-color: #3e4e6c;
-}
-
-.x-slider-input {
- color: black;
-}
-
-.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner {
- background-image: url(../images/slider/slider-bg.png);
-}
-
-.x-slider-horz .x-slider-thumb {
- background-image: url(../images/slider/slider-thumb.png);
-}
-
-.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner {
- background-image: url(../images/slider/slider-v-bg.png);
-}
-
-.x-slider-vert .x-slider-thumb {
- background-image: url(../images/slider/slider-v-thumb.png);
-}
-
-.x-window-dlg .ext-mb-text,.x-window-dlg .x-window-header-text {
- font-size: 15px;
-}
-
-.x-window-dlg .ext-mb-textarea {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
-}
-
-.x-window-dlg .x-msg-box-wait {
- background-image: url(../images/grid/loading.gif);
-}
-
-.x-window-dlg .ext-mb-info {
- background-image: url(../images/window/icon-info.gif);
-}
-
-.x-window-dlg .ext-mb-warning {
- background-image: url(../images/window/icon-warning.gif);
-}
-
-.x-window-dlg .ext-mb-question {
- background-image: url(../images/window/icon-question.gif);
-}
-
-.x-window-dlg .ext-mb-error {
- background-image: url(../images/window/icon-error.gif);
-}
-
-.x-border {
- border: 1px solid #18181a;
-}
-
-.x-grid3-hd-row .x-grid3-hd {
- border-left-color: #555566;
- border-right-color: black;
-}
-
-.x-grid3-row {
- border-color: #1f2933 black black;
-}
-
-.x-grid3-row-checker,.x-grid3-hd-checker {
- background-image: url(../images/grid/row-check-sprite.gif);
-}
-
-.x-grid3-footer {
- background: none repeat scroll 0 0 black;
- border-bottom: 1px solid #393c4c;
- border-top: 1px solid #393c4c;
-}
-
-.x-grid3-footer-row {
- background: none repeat scroll 0 0 black;
-}
-
-.x-tree3 {
- background-color: #232D38;
-}
-
-.x-tree3-node-text {
- color: white;
-}
-
-.x-tree3-node {
- color: white;
- font: normal 14px arial, tahoma, helvetica, sans-serif;
-}
-
-.x-tree3-node .x-ftree2-node-over {
- background-color: #7e5530 !important;
-}
-
-.x-tree3-node .x-ftree2-selected {
- background-color: #e5872c !important;
- font-weight: bold;
- color: black !important;
-}
-
-.x-tree3-node .x-ftree2-selected .x-tree3-node-text {
- color: black !important;
-}
-
-.x-view,x-combo-list {
- background-color: #232D38;
-}
-
-.x-view {
- border: 1px solid #18181a;
-}
-
-.x-view-highlightrow {
- border: 1px dotted #e5872c !important;
- background-color: #666360;
- text-decoration: underline;
-}
-
-.x-view-item,.x-combo-list-item {
- border: 1px solid black !important;
- border-top: 1px solid #232D38 !important;
-}
-
-.x-view-item-over,.x-combo-over {
- background: #7e5530;
- border: 1px dotted #e5872c !important;
-}
-
-.x-view-item-sel,.x-combo-selected {
- background: #e5872c none repeat scroll 0%;
- border: 1px dotted #e5872c !important;
- font-weight: bold;
- color: black !important;
-}
-
-
-
-.x-date-left-icon {
- background-image: url(../images/shared/left-btn.gif);
-}
-
-.x-date-right-icon {
- background-image: url(../images/shared/right-btn.gif);
-}
-
-.x-date-days td {
- background: url(../images/shared/glass-bg.gif) 0px -5px;
- color: white;
-}
-
-.x-date-mp-btns button {
- background-color: #282f40;
- color: #fff;
- border-color: #1b1d29;
-}
-
-.x-grid-group-hd .x-grid-group-div {
- color: white;
-}
-
-.x-grid3-summary-row {
- background: none repeat scroll 0 50% #21252e !important;
-}
-
-.x-status-text-panel {
- border-color: black #fff #fff black !important;
-}
-
-.x-menubar {
- border-color: black;
- background-color: #d0def0;
- background-image: url(../images/toolbar/bg.gif);
-}
-
-.x-menubar-item-active {
- background-color: #e5872c;
-}
-
-.x-drag-proxy {
- background-color: #3f4757;
- border: 1px solid black;
-}
-
-.x-grid3-hd-row .x-grid3-hd,.x-grid3-row .x-grid3-cell,.x-grid3-summary-row .x-grid3-cell {
- font: 12px arial, tahoma, helvetica, sans-serif !important;
-}
-
-.x-grid3-row-selected,.x-grid3-row-selected .x-grid3-cell {
- font-weight: bold !important;
-}
-
-.x-tree3-node-text {
- font: 12px arial, tahoma, helvetica, sans-serif;
- font-weight: bold;
-}
-
-.x-tree3-node .x-ftree2-selected {
- font-weight: bold !important;
-}
-
-.x-grid3-row-selected .x-tree3-node-text {
- color: black !important;
-}
-
-.x-contrast .x-ftree2-selected .x-tree3-node-text {
- font-style: italic;
- text-decoration: underline;
-}
-
-.x-aria-focusframe-side {
- background-color: #ff8800;
-}
-
-.x-contrast .x-grid3-cell-selected {
- font-weight: bold !important;
- font-style: italic !important;
- font-size: 13px !important;
-}
-
-.x-contrast .x-grid3-row-selected x-tree3-node-text,.x-contrast .x-grid3-row-selected .x-tree3-node-text {
- font-weight: bold !important;
- font-style: italic !important;
- font-size: 13px !important;
-}
-
-.x-contrast .x-column-header-sel {
- font-style: italic !important;
- font-weight: bold !important;
-}
-
-.x-contrast .x-btn-tr i,.x-contrast .x-btn-tl i,.x-contrast .x-btn-mr i,.x-contrast .x-btn-ml i,.x-contrast .x-btn-br i,.x-contrast .x-btn-bl i
- {
- width: auto;
-}
-
-.x-contrast .x-btn-menu .x-btn-mr i:before {
- content: url(../images/button/arrow.gif);
-}
-
-.x-contrast .x-slider-thumb i:before {
- content: url(../images/slider/slider-thumb-single.png);
-}
-
-.x-contrast .x-slider {
- border: 1px solid yellow;
-}
-
-.x-contrast .x-form-trigger:after {
- content: url(../images/form/trigger-single.gif);
-}
-
-.x-contrast .x-panel {
- border: 1px solid yellow !important;
-}
-
-.x-contrast .x-btn {
- border: 1px solid yellow !important;
-}
-
-.x-contrast .x-grid3 .sort-asc span:after {
- content: url(../images/grid/sort_asc.gif);
- position: absolute;
- top: 8px;
-}
-
-.x-contrast .x-grid3 .sort-desc span:after {
- content: url(../images/grid/sort_desc.gif);
- position: absolute;
- top: 8px;
-}
-
-.x-contrast .x-menu-check-item:before {
- content: url(../images/grid/row-check.gif);
- position: relative;
- left: 0px;
-}
-
-.x-contrast .x-menu-checked:before {
- content: url(../images/grid/row-check-sel.gif);
- float: left;
-}
-
-.x-contrast .x-menu-item-radio:before {
- content: none;
- position: relative;
- left: 0px;
-}
-
-.x-contrast .x-menu-radio-sel:before {
- content: url(../images/menu/group-checked.gif);
- float: left;
-}
-
-.x-contrast .x-grid-group .x-grid3-group-selected .x-grid-group-div {
- font-weight: bold !important;
- font-style: italic !important;
-}
-
-.x-contrast .x-grid-group-div:before {
- content: url(../images/grid/group-expand.gif);
- padding-right: 5px;
-}
-
-.x-contrast .x-grid-group-collapsed .x-grid-group-div:before {
- content: url(../images/grid/group-collapse.gif);
- padding-right: 5px;
-}
-
-.x-contrast .x-grid3-row-collapsed .x-grid3-row-expander:after {
- content: url(../images/grid/group-expand.gif);
-}
-
-.x-contrast .x-grid3-row-expanded .x-grid3-row-expander:after {
- content: url(../images/grid/group-collapse.gif);
-}
-
-.x-contrast .x-grid3-row-checker:after, .x-contrast .x-grid3-hd-checker:after {
- content: url(../images/grid/row-check.gif);
-}
-
-.x-contrast .x-grid3-row-selected .x-grid3-row-checker:after, .x-contrast .x-grid3-hd-checker-on .x-grid3-hd-checker:after {
- content: url(../images/grid/row-check-sel.gif);
-}
-
-.x-contrast .x-tool-close i:before {
- content: url(../images/panel/tool-close.gif);
-}
-
-.x-contrast .x-tool-gear i:before {
- content: url(../images/panel/tool-gear.gif);
-}
-
-.x-contrast .x-tool-toggle i:before {
- content: url(../images/panel/tool-collapse.gif);
-}
-
-.x-contrast .x-panel-collapsed .x-tool-toggle i:before {
- content: url(../images/panel/tool-expand.gif);
-}
-
-.x-contrast .x-tool-maximize i:before {
- content: url(../images/panel/tool-maximize.gif);
-}
-
-.x-contrast .x-tool-minimize i:before {
- content: url(../images/panel/tool-minimize.gif);
-}
-
-.x-contrast .x-tree3-node-joint-expand .x-tree3-node-text:before {
- content: url(../images/tree/tree-expanded.png);
- position: absolute;
- left: -25px;
-}
-
-.x-contrast .x-tree3-node-joint-collapse .x-tree3-node-text:before {
- content: url(../images/tree/tree-collapsed.png);
- position: absolute;
- left: -25px;
-}
-
-.x-contrast .arrow-up i:before {
- content: url(../images/icons/top2.gif);
-}
-
-.x-contrast .arrow-double-right i:before {
- content: url(../images/icons/doubleright2.gif);
-}
-
-.x-contrast .arrow-right i:before {
- content: url(../images/icons/right2.gif);
-}
-
-.x-contrast .arrow-left i:before {
- content: url(../images/icons/left2.gif);
-}
-
-.x-contrast .arrow-double-left i:before {
- content: url(../images/icons/doubleleft2.gif);
-}
-
-.x-contrast .arrow-double-right i:before {
- content: url(../images/icons/doubleright2.gif);
-}
-
-.x-contrast .arrow-down i:before {
- content: url(../images/icons/down2.gif);
-}
-
-.x-contrast .x-date-left-icon i:before {
- content: url(../images/shared/left-btn.gif);
-}
-
-.x-contrast .x-date-right-icon i:before {
- content: url(../images/shared/right-btn.gif);
-}
-
-.x-contrast .x-grid3-hd-btn:before {
- content: url("../images/grid/grid3-hd-btn-contrast.gif");
- border: 1px solid yellow;
-}
-
-.x-contrast .x-row-editor .x-btns {
- background-color: black;
-}
-
-.x-contrast .x-html-editor-wrap .x-btn-pressed button {
- border: 3px solid black;
-}
-
-.x-contrast .x-window, .x-contrast .x-info, .x-contrast .x-tip {
- background-color: black;
- border: 1px solid black;
-}
-
-.x-contrast .x-menu-item-arrow:before {
- content: url(../images/shared/right-btn.gif);
-}
-
-.x-contrast .x-menu-scroller-top:before {
- content: url("../images/layout/mini-top.gif");
- position: absolute;
- left: 45px;
-}
-
-.x-contrast .x-menu-scroller-bottom:before {
- content: url("../images/layout/mini-bottom.gif");
- position: absolute;
- left: 45px;
-}
-
-.x-spinner-field .x-form-twin-triggers .x-form-spinner-up{
- height: 11px;
-}
-.x-spinner-field .x-form-twin-triggers .x-form-spinner-down {
- height: 11px;
-}
-
-
-.x-spinner-field .x-form-twin-triggers .x-form-spinner-down {
- top:13px;
-}
-
-
-.x-spinner-field .x-form-spinner-up {
- background-image: url('../images/form/spinner.gif');
-}
-.x-spinner-field .x-form-spinner-down {
- background-image: url('../images/form/spinner.gif');
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-.x-spinner-field .x-form-spinner-down {
- background-position:0 -13px;
-}
-
-.x-trigger-wrap-focus .x-form-spinner-up {
- background-position:-100px 0;
-}
-
-.x-trigger-wrap-focus .x-form-spinner-down {
- background-position:-100px -13px;
-}
-
-.x-form-field-wrap .x-form-spinner-overup{
- background-position:-20px 0;
-}
-.x-form-field-wrap .x-form-spinner-clickup{
- background-position:-40px 0;
-}
-
-.x-trigger-wrap-focus .x-form-spinner-overup{
- background-position:-120px 0;
-}
-
-.x-trigger-wrap-focus .x-form-spinner-clickup{
- background-position:-140px 0;
-}
-
-.x-form-field-wrap .x-form-spinner-overdown{
- background-position:-60px -13px;
-}
-.x-form-field-wrap .x-form-spinner-clickdown{
- background-position:-80px -13px;
-}
-.x-trigger-wrap-focus .x-form-spinner-overdown{
- background-position:-160px -13px;
-}
-.x-trigger-wrap-focus .x-form-spinner-clickdown{
- background-position:-180px -13px;
-}
-
-
-.x-form-field-wrap .x-form-spinner-overup,
-.x-form-field-wrap .x-form-spinner-clickup{
- border-bottom-color: #d97e27;
-}
-.x-form-field-wrap .x-form-spinner-overdown,
-.x-form-field-wrap .x-form-spinner-clickdown{
- border-bottom-color: #d97e27;
-}
-
-.x-trigger-wrap-focus .x-form-spinner-down,
-.x-trigger-wrap-focus .x-form-spinner-up{
- border-bottom-color: #d97e27;
-}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,57 +1,57 @@
-body {
- background-color: #16181a;
- color: #fcfcfc;
+body { /* background-color: #16181a;
+ color: #fcfcfc; */
+
}
.ext-el-mask {
- background-color: #ccc;
+ background-color: #ccc;
}
.ext-el-mask-msg {
- border-color: #223;
- background-color: #3f4757;
- background-image: url(../images/box/tb-blue.gif);
+ border-color: #223;
+ background-color: #3f4757;
+ background-image: url(../images/box/tb-blue.gif);
}
.ext-el-mask-msg div {
- background-color: #232d38;
- border-color: #556;
- color: #fff;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
+ background-color: #232d38;
+ border-color: #556;
+ color: #fff;
+ font: normal 14px 'Ubuntu', Arial
}
.x-mask-loading div {
- background-color: #232d38;
- background-image: url(../images/grid/loading.gif);
+ background-color: #232d38;
+ background-image: url(../images/grid/loading.gif);
}
.x-item-disabled {
- color: #ddd;
+ color: #ddd;
}
.x-item-disabled * {
- color: #ddd !important;
+ color: #ddd !important;
}
.x-splitbar-proxy {
- background-color: #aaa;
+ background-color: #aaa;
}
.x-color-palette a {
- border-color: #fff;
+ border-color: #fff;
}
.x-color-palette a:hover,.x-color-palette a.x-color-palette-sel {
- border-color: #8bb8f3;
- background-color: #deecfd;
+ border-color: #8bb8f3;
+ background-color: #deecfd;
}
.x-color-palette em {
- border-color: #aca899;
+ border-color: #aca899;
}
.x-ie-shadow {
- background-color: #777;
+ background-color: #777;
}
/*
@@ -68,893 +68,915 @@
}
*/
.loading-indicator {
- font-size: 14px;
- background-image: url(../images/grid/loading.gif);
+ font-size: 14px;
+ background-image: url(../images/grid/loading.gif);
}
.x-spotlight {
- background-color: #ccc;
+ background-color: #ccc;
}
-.x-tab-panel-header,.x-tab-panel-footer {
- background-color: #e18325;
- border-color: #8db2e3;
- overflow: hidden;
- zoom: 1;
+.x-tab-panel-header,.x-tab-panel-footer { /* background-color: #e18325;
+ border-color: #8db2e3; */
+ overflow: hidden;
+ zoom: 1;
}
.x-tab-panel-header,.x-tab-panel-footer {
- border-color: #222;
+ border-color: #552200;
}
ul.x-tab-strip-top {
- background-color: #343843;
- background-image: url(../images/tabs/tab-strip-bg.gif);
- border-bottom-color: #343d4e;
+ background-color: #343843;
+ background-image: url(../images/tabs/tab-strip-bg.gif);
+ border-bottom-color: #343d4e;
}
ul.x-tab-strip-bottom {
- background-color: #343843;
- background-image: url(../images/tabs/tab-strip-btm-bg.gif);
- border-top-color: #343843;
+ background-color: #343843;
+ background-image: url(../images/tabs/tab-strip-btm-bg.gif);
+ border-top-color: #343843;
}
-.x-tab-panel-header-plain .x-tab-strip-spacer,.x-tab-panel-footer-plain .x-tab-strip-spacer {
- border-color: #222;
- background-color: #e18325;
+.x-tab-panel-header-plain .x-tab-strip-spacer,.x-tab-panel-footer-plain .x-tab-strip-spacer
+ {
+ border-color: #552200;
+ background-color: #e18325;
}
.x-tab-strip span.x-tab-strip-text {
- font: normal 14px tahoma, arial, helvetica;
- color: #fff;
+ font: normal 14px tahoma, arial, helvetica;
+ color: #fff;
}
.x-tab-strip-over span.x-tab-strip-text {
- color: #fff;
+ color: #fff;
}
.x-tab-strip-active span.x-tab-strip-text {
- color: black;
- font-weight: bold;
+ color: black;
+ font-weight: bold;
}
.x-tab-strip-disabled .x-tabs-text {
- color: #aaaaaa;
+ color: #aaaaaa;
}
-.x-tab-strip-top .x-tab-right,.x-tab-strip-top .x-tab-left,.x-tab-strip-top .x-tab-strip-inner {
- background-image: url(../images/tabs/tabs-sprite.gif);
+.x-tab-strip-top .x-tab-right,.x-tab-strip-top .x-tab-left,.x-tab-strip-top .x-tab-strip-inner
+ {
+ background-image: url(../images/tabs/tabs-sprite.gif);
}
.x-tab-strip-bottom .x-tab-right {
- background-image: url(../images/tabs/tab-btm-inactive-right-bg.gif);
+ background-image: url(../images/tabs/tab-btm-inactive-right-bg.gif);
}
.x-tab-strip-bottom .x-tab-left {
- background-image: url(../images/tabs/tab-btm-inactive-left-bg.gif);
+ background-image: url(../images/tabs/tab-btm-inactive-left-bg.gif);
}
.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
- background-image: url(../images/tabs/tab-btm-right-bg.gif);
+ background-image: url(../images/tabs/tab-btm-right-bg.gif);
}
.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
- background-image: url(../images/tabs/tab-btm-left-bg.gif);
+ background-image: url(../images/tabs/tab-btm-left-bg.gif);
}
.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
- background-image: url(../images/tabs/tab-close.gif);
+ background-image: url(../images/tabs/tab-close.gif);
}
.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover {
- background-image: url(../images/tabs/tab-close.gif);
+ background-image: url(../images/tabs/tab-close.gif);
}
.x-tab-panel-body {
- border-color: #18181a;
- background-color: #fff;
+ border-color: #18181a;
+ background-color: #fff;
}
.x-tab-panel-body-top {
- border-top: 0 none;
+ border-top: 0 none;
}
.x-tab-panel-body-bottom {
- border-bottom: 0 none;
+ border-bottom: 0 none;
}
.x-tab-scroller-left {
- background-image: url(../images/tabs/scroll-left.gif);
- border-bottom-color: #8db2e3;
+ background-image: url(../images/tabs/scroll-left.gif);
+ border-bottom-color: #8db2e3;
}
.x-tab-scroller-left-over {
- background-position: 0 0;
+ background-position: 0 0;
}
.x-tab-scroller-left-disabled {
- background-position: -18px 0;
- opacity: .5;
- -moz-opacity: .5;
- filter: alpha(opacity = 50);
- cursor: default;
+ background-position: -18px 0;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter: alpha(opacity = 50);
+ cursor: default;
}
.x-tab-scroller-right {
- background-image: url(../images/tabs/scroll-right.gif);
- border-bottom-color: #8db2e3;
+ background-image: url(../images/tabs/scroll-right.gif);
+ border-bottom-color: #8db2e3;
}
.x-tab-panel-bbar .x-toolbar,.x-tab-panel-tbar .x-toolbar {
- border-color: #99bbe8;
+ border-color: #99bbe8;
}
.x-form-field {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
+ font: normal 15px 'Ubuntu', Arial
}
-.x-form-text,textarea.x-form-field {
- color: #ffffff;
- background-color: #33373d;
- background-image: url(../images/form/text-bg.gif);
- border-color: #737b8c;
- border-width: 2px;
+.x-form-text,textarea.x-form-field { /* color: #ffffff;
+ background-color: #33373d;
+ background-image: url(../images/form/text-bg.gif); */
+ border-color: #737b8c;
+ border-width: 2px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
}
.x-form-text,.ext-ie .x-form-file {
- height: 26px;
+ height: 26px;
}
.ext-strict .x-form-text {
- height: 20px;
+ height: 20px;
}
.x-form-select-one {
- background-color: #fff;
- border-color: #b5b8c8;
+ background-color: #fff;
+ border-color: #b5b8c8;
}
.x-form-check-group-label {
- border-bottom: 1px solid #99bbe8;
- color: #fff;
+ border-bottom: 1px solid #99bbe8;
+ color: #fff;
}
.x-editor .x-form-check-wrap {
- background-color: #fff;
+ background-color: #fff;
}
.x-form-field-wrap .x-form-trigger {
- background-image: url(../images/form/trigger.gif);
- border-bottom-color: #737b8c;
- border-bottom-width: 2px;
- height: 24px;
- width: 20px;
+ background-image: url(../images/form/trigger.gif);
+ border-bottom-color: #737b8c;
+ border-bottom-width: 2px;
+ height: 24px;
+ width: 20px;
}
.x-form-field-wrap .x-form-trigger.x-form-trigger-over {
- border-bottom-color: #d97e27;
+ border-bottom-color: #d97e27;
}
.x-form-field-wrap .x-form-trigger.x-form-trigger-click {
- border-bottom-color: #c86e19;
+ border-bottom-color: #c86e19;
}
.x-small-editor .x-form-field-wrap .x-form-trigger {
- height: 20px;
+ height: 20px;
}
.x-form-field-wrap .x-form-trigger-over {
- background-position: -20px 0;
+ background-position: -20px 0;
}
.x-form-field-wrap .x-form-trigger-click {
- background-position: -40px 0;
+ background-position: -40px 0;
}
.x-trigger-wrap-focus .x-form-trigger {
- background-position: -60px 0;
+ background-position: -60px 0;
}
.x-trigger-wrap-focus .x-form-trigger-over {
- background-position: -80px 0;
+ background-position: -80px 0;
}
.x-trigger-wrap-focus .x-form-trigger-click {
- background-position: -100px 0;
+ background-position: -100px 0;
}
.x-form-field-wrap .x-form-date-trigger {
- background-image: url(../images/form/date-trigger.gif);
+ background-image: url(../images/form/date-trigger.gif);
}
.x-form-field-wrap .x-form-clear-trigger {
- background-image: url(../images/form/clear-trigger.gif);
+ background-image: url(../images/form/clear-trigger.gif);
}
.x-form-field-wrap .x-form-search-trigger {
- background-image: url(../images/form/search-trigger.gif);
+ background-image: url(../images/form/search-trigger.gif);
}
.x-trigger-wrap-focus .x-form-trigger {
- border-bottom-color: #737b8c;
+ border-bottom-color: #737b8c;
}
.x-item-disabled .x-form-trigger-over {
- border-bottom-color: #b5b8c8;
+ border-bottom-color: #b5b8c8;
}
.x-item-disabled .x-form-trigger-click {
- border-bottom-color: #b5b8c8;
+ border-bottom-color: #b5b8c8;
}
.x-form-focus,textarea.x-form-focus {
- border-color: #ff9c33;
+ border-color: #ff9c33;
}
.x-form-invalid,textarea.x-form-invalid {
- background-color: #15171a;
- background-image: url(../images/grid/invalid_line.gif);
- border-color: #c30;
+ /*background-color: #15171a; */
+ background-image: url(../images/grid/invalid_line.gif);
+ border-color: #c30;
}
.ext-safari .x-form-invalid {
- background-color: #fee;
- border-color: #ff7870;
+ background-color: #fee;
+ border-color: #ff7870;
}
.x-form-inner-invalid,textarea.x-form-inner-invalid {
- background-color: #fff;
- background-image: url(../images/grid/invalid_line.gif);
+ background-color: #fff;
+ background-image: url(../images/grid/invalid_line.gif);
}
.x-form-grow-sizer {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
+ font: normal 15px 'Ubuntu', Arial
}
.x-form-item {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
+ font: normal 15px 'Ubuntu', Arial
}
-
+/*
.x-form-invalid-msg {
- color: #c0272b;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- background-image: url(../images/default/shared/warning.gif);
+ color: #c0272b;
+ font: normal 14px 'Ubuntu', Arial background-image :
+ url(../images/default/shared/warning.gif);
}
-
+*/
.x-form-empty-field {
- color: #dadadd;
+ color: #dadadd;
}
.x-small-editor .x-form-text {
- height: 22px;
+ height: 22px;
}
.x-small-editor .x-form-field {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.ext-safari .x-small-editor .x-form-field {
- font: normal 15px arial, tahoma, helvetica, sans-serif;
+ font: normal 15px arial, tahoma, helvetica, sans-serif;
}
.x-form-invalid-icon {
- background-image: url(../images/form/exclamation.gif);
- height: 25px;
- width: 19px;
- background-position: center right;
+ background-image: url(../images/form/exclamation.gif);
+ height: 25px;
+ width: 19px;
+ background-position: center right;
}
.x-fieldset {
- border-color: #737B8C;
- color: white !important;
+ border-color: #737B8C;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ /* color: white !important; */
}
.x-fieldset legend {
- font: bold 14px tahoma, arial, helvetica, sans-serif;
- color: white !important;
+ font: bold 14px 'Ubuntu', Arial color : white !important;
}
.x-btn {
- font: normal 14px tahoma, verdana, helvetica;
+ font: normal 13px
}
.x-btn button {
- font: normal 14px arial, tahoma, verdana, helvetica;
- color: #fffffa;
- padding-left: 6px !important;
- padding-right: 6px !important;
+ font: normal 13px 'Ubuntu', Arial color : #fffffa;
+ padding-left: 6px !important;
+ padding-right: 6px !important;
}
-.x-btn-over .x-btn button {
- color: #fff;
+.x-btn-over .x-btn button { /* color: #fff; */
+
}
.x-btn-noicon .x-btn-small .x-btn-text,.x-btn-text-icon .x-btn-icon-small-left .x-btn-text,.x-btn-icon .x-btn-small .x-btn-text,.x-btn-text-icon .x-btn-icon-small-right .x-btn-text
- {
- height: 23px; /* 18px; */
+ {
+ height: 23px; /* 18px; */
}
.x-btn-icon .x-btn-small .x-btn-text {
- width: 23px; /* 18px; */
+ width: 23px; /* 18px; */
}
.x-btn-text-icon .x-btn-icon-small-left .x-btn-text {
- padding-left: 21px !important;
+ padding-left: 21px !important;
}
.x-btn-text-icon .x-btn-icon-small-right .x-btn-text {
- padding-right: 21px !important;
+ padding-right: 21px !important;
}
.x-btn-text-icon .x-btn-icon-medium-left .x-btn-text {
- padding-left: 29px !important;
+ padding-left: 29px !important;
}
.x-btn-text-icon .x-btn-icon-medium-right .x-btn-text {
- padding-right: 29px !important;
+ padding-right: 29px !important;
}
.x-btn-text-icon .x-btn-icon-large-left .x-btn-text {
- padding-left: 37px !important;
+ padding-left: 37px !important;
}
.x-btn-text-icon .x-btn-icon-large-right .x-btn-text {
- padding-right: 37px !important;
+ padding-right: 37px !important;
}
.x-btn em {
- font-style: normal;
- font-weight: normal;
+ font-style: normal;
+ font-weight: normal;
}
-.x-btn-tl,.x-btn-tr,.x-btn-tc,.x-btn-ml,.x-btn-mr,.x-btn-mc,.x-btn-bl,.x-btn-br,.x-btn-bc {
- background-image: url(../images/button/btn.gif);
+.x-btn-tl,.x-btn-tr,.x-btn-tc,.x-btn-ml,.x-btn-mr,.x-btn-mc,.x-btn-bl,.x-btn-br,.x-btn-bc
+ { /* background-image: url(../images/button/btn.gif); */
+ padding: 2px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ /* text-decoration: none;
+ vertical-align: middle;
+ background-color: #F2F2F2;*/
+ background-image: none;
}
-.x-btn-click .x-btn-text,.x-btn-menu-active .x-btn-text,.x-btn-pressed .x-btn-text {
- color: #fff;
+.x-btn-click .x-btn-text,.x-btn-menu-active .x-btn-text,.x-btn-pressed .x-btn-text
+ {
+ color: orange;
}
.x-btn-pressed .x-btn-text {
- font-style: italic;
- text-decoration: underline;
- font-weight: bold;
- color: black !important;
+ font-style: italic;
+ text-decoration: underline;
+ font-weight: bold;
+ color: black !important;
}
.x-btn-disabled * {
- color: #eee !important;
+ color: #eee !important;
}
.x-btn-mc em.x-btn-arrow {
- background-image: url(../images/button/arrow.gif);
- padding-right: 13px;
+ background-image: url(../images/button/arrow.gif);
+ padding-right: 13px;
}
.x-btn-mc em.x-btn-split {
- background-image: url(../images/button/s-arrow.gif);
- padding-right: 20px;
+ background-image: url(../images/button/s-arrow.gif);
+ padding-right: 20px;
}
.x-contrast .x-btn-mc em.x-btn-split {
- padding-right: 0px;
+ padding-right: 0px;
}
.x-btn-over .x-btn-mc em.x-btn-split,.x-btn-click .x-btn-mc em.x-btn-split,.x-btn-menu-active .x-btn-mc em.x-btn-split,.x-btn-pressed .x-btn-mc em.x-btn-split
- {
- background-image: url(../images/button/s-arrow-o.gif);
+ {
+ background-image: url(../images/button/s-arrow-o.gif);
}
.x-btn-mc em.x-btn-arrow-bottom {
- background-image: url(../images/button/s-arrow-b-noline.gif);
+ background-image: url(../images/button/s-arrow-b-noline.gif);
}
.x-btn-mc em.x-btn-split-bottom {
- background-image: url(../images/button/s-arrow-b.gif);
+ background-image: url(../images/button/s-arrow-b.gif);
}
.x-btn-over .x-btn-mc em.x-btn-split-bottom,.x-btn-click .x-btn-mc em.x-btn-split-bottom,.x-btn-menu-active .x-btn-mc em.x-btn-split-bottom,.x-btn-pressed .x-btn-mc em.x-btn-split-bottom
- {
- background-image: url(../images/button/s-arrow-bo.gif);
+ {
+ background-image: url(../images/button/s-arrow-bo.gif);
}
.x-btn-group-header {
- color: #d2d2d2;
+ color: #d2d2d2;
}
.x-btn-group-tc {
- background-image: url(../images/button/group-tb.gif);
+ background-image: url(../images/button/group-tb.gif);
}
.x-btn-group-tl {
- background-image: url(../images/button/group-cs.gif);
+ background-image: url(../images/button/group-cs.gif);
}
.x-btn-group-tr {
- background-image: url(../images/button/group-cs.gif);
+ background-image: url(../images/button/group-cs.gif);
}
.x-btn-group-bc {
- background-image: url(../images/button/group-tb.gif);
+ background-image: url(../images/button/group-tb.gif);
}
.x-btn-group-bl {
- background-image: url(../images/button/group-cs.gif);
+ background-image: url(../images/button/group-cs.gif);
}
.x-btn-group-br {
- background-image: url(../images/button/group-cs.gif);
+ background-image: url(../images/button/group-cs.gif);
}
.x-btn-group-ml {
- background-image: url(../images/button/group-lr.gif);
+ background-image: url(../images/button/group-lr.gif);
}
.x-btn-group-mr {
- background-image: url(../images/button/group-lr.gif);
+ background-image: url(../images/button/group-lr.gif);
}
.x-btn-group-notitle .x-btn-group-tc {
- background-image: url(../images/button/group-tb.gif);
+ background-image: url(../images/button/group-tb.gif);
}
.x-toolbar {
- border-color: #18181a;
- background-color: #393d4e;
- background-image: url(../images/toolbar/bg.gif);
+ border-color: #18181a;
+ background-color: #393d4e;
+ background-image: url(../images/toolbar/bg.gif);
}
-.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label
+ {
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-toolbar .x-item-disabled {
- color: gray;
+ color: gray;
}
.x-toolbar .x-item-disabled * {
- color: gray;
+ color: gray;
}
.x-toolbar .x-btn-mc em.x-btn-split {
- background-image: url(../images/button/s-arrow-noline.gif);
+ background-image: url(../images/button/s-arrow-noline.gif);
}
.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split
- {
- background-image: url(../images/button/s-arrow-o.gif);
+ {
+ background-image: url(../images/button/s-arrow-o.gif);
}
.x-toolbar .x-btn-mc em.x-btn-split-bottom {
- background-image: url(../images/button/s-arrow-b-noline.gif);
+ background-image: url(../images/button/s-arrow-b-noline.gif);
}
.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom
- {
- background-image: url(../images/button/s-arrow-bo.gif);
+ {
+ background-image: url(../images/button/s-arrow-bo.gif);
}
.x-toolbar .xtb-sep {
- background-image: url(../images/grid/grid-blue-split.gif);
+ background-image: url(../images/grid/grid-blue-split.gif);
}
.x-toolbar .x-btn {
- padding-left: 3px;
- padding-right: 3px;
+ padding-left: 3px;
+ padding-right: 3px;
}
.x-toolbar .x-btn-mc em.x-btn-arrow {
- padding-right: 10px;
+ padding-right: 10px;
}
.x-toolbar .x-btn-text-icon .x-btn-icon-small-left .x-btn-text {
- padding-left: 18px !important;
+ padding-left: 18px !important;
}
.x-toolbar .x-btn-mc em.x-btn-split {
- padding-right: 14px;
+ padding-right: 14px;
}
.x-tbar-page-first {
- background-image: url(../images/grid/page-first.gif) !important;
+ background-image: url(../images/grid/page-first.gif) !important;
}
.x-tbar-loading {
- background-image: url(../images/grid/refresh.gif) !important;
+ background-image: url(../images/grid/refresh.gif) !important;
}
.x-tbar-page-last {
- background-image: url(../images/grid/page-last.gif) !important;
+ background-image: url(../images/grid/page-last.gif) !important;
}
.x-tbar-page-next {
- background-image: url(../images/grid/page-next.gif) !important;
+ background-image: url(../images/grid/page-next.gif) !important;
}
.x-tbar-page-prev {
- background-image: url(../images/grid/page-prev.gif) !important;
+ background-image: url(../images/grid/page-prev.gif) !important;
}
.x-item-disabled .x-tbar-loading {
- background-image: url(../images/grid/loading.gif) !important;
+ background-image: url(../images/grid/loading.gif) !important;
}
.x-item-disabled .x-tbar-page-first {
- background-image: url(../images/grid/page-first-disabled.gif) !important;
+ background-image: url(../images/grid/page-first-disabled.gif) !important;
}
.x-item-disabled .x-tbar-page-last {
- background-image: url(../images/grid/page-last-disabled.gif) !important;
+ background-image: url(../images/grid/page-last-disabled.gif) !important;
}
.x-item-disabled .x-tbar-page-next {
- background-image: url(../images/grid/page-next-disabled.gif) !important;
+ background-image: url(../images/grid/page-next-disabled.gif) !important;
}
.x-item-disabled .x-tbar-page-prev {
- background-image: url(../images/grid/page-prev-disabled.gif) !important;
+ background-image: url(../images/grid/page-prev-disabled.gif) !important;
}
.x-paging-info {
- color: #444;
+ color: #444;
}
.x-toolbar-more-icon {
- background-image: url(../images/toolbar/more.gif) !important;
+ background-image: url(../images/toolbar/more.gif) !important;
}
.x-statusbar .x-status-busy {
- background-image: url(../images/grid/loading.gif);
+ background-image: url(../images/grid/loading.gif);
}
.x-statusbar .x-status-text-panel {
- border-color: #99bbe8 #fff #fff #99bbe8;
+ border-color: #99bbe8 #fff #fff #99bbe8;
}
.x-resizable-handle {
- background-color: #fff;
- color: #000;
+ background-color: #fff;
+ color: #000;
}
.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west
- {
- background-image: url(../images/sizer/e-handle.gif);
+ {
+ background-image: url(../images/sizer/e-handle.gif);
}
.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south,.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north
- {
- background-image: url(../images/sizer/s-handle.gif);
+ {
+ background-image: url(../images/sizer/s-handle.gif);
}
-.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north {
- background-image: url(../images/sizer/s-handle.gif);
+.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north
+ {
+ background-image: url(../images/sizer/s-handle.gif);
}
-.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast {
- background-image: url(../images/sizer/se-handle.gif);
+.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast
+ {
+ background-image: url(../images/sizer/se-handle.gif);
}
-.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest {
- background-image: url(../images/sizer/nw-handle.gif);
+.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest
+ {
+ background-image: url(../images/sizer/nw-handle.gif);
}
-.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast {
- background-image: url(../images/sizer/ne-handle.gif);
+.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast
+ {
+ background-image: url(../images/sizer/ne-handle.gif);
}
-.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest {
- background-image: url(../images/sizer/sw-handle.gif);
+.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest
+ {
+ background-image: url(../images/sizer/sw-handle.gif);
}
.x-resizable-proxy {
- border-color: #3b5a82;
+ border-color: #3b5a82;
}
.x-resizable-overlay {
- background-color: #fff;
+ background-color: #fff;
}
.x-grid3 {
- background-color: #1f2933;
+ background-color: #1f2933;
}
-.x-grid-panel .x-panel-mc .x-panel-body {
- border-color: #223;
+.x-grid-panel .x-panel-mc .x-panel-body { /* border-color: #223; */
+
}
.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-grid3-hd-row td {
- border-left-color: #556;
- border-right-color: #223;
+ border-left-color: #556;
+ border-right-color: #223;
}
.x-grid-row-loading {
- background-color: #fff;
- background-image: url(../images/default/shared/loading-balls.gif);
+ background-color: #fff;
+ background-image: url(../images/default/shared/loading-balls.gif);
}
.x-grid3-row {
- border-bottom: 1px solid #111;
+ border-bottom: 1px solid #111;
}
.x-grid3-row-alt {
- background-color: #1b232b;
+ background-color: #1b232b;
}
.x-grid3-row-over {
- background-color: #7e5530;
- background-image: none;
+ background-color: #7e5530;
+ background-image: none;
}
.x-grid3-resize-proxy {
- background-color: #777;
+ background-color: #777;
}
.x-grid3-resize-marker {
- background-color: #777;
+ background-color: #777;
}
.x-grid3-header {
- background-color: #3b3f50;
- background-image: url(../images/grid/grid3-hrow.gif);
+ background-color: #3b3f50;
+ background-image: url(../images/grid/grid3-hrow.gif);
}
.x-grid3-header-pop {
- border-left-color: #d0d0d0;
+ border-left-color: #d0d0d0;
}
.x-grid3-header-pop-inner {
- border-left-color: #eee;
- background-image: url(../images/default/grid/hd-pop.gif);
+ border-left-color: #eee;
+ background-image: url(../images/default/grid/hd-pop.gif);
}
td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open {
- border-left-color: #889;
- border-right-color: #445;
+ border-left-color: #889;
+ border-right-color: #445;
}
td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner
- {
- background-color: #4e628a;
- background-image: url(../images/grid/grid3-hrow-over.gif);
+ {
+ background-color: #4e628a;
+ background-image: url(../images/grid/grid3-hrow-over.gif);
}
.x-grid3-cell-inner,.x-grid3-hd-inner {
- color: #fff;
+ color: #fff;
}
.sort-asc .x-grid3-sort-icon {
- background-image: url(../images/grid/sort_asc.gif);
- width: 15px;
- height: 9px;
- margin-left: 5px;
+ background-image: url(../images/grid/sort_asc.gif);
+ width: 15px;
+ height: 9px;
+ margin-left: 5px;
}
.sort-desc .x-grid3-sort-icon {
- background-image: url(../images/grid/sort_desc.gif);
- width: 15px;
- height: 9px;
- margin-left: 5px;
+ background-image: url(../images/grid/sort_desc.gif);
+ width: 15px;
+ height: 9px;
+ margin-left: 5px;
}
.x-grid3-cell-text,.x-grid3-hd-text {
- color: #fff;
+ color: #fff;
}
.x-grid3-split {
- background-image: url(../images/default/grid/grid-split.gif);
+ background-image: url(../images/default/grid/grid-split.gif);
}
.x-grid3-hd-text {
- color: fff;
+ color: fff;
}
.x-dd-drag-proxy .x-grid3-hd-inner {
- background-color: #bec7da;
- background-image: url(../images/grid/grid3-hrow-over.gif);
- border-color: #aaccf6;
+ background-color: #bec7da;
+ background-image: url(../images/grid/grid3-hrow-over.gif);
+ border-color: #aaccf6;
}
.col-move-top {
- background-image: url(../images/default/grid/col-move-top.gif);
+ background-image: url(../images/default/grid/col-move-top.gif);
}
.col-move-bottom {
- background-image: url(../images/default/grid/col-move-bottom.gif);
+ background-image: url(../images/default/grid/col-move-bottom.gif);
}
.x-grid3-row-selected {
- background-color: #e5872c !important;
- background-image: none;
- border-style: solid;
- font-weight: bold !important;
- color: black !important;
+ background-color: #e5872c !important;
+ background-image: none;
+ border-style: solid;
+ font-weight: bold !important;
+ color: black !important;
}
.x-grid3-highlightrow {
- border: 1px dotted #e5872c !important;
- background-color: #666360;
- text-decoration: underline;
+ border: 1px dotted #e5872c !important;
+ background-color: #666360;
+ text-decoration: underline;
}
.x-grid3-group-selected {
- background-color: #e5872c !important;
+ background-color: #e5872c !important;
}
.x-grid3-row-selected .x-grid3-cell-inner {
- color: black !important;
+ color: black !important;
}
.x-grid3-cell-selected .x-grid3-cell-inner {
- background-color: #ffa340 !important;
- color: black !important;
- font-weight: bold;
+ background-color: #ffa340 !important;
+ color: black !important;
+ font-weight: bold;
}
.x-grid3-cell-selected span {
- color: black !important;
+ color: black !important;
}
.x-grid3-cell-selected .x-grid3-cell-text {
- color: black;
+ color: black;
}
-.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker {
- background-color: #ebeadb !important;
- background-image: url(../images/default/grid/grid-hrow.gif) !important;
- color: #fff;
- border-top-color: #fff;
- border-right-color: #6fa0df !important;
+.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker
+ {
+ background-color: #ebeadb !important;
+ background-image: url(../images/default/grid/grid-hrow.gif) !important;
+ color: #fff;
+ border-top-color: #fff;
+ border-right-color: #6fa0df !important;
}
-.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div {
- color: fff !important;
+.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div
+ {
+ color: fff !important;
}
.x-grid3-dirty-cell {
- background-image: url(../images/grid/dirty.gif);
+ background-image: url(../images/grid/dirty.gif);
}
.x-grid3-topbar,.x-grid3-bottombar {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-grid3-bottombar .x-toolbar {
- border-top-color: #a9bfd3;
+ border-top-color: #a9bfd3;
}
.x-props-grid .x-grid3-td-name .x-grid3-cell-inner {
- background-image: url(../images/grid/grid3-special-col-bg.gif) !important;
- color: #fff !important;
+ background-image: url(../images/grid/grid3-special-col-bg.gif)
+ !important;
+ color: #fff !important;
}
.x-props-grid .x-grid3-td-value {
- color: #fff !important;
+ color: #fff !important;
}
.x-props-grid .x-grid3-body .x-grid3-td-name {
- background-color: #263240 !important;
- border-right-color: #223;
+ background-color: #263240 !important;
+ border-right-color: #223;
}
.xg-hmenu-sort-asc .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-asc.gif);
+ background-image: url(../images/grid/hmenu-asc.gif);
}
.xg-hmenu-sort-desc .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-desc.gif);
+ background-image: url(../images/grid/hmenu-desc.gif);
}
.xg-hmenu-lock .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-lock.gif);
+ background-image: url(../images/grid/hmenu-lock.gif);
}
.xg-hmenu-unlock .x-menu-item-icon {
- background-image: url(../images/grid/hmenu-unlock.gif);
+ background-image: url(../images/grid/hmenu-unlock.gif);
}
.x-grid3-hd-btn {
- background-color: #c2c9d0;
- background-image: url(../images/grid/grid3-hd-btn.gif);
+ background-color: #c2c9d0;
+ background-image: url(../images/grid/grid3-hd-btn.gif);
}
.x-grid3-body .x-grid3-td-expander {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
+ background-image: url(../images/grid/grid3-special-col-bg.gif);
}
.x-grid3-row-expander {
- background-image: url(../images/grid/row-expand-sprite.gif);
+ background-image: url(../images/grid/row-expand-sprite.gif);
}
.x-grid3-body .x-grid3-td-checker {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
+ background-image: url(../images/grid/grid3-special-col-bg.gif);
}
.x-grid3-row-checker,.x-grid3-hd-checker {
- background-image: url(../images/default/grid/row-check-sprite.gif);
+ background-image: url(../images/default/grid/row-check-sprite.gif);
}
.x-grid3-body .x-grid3-td-numberer {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
+ background-image: url(../images/grid/grid3-special-col-bg.gif);
}
.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
- color: #fff;
+ color: #fff;
}
.x-grid3-body .x-grid3-td-row-icon {
- background-image: url(../images/grid/grid3-special-col-bg.gif);
+ background-image: url(../images/grid/grid3-special-col-bg.gif);
}
.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander
- {
- background-image: url(../images/grid/grid3-special-col-sel-bg.gif);
+ {
+ background-image: url(../images/grid/grid3-special-col-sel-bg.gif);
}
.x-grid3-check-col {
- background-image: url(../images/menu/unchecked.gif);
+ background-image: url(../images/menu/unchecked.gif);
}
.x-grid3-check-col-on {
- background-image: url(../images/menu/checked.gif);
+ background-image: url(../images/menu/checked.gif);
}
.x-grid-group,.x-grid-group-body,.x-grid-group-hd {
- zoom: 1;
+ zoom: 1;
}
.x-grid-group-hd {
- border-bottom-color: #4e628a;
+ border-bottom-color: #4e628a;
}
.x-grid-group-hd div.x-grid-group-title {
- background-image: url(../images/grid/group-collapse.gif);
- background-position: 3px 6px;
- color: #ffd;
- font: bold 14px tahoma, arial, helvetica, sans-serif;
+ background-image: url(../images/grid/group-collapse.gif);
+ background-position: 3px 6px;
+ color: #ffd;
+ font: bold 14px 'Ubuntu', Arial
}
.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title {
- background-image: url(../images/grid/group-expand.gif);
+ background-image: url(../images/grid/group-expand.gif);
}
.x-group-by-icon {
- background-image: url(../images/grid/group-by.gif);
+ background-image: url(../images/grid/group-by.gif);
}
.x-cols-icon {
- background-image: url(../images/grid/columns.gif);
+ background-image: url(../images/grid/columns.gif);
}
.x-show-groups-icon {
- background-image: url(../images/grid/group-by.gif);
+ background-image: url(../images/grid/group-by.gif);
}
.x-grid-empty {
- color: gray;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
+ color: gray;
+ font: normal 14px 'Ubuntu', Arial
}
.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
- border-right-color: #ededed;
+ border-right-color: #ededed;
}
.x-grid-with-col-lines .x-grid3-row {
- border-top-color: #ededed;
+ border-top-color: #ededed;
}
.x-grid-with-col-lines .x-grid3-row-selected {
- border-top-color: #a3bae9;
+ border-top-color: #a3bae9;
}
.x-dd-drag-ghost {
- color: #000;
- font: normal 14px arial, helvetica, sans-serif;
- border-color: #ddd #bbb #bbb #ddd;
- background-color: #bec7da;
+ color: #000;
+ font: normal 14px arial, helvetica, sans-serif;
+ border-color: #ddd #bbb #bbb #ddd;
+ background-color: #bec7da;
}
/*
@@ -971,708 +993,726 @@
}
*/
.x-view-selector {
- background-color: #c3daf9;
- border-color: #3399bb;
+ background-color: #c3daf9;
+ border-color: #3399bb;
}
.x-tree-node-expanded .x-tree-node-icon {
- background-image: url(../images/tree/folder-open.gif);
+ background-image: url(../images/tree/folder-open.gif);
}
.x-tree-node-leaf .x-tree-node-icon {
- background-image: url(../images/default/tree/leaf.gif);
+ background-image: url(../images/default/tree/leaf.gif);
}
.x-tree-node-collapsed .x-tree-node-icon {
- background-image: url(../images/tree/folder.gif);
+ background-image: url(../images/tree/folder.gif);
}
.x-tree-node-loading .x-tree-node-icon {
- background-image: url(../images/default/tree/loading.gif) !important;
+ background-image: url(../images/default/tree/loading.gif) !important;
}
.x-tree-node .x-tree-node-inline-icon {
- background-image: none;
+ background-image: none;
}
.x-tree-node-loading a span {
- font-style: italic;
- color: #444444;
+ font-style: italic;
+ color: #444444;
}
.ext-ie .x-tree-node-el input {
- width: 14px;
- height: 14px;
+ width: 14px;
+ height: 14px;
}
.x-tree-lines .x-tree-elbow {
- background-image: url(../images/tree/elbow.gif);
+ background-image: url(../images/tree/elbow.gif);
}
.x-tree-lines .x-tree-elbow-plus {
- background-image: url(../images/tree/elbow-plus.gif);
+ background-image: url(../images/tree/elbow-plus.gif);
}
.x-tree-lines .x-tree-elbow-minus {
- background-image: url(../images/tree/elbow-minus.gif);
+ background-image: url(../images/tree/elbow-minus.gif);
}
.x-tree-lines .x-tree-elbow-end {
- background-image: url(../images/tree/elbow-end.gif);
+ background-image: url(../images/tree/elbow-end.gif);
}
.x-tree-lines .x-tree-elbow-end-plus {
- background-image: url(../images/tree/elbow-end-plus.gif);
+ background-image: url(../images/tree/elbow-end-plus.gif);
}
.x-tree-lines .x-tree-elbow-end-minus {
- background-image: url(../images/tree/elbow-end-minus.gif);
+ background-image: url(../images/tree/elbow-end-minus.gif);
}
.x-tree-lines .x-tree-elbow-line {
- background-image: url(../images/tree/elbow-line.gif);
+ background-image: url(../images/tree/elbow-line.gif);
}
.x-tree-no-lines .x-tree-elbow-plus {
- background-image: url(../images/tree/elbow-plus-nl.gif);
+ background-image: url(../images/tree/elbow-plus-nl.gif);
}
.x-tree-no-lines .x-tree-elbow-minus {
- background-image: url(../images/tree/elbow-minus-nl.gif);
+ background-image: url(../images/tree/elbow-minus-nl.gif);
}
.x-tree-no-lines .x-tree-elbow-end-plus {
- background-image: url(../images/tree/elbow-end-plus-nl.gif);
+ background-image: url(../images/tree/elbow-end-plus-nl.gif);
}
.x-tree-no-lines .x-tree-elbow-end-minus {
- background-image: url(../images/tree/elbow-end-minus-nl.gif);
+ background-image: url(../images/tree/elbow-end-minus-nl.gif);
}
.x-tree-arrows .x-tree-elbow-plus {
- background-image: url(../images/tree/arrows.gif);
+ background-image: url(../images/tree/arrows.gif);
}
.x-tree-arrows .x-tree-elbow-minus {
- background-image: url(../images/tree/arrows.gif);
+ background-image: url(../images/tree/arrows.gif);
}
.x-tree-arrows .x-tree-elbow-end-plus {
- background-image: url(../images/tree/arrows.gif);
+ background-image: url(../images/tree/arrows.gif);
}
.x-tree-arrows .x-tree-elbow-end-minus {
- background-image: url(../images/tree/arrows.gif);
+ background-image: url(../images/tree/arrows.gif);
}
.x-tree-node {
- color: #000;
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+ color: #000;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-tree-node a,.x-dd-drag-ghost a {
- color: #fff;
+ color: #fff;
}
.x-tree-node a span,.x-dd-drag-ghost a span {
- color: #fff;
+ color: #fff;
}
.x-tree-node .x-tree-selected a,.x-dd-drag-ghost a {
- color: #fff;
+ color: #fff;
}
.x-tree-node .x-tree-selected a span,.x-dd-drag-ghost a span {
- color: #fff;
+ color: #fff;
}
.x-tree-node .x-tree-node-disabled a span {
- color: gray !important;
+ color: gray !important;
}
.x-tree-node div.x-tree-drag-insert-below {
- border-bottom-color: #36c;
+ border-bottom-color: #36c;
}
.x-tree-node div.x-tree-drag-insert-above {
- border-top-color: #36c;
+ border-top-color: #36c;
}
.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a {
- border-bottom-color: #36c;
+ border-bottom-color: #36c;
}
.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a {
- border-top-color: #36c;
+ border-top-color: #36c;
}
.x-tree-node .x-tree-drag-append a span {
- background-color: #ddd;
- border-color: gray;
+ background-color: #ddd;
+ border-color: gray;
}
.x-tree-node .x-tree-node-over {
- background-color: #7e5530;
+ background-color: #7e5530;
}
.x-tree-node .x-tree-selected {
- background-color: #e5872c;
- font-weight: bold;
+ background-color: #e5872c;
+ font-weight: bold;
}
.x-tree-drop-ok-append .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-add.gif);
+ background-image: url(../images/default/tree/drop-add.gif);
}
.x-tree-drop-ok-above .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-over.gif);
+ background-image: url(../images/default/tree/drop-over.gif);
}
.x-tree-drop-ok-below .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-under.gif);
+ background-image: url(../images/default/tree/drop-under.gif);
}
.x-tree-drop-ok-between .x-dd-drop-icon {
- background-image: url(../images/default/tree/drop-between.gif);
+ background-image: url(../images/default/tree/drop-between.gif);
}
.x-date-picker {
- border-color: #737b8c;
- background-color: #21252e;
+ border-color: #737b8c;
+ background-color: #21252e;
}
.x-date-middle,.x-date-left,.x-date-right {
- background-image: url(../images/shared/hd-sprite.gif);
- color: #fff;
- font: bold 14px "sans serif", tahoma, verdana, helvetica;
+ background-image: url(../images/shared/hd-sprite.gif);
+ color: #fff;
+ font: bold 14px "sans serif", tahoma, verdana, helvetica;
}
.x-date-middle .x-btn .x-btn-text {
- color: #fff;
+ color: #fff;
}
.x-date-middle .x-btn-mc em.x-btn-arrow {
- background-image: url(../images/toolbar/btn-arrow-light.gif);
+ background-image: url(../images/toolbar/btn-arrow-light.gif);
}
.x-date-right a {
- background-image: url(../images/shared/right-btn.gif);
+ background-image: url(../images/shared/right-btn.gif);
}
.x-date-left a {
- background-image: url(../images/shared/left-btn.gif);
+ background-image: url(../images/shared/left-btn.gif);
}
.x-date-inner th {
- background-color: #363d4a;
- background-image: url(../images/toolbar/bg.gif);
- border-bottom-color: #535b5c;
- font: normal 13px arial, helvetica, tahoma, sans-serif;
- color: #fff;
+ background-color: #363d4a;
+ background-image: url(../images/toolbar/bg.gif);
+ border-bottom-color: #535b5c;
+ font: normal 13px arial, helvetica, tahoma, sans-serif;
+ color: #fff;
}
.x-date-inner td {
- border-color: #112;
+ border-color: #112;
}
.x-date-inner a {
- font: normal 14px arial, helvetica, tahoma, sans-serif;
- color: #fff;
- padding: 2px 7px 1px 3px; /* Structure to account for larger, bolder fonts in Access theme. */
+ font: normal 14px arial, helvetica, tahoma, sans-serif;
+ color: #fff;
+ padding: 2px 7px 1px 3px;
+ /* Structure to account for larger, bolder fonts in Access theme. */
}
.x-date-inner .x-date-active {
- color: #000;
+ color: #000;
}
.x-date-inner .x-date-selected a {
- background-color: #e5872c;
- background-image: none;
- border-color: #864900;
- padding: 1px 6px 1px 2px; /* Structure to account for larger, bolder fonts in Access theme. */
+ background-color: #e5872c;
+ background-image: none;
+ border-color: #864900;
+ padding: 1px 6px 1px 2px;
+ /* Structure to account for larger, bolder fonts in Access theme. */
}
.x-date-inner .x-date-today a {
- border-color: #99a;
+ border-color: #99a;
}
.x-date-inner .x-date-selected span {
- font-weight: bold;
+ font-weight: bold;
}
.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
- color: #aaa;
+ color: #aaa;
}
.x-date-bottom {
- border-top-color: #737b8c;
- background-color: #464d5a;
- background-image: url(../images/shared/glass-bg.gif);
+ border-top-color: #737b8c;
+ background-color: #464d5a;
+ background-image: url(../images/shared/glass-bg.gif);
}
.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover {
- color: #fff;
- background-color: #7e5530;
+ color: #fff;
+ background-color: #7e5530;
}
.x-date-inner .x-date-disabled a {
- background-color: #eee;
- color: #bbb;
+ background-color: #eee;
+ color: #bbb;
}
.x-date-mmenu {
- background-color: #eee !important;
+ background-color: #eee !important;
}
.x-date-mmenu .x-menu-item {
- font-size: 13px;
- color: #000;
+ font-size: 13px;
+ color: #000;
}
.x-date-mp {
- background-color: #21252e;
+ background-color: #21252e;
}
.x-date-mp td {
- font: normal 14px arial, helvetica, tahoma, sans-serif;
+ font: normal 14px arial, helvetica, tahoma, sans-serif;
}
.x-date-mp-btns button {
- background-color: #083772;
- color: #fff;
- border-color: #3366cc #000055 #000055 #3366cc;
- font: normal 14px arial, helvetica, tahoma, sans-serif;
+ background-color: #083772;
+ color: #fff;
+ border-color: #3366cc #000055 #000055 #3366cc;
+ font: normal 14px arial, helvetica, tahoma, sans-serif;
}
.x-date-mp-btns {
- background-color: #dfecfb;
- background-image: url(../images/shared/glass-bg.gif);
+ background-color: #dfecfb;
+ background-image: url(../images/shared/glass-bg.gif);
}
.x-date-mp-btns td {
- border-top-color: #c5d2df;
+ border-top-color: #c5d2df;
}
td.x-date-mp-month a,td.x-date-mp-year a {
- color: #fff;
+ color: #fff;
}
td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
- color: fff;
- background-color: #7e5530;
+ color: fff;
+ background-color: #7e5530;
}
td.x-date-mp-sel a {
- background-color: #e5872c;
- background-image: none;
- border-color: #864900;
+ background-color: #e5872c;
+ background-image: none;
+ border-color: #864900;
}
.x-date-mp-ybtn a {
- background-image: url(../images/panel/tool-sprites.gif);
+ background-image: url(../images/panel/tool-sprites.gif);
}
td.x-date-mp-sep {
- border-right-color: #c5d2df;
+ border-right-color: #c5d2df;
}
.x-tip .x-tip-close {
- background-image: url(../images/qtip/close.gif);
+ background-image: url(../images/qtip/close.gif);
}
.x-tip .x-tip-tc,.x-tip .x-tip-tl,.x-tip .x-tip-tr,.x-tip .x-tip-bc,.x-tip .x-tip-bl,.x-tip .x-tip-br,.x-tip .x-tip-ml,.x-tip .x-tip-mr
- {
- background-image: url(../images/qtip/tip-sprite.gif);
+ {
+ background-image: url(../images/qtip/tip-sprite.gif);
}
.x-tip .x-tip-mc {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
+ font: normal 14px 'Ubuntu', Arial
}
.x-tip .x-tip-ml {
- background-color: #fff;
+ background-color: #fff;
}
.x-tip .x-tip-header-text {
- font: bold 14px tahoma, arial, helvetica, sans-serif;
- color: #ffd;
+ font: bold 14px 'Ubuntu', Arial color : #ffd;
}
.x-tip .x-tip-body {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- color: #000;
+ font: normal 14px 'Ubuntu', Arial color : #000;
}
.x-form-invalid-tip .x-tip-tc,.x-form-invalid-tip .x-tip-tl,.x-form-invalid-tip .x-tip-tr,.x-form-invalid-tip .x-tip-bc,.x-form-invalid-tip .x-tip-bl,.x-form-invalid-tip .x-tip-br,.x-form-invalid-tip .x-tip-ml,.x-form-invalid-tip .x-tip-mr
- {
- background-image: url(../images/default/form/error-tip-corners.gif);
+ {
+ background-image: url(../../gxt/images/default/form/error-tip-corners.gif);
}
.x-form-invalid-tip .x-tip-body {
- background-image: url(../images/form/exclamation.gif);
+ background-image: url(../images/form/exclamation.gif);
}
.x-tip-anchor {
- background-image: url(../images/qtip/tip-anchor-sprite.gif);
+ background-image: url(../images/qtip/tip-anchor-sprite.gif);
}
.x-menu {
- border-color: #222;
- background-color: #414551;
- background-image: url(../images/menu/menu.gif);
+ border-color: #552200;
+ /* background-color: transparent;
+ background-image: url(../images/menu/menu.gif); */
+ font: 13px 'Ubuntu', arial;
+ kfilter: alpha(opacity = 95);
+ -moz-opacity: 0.95;
+ -khtml-opacity: 0.95;
+ opacity: 0.95;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
}
.x-menu-nosep {
- background-image: none;
+ background-image: none;
}
.x-menu-list-item {
- font: normal 14px tahoma, arial, sans-serif;
+ font: normal 14px tahoma, arial, sans-serif;
}
.x-menu-item-arrow {
- background-image: url(../images/menu/menu-parent.gif);
+ background-image: url(../images/menu/menu-parent.gif);
}
-.x-menu-sep {
- background-color: #223;
- border-bottom-color: #666;
+.x-menu-sep { /* background-color: #223;
+ border-bottom-color: #666; */
+
}
a.x-menu-item {
- color: #fffff6;
+ color: #fffff6;
}
.x-menu-item-active {
- background-color: #f09134;
- background-image: none;
- border-color: #b36427;
+ background-color: #f09134;
+ background-image: none;
+ border-color: #b36427;
}
.x-menu-item-active a.x-menu-item {
- border-color: #b36427;
+ border-color: #b36427;
}
.x-menu-check-item .x-menu-item-icon {
- background-image: url(../images/default/menu/unchecked.gif);
+ background-image: url(../images/default/menu/unchecked.gif);
}
.x-menu-item-checked .x-menu-item-icon {
- background-image: url(../images/default/menu/checked.gif);
+ background-image: url(../images/default/menu/checked.gif);
}
.x-menu-item-checked .x-menu-group-item .x-menu-item-icon {
- background-image: url(../images/menu/group-checked.gif);
+ background-image: url(../images/menu/group-checked.gif);
}
.x-menu-group-item .x-menu-item-icon {
- background-image: none;
+ background-image: none;
}
.x-menu-plain {
- background-color: #fff !important;
+ background-color: #fff !important;
}
.x-menu .x-date-picker {
- border-color: #a3bad9;
+ border-color: #a3bad9;
}
.x-cycle-menu .x-menu-item-checked {
- border-color: #a3bae9 !important;
- background-color: #def8f6;
+ border-color: #a3bae9 !important;
+ background-color: #def8f6;
}
.x-menu-scroller-top {
- background-image: url(../images/layout/mini-top.gif);
+ background-image: url(../images/layout/mini-top.gif);
}
.x-menu-scroller-bottom {
- background-image: url(../images/layout/mini-bottom.gif);
+ background-image: url(../images/layout/mini-bottom.gif);
}
.x-box-tl {
- background-image: url(../images/default/box/corners.gif);
+ background-image: url(../images/default/box/corners.gif);
}
.x-box-tc {
- background-image: url(../images/default/box/tb.gif);
+ background-image: url(../images/default/box/tb.gif);
}
.x-box-tr {
- background-image: url(../images/default/box/corners.gif);
+ background-image: url(../images/default/box/corners.gif);
}
.x-box-ml {
- background-image: url(../images/default/box/l.gif);
+ background-image: url(../images/default/box/l.gif);
}
.x-box-mc {
- background-color: #eee;
- background-image: url(../images/default/box/tb.gif);
- font-family: "Myriad Pro", "Myriad Web", "Tahoma", "Helvetica", "Arial", sans-serif;
- color: #393939;
- font-size: 15px;
+ background-color: #eee;
+ background-image: url(../images/default/box/tb.gif);
+ font-family: "Myriad Pro", "Myriad Web", "Tahoma", "Helvetica", "Arial",
+ sans-serif;
+ color: #393939;
+ font-size: 15px;
}
.x-box-mc h3 {
- font-size: 18px;
- font-weight: bold;
+ font-size: 18px;
+ font-weight: bold;
}
.x-box-mr {
- background-image: url(../images/default/box/r.gif);
+ background-image: url(../images/default/box/r.gif);
}
.x-box-bl {
- background-image: url(../images/default/box/corners.gif);
+ background-image: url(../images/default/box/corners.gif);
}
.x-box-bc {
- background-image: url(../images/default/box/tb.gif);
+ background-image: url(../images/default/box/tb.gif);
}
.x-box-br {
- background-image: url(../images/default/box/corners.gif);
+ background-image: url(../images/default/box/corners.gif);
}
-.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr {
- background-image: url(../images/default/box/corners-blue.gif);
+.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr
+ {
+ background-image: url(../images/default/box/corners-blue.gif);
}
.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc {
- background-image: url(../images/default/box/tb-blue.gif);
+ background-image: url(../images/default/box/tb-blue.gif);
}
.x-box-blue .x-box-mc {
- background-color: #c3daf9;
+ background-color: #c3daf9;
}
.x-box-blue .x-box-mc h3 {
- color: #17385b;
+ color: #17385b;
}
.x-box-blue .x-box-ml {
- background-image: url(../images/default/box/l-blue.gif);
+ background-image: url(../images/default/box/l-blue.gif);
}
.x-box-blue .x-box-mr {
- background-image: url(../images/default/box/r-blue.gif);
+ background-image: url(../images/default/box/r-blue.gif);
}
.x-combo-list {
- border: 2px solid #232732;
- background-color: #555566 !important;
- font: normal 15px tahoma, arial, helvetica, sans-serif;
+ border: 2px solid #232732;
+ background-color: #555566 !important;
+ font: normal 15px 'Ubuntu', Arial
}
.x-combo-list-inner {
- background-color: #414551;
+ background-color: #280b0b;
}
.x-combo-list-hd {
- font: bold 14px tahoma, arial, helvetica, sans-serif;
- color: fff;
- background-image: url(../images/default/layout/panel-title-light-bg.gif);
- border-bottom-color: #98c0f4;
+ font: bold 14px 'Ubuntu', Arial color : fff;
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
+ border-bottom-color: #98c0f4;
}
.x-resizable-pinned .x-combo-list-inner {
- border-bottom-color: #98c0f4;
+ border-bottom-color: #98c0f4;
}
.x-combo-list-item {
- border-color: #556;
+ border-color: #556;
}
.x-combo-list .x-combo-selected {
- border-color: #e5872c !important;
- background-color: #e5872c;
- font-weight: bold;
+ border-color: #e5872c !important;
+ background-color: #e5872c;
+ font-weight: bold;
}
.x-combo-list .x-toolbar {
- border-top-color: #98c0f4;
+ border-top-color: #98c0f4;
}
.x-combo-list-small {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
+ font: normal 14px 'Ubuntu', Arial
}
.x-panel {
- border-color: #18181a;
+ border-color: #18181a;
}
.x-panel-header {
- color: #fff !important;
- font-weight: bold;
- font-size: 14px;
- font-family: tahoma, arial, verdana, sans-serif;
- border-color: #18181a;
- background-image: url(../images/panel/white-top-bottom.gif);
+ color: #fff !important;
+ font-weight: bold;
+ font-size: 14px;
+ font-family: tahoma, arial, verdana, sans-serif;
+ border-color: #18181a;
+ background-image: url(../images/panel/white-top-bottom.gif);
}
-.x-panel-body {
- color: #fffff6;
- border-color: #18181a;
- background-color: #232d38;
+.x-panel-body { /* color: #fffff6; */
+ border-color: #18181a;
+ background-color: #232d38;
}
.x-tab-panel .x-panel-body {
- color: #fffff6;
- border-color: #18181a;
- background-color: #1f2730;
+ color: #fffff6;
+ border-color: #18181a;
+ background-color: #1f2730;
}
.x-panel-bbar .x-toolbar,.x-panel-tbar .x-toolbar {
- border-color: #223;
+ /* border-color: #223; */
+
}
.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar {
- border-top-color: #223;
+ /* border-top-color: #223; */
+
}
.x-panel-body-noheader,.x-panel-mc .x-panel-body {
- border-top-color: #223;
+ /* border-top-color: #223; */
+
}
.x-panel-tl .x-panel-header {
- color: fff;
- font: bold 14px tahoma, arial, verdana, sans-serif;
+ color: fff;
+ font: bold 14px tahoma, arial, verdana, sans-serif;
}
.x-panel-tc {
- background-image: url(../images/panel/top-bottom.gif);
+ /* background-image: url(../images/panel/top-bottom.gif); */
+
}
.x-panel-tl,.x-panel-tr,.x-panel-bl,.x-panel-br {
- background-image: url(../images/panel/corners-sprite.gif);
- border-bottom-color: #222224;
+ /* background-image: url(../images/panel/corners-sprite.gif);
+ border-bottom-color: #222224; */
+
}
.x-panel-bc {
- background-image: url(../images/panel/top-bottom.gif);
+ /* background-image: url(../images/panel/top-bottom.gif); */
+
}
.x-panel-mc {
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- background-color: #3f4757;
+ font: normal 14px 'Ubuntu', Arial background-color : #3f4757;
}
.x-panel-ml {
- background-image: url(../images/panel/left-right.gif);
+ /* background-image: url(../images/panel/left-right.gif); */
+
}
.x-panel-mr {
- background-image: url(../images/panel/left-right.gif);
+ /* background-image: url(../images/panel/left-right.gif); */
+
}
.x-tool {
- background-image: url(../images/panel/tool-sprites.gif);
+ background-image: url(../images/panel/tool-sprites.gif);
}
.x-tool-resize {
-background-position:0 -360px;
+ background-position: 0 -360px;
}
.x-tool-resize-over {
-background-position:-15px -360px;
+ background-position: -15px -360px;
}
.x-tool-move {
-background-position:0 -375px;
+ background-position: 0 -375px;
}
.x-tool-move-over {
-background-position:-15px -375px;
+ background-position: -15px -375px;
}
.x-panel-ghost {
- background-color: #3f4757;
+ background-color: #3f4757;
}
.x-panel-ghost ul {
- border-color: #18181a;
+ border-color: #18181a;
}
.x-panel-dd-spacer {
- border-color: #18181a;
+ border-color: #18181a;
}
-.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label
+ {
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-window-proxy {
- background-color: #1f2833;
- border-color: #18181a;
+ background-color: #1f2833;
+ border-color: #18181a;
}
.x-window-tl .x-window-header {
- color: #fff !important;
- font: bold 14px tahoma, arial, verdana, sans-serif;
+ color: #fff !important;
+ font: bold 14px tahoma, arial, verdana, sans-serif;
}
.x-window-tc {
- background-image: url(../images/window/top-bottom.png);
+ background-image: url(../images/window/top-bottom.png);
}
.x-window-tl {
- background-image: url(../images/window/left-corners.png);
+ background-image: url(../images/window/left-corners.png);
}
.x-window-tr {
- background-image: url(../images/window/right-corners.png);
+ background-image: url(../images/window/right-corners.png);
}
.x-window-bc {
- background-image: url(../images/window/top-bottom.png);
+ background-image: url(../images/window/top-bottom.png);
}
.x-window-bl {
- background-image: url(../images/window/left-corners.png);
+ background-image: url(../images/window/left-corners.png);
}
.x-window-br {
- background-image: url(../images/window/right-corners.png);
+ background-image: url(../images/window/right-corners.png);
}
.x-window-mc {
- border-color: #18181a;
- font: normal 14px tahoma, arial, helvetica, sans-serif;
- background-color: #1f2833;
+ border-color: #18181a;
+ font: normal 14px 'Ubuntu', Arial background-color : #1f2833;
}
.x-window-ml {
- background-image: url(../images/window/left-right.png);
+ background-image: url(../images/window/left-right.png);
}
.x-window-mr {
- background-image: url(../images/window/left-right.png);
+ background-image: url(../images/window/left-right.png);
}
.x-window-maximized .x-window-tc {
- background-color: #fff;
+ background-color: #fff;
}
.x-window-bbar .x-toolbar {
- border-top-color: #323945;
+ border-top-color: #323945;
}
.x-panel-ghost .x-window-tl {
- border-bottom-color: #323945;
+ border-bottom-color: #323945;
}
.x-panel-collapsed .x-window-tl {
- border-bottom-color: #323945;
+ border-bottom-color: #323945;
}
.x-dlg-mask {
- background-color: #ccc;
+ background-color: #ccc;
}
.x-window-plain .x-window-mc {
- background-color: #464f61;
- border-color: #636778;
+ background-color: #464f61;
+ border-color: #636778;
}
.ext-ie .x-window-plain .x-window-mc {
@@ -1680,668 +1720,664 @@
}
.x-window-plain .x-window-body {
- color: #fffff6;
- border-color: #464F61;
+ color: #fffff6;
+ border-color: #464F61;
}
body.x-body-masked .x-window-plain .x-window-mc {
- background-color: #464f61;
+ background-color: #464f61;
}
.x-html-editor-wrap {
- border-color: #737B8C;
- background-color: #fff;
+ border-color: #737B8C;
+ background-color: #fff;
}
.x-html-editor-wrap iframe {
- background-color: #fff;
+ background-color: #fff;
}
.x-panel-noborder .x-panel-header-noborder {
- border-bottom-color: #343d4e;
+ border-bottom-color: #343d4e;
}
.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
- border-bottom-color: #343d4e;
+ border-bottom-color: #343d4e;
}
.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
- border-top-color: #343d4e;
+ border-top-color: #343d4e;
}
.x-tab-panel-bbar-noborder .x-toolbar {
- border-top-color: #343d4e;
+ border-top-color: #343d4e;
}
.x-tab-panel-tbar-noborder .x-toolbar {
- border-bottom-color: #343d4e;
+ border-bottom-color: #343d4e;
}
.x-border-layout-ct {
- background-color: #3f4757;
+ background-color: #3f4757;
}
.x-accordion-hd {
- color: #fff;
- font-weight: normal;
- background-image: url(../images/panel/light-hd.gif);
+ color: #fff;
+ font-weight: normal;
+ background-image: url(../images/panel/light-hd.gif);
}
.x-layout-collapsed {
- background-color: #323845;
- border-color: #1a1a1c;
+ background-color: #323845;
+ border-color: #1a1a1c;
}
.x-layout-collapsed-over {
- background-color: #2d3440;
+ background-color: #2d3440;
}
.x-layout-split-west .x-layout-mini {
- background-image: url(../images/default/layout/mini-left.gif);
+ background-image: url(../images/default/layout/mini-left.gif);
}
.x-layout-split-east .x-layout-mini {
- background-image: url(../images/default/layout/mini-right.gif);
+ background-image: url(../images/default/layout/mini-right.gif);
}
.x-layout-split-north .x-layout-mini {
- background-image: url(../images/default/layout/mini-top.gif);
+ background-image: url(../images/default/layout/mini-top.gif);
}
.x-layout-split-south .x-layout-mini {
- background-image: url(../images/default/layout/mini-bottom.gif);
+ background-image: url(../images/default/layout/mini-bottom.gif);
}
.x-layout-cmini-west .x-layout-mini {
- background-image: url(../images/default/layout/mini-right.gif);
+ background-image: url(../images/default/layout/mini-right.gif);
}
.x-layout-cmini-east .x-layout-mini {
- background-image: url(../images/default/layout/mini-left.gif);
+ background-image: url(../images/default/layout/mini-left.gif);
}
.x-layout-cmini-north .x-layout-mini {
- background-image: url(../images/default/layout/mini-bottom.gif);
+ background-image: url(../images/default/layout/mini-bottom.gif);
}
.x-layout-cmini-south .x-layout-mini {
- background-image: url(../images/default/layout/mini-top.gif);
+ background-image: url(../images/default/layout/mini-top.gif);
}
.x-progress-wrap {
- border-color: #18181a;
+ border-color: #18181a;
}
.x-progress-inner {
- background-color: #232d38;
- background-image: none;
+ background-color: #232d38;
+ background-image: none;
}
.x-progress-bar {
- background-color: #f39a00;
- background-image: url(../images/progress/progress-bg.gif);
- border-top-color: #a66900;
- border-bottom-color: #a66900;
- border-right-color: #ffb941;
+ background-color: #f39a00;
+ background-image: url(../images/progress/progress-bg.gif);
+ border-top-color: #a66900;
+ border-bottom-color: #a66900;
+ border-right-color: #ffb941;
}
.x-progress-text {
- font-size: 14px;
- font-weight: bold;
- color: #fff;
+ font-size: 14px;
+ font-weight: bold;
+ color: #fff;
}
.x-progress-text-back {
- color: #aaa;
- line-height: 11px;
+ color: #aaa;
+ line-height: 11px;
}
.x-list-header {
- background-color: #393d4e;
- background-image: url(../images/toolbar/bg.gif);
- background-position: 0 top;
+ background-color: #393d4e;
+ background-image: url(../images/toolbar/bg.gif);
+ background-position: 0 top;
}
.x-list-header-inner div em {
- border-left-color: #667;
- font: normal 14px arial, tahoma, helvetica, sans-serif;
- line-height: 14px;
+ border-left-color: #667;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
+ line-height: 14px;
}
.x-list-body dt em {
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-list-over {
- background-color: #eee;
+ background-color: #eee;
}
.x-list-selected {
- background-color: #dfe8f6;
- font-weight: bold;
+ background-color: #dfe8f6;
+ font-weight: bold;
}
.x-list-resizer {
- border-left-color: #555;
- border-right-color: #555;
+ border-left-color: #555;
+ border-right-color: #555;
}
.x-list-header-inner em.sort-asc,.x-list-header-inner em.sort-desc {
- background-image: url(../images/grid/sort-hd.gif);
- border-color: #3e4e6c;
+ background-image: url(../images/grid/sort-hd.gif);
+ border-color: #3e4e6c;
}
.x-slider-input {
- color: black;
+ color: black;
}
-.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner {
- background-image: url(../images/slider/slider-bg.png);
+.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner
+ {
+ background-image: url(../images/slider/slider-bg.png);
}
.x-slider-horz .x-slider-thumb {
- background-image: url(../images/slider/slider-thumb.png);
+ background-image: url(../images/slider/slider-thumb.png);
}
-.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner {
- background-image: url(../images/slider/slider-v-bg.png);
+.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner
+ {
+ background-image: url(../images/slider/slider-v-bg.png);
}
.x-slider-vert .x-slider-thumb {
- background-image: url(../images/slider/slider-v-thumb.png);
+ background-image: url(../images/slider/slider-v-thumb.png);
}
.x-window-dlg .ext-mb-text,.x-window-dlg .x-window-header-text {
- font-size: 15px;
+ font-size: 15px;
}
.x-window-dlg .ext-mb-textarea {
- font: normal 15px tahoma, arial, helvetica, sans-serif;
+ font: normal 15px 'Ubuntu', Arial
}
.x-window-dlg .x-msg-box-wait {
- background-image: url(../images/grid/loading.gif);
+ background-image: url(../images/grid/loading.gif);
}
.x-window-dlg .ext-mb-info {
- background-image: url(../images/window/icon-info.gif);
+ background-image: url(../images/window/icon-info.gif);
}
.x-window-dlg .ext-mb-warning {
- background-image: url(../images/window/icon-warning.gif);
+ background-image: url(../images/window/icon-warning.gif);
}
.x-window-dlg .ext-mb-question {
- background-image: url(../images/window/icon-question.gif);
+ background-image: url(../images/window/icon-question.gif);
}
.x-window-dlg .ext-mb-error {
- background-image: url(../images/window/icon-error.gif);
+ background-image: url(../images/window/icon-error.gif);
}
.x-border {
- border: 1px solid #18181a;
+ border: 1px solid #18181a;
}
.x-grid3-hd-row .x-grid3-hd {
- border-left-color: #555566;
- border-right-color: black;
+ border-left-color: #555566;
+ border-right-color: black;
}
.x-grid3-row {
- border-color: #1f2933 black black;
+ border-color: #1f2933 black black;
}
.x-grid3-row-checker,.x-grid3-hd-checker {
- background-image: url(../images/grid/row-check-sprite.gif);
+ background-image: url(../images/grid/row-check-sprite.gif);
}
.x-grid3-footer {
- background: none repeat scroll 0 0 black;
- border-bottom: 1px solid #393c4c;
- border-top: 1px solid #393c4c;
+ background: none repeat scroll 0 0 black;
+ border-bottom: 1px solid #393c4c;
+ border-top: 1px solid #393c4c;
}
.x-grid3-footer-row {
- background: none repeat scroll 0 0 black;
+ background: none repeat scroll 0 0 black;
}
.x-tree3 {
- background-color: #232D38;
+ background-color: #232D38;
}
.x-tree3-node-text {
- color: white;
+ color: white;
}
.x-tree3-node {
- color: white;
- font: normal 14px arial, tahoma, helvetica, sans-serif;
+ color: white;
+ font: normal 14px arial, tahoma, helvetica, sans-serif;
}
.x-tree3-node .x-ftree2-node-over {
- background-color: #7e5530 !important;
+ background-color: #7e5530 !important;
}
.x-tree3-node .x-ftree2-selected {
- background-color: #e5872c !important;
- font-weight: bold;
- color: black !important;
+ background-color: #e5872c !important;
+ font-weight: bold;
+ color: black !important;
}
.x-tree3-node .x-ftree2-selected .x-tree3-node-text {
- color: black !important;
+ color: black !important;
}
.x-view,x-combo-list {
- background-color: #232D38;
+ background-color: #232D38;
}
.x-view {
- border: 1px solid #18181a;
+ border: 1px solid #18181a;
}
-.x-view-highlightrow {
- border: 1px dotted #e5872c !important;
- background-color: #666360;
- text-decoration: underline;
+.x-view-highlightrow {
+ border: 1px dotted #e5872c !important;
+ background-color: #666360;
+ text-decoration: underline;
}
.x-view-item,.x-combo-list-item {
- border: 1px solid black !important;
- border-top: 1px solid #232D38 !important;
+ border: 1px solid black !important;
+ border-top: 1px solid #232D38 !important;
}
.x-view-item-over,.x-combo-over {
- background: #7e5530;
- border: 1px dotted #e5872c !important;
+ background: #7e5530;
+ border: 1px dotted #e5872c !important;
}
.x-view-item-sel,.x-combo-selected {
- background: #e5872c none repeat scroll 0%;
- border: 1px dotted #e5872c !important;
- font-weight: bold;
- color: black !important;
+ background: #e5872c none repeat scroll 0%;
+ border: 1px dotted #e5872c !important;
+ font-weight: bold;
+ color: black !important;
}
-
-
.x-date-left-icon {
- background-image: url(../images/shared/left-btn.gif);
+ background-image: url(../images/shared/left-btn.gif);
}
.x-date-right-icon {
- background-image: url(../images/shared/right-btn.gif);
+ background-image: url(../images/shared/right-btn.gif);
}
.x-date-days td {
- background: url(../images/shared/glass-bg.gif) 0px -5px;
- color: white;
+ background: url(../images/shared/glass-bg.gif) 0px -5px;
+ color: white;
}
.x-date-mp-btns button {
- background-color: #282f40;
- color: #fff;
- border-color: #1b1d29;
+ background-color: #282f40;
+ color: #fff;
+ border-color: #1b1d29;
}
.x-grid-group-hd .x-grid-group-div {
- color: white;
+ color: white;
}
.x-grid3-summary-row {
- background: none repeat scroll 0 50% #21252e !important;
+ background: none repeat scroll 0 50% #21252e !important;
}
.x-status-text-panel {
- border-color: black #fff #fff black !important;
+ border-color: black #fff #fff black !important;
}
.x-menubar {
- border-color: black;
- background-color: #d0def0;
- background-image: url(../images/toolbar/bg.gif);
+ border-color: black;
+ background-color: #d0def0;
+ background-image: url(../images/toolbar/bg.gif);
}
.x-menubar-item-active {
- background-color: #e5872c;
+ background-color: #e5872c;
}
.x-drag-proxy {
- background-color: #3f4757;
- border: 1px solid black;
+ background-color: #3f4757;
+ border: 1px solid black;
}
-.x-grid3-hd-row .x-grid3-hd,.x-grid3-row .x-grid3-cell,.x-grid3-summary-row .x-grid3-cell {
- font: 12px arial, tahoma, helvetica, sans-serif !important;
+.x-grid3-hd-row .x-grid3-hd,.x-grid3-row .x-grid3-cell,.x-grid3-summary-row .x-grid3-cell
+ {
+ font: 12px arial, tahoma, helvetica, sans-serif !important;
}
.x-grid3-row-selected,.x-grid3-row-selected .x-grid3-cell {
- font-weight: bold !important;
+ font-weight: bold !important;
}
.x-tree3-node-text {
- font: 12px arial, tahoma, helvetica, sans-serif;
- font-weight: bold;
+ font: 12px arial, tahoma, helvetica, sans-serif;
+ font-weight: bold;
}
.x-tree3-node .x-ftree2-selected {
- font-weight: bold !important;
+ font-weight: bold !important;
}
.x-grid3-row-selected .x-tree3-node-text {
- color: black !important;
+ color: black !important;
}
.x-contrast .x-ftree2-selected .x-tree3-node-text {
- font-style: italic;
- text-decoration: underline;
+ font-style: italic;
+ text-decoration: underline;
}
.x-aria-focusframe-side {
- background-color: #ff8800;
+ background-color: #ff8800;
}
.x-contrast .x-grid3-cell-selected {
- font-weight: bold !important;
- font-style: italic !important;
- font-size: 13px !important;
+ font-weight: bold !important;
+ font-style: italic !important;
+ font-size: 13px !important;
}
-.x-contrast .x-grid3-row-selected x-tree3-node-text,.x-contrast .x-grid3-row-selected .x-tree3-node-text {
- font-weight: bold !important;
- font-style: italic !important;
- font-size: 13px !important;
+.x-contrast .x-grid3-row-selected x-tree3-node-text,.x-contrast .x-grid3-row-selected .x-tree3-node-text
+ {
+ font-weight: bold !important;
+ font-style: italic !important;
+ font-size: 13px !important;
}
.x-contrast .x-column-header-sel {
- font-style: italic !important;
- font-weight: bold !important;
+ font-style: italic !important;
+ font-weight: bold !important;
}
.x-contrast .x-btn-tr i,.x-contrast .x-btn-tl i,.x-contrast .x-btn-mr i,.x-contrast .x-btn-ml i,.x-contrast .x-btn-br i,.x-contrast .x-btn-bl i
- {
- width: auto;
+ {
+ width: auto;
}
.x-contrast .x-btn-menu .x-btn-mr i:before {
- content: url(../images/button/arrow.gif);
+ content: url(../images/button/arrow.gif);
}
.x-contrast .x-slider-thumb i:before {
- content: url(../images/slider/slider-thumb-single.png);
+ content: url(../images/slider/slider-thumb-single.png);
}
.x-contrast .x-slider {
- border: 1px solid yellow;
+ border: 1px solid yellow;
}
.x-contrast .x-form-trigger:after {
- content: url(../images/form/trigger-single.gif);
+ content: url(../images/form/trigger-single.gif);
}
.x-contrast .x-panel {
- border: 1px solid yellow !important;
+ border: 1px solid yellow !important;
}
.x-contrast .x-btn {
- border: 1px solid yellow !important;
+ border: 1px solid yellow !important;
}
.x-contrast .x-grid3 .sort-asc span:after {
- content: url(../images/grid/sort_asc.gif);
- position: absolute;
- top: 8px;
+ content: url(../images/grid/sort_asc.gif);
+ position: absolute;
+ top: 8px;
}
.x-contrast .x-grid3 .sort-desc span:after {
- content: url(../images/grid/sort_desc.gif);
- position: absolute;
- top: 8px;
+ content: url(../images/grid/sort_desc.gif);
+ position: absolute;
+ top: 8px;
}
.x-contrast .x-menu-check-item:before {
- content: url(../images/grid/row-check.gif);
- position: relative;
- left: 0px;
+ content: url(../images/grid/row-check.gif);
+ position: relative;
+ left: 0px;
}
.x-contrast .x-menu-checked:before {
- content: url(../images/grid/row-check-sel.gif);
- float: left;
+ content: url(../images/grid/row-check-sel.gif);
+ float: left;
}
.x-contrast .x-menu-item-radio:before {
- content: none;
- position: relative;
- left: 0px;
+ content: none;
+ position: relative;
+ left: 0px;
}
.x-contrast .x-menu-radio-sel:before {
- content: url(../images/menu/group-checked.gif);
- float: left;
+ content: url(../images/menu/group-checked.gif);
+ float: left;
}
.x-contrast .x-grid-group .x-grid3-group-selected .x-grid-group-div {
- font-weight: bold !important;
- font-style: italic !important;
+ font-weight: bold !important;
+ font-style: italic !important;
}
.x-contrast .x-grid-group-div:before {
- content: url(../images/grid/group-expand.gif);
- padding-right: 5px;
+ content: url(../images/grid/group-expand.gif);
+ padding-right: 5px;
}
.x-contrast .x-grid-group-collapsed .x-grid-group-div:before {
- content: url(../images/grid/group-collapse.gif);
- padding-right: 5px;
+ content: url(../images/grid/group-collapse.gif);
+ padding-right: 5px;
}
.x-contrast .x-grid3-row-collapsed .x-grid3-row-expander:after {
- content: url(../images/grid/group-expand.gif);
+ content: url(../images/grid/group-expand.gif);
}
.x-contrast .x-grid3-row-expanded .x-grid3-row-expander:after {
- content: url(../images/grid/group-collapse.gif);
+ content: url(../images/grid/group-collapse.gif);
}
-.x-contrast .x-grid3-row-checker:after, .x-contrast .x-grid3-hd-checker:after {
- content: url(../images/grid/row-check.gif);
+.x-contrast .x-grid3-row-checker:after,.x-contrast .x-grid3-hd-checker:after
+ {
+ content: url(../images/grid/row-check.gif);
}
-.x-contrast .x-grid3-row-selected .x-grid3-row-checker:after, .x-contrast .x-grid3-hd-checker-on .x-grid3-hd-checker:after {
- content: url(../images/grid/row-check-sel.gif);
+.x-contrast .x-grid3-row-selected .x-grid3-row-checker:after,.x-contrast .x-grid3-hd-checker-on .x-grid3-hd-checker:after
+ {
+ content: url(../images/grid/row-check-sel.gif);
}
.x-contrast .x-tool-close i:before {
- content: url(../images/panel/tool-close.gif);
+ content: url(../images/panel/tool-close.gif);
}
.x-contrast .x-tool-gear i:before {
- content: url(../images/panel/tool-gear.gif);
+ content: url(../images/panel/tool-gear.gif);
}
.x-contrast .x-tool-toggle i:before {
- content: url(../images/panel/tool-collapse.gif);
+ content: url(../images/panel/tool-collapse.gif);
}
.x-contrast .x-panel-collapsed .x-tool-toggle i:before {
- content: url(../images/panel/tool-expand.gif);
+ content: url(../images/panel/tool-expand.gif);
}
.x-contrast .x-tool-maximize i:before {
- content: url(../images/panel/tool-maximize.gif);
+ content: url(../images/panel/tool-maximize.gif);
}
.x-contrast .x-tool-minimize i:before {
- content: url(../images/panel/tool-minimize.gif);
+ content: url(../images/panel/tool-minimize.gif);
}
.x-contrast .x-tree3-node-joint-expand .x-tree3-node-text:before {
- content: url(../images/tree/tree-expanded.png);
- position: absolute;
- left: -25px;
+ content: url(../images/tree/tree-expanded.png);
+ position: absolute;
+ left: -25px;
}
.x-contrast .x-tree3-node-joint-collapse .x-tree3-node-text:before {
- content: url(../images/tree/tree-collapsed.png);
- position: absolute;
- left: -25px;
+ content: url(../images/tree/tree-collapsed.png);
+ position: absolute;
+ left: -25px;
}
.x-contrast .arrow-up i:before {
- content: url(../images/icons/top2.gif);
+ content: url(../images/icons/top2.gif);
}
.x-contrast .arrow-double-right i:before {
- content: url(../images/icons/doubleright2.gif);
+ content: url(../images/icons/doubleright2.gif);
}
.x-contrast .arrow-right i:before {
- content: url(../images/icons/right2.gif);
+ content: url(../images/icons/right2.gif);
}
.x-contrast .arrow-left i:before {
- content: url(../images/icons/left2.gif);
+ content: url(../images/icons/left2.gif);
}
.x-contrast .arrow-double-left i:before {
- content: url(../images/icons/doubleleft2.gif);
+ content: url(../images/icons/doubleleft2.gif);
}
.x-contrast .arrow-double-right i:before {
- content: url(../images/icons/doubleright2.gif);
+ content: url(../images/icons/doubleright2.gif);
}
.x-contrast .arrow-down i:before {
- content: url(../images/icons/down2.gif);
+ content: url(../images/icons/down2.gif);
}
.x-contrast .x-date-left-icon i:before {
- content: url(../images/shared/left-btn.gif);
+ content: url(../images/shared/left-btn.gif);
}
.x-contrast .x-date-right-icon i:before {
- content: url(../images/shared/right-btn.gif);
+ content: url(../images/shared/right-btn.gif);
}
.x-contrast .x-grid3-hd-btn:before {
- content: url("../images/grid/grid3-hd-btn-contrast.gif");
- border: 1px solid yellow;
+ content: url("../images/grid/grid3-hd-btn-contrast.gif");
+ border: 1px solid yellow;
}
.x-contrast .x-row-editor .x-btns {
- background-color: black;
+ background-color: black;
}
.x-contrast .x-html-editor-wrap .x-btn-pressed button {
- border: 3px solid black;
+ border: 3px solid black;
}
-.x-contrast .x-window, .x-contrast .x-info, .x-contrast .x-tip {
- background-color: black;
- border: 1px solid black;
+.x-contrast .x-window,.x-contrast .x-info,.x-contrast .x-tip {
+ background-color: black;
+ border: 1px solid black;
}
.x-contrast .x-menu-item-arrow:before {
- content: url(../images/shared/right-btn.gif);
+ content: url(../images/shared/right-btn.gif);
}
-.x-contrast .x-menu-scroller-top:before {
- content: url("../images/layout/mini-top.gif");
- position: absolute;
- left: 45px;
+.x-contrast .x-menu-scroller-top:before {
+ content: url("../images/layout/mini-top.gif");
+ position: absolute;
+ left: 45px;
}
-.x-contrast .x-menu-scroller-bottom:before {
- content: url("../images/layout/mini-bottom.gif");
- position: absolute;
- left: 45px;
+.x-contrast .x-menu-scroller-bottom:before {
+ content: url("../images/layout/mini-bottom.gif");
+ position: absolute;
+ left: 45px;
}
-.x-spinner-field .x-form-twin-triggers .x-form-spinner-up{
- height: 11px;
+.x-spinner-field .x-form-twin-triggers .x-form-spinner-up {
+ height: 11px;
}
+
.x-spinner-field .x-form-twin-triggers .x-form-spinner-down {
- height: 11px;
+ height: 11px;
}
-
.x-spinner-field .x-form-twin-triggers .x-form-spinner-down {
- top:13px;
+ top: 13px;
}
-
.x-spinner-field .x-form-spinner-up {
- background-image: url('../images/form/spinner.gif');
+ background-image: url('../images/form/spinner.gif');
}
+
.x-spinner-field .x-form-spinner-down {
- background-image: url('../images/form/spinner.gif');
+ background-image: url('../images/form/spinner.gif');
}
-
-
-
-
-
-
-
-
-
-
-
-
.x-spinner-field .x-form-spinner-down {
- background-position:0 -13px;
+ background-position: 0 -13px;
}
.x-trigger-wrap-focus .x-form-spinner-up {
- background-position:-100px 0;
+ background-position: -100px 0;
}
.x-trigger-wrap-focus .x-form-spinner-down {
- background-position:-100px -13px;
+ background-position: -100px -13px;
}
-.x-form-field-wrap .x-form-spinner-overup{
- background-position:-20px 0;
+.x-form-field-wrap .x-form-spinner-overup {
+ background-position: -20px 0;
}
-.x-form-field-wrap .x-form-spinner-clickup{
- background-position:-40px 0;
+
+.x-form-field-wrap .x-form-spinner-clickup {
+ background-position: -40px 0;
}
-.x-trigger-wrap-focus .x-form-spinner-overup{
- background-position:-120px 0;
+.x-trigger-wrap-focus .x-form-spinner-overup {
+ background-position: -120px 0;
}
-.x-trigger-wrap-focus .x-form-spinner-clickup{
- background-position:-140px 0;
+.x-trigger-wrap-focus .x-form-spinner-clickup {
+ background-position: -140px 0;
}
-.x-form-field-wrap .x-form-spinner-overdown{
- background-position:-60px -13px;
+.x-form-field-wrap .x-form-spinner-overdown {
+ background-position: -60px -13px;
}
-.x-form-field-wrap .x-form-spinner-clickdown{
- background-position:-80px -13px;
+
+.x-form-field-wrap .x-form-spinner-clickdown {
+ background-position: -80px -13px;
}
-.x-trigger-wrap-focus .x-form-spinner-overdown{
- background-position:-160px -13px;
+
+.x-trigger-wrap-focus .x-form-spinner-overdown {
+ background-position: -160px -13px;
}
-.x-trigger-wrap-focus .x-form-spinner-clickdown{
- background-position:-180px -13px;
+
+.x-trigger-wrap-focus .x-form-spinner-clickdown {
+ background-position: -180px -13px;
}
-
-.x-form-field-wrap .x-form-spinner-overup,
-.x-form-field-wrap .x-form-spinner-clickup{
+.x-form-field-wrap .x-form-spinner-overup,.x-form-field-wrap .x-form-spinner-clickup
+ {
border-bottom-color: #d97e27;
}
-.x-form-field-wrap .x-form-spinner-overdown,
-.x-form-field-wrap .x-form-spinner-clickdown{
+
+.x-form-field-wrap .x-form-spinner-overdown,.x-form-field-wrap .x-form-spinner-clickdown
+ {
border-bottom-color: #d97e27;
}
-.x-trigger-wrap-focus .x-form-spinner-down,
-.x-trigger-wrap-focus .x-form-spinner-up{
+.x-trigger-wrap-focus .x-form-spinner-down,.x-trigger-wrap-focus .x-form-spinner-up
+ {
border-bottom-color: #d97e27;
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -56,8 +56,10 @@
import cc.kune.core.client.notify.msgs.UserNotifierViewImpl;
import cc.kune.core.client.notify.spiner.SpinerPresenter;
import cc.kune.core.client.notify.spiner.SpinerViewImpl;
+import cc.kune.core.client.sitebar.SiteUserOptions;
+import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
+import cc.kune.core.client.sitebar.SitebarActionsPanel;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
-import cc.kune.core.client.sitebar.SitebarActionsViewImpl;
import cc.kune.core.client.sitebar.SitebarNewGroupLink;
import cc.kune.core.client.sitebar.SitebarSignInLink;
import cc.kune.core.client.sitebar.SitebarSignOutLink;
@@ -128,7 +130,7 @@
bindPresenter(SiteLogoPresenter.class, SiteLogoPresenter.SiteLogoView.class, SiteLogoViewImpl.class,
SiteLogoPresenter.SiteLogoProxy.class);
bindPresenter(SitebarActionsPresenter.class, SitebarActionsPresenter.SitebarActionsView.class,
- SitebarActionsViewImpl.class, SitebarActionsPresenter.SitebarActionsProxy.class);
+ SitebarActionsPanel.class, SitebarActionsPresenter.SitebarActionsProxy.class);
bindPresenter(NewGroupPresenter.class, NewGroupView.class, NewGroupPanel.class,
NewGroupPresenter.NewGroupProxy.class);
bindPresenter(GroupMembersPresenter.class, GroupMembersPresenter.GroupMembersView.class,
@@ -169,6 +171,9 @@
bind(PrefetchUtilities.class).in(Singleton.class);
bind(AppStarter.class).to(AppStarterDefault.class).in(Singleton.class);
bind(CookiesManager.class).to(CookiesManagerImpl.class).in(Singleton.class);
+ bind(BeforeSignOut.class).in(Singleton.class);
+ bind(SiteTokenListeners.class).asEagerSingleton();
+ bind(CoreParts.class).asEagerSingleton();
// SN
bind(SNAdminsMenuItemsRegistry.class).in(Singleton.class);
@@ -176,11 +181,10 @@
bind(SNPendingsMenuItemsRegistry.class).in(Singleton.class);
bind(GroupMembersActionsRegistry.class).in(Singleton.class);
+ bind(SiteUserOptions.class).to(SiteUserOptionsPresenter.class).in(Singleton.class);
bind(SitebarNewGroupLink.class).in(Singleton.class);
bind(SitebarSignInLink.class).in(Singleton.class);
bind(SitebarSignOutLink.class).in(Singleton.class);
- bind(BeforeSignOut.class).in(Singleton.class);
- bind(SiteTokenListeners.class).asEagerSingleton();
- bind(CoreParts.class).asEagerSingleton();
+
}
}
Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -2,6 +2,7 @@
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
+import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
import cc.kune.core.client.sn.GroupMembersPresenter;
import cc.kune.core.client.state.Session;
@@ -11,12 +12,13 @@
public class CoreParts {
@Inject
- public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter) {
+ public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter,
+ final Provider<SiteUserOptionsPresenter> userOptions) {
session.onInitDataReceived(new AppStartHandler() {
@Override
public void onAppStart(final AppStartEvent event) {
grouMembersPresenter.get();
- ;
+ userOptions.get();
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/logs/EventBusWithLogging.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/logs/EventBusWithLogging.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/logs/EventBusWithLogging.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -25,7 +25,7 @@
public class EventBusWithLogging extends SimpleEventBus {
@Override
public void fireEvent(final GwtEvent<?> event) {
- Log.debug("Kune " + event.toDebugString());
+ Log.debug("Kune " + event.toDebugString() + " " + event.toString());
super.fireEvent(event);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPanel.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/notify/confirm/UserConfirmPanel.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -20,6 +20,7 @@
package cc.kune.core.client.notify.confirm;
import cc.kune.common.client.noti.ConfirmAskEvent;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.notify.confirm.UserConfirmPresenter.UserConfirmView;
import cc.kune.core.client.ui.dialogs.BasicTopDialog;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -57,9 +58,15 @@
@Override
public void confirmAsk(final ConfirmAskEvent ask) {
dialog.getFirstBtnText().setText(ask.getAcceptBtnMsg());
- dialog.getSecondBtnText().setText(ask.getCancelBtnMsg());
+ final String cancelBtnMsg = ask.getCancelBtnMsg();
dialog.setFirstBtnTitle(ask.getAcceptBtnTooltip());
- dialog.setSecondBtnTitle(ask.getCancelBtnTooltip());
+ if (TextUtils.notEmpty(cancelBtnMsg)) {
+ dialog.getSecondBtnText().setText(cancelBtnMsg);
+ dialog.setSecondBtnTitle(ask.getCancelBtnTooltip());
+ dialog.setSecondBtnVisible(true);
+ } else {
+ dialog.setSecondBtnVisible(false);
+ }
dialog.getTitleText().setText(ask.getTitle());
askLabel.setText(ask.getMessage());
dialog.showCentered();
Added: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,48 @@
+package cc.kune.core.client.sitebar;
+
+import cc.kune.core.client.ui.dialogs.BasicTopDialog;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Frame;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+
+public class AboutKuneDialog {
+
+ interface Binder extends UiBinder<Widget, AboutKuneDialog> {
+ }
+ public static final String ABOUT_KUNE_BTN_ID = "kune-about-button-diag";
+ public static final String ABOUT_KUNE_ID = "kune-about-diag";
+ private static final Binder BINDER = GWT.create(Binder.class);
+
+ public static final String SITE_OPTIONS_MENU = "kune-sop-om";
+ private final BasicTopDialog dialog;
+ @UiField
+ FlowPanel flow;
+ @UiField
+ Frame frame;
+
+ @Inject
+ public AboutKuneDialog(final I18nTranslationService i18n) {
+ dialog = new BasicTopDialog(ABOUT_KUNE_ID, i18n.t("About Kune"), true, true, false, 400, 400, "", i18n.t("Ok"),
+ ABOUT_KUNE_BTN_ID, 1);
+ dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
+ dialog.getFirstBtn().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ dialog.hide();
+ }
+ });
+ }
+
+ public void showCentered() {
+ dialog.showCentered();
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+ <ui:style>
+ .panel {
+ width: 400px;
+ height: 400px;
+ }
+
+ .frame {
+ border: 0px;
+ margin: 0px;
+ width: 100%;
+ height: 400px;
+ background-color: #F2F2F2;
+ }
+ </ui:style>
+
+ <g:FlowPanel styleName="{style.panel}" ui:field="flow">
+ <g:Frame styleName="{style.frame}" url="about.html"
+ ui:field="frame" />
+ </g:FlowPanel>
+</ui:UiBinder>
Added: trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptions.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptions.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,9 @@
+package cc.kune.core.client.sitebar;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+
+public interface SiteUserOptions {
+
+ void addAction(GuiActionDescrip descriptor);
+
+}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java (from rev 1243, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,159 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.core.client.sitebar;
+
+import java.util.List;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.client.actions.ui.descrip.SubMenuDescriptor;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.services.FileDownloadUtils;
+import cc.kune.core.client.sn.actions.GotoGroupAction;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.state.UserSignInEvent;
+import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler;
+import cc.kune.core.client.state.UserSignOutEvent;
+import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
+import cc.kune.core.shared.dto.GroupDTO;
+import cc.kune.core.shared.dto.UserInfoDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class SiteUserOptionsPresenter implements SiteUserOptions {
+
+ public static final String LOGGED_USER_MENU = "kune-sump-lum";
+ private final Provider<FileDownloadUtils> downloadProvider;
+ private final GotoGroupAction gotoGroupAction;
+ private final I18nTranslationService i18n;
+ private final IconResources img;
+ private MenuDescriptor menuDescriptor;
+ private SubMenuDescriptor partiMenu;
+ private final Session session;
+ private final SitebarActionsPresenter siteOptions;
+ private final StateManager stateManager;
+
+ @Inject
+ public SiteUserOptionsPresenter(final Session session, final StateManager stateManager,
+ final Provider<FileDownloadUtils> downloadProvider, final I18nTranslationService i18n,
+ final IconResources img, final SitebarActionsPresenter siteOptions, final GotoGroupAction gotoGroupAction) {
+ super();
+ this.session = session;
+ this.stateManager = stateManager;
+ this.downloadProvider = downloadProvider;
+ this.i18n = i18n;
+ this.img = img;
+ this.siteOptions = siteOptions;
+ this.gotoGroupAction = gotoGroupAction;
+ createActions();
+ if (session.isLogged()) {
+ onUserSignIn(session.getCurrentUserInfo()); // NOPMD by vjrj on 11/02/11 3:37
+ }
+ session.onUserSignIn(new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ SiteUserOptionsPresenter.this.onUserSignIn(event.getUserInfo());
+ }
+ });
+ session.onUserSignOut(new UserSignOutHandler() {
+
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ menuDescriptor.setVisible(false);
+ SiteUserOptionsPresenter.this.setLoggedUserName("");
+ }
+ });
+ }
+
+ @Override
+ public void addAction(final GuiActionDescrip descriptor) {
+ addActionImpl(descriptor);
+ }
+
+ private void addActionImpl(final GuiActionDescrip descriptor) {
+ descriptor.setParent(menuDescriptor);
+ siteOptions.getRightToolbar().addAction(descriptor);
+ }
+
+ private void addPartipation(final GroupDTO group) {
+ final String logoImageUrl = group.hasLogo() ? downloadProvider.get().getLogoImageUrl(group.getStateToken())
+ : "images/group-def-icon.gif";
+ final MenuItemDescriptor participant = new MenuItemDescriptor(gotoGroupAction);
+ participant.setItem(group);
+ participant.putValue(Action.NAME, group.getLongName());
+ participant.putValue(Action.SMALL_ICON, logoImageUrl);
+ participant.setParent(partiMenu);
+ siteOptions.getRightToolbar().addAction(participant);
+ }
+
+ private void createActions() {
+ menuDescriptor = new MenuDescriptor();
+ menuDescriptor.setId(LOGGED_USER_MENU);
+ menuDescriptor.setStyles("k-no-backimage, k-btn-sitebar");
+ siteOptions.getRightToolbar().addAction(menuDescriptor);
+
+ partiMenu = new SubMenuDescriptor(i18n.t("Your groups"));
+ addActionImpl(partiMenu);
+
+ final AbstractExtendedAction userHomeAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ goUserHome();
+ }
+ };
+ userHomeAction.putValue(Action.NAME, i18n.t(CoreMessages.YOUR_HOMEPAGE));
+ userHomeAction.putValue(Action.SMALL_ICON, img.groupHome());
+ final MenuItemDescriptor item = new MenuItemDescriptor(userHomeAction);
+ item.setPosition(0);
+ addActionImpl(item);
+ }
+
+ private void goUserHome() {
+ stateManager.gotoToken(session.getCurrentUserInfo().getShortName());
+ }
+
+ private void onUserSignIn(final UserInfoDTO userInfoDTO) {
+ menuDescriptor.setVisible(true);
+ setLoggedUserName(userInfoDTO.getShortName());
+ partiMenu.clear();
+ final List<GroupDTO> groupsIsAdmin = userInfoDTO.getGroupsIsAdmin();
+ final List<GroupDTO> groupsIsCollab = userInfoDTO.getGroupsIsCollab();
+ for (final GroupDTO group : groupsIsAdmin) {
+ addPartipation(group);
+ }
+ for (final GroupDTO group : groupsIsCollab) {
+ addPartipation(group);
+ }
+ partiMenu.setVisible(!groupsIsAdmin.isEmpty() || !groupsIsCollab.isEmpty());
+ }
+
+ private void setLoggedUserName(final String shortName) {
+ menuDescriptor.putValue(Action.NAME, shortName);
+ }
+
+}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java (from rev 1239, trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,74 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.sitebar;
+
+import cc.kune.common.client.actions.ui.ActionSimplePanel;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
+import cc.kune.core.client.sitebar.SitebarActionsPresenter.SitebarActionsView;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.WsArmor;
+
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class SitebarActionsPanel extends ViewImpl implements SitebarActionsView {
+
+ private final Provider<AboutKuneDialog> aboutPanel;
+ private final ActionSimplePanel toolbarLeft;
+ private final ActionSimplePanel toolbarRight;
+
+ @Inject
+ public SitebarActionsPanel(final WsArmor armor, final ActionSimplePanel toolbarRight,
+ final ActionSimplePanel toolbarLeft, final I18nTranslationService i18n,
+ final Provider<AboutKuneDialog> aboutPanel) {
+ this.toolbarRight = toolbarRight;
+ this.toolbarLeft = toolbarLeft;
+ this.aboutPanel = aboutPanel;
+ toolbarRight.addStyleName("k-sitebar");
+ toolbarRight.addStyleName("k-floatright");
+ toolbarLeft.addStyleName("k-sitebar");
+ toolbarLeft.addStyleName("k-floatleft");
+ armor.getSitebar().add(toolbarLeft);
+ armor.getSitebar().add(toolbarRight);
+ }
+
+ @Override
+ public Widget asWidget() {
+ return toolbarRight;
+ }
+
+ @Override
+ public IsActionExtensible getLeftBar() {
+ return toolbarLeft;
+ }
+
+ @Override
+ public IsActionExtensible getRightBar() {
+ return toolbarRight;
+ }
+
+ @Override
+ public void showAboutDialog() {
+ aboutPanel.get().showCentered();
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -19,6 +19,7 @@
*/
package cc.kune.core.client.sitebar;
+import cc.kune.common.client.actions.AbstractAction;
import cc.kune.common.client.actions.AbstractExtendedAction;
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
@@ -30,7 +31,6 @@
import cc.kune.common.client.actions.ui.descrip.ToolbarDescriptor;
import cc.kune.common.client.ui.KuneWindowUtils;
import cc.kune.core.client.init.AppStartEvent;
-import cc.kune.core.client.notify.msgs.UserNotifyEvent;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.resources.icons.IconResources;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -56,6 +56,8 @@
IsActionExtensible getLeftBar();
IsActionExtensible getRightBar();
+
+ void showAboutDialog();
}
public static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
@@ -107,14 +109,6 @@
final IsActionExtensible right = getView().getRightBar();
OPTIONS_MENU.putValue(Action.NAME, i18n.t("Options"));
// OPTIONS_MENU.setParent(RIGHT_TOOLBAR);
- final AbstractExtendedAction action = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- getEventBus().fireEvent(new UserNotifyEvent("Testing only"));
- }
- };
- action.putValue(Action.NAME, "Test");
- final MenuItemDescriptor testMenuItem = new MenuItemDescriptor(OPTIONS_MENU, action);
OPTIONS_MENU.setStyles("k-no-backimage, k-btn-sitebar");
OPTIONS_MENU.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
// final ToolbarSeparatorDescriptor separator = new
@@ -131,31 +125,40 @@
};
bugsAction.putValue(Action.NAME, i18n.t("Report Kune issues/problems"));
bugsAction.putValue(Action.SMALL_ICON, icons.bug());
- final MenuItemDescriptor bugs = new MenuItemDescriptor(OPTIONS_MENU, bugsAction);
+ final MenuItemDescriptor reportBugs = new MenuItemDescriptor(OPTIONS_MENU, bugsAction);
// final KeyStroke shortcut = Shortcut.getShortcut(true, true, false,
// false, Character.valueOf('K'));
final AbstractExtendedAction aboutAction = new AbstractExtendedAction() {
@Override
public void actionPerformed(final ActionEvent event) {
- // view.showAboutDialog();
+ getView().showAboutDialog();
}
};
+ final MenuItemDescriptor gotoKuneDevSite = new MenuItemDescriptor(OPTIONS_MENU, new AbstractAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ KuneWindowUtils.open("http://kune.ourproject.org/");
+ }
+ });
+ gotoKuneDevSite.putValue(Action.NAME, i18n.t("kune development site"));
+ gotoKuneDevSite.putValue(Action.SMALL_ICON, icons.kuneIcon16());
+
aboutAction.putValue(Action.NAME, i18n.t("About kune"));
aboutAction.putValue(Action.SMALL_ICON, res.kuneIcon16());
// aboutAction.setShortcut(shortcut);
// shortcutReg.put(shortcut, aboutAction);
+ right.addAction(OPTIONS_MENU);
right.addAction(signInLink.get());
right.addAction(signOutLink.get());
// right.addAction(separator2);
right.addAction(newGroupLink.get());
// right.addAction(separator);
- right.addAction(OPTIONS_MENU);
- right.addAction(testMenuItem);
+ right.addAction(reportBugs);
+ right.addAction(gotoKuneDevSite);
right.addAction(menuSeparator);
- right.addAction(bugs);
right.addAction(new MenuItemDescriptor(OPTIONS_MENU, aboutAction));
}
@@ -164,4 +167,5 @@
protected void revealInParent() {
RevealRootContentEvent.fire(this, this);
}
+
}
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsViewImpl.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,64 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.client.sitebar;
-
-import cc.kune.common.client.actions.ui.ActionSimplePanel;
-import cc.kune.common.client.actions.ui.IsActionExtensible;
-import cc.kune.core.client.sitebar.SitebarActionsPresenter.SitebarActionsView;
-import cc.kune.gspace.client.WsArmor;
-
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.ViewImpl;
-
-public class SitebarActionsViewImpl extends ViewImpl implements SitebarActionsView {
-
- private final ActionSimplePanel toolbarLeft;
- private final ActionSimplePanel toolbarRight;
-
- @Inject
- public SitebarActionsViewImpl(final WsArmor armor, final ActionSimplePanel toolbarRight,
- final ActionSimplePanel toolbarLeft) {
- this.toolbarRight = toolbarRight;
- this.toolbarLeft = toolbarLeft;
- toolbarRight.addStyleName("k-sitebar");
- toolbarRight.addStyleName("k-floatright");
- toolbarLeft.addStyleName("k-sitebar");
- toolbarLeft.addStyleName("k-floatleft");
- armor.getSitebar().add(toolbarLeft);
- armor.getSitebar().add(toolbarRight);
- }
-
- @Override
- public Widget asWidget() {
- return toolbarRight;
- }
-
- @Override
- public IsActionExtensible getLeftBar() {
- return toolbarLeft;
- }
-
- @Override
- public IsActionExtensible getRightBar() {
- return toolbarRight;
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrableGroupWhenLoggedCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrableGroupWhenLoggedCondition.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrableGroupWhenLoggedCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,25 +0,0 @@
-package cc.kune.core.client.sn.actions.conditions;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-@Singleton
-public class AdministrableGroupWhenLoggedCondition implements GuiAddCondition {
-
- private final Session session;
-
- @Inject
- public AdministrableGroupWhenLoggedCondition(final Session session) {
- this.session = session;
- }
-
- @Override
- public boolean mustBeAdded(final GuiActionDescrip descr) {
- return (!((GroupDTO) descr.getItem()).isPersonal() && session.isLogged() && session.getContentState().getGroupRights().isAdministrable());
- }
-}
Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrablePersonWhenLoggedCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrablePersonWhenLoggedCondition.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/AdministrablePersonWhenLoggedCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,25 +0,0 @@
-package cc.kune.core.client.sn.actions.conditions;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-@Singleton
-public class AdministrablePersonWhenLoggedCondition implements GuiAddCondition {
-
- private final Session session;
-
- @Inject
- public AdministrablePersonWhenLoggedCondition(final Session session) {
- this.session = session;
- }
-
- @Override
- public boolean mustBeAdded(final GuiActionDescrip descr) {
- return (((GroupDTO) descr.getItem()).isPersonal() && session.isLogged() && session.getContentState().getGroupRights().isAdministrable());
- }
-}
Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/GroupWhenLoggedCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/GroupWhenLoggedCondition.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/GroupWhenLoggedCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,25 +0,0 @@
-package cc.kune.core.client.sn.actions.conditions;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-@Singleton
-public class GroupWhenLoggedCondition implements GuiAddCondition {
-
- private final Session session;
-
- @Inject
- public GroupWhenLoggedCondition(final Session session) {
- this.session = session;
- }
-
- @Override
- public boolean mustBeAdded(final GuiActionDescrip descr) {
- return (!((GroupDTO) descr.getItem()).isPersonal() && session.isLogged());
- }
-}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsAdministrableCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsAdministrableCondition.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsAdministrableCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -3,6 +3,8 @@
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.dto.StateContentDTO;
import com.google.inject.Inject;
@@ -20,9 +22,12 @@
@Override
public boolean mustBeAdded(final GuiActionDescrip descr) {
- if (session.getContainerState() instanceof StateContentDTO) {
- // FIXME
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState instanceof StateContentDTO) {
+ return ((StateContentDTO) currentState).getGroupRights().isAdministrable();
+ } else {
+ // session.getContainerState() instanceof StateContentDTO)
+ return ((StateContainerDTO) currentState).getGroupRights().isAdministrable();
}
- return (session.getContentState().getGroupRights().isAdministrable());
}
}
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsEditableCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsEditableCondition.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsEditableCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,33 @@
+package cc.kune.core.client.sn.actions.conditions;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.dto.StateContainerDTO;
+import cc.kune.core.shared.dto.StateContentDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class IsEditableCondition implements GuiAddCondition {
+
+ private final Session session;
+
+ @Inject
+ public IsEditableCondition(final Session session) {
+ this.session = session;
+ }
+
+ @Override
+ public boolean mustBeAdded(final GuiActionDescrip descr) {
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState instanceof StateContentDTO) {
+ return ((StateContentDTO) currentState).getGroupRights().isEditable();
+ } else {
+ // session.getContainerState() instanceof StateContentDTO)
+ return ((StateContainerDTO) currentState).getGroupRights().isEditable();
+ }
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsEditableCondition.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotMeCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotMeCondition.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotMeCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,26 @@
+package cc.kune.core.client.sn.actions.conditions;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.GroupDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class IsNotMeCondition implements GuiAddCondition {
+
+ private final Session session;
+
+ @Inject
+ public IsNotMeCondition(final Session session) {
+ this.session = session;
+ }
+
+ @Override
+ public boolean mustBeAdded(final GuiActionDescrip descr) {
+ return (session.isLogged() && !session.getCurrentUser().getShortName().equals(
+ ((GroupDTO) descr.getItem()).getShortName()));
+ }
+}
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsVisibleCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsVisibleCondition.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsVisibleCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,33 @@
+package cc.kune.core.client.sn.actions.conditions;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.dto.StateContainerDTO;
+import cc.kune.core.shared.dto.StateContentDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class IsVisibleCondition implements GuiAddCondition {
+
+ private final Session session;
+
+ @Inject
+ public IsVisibleCondition(final Session session) {
+ this.session = session;
+ }
+
+ @Override
+ public boolean mustBeAdded(final GuiActionDescrip descr) {
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState instanceof StateContentDTO) {
+ return ((StateContentDTO) currentState).getGroupRights().isVisible();
+ } else {
+ // session.getContainerState() instanceof StateContentDTO)
+ return ((StateContainerDTO) currentState).getGroupRights().isVisible();
+ }
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsVisibleCondition.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/PersonWhenLoggedCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/PersonWhenLoggedCondition.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/PersonWhenLoggedCondition.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,25 +0,0 @@
-package cc.kune.core.client.sn.actions.conditions;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.GroupDTO;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-@Singleton
-public class PersonWhenLoggedCondition implements GuiAddCondition {
-
- private final Session session;
-
- @Inject
- public PersonWhenLoggedCondition(final Session session) {
- this.session = session;
- }
-
- @Override
- public boolean mustBeAdded(final GuiActionDescrip descr) {
- return (((GroupDTO) descr.getItem()).isPersonal() && session.isLogged());
- }
-}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -11,8 +11,8 @@
public GroupMembersActionsRegistry(final JoinGroupAction joinGroupAction, final UnJoinGroupAction unJoinGroupAction) {
final ButtonDescriptor join = new ButtonDescriptor(joinGroupAction);
final ButtonDescriptor unjoin = new ButtonDescriptor(unJoinGroupAction);
- join.setStyles("k-no-backimage");
- unjoin.setStyles("k-no-backimage");
+ // join.setStyles("k-no-backimage");
+ // unjoin.setStyles("k-no-backimage");
add(join);
add(unjoin);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNAdminsMenuItemsRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNAdminsMenuItemsRegistry.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNAdminsMenuItemsRegistry.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -11,6 +11,7 @@
import cc.kune.core.client.sn.actions.StartChatWithMemberAction;
import cc.kune.core.client.sn.actions.conditions.IsAdministrableCondition;
import cc.kune.core.client.sn.actions.conditions.IsGroupCondition;
+import cc.kune.core.client.sn.actions.conditions.IsNotMeCondition;
import cc.kune.core.client.sn.actions.conditions.IsPersonCondition;
import cc.kune.core.client.state.Session;
@@ -22,15 +23,16 @@
@Inject
public SNAdminsMenuItemsRegistry(final Session session, final IsAdministrableCondition isAdministrableCondition,
final IsPersonCondition isPersonCondition, final IsGroupCondition isGroupCondition,
- final ChangeToCollabAction changeToCollabAction, final ChangeToAdminAction changeToAdminAction,
- final RemoveMemberAction removeMemberAction, final AcceptJoinGroupAction acceptJoinGroupAction,
- final DenyJoinGroupAction denyJoinGroupAction, final StartChatWithMemberAction startChatWithUserAction,
- final GotoGroupAction gotoGroupAction, final GotoMemberAction gotoMemberAction) {
+ final IsNotMeCondition isNotMe, final ChangeToCollabAction changeToCollabAction,
+ final ChangeToAdminAction changeToAdminAction, final RemoveMemberAction removeMemberAction,
+ final AcceptJoinGroupAction acceptJoinGroupAction, final DenyJoinGroupAction denyJoinGroupAction,
+ final StartChatWithMemberAction startChatWithUserAction, final GotoGroupAction gotoGroupAction,
+ final GotoMemberAction gotoMemberAction) {
add(new Provider<MenuItemDescriptor>() {
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(changeToCollabAction);
- item.setAddCondition(isAdministrableCondition);
+ item.add(isAdministrableCondition);
return item;
}
});
@@ -38,7 +40,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(removeMemberAction);
- item.setAddCondition(isAdministrableCondition);
+ item.add(isAdministrableCondition);
return item;
}
});
@@ -46,7 +48,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(gotoMemberAction);
- item.setAddCondition(isPersonCondition);
+ item.add(isPersonCondition);
return item;
}
});
@@ -54,7 +56,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(gotoGroupAction);
- item.setAddCondition(isGroupCondition);
+ item.add(isGroupCondition);
return item;
}
});
@@ -62,7 +64,8 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(startChatWithUserAction);
- item.setAddCondition(isPersonCondition);
+ item.add(isNotMe);
+ item.add(isPersonCondition);
return item;
}
});
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNCollabsMenuItemsRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNCollabsMenuItemsRegistry.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNCollabsMenuItemsRegistry.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -11,6 +11,7 @@
import cc.kune.core.client.sn.actions.StartChatWithMemberAction;
import cc.kune.core.client.sn.actions.conditions.IsAdministrableCondition;
import cc.kune.core.client.sn.actions.conditions.IsGroupCondition;
+import cc.kune.core.client.sn.actions.conditions.IsNotMeCondition;
import cc.kune.core.client.sn.actions.conditions.IsPersonCondition;
import cc.kune.core.client.state.Session;
@@ -22,15 +23,16 @@
@Inject
public SNCollabsMenuItemsRegistry(final Session session, final IsAdministrableCondition isAdministrableCondition,
final IsPersonCondition isPersonCondition, final IsGroupCondition isGroupCondition,
- final ChangeToCollabAction changeToCollabAction, final ChangeToAdminAction changeToAdminAction,
- final RemoveMemberAction removeMemberAction, final AcceptJoinGroupAction acceptJoinGroupAction,
- final DenyJoinGroupAction denyJoinGroupAction, final StartChatWithMemberAction startChatWithUserAction,
- final GotoGroupAction gotoGroupAction, final GotoMemberAction gotoMemberAction) {
+ final IsNotMeCondition isNotMe, final ChangeToCollabAction changeToCollabAction,
+ final ChangeToAdminAction changeToAdminAction, final RemoveMemberAction removeMemberAction,
+ final AcceptJoinGroupAction acceptJoinGroupAction, final DenyJoinGroupAction denyJoinGroupAction,
+ final StartChatWithMemberAction startChatWithUserAction, final GotoGroupAction gotoGroupAction,
+ final GotoMemberAction gotoMemberAction) {
add(new Provider<MenuItemDescriptor>() {
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(changeToAdminAction);
- item.setAddCondition(isAdministrableCondition);
+ item.add(isAdministrableCondition);
return item;
}
});
@@ -38,7 +40,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(removeMemberAction);
- item.setAddCondition(isAdministrableCondition);
+ item.add(isAdministrableCondition);
return item;
}
});
@@ -46,7 +48,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(gotoMemberAction);
- item.setAddCondition(isPersonCondition);
+ item.add(isPersonCondition);
return item;
}
});
@@ -54,7 +56,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(gotoGroupAction);
- item.setAddCondition(isGroupCondition);
+ item.add(isGroupCondition);
return item;
}
});
@@ -62,7 +64,8 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(startChatWithUserAction);
- item.setAddCondition(isPersonCondition);
+ item.add(isNotMe);
+ item.add(isPersonCondition);
return item;
}
});
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNPendingsMenuItemsRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNPendingsMenuItemsRegistry.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/SNPendingsMenuItemsRegistry.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -30,7 +30,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(acceptJoinGroupAction);
- item.setAddCondition(isAdministrableCondition);
+ item.add(isAdministrableCondition);
return item;
}
});
@@ -38,7 +38,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(denyJoinGroupAction);
- item.setAddCondition(isAdministrableCondition);
+ item.add(isAdministrableCondition);
return item;
}
});
@@ -46,7 +46,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(gotoPersonAction);
- item.setAddCondition(isPersonCondition);
+ item.add(isPersonCondition);
return item;
}
});
@@ -54,7 +54,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(gotoGroupAction);
- item.setAddCondition(isGroupCondition);
+ item.add(isGroupCondition);
return item;
}
});
@@ -62,7 +62,7 @@
@Override
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(startChatWithUserAction);
- item.setAddCondition(isPersonCondition);
+ item.add(isPersonCondition);
return item;
}
});
Modified: trunk/src/main/java/cc/kune/core/client/state/SiteCommonTokens.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SiteCommonTokens.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/state/SiteCommonTokens.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -24,6 +24,7 @@
*
*/
public final class SiteCommonTokens {
+ public static final String ABOUTKUNE = "about";
public final static String HOME = "";
public final static String NEWGROUP = "newgroup";
public final static String REGISTER = "register";
Modified: trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -24,6 +24,7 @@
import cc.kune.core.client.groups.newgroup.NewGroup;
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
+import cc.kune.core.client.sitebar.AboutKuneDialog;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
@@ -32,6 +33,7 @@
@Singleton
public class SiteTokenListeners {
+ private final Provider<AboutKuneDialog> aboutKuneDialog;
private final Provider<NewGroup> newGroup;
private final Provider<Register> register;
private final Provider<SignIn> signIn;
@@ -39,11 +41,13 @@
@Inject
public SiteTokenListeners(final EventBus eventBus, final Provider<StateManager> stateManager,
- final Provider<SignIn> signIn, final Provider<Register> register, final Provider<NewGroup> newGroup) {
+ final Provider<SignIn> signIn, final Provider<Register> register, final Provider<NewGroup> newGroup,
+ final Provider<AboutKuneDialog> aboutKuneDialog) {
this.stateManager = stateManager;
this.signIn = signIn;
this.register = register;
this.newGroup = newGroup;
+ this.aboutKuneDialog = aboutKuneDialog;
init();
eventBus.addHandler(AppStartEvent.getType(), new AppStartHandler() {
@Override
@@ -72,5 +76,12 @@
newGroup.get().doNewGroup();
}
});
+ stateManager.get().addSiteToken(SiteCommonTokens.ABOUTKUNE, new HistoryTokenCallback() {
+ @Override
+ public void onHistoryToken() {
+ // FIXME, something to come back
+ aboutKuneDialog.get().showCentered();
+ }
+ });
}
}
Modified: trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicTopDialog.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicTopDialog.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -20,6 +20,7 @@
package cc.kune.core.client.ui.dialogs;
import cc.kune.common.client.ui.PopupTopPanel;
+import cc.kune.common.client.utils.TextUtils;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.HasCloseHandlers;
@@ -32,6 +33,14 @@
public BasicTopDialog(final String dialogId, final String title, final boolean autohide, final boolean modal,
final boolean autoscroll, final int width, final int height, final String icon,
+ final String firstButtonTitle, final String firstButtonId, final int tabIndexStart) {
+ this(dialogId, title, autohide, modal, autoscroll, width, height, icon, firstButtonTitle, firstButtonId, "",
+ "", tabIndexStart);
+ super.setSecondBtnVisible(false);
+ }
+
+ public BasicTopDialog(final String dialogId, final String title, final boolean autohide, final boolean modal,
+ final boolean autoscroll, final int width, final int height, final String icon,
final String firstButtonTitle, final String firstButtonId, final String cancelButtonTitle,
final String cancelButtonId, final int tabIndexStart) {
popup = new PopupTopPanel(autohide, modal);
@@ -43,9 +52,13 @@
GWT.log("Not setting size of dialog to: " + String.valueOf(width) + "/" + String.valueOf(height));
super.setTitleIcon(icon);
super.getFirstBtnText().setText(firstButtonTitle);
- super.getSecondBtnText().setText(cancelButtonTitle);
+ if (TextUtils.notEmpty(cancelButtonTitle)) {
+ super.getSecondBtnText().setText(cancelButtonTitle);
+ }
super.setFirstBtnId(firstButtonId);
- super.setSecondBtnId(cancelButtonId);
+ if (TextUtils.notEmpty(cancelButtonId)) {
+ super.setSecondBtnId(cancelButtonId);
+ }
super.setFirstBtnTabIndex(tabIndexStart);
super.setSecondBtnTabIndex(tabIndexStart + 1);
}
Added: trunk/src/main/java/cc/kune/core/public/about.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/about.html (rev 0)
+++ trunk/src/main/java/cc/kune/core/public/about.html 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,195 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title></title>
+<meta name="generator" content="HTML::TextToHTML v2.51"/>
+<link rel="stylesheet" type="text/css" href="frame-def.css"/>
+</head>
+<body>
+<span>
+ <a target="_blank" href="http://kune.ourproject.org/" title="kune" rel="home">
+<img src="logo-kune-big.png" alt="kune-logo" height="36" width="200">
+</img>
+</a>
+</span>
+<p>Version 0.0.7 (r1239+c71)</p>
+<h1><a name="section_1">CREDITS</a></h1>
+
+<h2><a name="section_1_1">Authors</a></h2>
+
+<p>Daniel Gómez Blasco<br/>
+Samer Hassan<br/>
+Vicente J. Ruiz Jurado
+</p>
+<h2><a name="section_1_2">Contributors</a></h2>
+
+<ul>
+ <li>Thanks to David Trigo and <a href="http://www.esperanto-es.net/">http://www.esperanto-es.net/</a> for suggest the name of
+'kune' for our initiative:
+ <a href="http://ourproject.org/forum/forum.php?thread_id=500&forum_id=469">http://ourproject.org/forum/forum.php?thread_id=500&forum_id=469</a>
+ </li><li>Antonio Martins, Jéferson Assumção, Moacir Gadotti and the Instituto Paulo
+Freire staff.
+ </li><li>Daniel Jiménez for the initial help and coordination
+ </li><li>Javier de la Cueva and Leovigildo García-Bobadilla for the legal support
+ </li><li>Jonathan Araña Cruz, Roxu and all the <a href="http://xsto.info">http://xsto.info</a> staff for help with the infraestructure
+ </li><li>Johnattan Rupire for web contributions.
+ </li><li>The <a href="http://iepala.es">http://iepala.es</a> staff for their support
+ </li><li>and <a href="http://ourproject.org">http://ourproject.org</a> and again <a href="http://xsto.info">http://xsto.info</a> for sharing with us their resources
+</li></ul>
+<h1><a name="section_2">LICENSES</a></h1>
+
+<p>All programs are either under the GPL, LGPL, Artistic or BSD licenses, see
+below for details.
+</p>
+<p>On Debian systems, the complete text of these licenses can be found in:
+</p>
+<p>/usr/share/common-licenses/GPL-3<br/>
+/usr/share/common-licenses/Artistic<br/>
+/usr/share/common-licenses/BSD<br/>
+/usr/share/common-licenses/LGPL
+</p>
+<p>When in doubt, check the individual file, they should all have license
+headings and other identifying marks.
+</p>
+<h2><a name="section_2_1">kune software</a></h2>
+<dl>
+ <dt>Copyright</dt>
+<dd> (c) 2007-2011 The kune development team (see CREDITS for details)
+</dd></dl>
+<p> This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+</p>
+<p> This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+</p>
+<p> You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>>.
+</p>
+<p>See COPYRIGHT-AGPLv3 for a complete text.
+</p>
+<h2><a name="section_2_2">kune documentation</a></h2>
+<dl>
+ <dt>Copyright</dt>
+<dd>(c) The kune development team (see CREDITS an individual docs for details)
+<p> This work is licensed under the Creative Commons Attribution-Share Alike 3.0
+ License. To view a copy of this license, visit
+ <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a>
+ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San
+ Francisco, California, 94105, USA.
+</p>
+</dd></dl>
+<h2><a name="section_2_3">kune graphics</a></h2>
+<dl>
+ <dt>Copyright</dt>
+<dd>(c) Vicente J. Ruiz Jurado <<a href="mailto:[email protected]">vjrj(a)ourproject.org</a>>
+<p> This work is licensed under the Creative Commons Attribution-Share Alike 3.0
+ License. To view a copy of this license, visit
+ <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a>
+ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San
+ Francisco, California, 94105, USA.
+</p>
+</dd></dl>
+<h2><a name="section_2_4">some icons</a></h2>
+<p>It was downloaded from <a href="http://tango.freedesktop.org/">http://tango.freedesktop.org/</a>
+</p><dl>
+ <dt>Copyright</dt>
+<dd> Creative Commons Attribution-ShareAlike 2.5 License Agreement
+ <a href="http://creativecommons.org/licenses/by-sa/2.5/">http://creativecommons.org/licenses/by-sa/2.5/</a>
+</dd></dl>
+<p>other from: <a href="http://www.famfamfam.com/lab/icons/silk/">http://www.famfamfam.com/lab/icons/silk/</a>
+</p><dl>
+ <dt>Copyright</dt>
+<dd> Creative Commons Attribution 2.5 License Agreement
+ <a href="http://creativecommons.org/licenses/by/2.5/">http://creativecommons.org/licenses/by/2.5/</a>
+</dd></dl>
+<p>some xmpp icons from pidgin
+</p><p> Purple/Pidgin/Finch is the legal property of its developers.
+ Copyright (C) 1998-2007 under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of
+ the License, or (at your option) any later version.
+</p>
+<p>and others icons from openoffice.org-style-human debian package
+</p><p> Copyright 2002-2007 Sun Microsystems, Inc.
+ This product is made available subject to the terms of GNU Lesser General
+ Public License Version 2.1. A copy of the LGPL license can be found
+ <a href="http://www.openoffice.org/project/www/license.html">http://www.openoffice.org/project/www/license.html</a>
+</p>
+<h2><a name="section_2_5">others</a></h2>
+
+<p>wave / wave in a box
+</p><p> <a href="http://www.waveprotocol.org">http://www.waveprotocol.org</a> <br/>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>
+ <a href="http://www.waveprotocol.org/patent-license">http://www.waveprotocol.org/patent-license</a>
+</p>
+<p>emite
+</p><p> <a href="http://emite.googlecode.com">http://emite.googlecode.com</a><br/>
+ Copyright: under GNU Lesser General Public License
+ <a href="http://www.gnu.org/licenses/lgpl.html">http://www.gnu.org/licenses/lgpl.html</a>
+</p>
+<p>suco
+</p><p> <a href="http://suco.googlecode.com">http://suco.googlecode.com</a><br/>
+ Copyright: under GNU Lesser General Public License
+ <a href="http://www.gnu.org/licenses/lgpl.html">http://www.gnu.org/licenses/lgpl.html</a>
+</p>
+<p>fonts-min.css and reset.css
+</p><p> Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+ Code licensed under the BSD License:
+ <a href="http://developer.yahoo.net/yui/license.txt">http://developer.yahoo.net/yui/license.txt</a>
+</p>
+<p>ext-gwt gxt library:
+</p><p> <a href="http://www.sencha.com/products/extgwt/">http://www.sencha.com/products/extgwt/</a>
+ Copyright: under GNU General Public License
+ <a href="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a>
+</p>
+<p>gwt-ext (deprecated) library:
+</p><p> <a href="http://code.google.com/p/gwt-ext/">http://code.google.com/p/gwt-ext/</a><br/>
+ Copyright: under GNU Lesser General Public License
+ <a href="http://www.gnu.org/licenses/lgpl.html">http://www.gnu.org/licenses/lgpl.html</a>
+</p>
+<p>google-gin library:
+</p><p> <a href="https://code.google.com/p/google-gin/">https://code.google.com/p/google-gin/</a>
+ Copyright: under Apache License 2.0<br/>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>
+</p>
+<p>gwt-platform library:
+</p><p> <a href="https://code.google.com/p/gwt-platform/">https://code.google.com/p/gwt-platform/</a>
+ Copyright: under Apache License 2.0<br/>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>
+</p>
+<p>emoticons from Adium and Kopete theme
+</p><p> kopete adium theme by robotangel and original "Adiumicons" by Oscar Gruno
+ under GNU GPL license
+</p>
+<p>dom region library:
+</p><p> XWiki Platform<br/>
+ <a href="http://www.xwiki.org/">http://www.xwiki.org/</a><br/>
+ Copyright: under GNU Lesser General Public License
+ <a href="http://www.gnu.org/licenses/lgpl.html">http://www.gnu.org/licenses/lgpl.html</a>
+</p>
+<dl>
+ <dt>cortado</dt>
+<dd> A video player java applet (Ogg Theora, Ogg Vorbis)
+ <a href="http://www.flumotion.net/cortado/">http://www.flumotion.net/cortado/</a>
+ Copyright: (C) 2004 Fluendo S.L under GNU General Public License
+</dd></dl>
+<p>video embed dialog:
+</p><p> Some ideas and embeded video code from:
+ <a href="http://www.jovelstefan.de/embedded-video/">http://www.jovelstefan.de/embedded-video/</a> (GPL)
+ <a href="http://www.daburna.de/blog/2006/12/13/wordpress-video-plugin/">http://www.daburna.de/blog/2006/12/13/wordpress-video-plugin/</a>
+</p>
+<p>some license description:
+</p><p> from Wikipedia<br/>
+ Copyright: under GFDL <a href="http://www.gnu.org/copyleft/fdl.html">http://www.gnu.org/copyleft/fdl.html</a>
+</p>
+<p>some Action classes:
+</p><p> from GNU Classpath<br/>
+ Copyright: under GNU General Public License
+ <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a></p>
+
+</body>
+</html>
Copied: trunk/src/main/java/cc/kune/core/public/frame-def.css (from rev 1239, trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css)
===================================================================
--- trunk/src/main/java/cc/kune/core/public/frame-def.css (rev 0)
+++ trunk/src/main/java/cc/kune/core/public/frame-def.css 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,16 @@
+/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.3.1
+*/body{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup,sub{line-height:-1px;vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.3.1
+*/body{font:13px/1.22 arial,helvetica,clean,sans-serif;font-size:small;font:x-small;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:99%;}/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.4.1
+*/h1{font-size:138.5%;}h2{font-size:123.099998%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:700;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:700;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;width:11.9em;}body{font-family:arial, sans;margin:5px;}.k-rte-comment{border:1px dashed silver;line-height:1.4;padding:1px;background-color:#D7FFD7;}blockquote{border:1px dashed #DDD;padding:10px;}
\ No newline at end of file
Copied: trunk/src/main/java/cc/kune/core/public/images/group-def-icon.gif (from rev 1239, trunk/src/main/java/org/ourproject/kune/platf/public/images/group-def-icon.gif)
===================================================================
(Binary files differ)
Added: trunk/src/main/java/cc/kune/core/public/logo-kune-big.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/logo-kune-big.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-02-11 03:28:34 UTC (rev 1245)
@@ -17,6 +17,7 @@
font: 'Ubuntu', Arial;
}
+/*
a {
color: darkblue;
}
@@ -24,7 +25,7 @@
a:visited {
color: darkblue;
}
-
+*/
.gwt-DialogBox {
border: 2px solid #AAAAAA;
background-color: white;
@@ -778,10 +779,11 @@
float: left;
}
-.k-sn-adminsCountlabel,.k-sn-collabsCountlabel,.k-sn-pendingsCountlabel {
- float: left;
- padding-left: 5px;
- color: #e0e0e0;
+.k-sn-adminsCountlabel,.k-sn-collabsCountlabel,.k-sn-pendingsCountlabel
+ {
+ float: left;
+ padding-left: 5px;
+ color: #e0e0e0;
}
.k-sn-adminslabel {
@@ -799,19 +801,25 @@
}
*/
.k-sn-mainpanel .x-btn button {
+ font: 13px 'Ubuntu', arial;
+ border: 2px solid #CCCCCC;
cursor: pointer;
- font: 13px 'Ubuntu', arial;
- padding: 2px;
+ margin: 0;
+ padding: 3px 0;
+ text-decoration: none;
+ background-color: #F2F2F2;
+ color: #855585;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
- text-decoration: none;
vertical-align: middle;
- background-color: #F2F2F2;
+ line-height: 2em !important;
+ height: 26px !important;
+ /*
+font-size:small;
+ cursor: pointer;
border: 2px gray solid;
- height: 26px !important;
- line-height: 2em !important;
- padding-left: 25px !important;
+ padding-left: 25px !important; */
}
.k-sn-mainpanel .x-btn button:hover {
@@ -849,8 +857,8 @@
}
-.k-sn-pendingspanel {
- /* background-color: #a05a2c; */
+.k-sn-pendingspanel { /* background-color: #a05a2c; */
+
}
.k-sn-adminsscroll,.k-sn-collabsscroll,.k-sn-pendingsscroll {
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-02-11 03:28:34 UTC (rev 1245)
@@ -52,6 +52,7 @@
rel='stylesheet' type='text/css'> -->
<link type="text/css" rel="stylesheet" href="gxt/css/gxt-all.css">
<link type="text/css" rel="stylesheet" href="gxt/css/gxt-gray.css">
+<link type="text/css" rel="stylesheet" href="gxt-custom/css/gxt-op-common.css">
<link type="text/css" rel="stylesheet" href="kune-hablar.css">
<link type="text/css" rel="stylesheet" href="kune-chat.css">
<link type="text/css" rel="stylesheet" href="kune-common.css">
Modified: trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.ui.xml 2011-02-11 03:28:34 UTC (rev 1245)
@@ -27,7 +27,8 @@
<g:tab>
<g:header size='0' />
<g:SimplePanel ui:field="userSpace" width="100%"
- height="100%"></g:SimplePanel>
+ height="100%">
+ </g:SimplePanel>
</g:tab>
<g:tab>
<g:header size='0' />
Deleted: trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/richtext.css 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,16 +0,0 @@
-/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.3.1
-*/body{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup,sub{line-height:-1px;vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.3.1
-*/body{font:13px/1.22 arial,helvetica,clean,sans-serif;font-size:small;font:x-small;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:99%;}/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.4.1
-*/h1{font-size:138.5%;}h2{font-size:123.099998%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:700;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:700;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;width:11.9em;}body{font-family:arial, sans;margin:5px;}.k-rte-comment{border:1px dashed silver;line-height:1.4;padding:1px;background-color:#D7FFD7;}blockquote{border:1px dashed #DDD;padding:10px;}
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/platf/public/images/group-def-icon.gif
===================================================================
(Binary files differ)
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -74,9 +74,6 @@
import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPanel;
import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPresenter;
-import org.ourproject.kune.workspace.client.entityheader.maxmin.MaxMinWorkspace;
-import org.ourproject.kune.workspace.client.entityheader.maxmin.MaxMinWorkspacePanel;
-import org.ourproject.kune.workspace.client.entityheader.maxmin.MaxMinWorkspacePresenter;
import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
@@ -85,7 +82,6 @@
import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPresenter;
import org.ourproject.kune.workspace.client.i18n.LanguageSelectorView;
-import org.ourproject.kune.workspace.client.i18n.SiteOptionsI18nTranslatorAction;
import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter;
import org.ourproject.kune.workspace.client.licensewizard.LicenseChangeAction;
@@ -114,8 +110,6 @@
import org.ourproject.kune.workspace.client.options.GroupOptionsPanel;
import org.ourproject.kune.workspace.client.options.GroupOptionsPresenter;
import org.ourproject.kune.workspace.client.options.UserOptions;
-import org.ourproject.kune.workspace.client.options.UserOptionsPanel;
-import org.ourproject.kune.workspace.client.options.UserOptionsPresenter;
import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePanel;
import org.ourproject.kune.workspace.client.options.license.GroupOptionsDefLicense;
import org.ourproject.kune.workspace.client.options.license.GroupOptionsDefLicensePresenter;
@@ -159,9 +153,6 @@
import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel;
import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter;
import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPresenter;
import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress;
import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel;
import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter;
@@ -177,9 +168,6 @@
import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptions;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptionsPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptionsPresenter;
import org.ourproject.kune.workspace.client.skel.ActionCntCtxToolbarPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.tags.TagsSummary;
@@ -319,18 +307,22 @@
}
});
- register(ApplicationComponentGroup.class, new Factory<SiteUserOptions>(SiteUserOptions.class) {
- @Override
- public SiteUserOptions create() {
- final SiteUserOptionsPresenter presenter = new SiteUserOptionsPresenter(i(Session.class),
- i(StateManager.class), p(FileDownloadUtils.class), $(I18nTranslationService.class),
- $(IconResources.class));
- final SiteUserOptionsPanel panel = new SiteUserOptionsPanel(presenter, i(WorkspaceSkeleton.class),
- $(GuiBindingsRegister.class));
- presenter.init(panel);
- return presenter;
- }
- });
+ // register(ApplicationComponentGroup.class, new
+ // Factory<SiteUserOptions>(SiteUserOptions.class) {
+ // @Override
+ // public SiteUserOptions create() {
+ // final SiteUserOptionsPresenter presenter = new
+ // SiteUserOptionsPresenter(i(Session.class),
+ // i(StateManager.class), p(FileDownloadUtils.class),
+ // $(I18nTranslationService.class),
+ // $(IconResources.class));
+ // final SiteUserOptionsPanel panel = new
+ // SiteUserOptionsPanel(presenter, i(WorkspaceSkeleton.class),
+ // $(GuiBindingsRegister.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) {
@Override
@@ -354,19 +346,22 @@
return presenter;
}
});
+ //
+ // register(ApplicationComponentGroup.class, new
+ // Factory<SiteOptions>(SiteOptions.class) {
+ // @Override
+ // public SiteOptions create() {
+ // final SiteOptionsPresenter presenter = new
+ // SiteOptionsPresenter(i(I18nUITranslationService.class),
+ // i(IconResources.class));
+ // final SiteOptionsPanel panel = new
+ // SiteOptionsPanel(i(WorkspaceSkeleton.class),
+ // i(I18nUITranslationService.class), i(GuiBindingsRegister.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
- register(ApplicationComponentGroup.class, new Factory<SiteOptions>(SiteOptions.class) {
- @Override
- public SiteOptions create() {
- final SiteOptionsPresenter presenter = new SiteOptionsPresenter(i(I18nUITranslationService.class),
- i(IconResources.class));
- final SiteOptionsPanel panel = new SiteOptionsPanel(i(WorkspaceSkeleton.class),
- i(I18nUITranslationService.class), i(GuiBindingsRegister.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
@Override
public SiteSearch create() {
@@ -631,20 +626,25 @@
return presenter;
}
});
+ //
+ // register(ApplicationComponentGroup.class, new
+ // Factory<UserOptions>(UserOptions.class) {
+ // @Override
+ // public UserOptions create() {
+ // final UserOptionsPresenter presenter = new
+ // UserOptionsPresenter(i(Session.class),
+ // i(StateManager.class), i(I18nTranslationService.class),
+ // i(IconResources.class),
+ // i(SiteUserOptions.class));
+ // final UserOptionsPanel panel = new UserOptionsPanel(presenter,
+ // i(EntityHeader.class),
+ // i(I18nTranslationService.class), i(NotifyLevelImages.class),
+ // i(UserOptionsCollection.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
- register(ApplicationComponentGroup.class, new Factory<UserOptions>(UserOptions.class) {
- @Override
- public UserOptions create() {
- final UserOptionsPresenter presenter = new UserOptionsPresenter(i(Session.class),
- i(StateManager.class), i(I18nTranslationService.class), i(IconResources.class),
- i(SiteUserOptions.class));
- final UserOptionsPanel panel = new UserOptionsPanel(presenter, i(EntityHeader.class),
- i(I18nTranslationService.class), i(NotifyLevelImages.class), i(UserOptionsCollection.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
register(GroupOptionsCollection.class, new Factory<EntityOptionsToolsConf>(EntityOptionsToolsConf.class) {
@Override
public EntityOptionsToolsConf create() {
@@ -849,14 +849,16 @@
}
});
- register(ApplicationComponentGroup.class, new Factory<SiteOptionsI18nTranslatorAction>(
- SiteOptionsI18nTranslatorAction.class) {
- @Override
- public SiteOptionsI18nTranslatorAction create() {
- return new SiteOptionsI18nTranslatorAction(i(SiteOptions.class), i(I18nTranslationService.class),
- i(IconResources.class), p(I18nTranslator.class));
- }
- });
+ // register(ApplicationComponentGroup.class, new
+ // Factory<SiteOptionsI18nTranslatorAction>(
+ // SiteOptionsI18nTranslatorAction.class) {
+ // @Override
+ // public SiteOptionsI18nTranslatorAction create() {
+ // return new SiteOptionsI18nTranslatorAction(i(SiteOptions.class),
+ // i(I18nTranslationService.class),
+ // i(IconResources.class), p(I18nTranslator.class));
+ // }
+ // });
// register(Singleton.class, new Factory<SignIn>(SignIn.class) {
// @Override
@@ -1067,17 +1069,21 @@
}
});
- register(ApplicationComponentGroup.class, new Factory<MaxMinWorkspace>(MaxMinWorkspace.class) {
- @Override
- public MaxMinWorkspace create() {
- final MaxMinWorkspacePresenter presenter = new MaxMinWorkspacePresenter(
- i(GlobalShortcutRegister.class), i(IconResources.class), i(I18nTranslationService.class),
- i(SiteOptions.class));
- final MaxMinWorkspacePanel panel = new MaxMinWorkspacePanel(i(WorkspaceSkeleton.class));
- presenter.init(panel);
- return presenter;
- }
- });
+ // register(ApplicationComponentGroup.class, new
+ // Factory<MaxMinWorkspace>(MaxMinWorkspace.class) {
+ // @Override
+ // public MaxMinWorkspace create() {
+ // final MaxMinWorkspacePresenter presenter = new
+ // MaxMinWorkspacePresenter(
+ // i(GlobalShortcutRegister.class), i(IconResources.class),
+ // i(I18nTranslationService.class),
+ // i(SiteOptions.class));
+ // final MaxMinWorkspacePanel panel = new
+ // MaxMinWorkspacePanel(i(WorkspaceSkeleton.class));
+ // presenter.init(panel);
+ // return presenter;
+ // }
+ // });
register(InsertLinkGroup.class, new Factory<InsertLinkLocal>(InsertLinkLocal.class) {
@Override
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/maxmin/MaxMinWorkspacePresenter.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -27,7 +27,6 @@
import org.ourproject.kune.platf.client.actions.Shortcut;
import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions;
import cc.kune.core.client.resources.icons.IconResources;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -42,6 +41,7 @@
putValue(Action.SMALL_ICON, img);
}
+ @Override
public void actionPerformed(final ActionEvent event) {
showMaximized(true);
}
@@ -53,55 +53,39 @@
putValue(Action.SMALL_ICON, img);
}
+ @Override
public void actionPerformed(final ActionEvent event) {
showMaximized(false);
}
}
+ public static final String MAX_ICON = "mmwp-max_bt";
public static final String MIN_ICON = "mmwp-min_bt";
- public static final String MAX_ICON = "mmwp-max_bt";
- private MaxMinWorkspaceView view;
+ private final I18nTranslationService i18n;
+ private final IconResources images;
+
+ private OldMenuItemDescriptor maximizeButton;
+
private boolean maximized;
- private final IconResources images;
+ private OldMenuItemDescriptor minimizeButton;
+ // private final SiteOptions siteOptions;
- private final I18nTranslationService i18n;
-
private final GlobalShortcutRegister shortcutReg;
- private OldMenuItemDescriptor maximizeButton;
+ private MaxMinWorkspaceView view;
- private OldMenuItemDescriptor minimizeButton;
- private final SiteOptions siteOptions;
-
public MaxMinWorkspacePresenter(final GlobalShortcutRegister shortcutReg, final IconResources images,
- final I18nTranslationService i18n, final SiteOptions siteOptions) {
+ final I18nTranslationService i18n) {
this.shortcutReg = shortcutReg;
this.images = images;
this.i18n = i18n;
- this.siteOptions = siteOptions;
+ // this.siteOptions = siteOptions;
maximized = false;
}
- public View getView() {
- return view;
- }
-
- public void init(final MaxMinWorkspaceView view) {
- this.view = view;
- createActions();
- }
-
- public void maximize() {
- showMaximized(true);
- }
-
- public void minimize() {
- showMaximized(false);
- }
-
private void createActions() {
final KeyStroke shortcut = Shortcut.getShortcut(true, true, false, false, Character.valueOf('F'));
@@ -119,15 +103,35 @@
minimizeButton.setId(MIN_ICON);
shortcutReg.put(shortcut, new AbstractExtendedAction() {
+ @Override
public void actionPerformed(final ActionEvent event) {
showMaximized(!maximized);
}
});
- siteOptions.addAction(maximizeButton);
- siteOptions.addAction(minimizeButton);
+ // siteOptions.addAction(maximizeButton);
+ // siteOptions.addAction(minimizeButton);
}
+ public View getView() {
+ return view;
+ }
+
+ public void init(final MaxMinWorkspaceView view) {
+ this.view = view;
+ createActions();
+ }
+
+ @Override
+ public void maximize() {
+ showMaximized(true);
+ }
+
+ @Override
+ public void minimize() {
+ showMaximized(false);
+ }
+
private void showMaximized(final boolean maximized) {
maximizeButton.setVisible(!maximized);
minimizeButton.setVisible(maximized);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/SiteOptionsI18nTranslatorAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -19,11 +19,10 @@
*/
package org.ourproject.kune.workspace.client.i18n;
-import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.Action;
import org.ourproject.kune.platf.client.actions.ActionEvent;
+import org.ourproject.kune.platf.client.actions.OldAbstractAction;
import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions;
import cc.kune.core.client.resources.icons.IconResources;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -33,17 +32,18 @@
public class SiteOptionsI18nTranslatorAction extends OldAbstractAction {
private final Provider<I18nTranslator> translator;
- public SiteOptionsI18nTranslatorAction(final SiteOptions siteOptions, final I18nTranslationService i18n,
- final IconResources img, final Provider<I18nTranslator> translator) {
+ public SiteOptionsI18nTranslatorAction(final I18nTranslationService i18n, final IconResources img,
+ final Provider<I18nTranslator> translator) {
super();
this.translator = translator;
putValue(Action.NAME, i18n.t("Help with the translation"));
putValue(Action.SMALL_ICON, img.language());
final OldMenuItemDescriptor item = new OldMenuItemDescriptor(this);
item.setPosition(1);
- siteOptions.addAction(item);
+ // siteOptions.addAction(item);
}
+ @Override
public void actionPerformed(final ActionEvent event) {
translator.get().doShowTranslator();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -24,7 +24,6 @@
import org.ourproject.kune.platf.client.actions.ActionEvent;
import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptions;
import cc.kune.core.client.resources.icons.IconResources;
import cc.kune.core.client.state.Session;
@@ -35,35 +34,35 @@
public class UserOptionsPresenter extends AbstractTabbedDialogPresenter implements UserOptions {
- private UserOptionsView view;
+ private final I18nTranslationService i18n;
private final IconResources img;
- private final I18nTranslationService i18n;
- private final SiteUserOptions userOptions;
private final Session session;
private final StateManager stateManager;
+ // private final SiteUserOptions userOptions;
+ private UserOptionsView view;
public UserOptionsPresenter(final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final IconResources img, final SiteUserOptions userOptions) {
+ final I18nTranslationService i18n, final IconResources img) {// ,
+ // final
+ // SiteUserOptions
+ // userOptions)
+ // {
this.session = session;
this.stateManager = stateManager;
this.i18n = i18n;
this.img = img;
- this.userOptions = userOptions;
+ // this.userOptions = userOptions;
session.onUserSignOut(new Listener0() {
+ @Override
public void onEvent() {
view.hide();
}
});
}
- public void init(final UserOptionsView view) {
- super.init(view);
- this.view = view;
- createActions();
- }
-
private void createActions() {
final AbstractExtendedAction userPrefsAction = new AbstractExtendedAction() {
+ @Override
public void actionPerformed(final ActionEvent event) {
if (!session.isInCurrentUserSpace()) {
stateManager.gotoToken(session.getCurrentUser().getStateToken());
@@ -75,6 +74,12 @@
userPrefsAction.putValue(Action.SMALL_ICON, img.prefs());
final OldMenuItemDescriptor prefsItem = new OldMenuItemDescriptor(userPrefsAction);
prefsItem.setPosition(1);
- userOptions.addAction(prefsItem);
+ // userOptions.addAction(prefsItem);
}
+
+ public void init(final UserOptionsView view) {
+ super.init(view);
+ this.view = view;
+ createActions();
+ }
}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptions.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptions.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,25 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.sitebar.siteusermenu;
-
-import org.ourproject.kune.platf.client.actions.ui.IsActionExtensible;
-
-public interface SiteUserOptions extends IsActionExtensible {
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPanel.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPanel.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,52 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.sitebar.siteusermenu;
-
-import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
-import org.ourproject.kune.platf.client.ui.AbstractToolbar;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.AbstractSiteOptionsPanel;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.google.gwt.user.client.ui.Widget;
-
-public class SiteUserOptionsPanel extends AbstractSiteOptionsPanel implements SiteUserOptionsView {
-
- public static final String LOGGED_USER_MENU = "kune-sump-lum";
-
- private final Widget separator;
-
- public SiteUserOptionsPanel(final SiteUserOptionsPresenter presenter, final WorkspaceSkeleton wspace,
- final GuiBindingsRegister bindings) {
- super(bindings, LOGGED_USER_MENU);
- final AbstractToolbar siteBar = wspace.getSiteBar();
- siteBar.add(btn);
- separator = siteBar.addSeparator();
- }
-
- public void setLoggedUserName(final String name) {
- setBtnText(name);
- }
-
- @Override
- public void setVisible(final boolean visible) {
- btn.setVisible(visible);
- separator.setVisible(visible);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPresenter.java 2011-02-10 18:28:58 UTC (rev 1244)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserOptionsPresenter.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -1,145 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.sitebar.siteusermenu;
-
-import java.util.List;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.AbstractExtendedAction;
-import org.ourproject.kune.platf.client.actions.Action;
-import org.ourproject.kune.platf.client.actions.ActionEvent;
-import org.ourproject.kune.platf.client.actions.common.GotoGroupAction;
-import org.ourproject.kune.platf.client.actions.ui.AbstractActionExtensiblePresenter;
-import org.ourproject.kune.platf.client.actions.ui.OldGuiActionDescrip;
-import org.ourproject.kune.platf.client.actions.ui.MenuDescriptor;
-import org.ourproject.kune.platf.client.actions.ui.OldMenuItemDescriptor;
-
-import cc.kune.core.client.resources.CoreMessages;
-import cc.kune.core.client.resources.icons.IconResources;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.dto.GroupDTO;
-import cc.kune.core.shared.dto.UserInfoDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.calclab.suco.client.ioc.Provider;
-
-public class SiteUserOptionsPresenter extends AbstractActionExtensiblePresenter implements SiteUserOptions {
-
- private SiteUserOptionsView view;
- private final StateManager stateManager;
- private final Session session;
- private final Provider<FileDownloadUtils> downloadProvider;
- private MenuDescriptor menuDescriptor;
- private final I18nTranslationService i18n;
- private final IconResources img;
-
- private MenuDescriptor partiMenu;;
-
- public SiteUserOptionsPresenter(final Session session, final StateManager stateManager,
- final Provider<FileDownloadUtils> downloadProvider, final I18nTranslationService i18n,
- final IconResources img) {
- super();
- this.session = session;
- this.stateManager = stateManager;
- this.downloadProvider = downloadProvider;
- this.i18n = i18n;
- this.img = img;
- session.onUserSignIn(new Listener<UserInfoDTO>() {
- public void onEvent(final UserInfoDTO userInfoDTO) {
- onUserSignIn(userInfoDTO);
- }
-
- });
- session.onUserSignOut(new Listener0() {
- public void onEvent() {
- view.setVisible(false);
- view.setLoggedUserName("");
- }
- });
- }
-
- @Override
- public void addAction(final OldGuiActionDescrip descriptor) {
- descriptor.setParent(menuDescriptor);
- view.addAction(descriptor);
- }
-
- public View getView() {
- return view;
- }
-
- public void init(final SiteUserOptionsView view) {
- this.view = view;
- createActions();
- }
-
- private void addPartipation(final GroupDTO group) {
- final String logoImageUrl = group.hasLogo() ? downloadProvider.get().getLogoImageUrl(group.getStateToken())
- : "images/group-def-icon.gif";
- final GotoGroupAction gotoGroupAction = new GotoGroupAction(logoImageUrl, group.getShortName(),
- group.getLongName(), stateManager);
- view.addAction(new OldMenuItemDescriptor(partiMenu, gotoGroupAction));
- }
-
- private void createActions() {
- menuDescriptor = new MenuDescriptor();
- menuDescriptor.setStandalone(true);
- view.addAction(menuDescriptor);
- view.setMenu(menuDescriptor);
-
- partiMenu = new MenuDescriptor(i18n.t("Your groups"));
- addAction(partiMenu);
-
- final AbstractExtendedAction userHomeAction = new AbstractExtendedAction() {
- public void actionPerformed(final ActionEvent event) {
- goUserHome();
- }
- };
- userHomeAction.putValue(Action.NAME, i18n.t(CoreMessages.YOUR_HOMEPAGE));
- userHomeAction.putValue(Action.SMALL_ICON, img.groupHome());
- final OldMenuItemDescriptor item = new OldMenuItemDescriptor(userHomeAction);
- item.setPosition(0);
- addAction(item);
- }
-
- private void goUserHome() {
- stateManager.gotoToken(session.getCurrentUserInfo().getShortName());
- }
-
- private void onUserSignIn(final UserInfoDTO userInfoDTO) {
- view.setVisible(true);
- view.setLoggedUserName(userInfoDTO.getShortName());
- partiMenu.clear();
- final List<GroupDTO> groupsIsAdmin = userInfoDTO.getGroupsIsAdmin();
- final List<GroupDTO> groupsIsCollab = userInfoDTO.getGroupsIsCollab();
- for (final GroupDTO group : groupsIsAdmin) {
- addPartipation(group);
- }
- for (final GroupDTO group : groupsIsCollab) {
- addPartipation(group);
- }
- partiMenu.setVisible(!groupsIsAdmin.isEmpty() || !groupsIsCollab.isEmpty());
- }
-
-}
Added: trunk/src/test/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescripTest.java
===================================================================
--- trunk/src/test/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescripTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescripTest.java 2011-02-11 03:28:34 UTC (rev 1245)
@@ -0,0 +1,51 @@
+package cc.kune.common.client.actions.ui.descrip;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class AbstractGuiActionDescripTest {
+
+ private GuiAddCondition addFalseCond;
+ private GuiAddCondition addTrueCond1;
+ private GuiAddCondition addTrueCond2;
+ private GuiAddCondition addTrueCond3;
+ private MenuDescriptor descriptor;
+
+ @Before
+ public void before() {
+ descriptor = new MenuDescriptor();
+ addTrueCond1 = Mockito.mock(GuiAddCondition.class);
+ addTrueCond2 = Mockito.mock(GuiAddCondition.class);
+ addTrueCond3 = Mockito.mock(GuiAddCondition.class);
+ addFalseCond = Mockito.mock(GuiAddCondition.class);
+ Mockito.stub(addTrueCond1.mustBeAdded((GuiActionDescrip) Mockito.any())).toReturn(true);
+ Mockito.stub(addTrueCond2.mustBeAdded((GuiActionDescrip) Mockito.any())).toReturn(true);
+ Mockito.stub(addTrueCond3.mustBeAdded((GuiActionDescrip) Mockito.any())).toReturn(true);
+ Mockito.stub(addFalseCond.mustBeAdded((GuiActionDescrip) Mockito.any())).toReturn(false);
+ }
+
+ @Test
+ public void onffalseAddConditionsShouldDontBeAdded() {
+ descriptor.add(addTrueCond1);
+ descriptor.add(addTrueCond2);
+ descriptor.add(addFalseCond);
+ assertFalse(descriptor.mustBeAdded());
+ }
+
+ @Test
+ public void twoTrueAddConditionsMustBeAdded() {
+ descriptor.add(addTrueCond1);
+ descriptor.add(addTrueCond2);
+ descriptor.add(addTrueCond3);
+ assertTrue(descriptor.mustBeAdded());
+ }
+
+ @Test
+ public void withoutAddConditionsMustBeAdded() {
+ assertTrue(descriptor.mustBeAdded());
+ }
+}
Property changes on: trunk/src/test/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescripTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
1
0