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
September 2011
- 2 participants
- 57 discussions
Author: vjrj_
Date: 2011-09-19 15:00:39 +0200 (Mon, 19 Sep 2011)
New Revision: 1521
Added:
trunk/script/convertI18nMsgToMethods.sh
trunk/script/i18n-db2gwt.sh
trunk/src/main/java/cc/kune/core/client/i18n/I18nConvertMethodName.java
trunk/src/main/java/cc/kune/gspace/client/i18n/AbstractLanguageSelectorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorWithoutEnglishPanel.java
trunk/src/main/resources/db/update-0017-i18nclean2.sql
Modified:
trunk/TODO
trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
trunk/src/main/java/cc/kune/core/client/i18n/I18nUtils.java
trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java
trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceDefault.java
trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java
trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java
trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rest/I18nTranslationJSONService.java
trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
trunk/src/main/java/cc/kune/core/shared/dto/I18nTranslationDTO.java
trunk/src/main/java/cc/kune/core/shared/i18n/I18nTranslationService.java
trunk/src/main/java/cc/kune/domain/I18nTranslation.java
trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorPanel.java
trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/EntityLicensePanel.java
trunk/src/main/resources/db/liquibase_changelog.xml
trunk/src/main/resources/kune.properties
trunk/src/test/java/cc/kune/core/client/i18n/I18nUtilsTest.java
trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java
Log:
NEW - # 79: I18n refactorization
http://kune.ourproject.org/issues/ticket/79
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/TODO 2011-09-19 13:00:39 UTC (rev 1521)
@@ -284,6 +284,23 @@
2007-12-21 10:35:16,197 [btpool0-5] DEBUG - ContentManagerDefault.createContent EXCEPTION => javax.persistence.Entity
** vjrj <v> IconHyperlink.java and IconLabel.java to gwt1.5
+** Memory use in demo
+http://rimuhosting.com/howto/memory.jsp
+Resolving: High Java Memory Usage
+
+Java processes can often consume more memory than any other application running on a server.
+
+Java processes can be passed a -Xmx option. This controls the maximum Java memory heap size. It is important to set a limit on the heap size, otherwise the heap will keep increasing until you get out of memory errors on your VPS (resulting in the Java process - or even some other, random, process - dying.
+
+Usually the setting can be found in your /usr/local/jboss/bin/run.conf or /usr/local/tomcat/bin/setenv.sh config files. And your RimuHosting default install should have a reasonable value in there already.
+
+If you are running a custom Java application, check there is a -XmxNNm (where NN is a number of megabytes) option on the Java command line.
+
+The optimal -Xmx setting value will depend on what you are running. And how much memory is available on your server.
+
+From experience we have found that Tomcat often runs well with an -Xmx between 48m and 64m. JBoss will need a -Xmx of at least 96m to 128m. You can set the value higher. However, you should ensure that there is memory available on your server.
+
+To determine how much memory you can spare for Java, try this: stop your Java process; run free -m; subtract the 'used' value from the "-/+ cache" row from the total memory allocated to your server and then subtract another 'just in case' margin of about 10% of your total server memory. The number you come up with is a rough indicator of the largest -Xmx setting you can use on your server.
* MID-TERM
** Study mozilla web apps:
https://apps.mozillalabs.com/
Added: trunk/script/convertI18nMsgToMethods.sh
===================================================================
--- trunk/script/convertI18nMsgToMethods.sh (rev 0)
+++ trunk/script/convertI18nMsgToMethods.sh 2011-09-19 13:00:39 UTC (rev 1521)
@@ -0,0 +1 @@
+/usr/lib/jvm/java-6-openjdk/bin/java -Dfile.encoding=UTF-8 -classpath /home/vjrj/proyectos/dev/kune/trunk/target/test-classes:/home/vjrj/proyectos/dev/kune/trunk/target/kune-0.1.0-SNAPSHOT/WEB-INF/classes:/home/vjrj/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/home/vjrj/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar:/home/vjrj/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/home/vjrj/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/home/vjrj/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/home/vjrj/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/home/vjrj/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar:/home/vjrj/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar:/home/vjrj/.m2/repository/org/waveprotocol/box/0.3.1-SNAPSHOT/box-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/waveprotocol/box-src/0.3.1-SNAPSHOT/box-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar:/home/vjrj/.m2/repository/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar:/home/vjrj/.m2/repository/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar:/home/vjrj/.m2/repository/org/waveprotocol/client/0.3.1-SNAPSHOT/client-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/waveprotocol/client-common/0.3.1-SNAPSHOT/client-common-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/waveprotocol/client-common-src/0.3.1-SNAPSHOT/client-common-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/waveprotocol/client-scheduler-src/0.3.1-SNAPSHOT/client-scheduler-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/waveprotocol/client-src/0.3.1-SNAPSHOT/client-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar:/home/vjrj/.m2/repository/org/waveprotocol/common-src/0.3.1-SNAPSHOT/common-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/home/vjrj/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/home/vjrj/.m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar:/home/vjrj/.m2/repository/commons-collections/commons-collections/3.2/commons-collections-3.2.jar:/home/vjrj/.m2/repository/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar:/home/vjrj/.m2/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:/home/vjrj/.m2/repository/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar:/home/vjrj/.m2/repository/commons-lang/commons-lang/2.5/commons-lang-2.5.jar:/home/vjrj/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar:/home/vjrj/.m2/repository/org/waveprotocol/communication-src/0.3.1-SNAPSHOT/communication-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/waveprotocol/concurrencycontrol-src/0.3.1-SNAPSHOT/concurrencycontrol-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar:/home/vjrj/.m2/repository/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar:/home/vjrj/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/home/vjrj/.m2/repository/net/sf/dozer/dozer/4.0/dozer-4.0.jar:/home/vjrj/.m2/repository/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar:/home/vjrj/.m2/repository/com/calclab/emite/emite/r1694/emite-r1694.jar:/home/vjrj/.m2/repository/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar:/home/vjrj/.m2/repository/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar:/home/vjrj/.m2/repository/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar:/home/vjrj/.m2/repository/com/google/guava/guava-gwt/r09/guava-gwt-r09.jar:/home/vjrj/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar:/home/vjrj/.m2/repository/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar:/home/vjrj/.m2/repository/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0.jar:/home/vjrj/.m2/repository/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar:/home/vjrj/.m2/repository/com/allen_sauer/gwt/dnd/gwt-dnd/gwt-dnd/3.0.1/gwt-dnd-3.0.1.jar:/home/vjrj/.m2/repository/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar:/home/vjrj/.m2/repository/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar:/home/vjrj/.m2/repository/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar:/home/vjrj/.m2/repository/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar:/home/vjrj/.m2/repository/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar:/home/vjrj/.m2/repository/org/waveprotocol/gwt-util-src/0.3.1-SNAPSHOT/gwt-util-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/2.0.0/gwt-voices-2.0.0.jar:/home/vjrj/.m2/repository/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar:/home/vjrj/.m2/repository/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar:/home/vjrj/.m2/repository/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar:/home/vjrj/.m2/repository/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat.jar:/home/vjrj/.m2/repository/com/extjs/gxt/2.2.1/gxt-2.2.1.jar:/home/vjrj/.m2/repository/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar:/home/vjrj/.m2/repository/com/calclab/emite/hablar/r1697/hablar-r1697.jar:/home/vjrj/.m2/repository/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar:/home/vjrj/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar:/home/vjrj/.m2/repository/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar:/home/vjrj/.m2/repository/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7.jar:/home/vjrj/.m2/repository/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7.jar:/home/vjrj/.m2/repository/javassist/javassist/3.4.GA/javassist-3.4.GA.jar:/home/vjrj/.m2/repository/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar:/home/vjrj/.m2/repository/com/beust/jcommander/1.12/jcommander-1.12.jar:/home/vjrj/.m2/repository/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar:/home/vjrj/.m2/repository/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar:/home/vjrj/.m2/repository/net/java/dev/jna/jna/3.2.2/jna-3.2.2.jar:/home/vjrj/.m2/repository/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar:/home/vjrj/.m2/repository/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar:/home/vjrj/.m2/repository/org/json/json/20080701/json-20080701.jar:/home/vjrj/.m2/repository/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar:/home/vjrj/.m2/repository/org/jsoup/jsoup/1.2.2/jsoup-1.2.2.jar:/home/vjrj/.m2/repository/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar:/home/vjrj/.m2/repository/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar:/home/vjrj/.m2/repository/org/jukito/jukito/1.0/jukito-1.0.jar:/home/vjrj/.m2/repository/junit/junit/4.8.2/junit-4.8.2.jar:/home/vjrj/.m2/repository/org/liquibase/liquibase-core/1.8.1/liquibase-core-1.8.1.jar:/home/vjrj/.m2/repository/org/liquibase/liquibase-plugin/1.8.1.0/liquibase-plugin-1.8.1.0.jar:/home/vjrj/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar:/home/vjrj/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar:/home/vjrj/.m2/repository/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-model/2.0/maven-model-2.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-project/2.0/maven-project-2.0.jar:/home/vjrj/.m2/repository/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar:/home/vjrj/.m2/repository/org/waveprotocol/media-src/0.3.1-SNAPSHOT/media-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar:/home/vjrj/.m2/repository/org/waveprotocol/model-src/0.3.1-SNAPSHOT/model-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/mvel/mvel2/2.0.16/mvel2-2.0.16.jar:/home/vjrj/.m2/repository/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar:/home/vjrj/.m2/repository/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14.jar:/home/vjrj/.m2/repository/org/objenesis/objenesis/1.0/objenesis-1.0.jar:/home/vjrj/.m2/repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar:/home/vjrj/.m2/repository/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar:/home/vjrj/.m2/repository/org/waveprotocol/proto-msg/0.3.1-SNAPSHOT/proto-msg-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/w3c/css/sac/1.3/sac-1.3.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4.jar:/home/vjrj/.m2/repository/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4.jar:/home/vjrj/.m2/repository/xalan/serializer/2.7.1/serializer-2.7.1.jar:/home/vjrj/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar:/home/vjrj/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar:/home/vjrj/.m2/repository/jivesoftware/smack/3.1.0/smack-3.1.0.jar:/home/vjrj/.m2/repository/jivesoftware/smackx/3.1.0/smackx-3.1.0.jar:/home/vjrj/.m2/repository/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar:/home/vjrj/.m2/repository/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar:/home/vjrj/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/home/vjrj/.m2/repository/org/testng/testng/6.0.1/testng-6.0.1.jar:/home/vjrj/.m2/repository/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5.jar:/home/vjrj/.m2/repository/org/waveprotocol/util-src/0.3.1-SNAPSHOT/util-src-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar:/home/vjrj/.m2/repository/org/waveprotocol/waveinabox-server-0.3/0.3.1-SNAPSHOT/waveinabox-server-0.3-0.3.1-SNAPSHOT.jar:/home/vjrj/.m2/repository/xalan/xalan/2.7.1/xalan-2.7.1.jar:/home/vjrj/.m2/repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar:/home/vjrj/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar:/home/vjrj/.m2/repository/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar:/home/vjrj/.m2/repository/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar:/home/vjrj/.m2/repository/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar:/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:/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 cc.kune.core.client.i18n.I18nConvertMethodName $1
\ No newline at end of file
Property changes on: trunk/script/convertI18nMsgToMethods.sh
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/script/i18n-db2gwt.sh
===================================================================
--- trunk/script/i18n-db2gwt.sh (rev 0)
+++ trunk/script/i18n-db2gwt.sh 2011-09-19 13:00:39 UTC (rev 1521)
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# This script should generate from Kune strings db translations to GWT I18n .java resources
+
+usage() {
+ echo "Use: $0 -l langcode"
+ echo "$0 -l en"
+}
+
+while getopts “hl:” OPTION
+do
+ case $OPTION in
+ h)
+ usage
+ exit 1
+ ;;
+ l)
+ L=$OPTARG
+ ;;
+ ?)
+ usage
+ exit
+ ;;
+ esac
+done
+
+if [[ -z $L ]]
+then
+ usage
+ exit 1
+fi
+
+
+
Property changes on: trunk/script/i18n-db2gwt.sh
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/main/java/cc/kune/core/client/i18n/I18nConvertMethodName.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nConvertMethodName.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nConvertMethodName.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -0,0 +1,16 @@
+package cc.kune.core.client.i18n;
+
+public class I18nConvertMethodName {
+
+ public static void main(final String... args) {
+ if (args.length == 0) {
+ System.err.print("Syntax: I18nConvertMethodName 'Some string message to convert'\n");
+ } else {
+ final StringBuffer buf = new StringBuffer();
+ for (final String arg : args) {
+ buf.append(arg).append(" ");
+ }
+ System.out.print(I18nUtils.convertMethodName(buf.toString()));
+ }
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nTranslationServiceMocked.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -23,9 +23,10 @@
import cc.kune.core.shared.i18n.I18nTranslationService;
public class I18nTranslationServiceMocked extends I18nTranslationService {
- public String t(final String text) {
- String encodeText = TextUtils.escapeHtmlLight(text);
- String translation = removeNT(encodeText);
- return decodeHtml(translation);
- }
+ @Override
+ public String tWithNT(final String text, final String noteForTranslators) {
+ final String encodeText = TextUtils.escapeHtmlLight(text);
+ final String translation = encodeText;
+ return decodeHtml(translation);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -38,190 +38,191 @@
import com.google.inject.Inject;
public class I18nUITranslationService extends I18nTranslationService {
- private I18nLanguageDTO currentLang;
- private String currentLanguageCode;
- private final I18nServiceAsync i18nService;
- private HashMap<String, String> lexicon;
- private final Session session;
+ private I18nLanguageDTO currentLang;
+ private String currentLanguageCode;
+ private final I18nServiceAsync i18nService;
+ private HashMap<String, String> lexicon;
+ private final Session session;
- @Inject
- public I18nUITranslationService(final Session session, final I18nServiceAsync i18nService, final EventBus eventBus) {
- this.session = session;
- this.i18nService = i18nService;
- final Location loc = WindowUtils.getLocation();
- final String locale = loc.getParameter("locale");
- i18nService.getInitialLanguage(locale, new AsyncCallback<I18nLanguageDTO>() {
- @Override
- public void onFailure(final Throwable caught) {
- Log.error("Workspace adaptation to your language failed: " + caught.getMessage());
- }
+ @Inject
+ public I18nUITranslationService(final Session session, final I18nServiceAsync i18nService,
+ final EventBus eventBus) {
+ this.session = session;
+ this.i18nService = i18nService;
+ final Location loc = WindowUtils.getLocation();
+ final String locale = loc.getParameter("locale");
+ i18nService.getInitialLanguage(locale, new AsyncCallback<I18nLanguageDTO>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ Log.error("Workspace adaptation to your language failed: " + caught.getMessage());
+ }
- @Override
- public void onSuccess(final I18nLanguageDTO result) {
- currentLang = result;
- currentLanguageCode = currentLang.getCode();
- session.setCurrentLanguage(currentLang);
- i18nService.getLexicon(currentLang.getCode(), new AsyncCallback<HashMap<String, String>>() {
- @Override
- public void onFailure(final Throwable caught) {
- Log.error("Workspace adaptation to your language failed:" + caught.getMessage());
- }
+ @Override
+ public void onSuccess(final I18nLanguageDTO result) {
+ currentLang = result;
+ currentLanguageCode = currentLang.getCode();
+ session.setCurrentLanguage(currentLang);
+ i18nService.getLexicon(currentLang.getCode(), new AsyncCallback<HashMap<String, String>>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ Log.error("Workspace adaptation to your language failed:" + caught.getMessage());
+ }
- @Override
- public void onSuccess(final HashMap<String, String> result) {
- lexicon = result;
- session.setCurrentLanguage(currentLang);
- eventBus.fireEvent(new I18nReadyEvent());
- }
- });
- }
+ @Override
+ public void onSuccess(final HashMap<String, String> result) {
+ lexicon = result;
+ session.setCurrentLanguage(currentLang);
+ eventBus.fireEvent(new I18nReadyEvent());
+ }
});
- }
+ }
+ });
+ }
- public void changeCurrentLanguage(final String newLanguage) {
- if (!newLanguage.equals(this.currentLanguageCode)) {
- setCurrentLanguage(newLanguage);
- changeLocale(newLanguage);
- }
+ public void changeCurrentLanguage(final String newLanguage) {
+ if (!newLanguage.equals(this.currentLanguageCode)) {
+ setCurrentLanguage(newLanguage);
+ changeLocale(newLanguage);
}
+ }
- /**
- *
- * See in:
- * http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread
- * /5e4e25050d3be984/7035ec39354d06aa?lnk=gst&q=get+locale&rnum=23
- *
- * JSNI method to change the locale of the application - it effectively
- * parses the existing URL and creates a new one for the chosen locale.
- *
- * It additionally launches any JavaScript debugger that might be attached
- * to the system (Windows only). To disable this functionality just remove
- * the "debugger" line.
- *
- * @param newLocale
- * String value of the new locale to go to.
- */
- private native void changeLocale(String newLocale)
- /*-{
- // Uncomment the "debugger;" line to see how to set debug statements in JSNI code
- // When in web mode, if your browser has a JavaScript debugger attached, it will
- // launch at this point in the code (when the user changes locale through the menu system).
- // debugger;
+ /**
+ *
+ * See in:
+ * http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread
+ * /5e4e25050d3be984/7035ec39354d06aa?lnk=gst&q=get+locale&rnum=23
+ *
+ * JSNI method to change the locale of the application - it effectively parses
+ * the existing URL and creates a new one for the chosen locale.
+ *
+ * It additionally launches any JavaScript debugger that might be attached to
+ * the system (Windows only). To disable this functionality just remove the
+ * "debugger" line.
+ *
+ * @param newLocale
+ * String value of the new locale to go to.
+ */
+ private native void changeLocale(String newLocale)
+ /*-{
+ // Uncomment the "debugger;" line to see how to set debug statements in JSNI code
+ // When in web mode, if your browser has a JavaScript debugger attached, it will
+ // launch at this point in the code (when the user changes locale through the menu system).
+ // debugger;
- // Get the current location
- var currLocation = $wnd.location.toString();
- // Get rid of any GWT History tokens that might be present
- var noHistoryCurrLocArray = currLocation.split("#");
- var noHistoryCurrLoc = noHistoryCurrLocArray[0];
- var currHistory = noHistoryCurrLocArray[1];
- // Get rid of any locale string
- var locArray = noHistoryCurrLoc.split("?");
- // Build the new href location and then send the browser there.
- // $wnd.location.href = locArray[0]+"?locale="+newLocale+"#"+currHistory;
- $wnd.location.href = locArray[0]+"?locale="+newLocale
+ // Get the current location
+ var currLocation = $wnd.location.toString();
+ // Get rid of any GWT History tokens that might be present
+ var noHistoryCurrLocArray = currLocation.split("#");
+ var noHistoryCurrLoc = noHistoryCurrLocArray[0];
+ var currHistory = noHistoryCurrLocArray[1];
+ // Get rid of any locale string
+ var locArray = noHistoryCurrLoc.split("?");
+ // Build the new href location and then send the browser there.
+ // $wnd.location.href = locArray[0]+"?locale="+newLocale+"#"+currHistory;
+ $wnd.location.href = locArray[0] + "?locale=" + newLocale
- // extjs part:
- // commented because the error: "Ext is not defined"
- // we have to try other way
- // var head = document.getElementsByTagName("head")[0];
- // var script = document.createElement('script');
- // script.id = 'localScript';
- // script.type = 'text/javascript';
- // script.src = "js/ext/locale/ext-lang-"+newLocale+".js";
- // head.appendChild(script);
- }-*/;
+ // extjs part:
+ // commented because the error: "Ext is not defined"
+ // we have to try other way
+ // var head = document.getElementsByTagName("head")[0];
+ // var script = document.createElement('script');
+ // script.id = 'localScript';
+ // script.type = 'text/javascript';
+ // script.src = "js/ext/locale/ext-lang-"+newLocale+".js";
+ // head.appendChild(script);
+ }-*/;
- public String formatDateWithLocale(final Date date) {
- return formatDateWithLocale(date, false);
- }
+ public String formatDateWithLocale(final Date date) {
+ return formatDateWithLocale(date, false);
+ }
- public String formatDateWithLocale(final Date date, final boolean shortFormat) {
- String dateFormat = shortFormat ? currentLang.getDateFormatShort() : currentLang.getDateFormat();
+ public String formatDateWithLocale(final Date date, final boolean shortFormat) {
+ String dateFormat = shortFormat ? currentLang.getDateFormatShort() : currentLang.getDateFormat();
- final DateTimeFormat fmt;
- if (dateFormat == null) {
- fmt = DateTimeFormat.getFormat("M/d/yyyy h:mm a");
- } else {
- if (shortFormat) {
- fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
- } else {
- final String abrevMonthInEnglish = DateTimeFormat.getFormat("MMM").format(date);
- final String monthToTranslate = abrevMonthInEnglish + " [%NT abbreviated month]";
- dateFormat = dateFormat.replaceFirst("MMM", "'" + t(monthToTranslate) + "'");
- fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
- }
- }
- final String dateFormated = fmt.format(date);
- return dateFormated;
+ final DateTimeFormat fmt;
+ if (dateFormat == null) {
+ fmt = DateTimeFormat.getFormat("M/d/yyyy h:mm a");
+ } else {
+ if (shortFormat) {
+ fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
+ } else {
+ final String abrevMonthInEnglish = DateTimeFormat.getFormat("MMM").format(date);
+ final String monthToTranslate = abrevMonthInEnglish + " [%NT abbreviated month]";
+ dateFormat = dateFormat.replaceFirst("MMM", "'" + t(monthToTranslate) + "'");
+ fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
+ }
}
+ final String dateFormated = fmt.format(date);
+ return dateFormated;
+ }
- public String getCurrentLanguage() {
- return currentLanguageCode;
- }
+ public String getCurrentLanguage() {
+ return currentLanguageCode;
+ }
- public HashMap<String, String> getLexicon() {
- return lexicon;
- }
+ public HashMap<String, String> getLexicon() {
+ return lexicon;
+ }
- public void init(final I18nServiceAsync i18nService, final Session session, final Listener0 onReady) {
+ public void init(final I18nServiceAsync i18nService, final Session session, final Listener0 onReady) {
- }
+ }
- public void setCurrentLanguage(final String newLanguage) {
- this.currentLanguageCode = newLanguage;
- }
+ public void setCurrentLanguage(final String newLanguage) {
+ this.currentLanguageCode = newLanguage;
+ }
- public void setLexicon(final HashMap<String, String> lexicon) {
- this.lexicon = lexicon;
- }
+ public void setLexicon(final HashMap<String, String> lexicon) {
+ this.lexicon = lexicon;
+ }
- public void setTranslationAfterSave(final String text, final String translation) {
- lexicon.put(text, translation);
+ public void setTranslationAfterSave(final String text, final String translation) {
+ lexicon.put(text, translation);
+ }
+
+ /**
+ * In production, this method uses a hashmap. In development, if the text is
+ * not in the hashmap, it makes a server petition (that stores the text
+ * pending for translation in db).
+ *
+ * Warning: text is escaped as html before insert in the db. Don't use html
+ * here (o user this method with params).
+ *
+ * @param text
+ * @return text translated in the current language
+ */
+ @Override
+ public String tWithNT(final String text, final String noteForTranslators) {
+ if (lexicon == null) {
+ Log.warn("i18n not initialized");
+ return text;
}
+ final String encodeText = TextUtils.escapeHtmlLight(text);
+ String translation = lexicon.get(encodeText);
+ if (lexicon.containsKey(encodeText)) {
+ if (translation == UNTRANSLATED_VALUE) {
+ // Not translated but in db, return text
+ translation = encodeText;
+ }
+ } else {
+ // Not translated and not in db, make a petition for translation
+ if (session.isLogged()) {
+ i18nService.getTranslation(session.getUserHash(), currentLanguageCode, text, noteForTranslators,
+ new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ }
- /**
- * In production, this method uses a hashmap. In development, if the text is
- * not in the hashmap, it makes a server petition (that stores the text
- * pending for translation in db).
- *
- * Warning: text is escaped as html before insert in the db. Don't use html
- * here (o user this method with params).
- *
- * @param text
- * @return text translated in the current language
- */
- @Override
- public String t(final String text) {
- if (lexicon == null) {
- Log.warn("i18n not initialized");
- return text;
- }
- final String encodeText = TextUtils.escapeHtmlLight(text);
- String translation = lexicon.get(encodeText);
- if (lexicon.containsKey(encodeText)) {
- if (translation == UNTRANSLATED_VALUE) {
- // Not translated but in db, return text
- translation = removeNT(encodeText);
- }
- } else {
- // Not translated and not in db, make a petition for translation
- if (session.isLogged()) {
- i18nService.getTranslation(session.getUserHash(), currentLanguageCode, text,
- new AsyncCallback<String>() {
- @Override
- public void onFailure(final Throwable caught) {
- }
-
- @Override
- public void onSuccess(final String result) {
- }
- });
- Log.debug("Registering in db '" + text + "' as pending translation");
- lexicon.put(encodeText, UNTRANSLATED_VALUE);
- }
- translation = removeNT(encodeText);
- }
- return decodeHtml(translation);
+ @Override
+ public void onSuccess(final String result) {
+ }
+ });
+ Log.debug("Registering in db '" + text + "' as pending translation");
+ lexicon.put(encodeText, UNTRANSLATED_VALUE);
+ }
+ translation = encodeText;
}
+ return decodeHtml(translation);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUtils.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUtils.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -13,7 +13,7 @@
result = result.replaceAll("\\[%d\\]", "N");
result = result.replaceAll("\\[%s\\]", "Param");
final char[] delimiters = { ' ', '.', '?', ',', ';', '&', '(', ')', '"', '$', '!', '/', '\'', '-',
- '%', ':', '{', '}', '[', ']' };
+ '%', ':', '{', '}', '[', ']', '©', '«', '»' };
result = TextUtils.capitalizeFully(result, delimiters);
result = result.replaceAll("[ \\.\\?,;&\\(\\)\"\\$!\\/\\'\\-%:{}\\[\\]]", "");
return TextUtils.abbreviate(
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -39,7 +39,7 @@
List<I18nTranslationDTO> getTranslatedLexicon(String userHash, final String language,
boolean toTranslate);
- String getTranslation(String userHash, String language, String text);
+ String getTranslation(String userHash, String language, String text, String noteForTranslators);
String setTranslation(String userHash, Long id, String translation) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -36,7 +36,8 @@
void getTranslatedLexicon(String userHash, String language, boolean toTranslate,
AsyncCallback<List<I18nTranslationDTO>> callback);
- void getTranslation(String userHash, String language, String text, AsyncCallback<String> callback);
+ void getTranslation(String userHash, String language, String text, String noteForTranslators,
+ AsyncCallback<String> callback);
void setTranslation(String userHash, Long id, String translation, AsyncCallback<String> asyncCallback);
Modified: trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceDefault.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceDefault.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.server.i18n;
-
import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.server.UserSession;
import cc.kune.core.server.manager.I18nTranslationManager;
@@ -33,42 +32,59 @@
@Singleton
public class I18nTranslationServiceDefault extends I18nTranslationService {
- private final I18nTranslationManager translationManager;
+ private final I18nTranslationManager translationManager;
- // private final Provider<UserSession> userSessionProvider;
+ // private final Provider<UserSession> userSessionProvider;
- @Inject
- public I18nTranslationServiceDefault(final I18nTranslationManager translationManager,
- final Provider<UserSession> userSessionProvider) {
- this.translationManager = translationManager;
- // this.userSessionProvider = userSessionProvider;
- }
+ @Inject
+ public I18nTranslationServiceDefault(final I18nTranslationManager translationManager,
+ final Provider<UserSession> userSessionProvider) {
+ this.translationManager = translationManager;
+ // this.userSessionProvider = userSessionProvider;
+ }
- /**
- * If the text is not in the db, it stores the text pending for translation.
- *
- * Warning: text is escaped as html before insert in the db. Don't use html
- * here (o user this method with params).
- *
- * @param text
- * @return text translated in the current language
- */
- @Override
- public String t(final String text) {
- String language;
+ /**
+ * If the text is not in the db, it stores the text pending for translation.
+ *
+ * Warning: text is escaped as html before insert in the db. Don't use html
+ * here (o user this method with params).
+ *
+ * @param text
+ * @return text translated in the current language
+ */
+ @Override
+ public String t(final String text) {
+ return tWithNT(text, "");
+ }
- // final UserSession userSession = userSessionProvider.get();
- // if (userSession.isUserLoggedIn()) {
- // language = userSession.getUser().getLanguage().getCode();
- // } else {
- language = I18nTranslation.DEFAULT_LANG;
- // }
- final String encodeText = TextUtils.escapeHtmlLight(text);
- String translation = translationManager.getTranslation(language, text);
- if (translation == UNTRANSLATED_VALUE) {
- // Not translated but in db, return text
- translation = removeNT(encodeText);
- }
- return decodeHtml(translation);
+ /**
+ * If the text is not in the db, it stores the text pending for translation.
+ *
+ * Warning: text is escaped as html before insert in the db. Don't use html
+ * here (o user this method with params).
+ *
+ * @param text
+ * @param noteForTranslators
+ * some note for facilitate the translation
+ *
+ * @return text translated in the current language
+ */
+ @Override
+ public String tWithNT(final String text, final String noteForTranslators) {
+ String language;
+
+ // final UserSession userSession = userSessionProvider.get();
+ // if (userSession.isUserLoggedIn()) {
+ // language = userSession.getUser().getLanguage().getCode();
+ // } else {
+ language = I18nTranslation.DEFAULT_LANG;
+ // }
+ final String encodeText = TextUtils.escapeHtmlLight(text);
+ String translation = translationManager.getTranslation(language, text, noteForTranslators);
+ if (translation == UNTRANSLATED_VALUE) {
+ // Not translated but in db, return text
+ translation = encodeText;
}
+ return decodeHtml(translation);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -168,7 +168,7 @@
final I18nCountry gb = new I18nCountry(Long.valueOf(75), "GB", "GBP", ".", "£%n", "", ".",
"United Kingdom", "western", ",");
countryManager.persist(gb);
- final I18nTranslation test = new I18nTranslation("test", english, "test");
+ final I18nTranslation test = new I18nTranslation("test", english, "test", "");
translationManager.persist(test);
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -23,31 +23,26 @@
import java.util.List;
import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.server.manager.impl.SearchResult;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+import cc.kune.core.shared.dto.SearchResultDTO;
import cc.kune.domain.I18nTranslation;
public interface I18nTranslationManager extends Manager<I18nTranslation, Long> {
HashMap<String, String> getLexicon(String language);
- List<I18nTranslation> getTranslatedLexicon(String language);
+ List<I18nTranslationDTO> getTranslatedLexicon(String language);
- SearchResult<I18nTranslation> getTranslatedLexicon(String language, Integer firstResult,
+ SearchResultDTO<I18nTranslationDTO> getTranslatedLexicon(String language, Integer firstResult,
Integer maxResults);
- String getTranslation(String language, String text);
+ String getTranslation(String language, String text, String noteForTranslators);
- String getTranslation(String language, String text, Integer arg);
+ List<I18nTranslationDTO> getUntranslatedLexicon(String language);
- String getTranslation(String language, String text, String arg);
-
- List<I18nTranslation> getUntranslatedLexicon(String language);
-
- SearchResult<I18nTranslation> getUntranslatedLexicon(String language, Integer firstResult,
+ SearchResultDTO<I18nTranslationDTO> getUntranslatedLexicon(String language, Integer firstResult,
Integer maxResults);
String setTranslation(Long id, String translation) throws DefaultException;
- void setTranslation(String language, String text, String translation);
-
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -29,6 +29,8 @@
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.server.manager.I18nLanguageManager;
import cc.kune.core.server.manager.I18nTranslationManager;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+import cc.kune.core.shared.dto.SearchResultDTO;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.I18nTranslation;
import cc.kune.domain.finders.I18nTranslationFinder;
@@ -69,6 +71,9 @@
@SuppressWarnings("unchecked")
private HashMap<String, String> getLexiconFromDb(final String language) {
+ // FIXME
+ // 1) Generate English
+ // 2) Don't permit to translate English
HashMap<String, String> map = new HashMap<String, String>();
final List<I18nTranslation> set = finder.findByLanguage(language);
if (!language.equals(I18nTranslation.DEFAULT_LANG)) {
@@ -82,21 +87,21 @@
}
@Override
- public List<I18nTranslation> getTranslatedLexicon(final String languageCode) {
+ public List<I18nTranslationDTO> getTranslatedLexicon(final String languageCode) {
return finder.getTranslatedLexicon(getLanguage(languageCode));
}
@Override
- public SearchResult<I18nTranslation> getTranslatedLexicon(final String languageCode,
+ public SearchResultDTO<I18nTranslationDTO> getTranslatedLexicon(final String languageCode,
final Integer firstResult, final Integer maxResults) {
final I18nLanguage language = getLanguage(languageCode);
- final List<I18nTranslation> list = finder.getTranslatedLexicon(language, firstResult, maxResults);
+ final List<I18nTranslationDTO> list = finder.getTranslatedLexicon(language, firstResult, maxResults);
final Long count = finder.getTranslatedLexiconCount(language);
- return new SearchResult<I18nTranslation>(count.intValue(), list);
+ return new SearchResultDTO<I18nTranslationDTO>(count.intValue(), list);
}
@Override
- public String getTranslation(final String language, final String text) {
+ public String getTranslation(final String language, final String text, final String noteForTranslators) {
final HashMap<String, String> lexicon = getLexicon(language);
final String escapedText = TextUtils.escapeHtmlLight(text);
if (lexicon.containsKey(escapedText)) {
@@ -108,7 +113,8 @@
if (!getLexicon(I18nTranslation.DEFAULT_LANG).containsKey(text)) {
final I18nTranslation newTranslation = new I18nTranslation("", null,
I18nTranslation.DEF_PLUR_INDEX, "", I18nTranslation.UNTRANSLATED_VALUE, escapedText,
- I18nTranslation.DEF_NAMESPACE, languageManager.findByCode(I18nTranslation.DEFAULT_LANG));
+ I18nTranslation.DEF_NAMESPACE, languageManager.findByCode(I18nTranslation.DEFAULT_LANG),
+ null, noteForTranslators);
persist(newTranslation);
langCache.clear();
}
@@ -117,31 +123,18 @@
}
@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) {
+ public List<I18nTranslationDTO> getUntranslatedLexicon(final String languageCode) {
return finder.getUntranslatedLexicon(initUnstranlated(languageCode));
}
@Override
- public SearchResult<I18nTranslation> getUntranslatedLexicon(final String languageCode,
+ public SearchResultDTO<I18nTranslationDTO> getUntranslatedLexicon(final String languageCode,
final Integer firstResult, final Integer maxResults) {
final I18nLanguage language = initUnstranlated(languageCode);
final Long count = finder.getUnstranslatedLexiconCount(language);
- final List<I18nTranslation> list = finder.getUnstranslatedLexicon(language, firstResult, maxResults);
- return new SearchResult<I18nTranslation>(count.intValue(), list);
+ final List<I18nTranslationDTO> list = finder.getUnstranslatedLexicon(language, firstResult,
+ maxResults);
+ return new SearchResultDTO<I18nTranslationDTO>(count.intValue(), list);
}
private I18nLanguage initUnstranlated(final String languageCode) {
@@ -165,6 +158,8 @@
public String setTranslation(final Long id, final String translation) throws DefaultException {
final I18nTranslation trans = super.find(id);
if (trans != null) {
+ // Don't permit to translate the def language
+ assert trans.getLanguage().getCode() != I18nTranslation.DEFAULT_LANG;
final String escapedTranslation = TextUtils.escapeHtmlLight(translation);
trans.setText(escapedTranslation);
persist(trans);
@@ -174,16 +169,4 @@
}
}
- @Override
- public void setTranslation(final String languageId, final String text, final String translation) {
- final I18nLanguage language = getLanguage(languageId);
- final I18nTranslation newTranslation = new I18nTranslation(text, language, translation);
- persist(newTranslation);
- if (languageId.equals(I18nTranslation.DEFAULT_LANG)) {
- langCache.clear();
- } else {
- langCache.remove(languageId);
- }
- }
-
}
Modified: trunk/src/main/java/cc/kune/core/server/rest/I18nTranslationJSONService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rest/I18nTranslationJSONService.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/server/rest/I18nTranslationJSONService.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -21,52 +21,53 @@
import java.util.List;
-
import cc.kune.core.server.manager.I18nTranslationManager;
-import cc.kune.core.server.manager.impl.SearchResult;
import cc.kune.core.server.mapper.Mapper;
import cc.kune.core.server.rack.filters.rest.REST;
import cc.kune.core.shared.SearcherConstants;
import cc.kune.core.shared.dto.I18nTranslationDTO;
import cc.kune.core.shared.dto.SearchResultDTO;
-import cc.kune.domain.I18nTranslation;
import com.google.inject.Inject;
public class I18nTranslationJSONService {
- private final I18nTranslationManager manager;
- private final Mapper mapper;
+ private final I18nTranslationManager manager;
+ private final Mapper mapper;
- @Inject
- public I18nTranslationJSONService(final I18nTranslationManager manager, final Mapper mapper) {
- this.manager = manager;
- this.mapper = mapper;
- }
+ @Inject
+ public I18nTranslationJSONService(final I18nTranslationManager manager, final Mapper mapper) {
+ this.manager = manager;
+ this.mapper = mapper;
+ }
- @REST(params = { SearcherConstants.QUERY_PARAM })
- public List<I18nTranslationDTO> search(final String language) {
- List<I18nTranslation> results = manager.getUntranslatedLexicon(language);
- return mapper.mapList(results, I18nTranslationDTO.class);
- }
+ @REST(params = { SearcherConstants.QUERY_PARAM })
+ public List<I18nTranslationDTO> search(final String language) {
+ final List<I18nTranslationDTO> results = manager.getUntranslatedLexicon(language);
+ return results;
+ }
- @REST(params = { SearcherConstants.QUERY_PARAM, SearcherConstants.START_PARAM, SearcherConstants.LIMIT_PARAM })
- public SearchResultDTO<I18nTranslationDTO> search(final String language, final Integer firstResult,
- final Integer maxResults) {
- SearchResult<I18nTranslation> results = manager.getUntranslatedLexicon(language, firstResult, maxResults);
- return mapper.mapSearchResult(results, I18nTranslationDTO.class);
- }
+ @REST(params = { SearcherConstants.QUERY_PARAM, SearcherConstants.START_PARAM,
+ SearcherConstants.LIMIT_PARAM })
+ public SearchResultDTO<I18nTranslationDTO> search(final String language, final Integer firstResult,
+ final Integer maxResults) {
+ final SearchResultDTO<I18nTranslationDTO> results = manager.getUntranslatedLexicon(language,
+ firstResult, maxResults);
+ return results;
+ }
- @REST(params = { SearcherConstants.QUERY_PARAM })
- public List<I18nTranslationDTO> searchtranslated(final String language) {
- List<I18nTranslation> results = manager.getTranslatedLexicon(language);
- return mapper.mapList(results, I18nTranslationDTO.class);
- }
+ @REST(params = { SearcherConstants.QUERY_PARAM })
+ public List<I18nTranslationDTO> searchtranslated(final String language) {
+ final List<I18nTranslationDTO> results = manager.getTranslatedLexicon(language);
+ return results;
+ }
- @REST(params = { SearcherConstants.QUERY_PARAM, SearcherConstants.START_PARAM, SearcherConstants.LIMIT_PARAM })
- public SearchResultDTO<I18nTranslationDTO> searchtranslated(final String language, final Integer firstResult,
- final Integer maxResults) {
- SearchResult<I18nTranslation> results = manager.getTranslatedLexicon(language, firstResult, maxResults);
- return mapper.mapSearchResult(results, I18nTranslationDTO.class);
- }
+ @REST(params = { SearcherConstants.QUERY_PARAM, SearcherConstants.START_PARAM,
+ SearcherConstants.LIMIT_PARAM })
+ public SearchResultDTO<I18nTranslationDTO> searchtranslated(final String language,
+ final Integer firstResult, final Integer maxResults) {
+ final SearchResultDTO<I18nTranslationDTO> results = manager.getTranslatedLexicon(language,
+ firstResult, maxResults);
+ return results;
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -110,28 +110,28 @@
public List<I18nTranslationDTO> getTranslatedLexicon(final String userHash, final String language,
final boolean toTranslate) {
if (toTranslate) {
- return mapper.mapList(i18nTranslationManager.getUntranslatedLexicon(language),
- I18nTranslationDTO.class);
+ return i18nTranslationManager.getUntranslatedLexicon(language);
} else {
- return mapper.mapList(i18nTranslationManager.getTranslatedLexicon(language),
- I18nTranslationDTO.class);
+ return i18nTranslationManager.getTranslatedLexicon(language);
}
}
@Override
@Transactional
- public String getTranslation(final String userHash, final String language, final String text) {
+ public String getTranslation(final String userHash, final String language, final String text,
+ final String noteForTranslators) {
String translation = null;
try {
- translation = getTranslationWrapper(language, text);
+ translation = getTranslationWrapper(language, text, noteForTranslators);
} catch (final SessionExpiredException e) {
}
return translation;
}
@Authenticated(mandatory = false)
- private String getTranslationWrapper(final String language, final String text) {
- return i18nTranslationManager.getTranslation(language, text);
+ private String getTranslationWrapper(final String language, final String text,
+ final String noteForTranslators) {
+ return i18nTranslationManager.getTranslation(language, text, noteForTranslators);
}
private UserSession getUserSession() {
Modified: trunk/src/main/java/cc/kune/core/shared/dto/I18nTranslationDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/I18nTranslationDTO.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/shared/dto/I18nTranslationDTO.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -35,29 +35,47 @@
};
private boolean dirty;
private Long id;
+ private String noteForTranslators;
+ private Long parentId;
+ private String parentTrKey;
private String text;
private String trKey;
public I18nTranslationDTO() {
- this(null, null, null);
+ this(null, null, null, null, null);
}
- public I18nTranslationDTO(final Long id, final String trKey, final String text) {
+ public I18nTranslationDTO(final Long id, final String trKey, final String text, final Long parentId,
+ final String parentTrKey) {
this.id = id;
this.trKey = trKey;
this.text = text;
+ this.parentId = parentId;
+ this.parentTrKey = parentTrKey;
setDirty(false);
}
@Override
public int compareTo(final I18nTranslationDTO o) {
- return (o == null || o.trKey == null) ? -1 : -o.trKey.compareTo(trKey);
+ return (o == null || o.id == null) ? -1 : -o.id.compareTo(id);
}
public Long getId() {
return id;
}
+ public String getNoteForTranslators() {
+ return noteForTranslators;
+ }
+
+ public Long getParentId() {
+ return parentId;
+ }
+
+ public String getParentTrKey() {
+ return parentTrKey;
+ }
+
public String getText() {
return text;
}
@@ -78,6 +96,18 @@
this.id = id;
}
+ public void setNoteForTranslators(final String noteForTranslators) {
+ this.noteForTranslators = noteForTranslators;
+ }
+
+ public void setParentId(final Long parentId) {
+ this.parentId = parentId;
+ }
+
+ public void setParentTrKey(final String parentTrKey) {
+ this.parentTrKey = parentTrKey;
+ }
+
public void setText(final String text) {
this.text = text;
}
Modified: trunk/src/main/java/cc/kune/core/shared/i18n/I18nTranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/i18n/I18nTranslationService.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/core/shared/i18n/I18nTranslationService.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -19,119 +19,152 @@
*/
package cc.kune.core.shared.i18n;
+import cc.kune.common.client.utils.Pair;
+
public abstract class I18nTranslationService {
- protected static final String TRANSLATION_NOTE_REGEXP = " (\\[)%NT (.*)(\\])$";
- protected static final String NOTE_FOR_TRANSLATOR_TAG_BEGIN = " [%NT ";
- protected static final String NOTE_FOR_TRANSLATOR_TAG_END = "]";
- // Also in I18nTranslation
- protected static final String UNTRANSLATED_VALUE = null;
- public String decodeHtml(final String textToDecode) {
- String text = textToDecode;
- // text = text.replaceAll("©", "©");
- return text;
- }
+ // Also in I18nTranslation
+ protected static final String UNTRANSLATED_VALUE = null;
- public String removeNT(final String string) {
- return string.replaceAll(TRANSLATION_NOTE_REGEXP, "");
- }
+ public String decodeHtml(final String textToDecode) {
+ final String text = textToDecode;
+ // text = text.replaceAll("©", "©");
+ return text;
+ }
- /**
- * In production, this method uses a hashmap. In development, if the text is
- * not in the hashmap, it makes a server petition (that stores the text
- * pending for translation in db).
- *
- * Warning: text is escaped as html before insert in the db. Don't use html
- * here (o user this method with params).
- *
- * @param text
- * @return text translated in the current language
- */
- // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:49
- public abstract String t(final String text);
-
- /**
- * Use [%d] to reference the Integer parameters
- *
- */
- // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
- public String t(final String text, final Integer... args) {
- String translation = t(text);
- for (Integer arg : args) {
- translation = translation.replaceFirst("\\[%d\\]", arg.toString());
- }
- return decodeHtml(translation);
+ /**
+ * Use [%d] to reference the Integer parameters
+ *
+ */
+ // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
+ private String t(final Pair<String, String> pair, final Integer... args) {
+ String translation = tWithNT(pair.getLeft(), pair.getRight());
+ for (final Integer arg : args) {
+ translation = translation.replaceFirst("\\[%d\\]", arg.toString());
}
+ return decodeHtml(translation);
+ }
- /**
- * Use [%d] to reference the Long parameter
- *
- */
- // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
- public String t(final String text, final Long... args) {
- String translation = t(text);
- for (Long arg : args) {
- translation = translation.replaceFirst("\\[%d\\]", arg.toString());
- }
- return decodeHtml(translation);
+ /**
+ * Use [%d] to reference the Long parameter
+ *
+ */
+ // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
+ private String t(final Pair<String, String> pair, final Long... args) {
+ String translation = tWithNT(pair.getLeft(), pair.getRight());
+ for (final Long arg : args) {
+ translation = translation.replaceFirst("\\[%d\\]", arg.toString());
}
+ return decodeHtml(translation);
+ }
- /**
- * Use [%s] to reference the string parameter
- *
- */
- // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
- public String t(final String text, final String... args) {
- String translation = t(text);
- for (String arg : args) {
- translation = translation.replaceFirst("\\[%s\\]", arg);
- }
- return decodeHtml(translation);
+ /**
+ * Use [%s] to reference the string parameter
+ *
+ */
+ // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
+ private String t(final Pair<String, String> pair, final String... args) {
+ String translation = tWithNT(pair.getLeft(), pair.getRight());
+ for (final String arg : args) {
+ translation = translation.replaceFirst("\\[%s\\]", arg);
}
+ return decodeHtml(translation);
+ }
- /**
- * Adds [%NT noteForTranslators] at the end of text. This tag is later
- * renderer in the translator panel to inform translator how to do this
- * translation
- *
- */
- public String tWithNT(final String text, final String noteForTranslators) {
- return t(text + NOTE_FOR_TRANSLATOR_TAG_BEGIN + noteForTranslators + NOTE_FOR_TRANSLATOR_TAG_END);
- }
+ /**
+ * In production, this method uses a hashmap. In development, if the text is
+ * not in the hashmap, it makes a server petition (that stores the text
+ * pending for translation in db).
+ *
+ * Warning: text is escaped as html before insert in the db. Don't use html
+ * here (o user this method with params).
+ *
+ * @param text
+ * some note for facilitate the translation
+ *
+ * @return text translated in the current language
+ */
+ public String t(final String text) {
+ return tWithNT(text, "");
+ }
- /**
- * Use [%d] to reference the Integer parameter.
- *
- * Also adds [%NT noteForTranslators] at the end of text. This tag is later
- * renderer in the translator panel to inform translator how to do this
- * translation
- *
- */
- public String tWithNT(final String text, final String noteForTranslators, final Integer... args) {
- return t(text + NOTE_FOR_TRANSLATOR_TAG_BEGIN + noteForTranslators + NOTE_FOR_TRANSLATOR_TAG_END, args);
- }
+ /**
+ * Use [%d] to reference the Integer parameters
+ *
+ */
+ // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
+ public String t(final String text, final Integer... args) {
+ return t(Pair.create(text, ""), args);
+ }
- /**
- * Use [%d] to reference the Long parameter.
- *
- * Also adds [%NT noteForTranslators] at the end of text. This tag is later
- * renderer in the translator panel to inform translator how to do this
- * translation
- *
- */
- public String tWithNT(final String text, final String noteForTranslators, final Long... args) {
- return t(text + NOTE_FOR_TRANSLATOR_TAG_BEGIN + noteForTranslators + NOTE_FOR_TRANSLATOR_TAG_END, args);
- }
+ /**
+ * Use [%d] to reference the Long parameter
+ *
+ */
+ // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:50
+ public String t(final String text, final Long... args) {
+ return t(Pair.create(text, ""), args);
+ }
- /**
- * Use [%s] to reference the String parameter.
- *
- * Also adds [%NT noteForTranslators] at the end of text. This tag is later
- * renderer in the translator panel to inform translator how to do this
- * translation
- *
- */
- public String tWithNT(final String text, final String noteForTranslators, final String... args) {
- return t(text + NOTE_FOR_TRANSLATOR_TAG_BEGIN + noteForTranslators + NOTE_FOR_TRANSLATOR_TAG_END, args);
- }
+ /**
+ * Use [%s] to reference the String parameter.
+ *
+ */
+ public String t(final String text, final String... args) {
+ return t(Pair.create(text, ""), args);
+ }
+
+ /**
+ * In production, this method uses a hashmap. In development, if the text is
+ * not in the hashmap, it makes a server petition (that stores the text
+ * pending for translation in db).
+ *
+ * Warning: text is escaped as html before insert in the db. Don't use html
+ * here (o user this method with params).
+ *
+ * @param text
+ * @param noteForTranslators
+ * some note for facilitate the translation
+ *
+ * @return text translated in the current language
+ */
+ // @PMD:REVIEWED:ShortMethodName: by vjrj on 21/05/09 13:49
+ public abstract String tWithNT(final String text, final String noteForTranslators);
+
+ /**
+ * - Use [%d] to reference the Integer parameter.
+ *
+ * Also adds [%NT noteForTranslators] at the end of text. This tag is later
+ * renderer in the translator panel to inform translator how to do this
+ * translation
+ *
+ */
+ public String tWithNT(final String text, final String noteForTranslators, final Integer... args) {
+ return t(Pair.create(text, noteForTranslators), args);
+ }
+
+ /**
+ * Use [%d] to reference the Long parameter.
+ *
+ * Also adds [%NT noteForTranslators] at the end of text. This tag is later
+ * renderer in the translator panel to inform translator how to do this
+ * translation
+ *
+ */
+ public String tWithNT(final String text, final String noteForTranslators, final Long... args) {
+ return t(Pair.create(text, noteForTranslators), args);
+ }
+
+ /**
+ * Use [%s] to reference the String parameter.
+ *
+ * Also adds [%NT noteForTranslators] at the end of text. This tag is later
+ * renderer in the translator panel to inform translator how to do this
+ * translation
+ *
+ */
+ public String tWithNT(final String text, final String noteForTranslators, final String... args) {
+ return t(Pair.create(text, noteForTranslators), args);
+ }
+
}
Modified: trunk/src/main/java/cc/kune/domain/I18nTranslation.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/I18nTranslation.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/domain/I18nTranslation.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -42,154 +42,204 @@
@Table(name = "globalize_translations")
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 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;
- public static final String UNTRANSLATED_VALUE = null;
+ @Column(name = "facet")
+ private String facet;
- @Column(name = "facet")
- private String facet;
+ @Id
+ @GeneratedValue
+ @DocumentId
+ @Column(name = "id", unique = true, nullable = false)
+ private Long id;
- @Id
- @GeneratedValue
- @DocumentId
- @Column(name = "id", unique = true, nullable = false)
- private Long id;
+ @Column(name = "item_id")
+ private Integer itemId;
- @Column(name = "item_id")
- private Integer itemId;
+ @ManyToOne(cascade = CascadeType.ALL)
+ @JoinColumn(name = "language_id")
+ private I18nLanguage language;
- @ManyToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "language_id")
- private I18nLanguage language;
+ private String noteForTranslators;
- @Column(name = "pluralization_index")
- private Integer pluralizationIndex;
+ @ManyToOne(cascade = CascadeType.ALL)
+ @JoinColumn(name = "parent_id")
+ private I18nTranslation parent;
- @Column(name = "table_name")
- private String tableName;
+ @Column(name = "pluralization_index")
+ private Integer pluralizationIndex;
- @Column(name = "text")
- private String text;
+ @Column(name = "table_name")
+ private String tableName;
- @Column(name = "tr_key")
- private String trKey;
+ @Column(name = "text")
+ private String text;
- @Column(name = "gtype")
- private String type;
+ @Column(name = "tr_key")
+ private String trKey;
- public I18nTranslation() {
- this(null, null, null, null, null, null, null, null);
- }
+ @Column(name = "gtype")
+ private String type;
- public I18nTranslation(final String trKey, final I18nLanguage language, final String text) {
- this("", null, DEF_PLUR_INDEX, "", text, trKey, DEF_NAMESPACE, language);
- }
+ public I18nTranslation() {
+ this(null, null, null, null, null, null, null, null, null, null);
+ }
- 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;
- }
+ public I18nTranslation(final I18nLanguage language, final String text, final I18nTranslation parent,
+ final String noteForTranslators) {
+ this("", null, DEF_PLUR_INDEX, "", text, null, DEF_NAMESPACE, language, parent, noteForTranslators);
+ }
- 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;
- }
+ public I18nTranslation(final String trKey, final I18nLanguage language, final String text,
+ final String noteForTranslators) {
+ this("", null, DEF_PLUR_INDEX, "", text, trKey, DEF_NAMESPACE, language, null, noteForTranslators);
+ }
- public String getFacet() {
- return this.facet;
+ 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, final I18nTranslation parent, final String noteForTranslators) {
+ this.type = type;
+ this.trKey = trKey;
+ this.tableName = tableName;
+ this.itemId = itemId;
+ this.facet = facet;
+ this.language = language;
+ this.pluralizationIndex = pluralizationIndex;
+ this.text = text;
+ this.parent = parent;
+ this.setNoteForTranslators(noteForTranslators);
+ if (parent == null) {
+ assert trKey != null;
}
-
- @Override
- public Long getId() {
- return this.id;
+ if (parent != null) {
+ assert trKey == null;
}
+ }
- public Integer getItemId() {
- return this.itemId;
- }
+ public I18nTranslation cloneForNewLanguage() {
+ final I18nTranslation clone = new I18nTranslation();
+ clone.type = type;
+ clone.trKey = null;
+ clone.tableName = tableName;
+ clone.itemId = itemId;
+ clone.facet = facet;
+ clone.language = null;
+ clone.pluralizationIndex = pluralizationIndex;
+ clone.text = null;
+ clone.parent = this;
+ return clone;
+ }
- public I18nLanguage getLanguage() {
- return language;
- }
+ public String getFacet() {
+ return this.facet;
+ }
- public Integer getPluralizationIndex() {
- return this.pluralizationIndex;
- }
+ @Override
+ public Long getId() {
+ return this.id;
+ }
- public String getTableName() {
- return this.tableName;
- }
+ public Integer getItemId() {
+ return this.itemId;
+ }
- public String getText() {
- return this.text;
- }
+ public I18nLanguage getLanguage() {
+ return language;
+ }
- public String getTrKey() {
- return this.trKey;
- }
+ public String getNoteForTranslators() {
+ return noteForTranslators;
+ }
- public String getType() {
- return this.type;
- }
+ /**
+ *
+ * The id of what we are translating
+ *
+ * @return the parent id
+ */
+ public I18nTranslation getParent() {
+ return parent;
+ }
- public void setFacet(final String facet) {
- this.facet = facet;
- }
+ public Long getParentId() {
+ return parent == null ? null : parent.getId();
+ }
- @Override
- public void setId(final Long id) {
- this.id = id;
- }
+ public Integer getPluralizationIndex() {
+ return this.pluralizationIndex;
+ }
- public void setItemId(final Integer itemId) {
- this.itemId = itemId;
- }
+ public String getTableName() {
+ return this.tableName;
+ }
- public void setLanguage(final I18nLanguage language) {
- this.language = language;
- }
+ public String getText() {
+ return this.text;
+ }
- public void setPluralizationIndex(final Integer pluralizationIndex) {
- this.pluralizationIndex = pluralizationIndex;
+ public String getTrKey() {
+ if (parent != null) {
+ return parent.getTrKey();
+ } else {
+ return this.trKey;
}
+ }
- public void setTableName(final String tableName) {
- this.tableName = tableName;
- }
+ public String getType() {
+ return this.type;
+ }
- public void setText(final String text) {
- this.text = text;
- }
+ public void setFacet(final String facet) {
+ this.facet = facet;
+ }
- public void setTrKey(final String trKey) {
- this.trKey = trKey;
- }
+ @Override
+ public void setId(final Long id) {
+ this.id = id;
+ }
- public void setType(final String type) {
- this.type = type;
- }
+ public void setItemId(final Integer itemId) {
+ this.itemId = itemId;
+ }
- @Override
- public String toString() {
- return "I18nTranslation[" + trKey + " (" + language + ") " + text + "]";
- }
+ public void setLanguage(final I18nLanguage language) {
+ this.language = language;
+ }
+ public void setNoteForTranslators(final String noteForTranslators) {
+ this.noteForTranslators = noteForTranslators;
+ }
+
+ public void setParentId(final I18nTranslation parent) {
+ this.parent = parent;
+ }
+
+ public void setPluralizationIndex(final Integer pluralizationIndex) {
+ this.pluralizationIndex = pluralizationIndex;
+ }
+
+ public void setTableName(final String tableName) {
+ this.tableName = tableName;
+ }
+
+ public void setText(final String text) {
+ this.text = text;
+ }
+
+ public void setTrKey(final String trKey) {
+ this.trKey = trKey;
+ }
+
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public String toString() {
+ return "I18nTranslation[" + getTrKey() + " (" + language + ") " + text + "]";
+ }
+
}
Modified: trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -22,6 +22,7 @@
import java.util.ArrayList;
import java.util.List;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.I18nTranslation;
@@ -32,9 +33,9 @@
public interface I18nTranslationFinder {
String TRANSLATED_COUNT_QUERY = "SELECT COUNT(gt.id) FROM I18nTranslation gt WHERE gt.language = :language and text!=null";
- String TRANSLATED_QUERY = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :language and text!=null";
+ String TRANSLATED_QUERY = "SELECT NEW cc.kune.core.shared.dto.I18nTranslationDTO(gt.id, gt.trKey, gt.text, gt.parent.id, gt.parent.trKey) FROM I18nTranslation gt LEFT JOIN gt.parent gp WHERE gt.language = :language AND gt.text!=null";
String UNTRANSLATED_COUNT_QUERY = "SELECT COUNT(gt.id) FROM I18nTranslation gt WHERE gt.language = :language and text=null";
- String UNTRANSLATED_QUERY = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :language and text=null";
+ String UNTRANSLATED_QUERY = "SELECT NEW cc.kune.core.shared.dto.I18nTranslationDTO(gt.id, gt.trKey, gt.text, gt.parent.id, gt.parent.trKey) FROM I18nTranslation gt LEFT JOIN gt.parent gp WHERE gt.language = :language AND gt.text=null";
@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);
@@ -45,23 +46,24 @@
@Named("language") final I18nLanguage language);
@Finder(query = TRANSLATED_QUERY, returnAs = ArrayList.class)
- public List<I18nTranslation> getTranslatedLexicon(@Named("language") final I18nLanguage language);
+ public List<I18nTranslationDTO> getTranslatedLexicon(@Named("language") final I18nLanguage language);
@Finder(query = TRANSLATED_QUERY, returnAs = ArrayList.class)
- public List<I18nTranslation> getTranslatedLexicon(@Named("language") final I18nLanguage language,
+ public List<I18nTranslationDTO> getTranslatedLexicon(@Named("language") final I18nLanguage language,
@FirstResult final int first, @MaxResults final int max);
@Finder(query = TRANSLATED_COUNT_QUERY)
public Long getTranslatedLexiconCount(@Named("language") final I18nLanguage language);
@Finder(query = UNTRANSLATED_QUERY, returnAs = ArrayList.class)
- public List<I18nTranslation> getUnstranslatedLexicon(@Named("language") final I18nLanguage language,
- @FirstResult final int first, @MaxResults final int max);
+ public List<I18nTranslationDTO> getUnstranslatedLexicon(
+ @Named("language") final I18nLanguage language, @FirstResult final int first,
+ @MaxResults final int max);
@Finder(query = UNTRANSLATED_COUNT_QUERY)
public Long getUnstranslatedLexiconCount(@Named("language") final I18nLanguage language);
@Finder(query = UNTRANSLATED_QUERY, returnAs = ArrayList.class)
- public List<I18nTranslation> getUntranslatedLexicon(@Named("language") final I18nLanguage language);
+ public List<I18nTranslationDTO> getUntranslatedLexicon(@Named("language") final I18nLanguage language);
}
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/AbstractLanguageSelectorPanel.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/AbstractLanguageSelectorPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/AbstractLanguageSelectorPanel.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -0,0 +1,161 @@
+/*
+ *
+ * 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.gspace.client.i18n;
+
+import cc.kune.common.client.errors.UIException;
+import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.extjs.gxt.ui.client.data.BaseModel;
+import com.extjs.gxt.ui.client.event.BaseEvent;
+import com.extjs.gxt.ui.client.event.Events;
+import com.extjs.gxt.ui.client.event.Listener;
+import com.extjs.gxt.ui.client.store.ListStore;
+import com.extjs.gxt.ui.client.widget.form.ComboBox;
+import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
+import com.extjs.gxt.ui.client.widget.form.FormPanel;
+
+public abstract class AbstractLanguageSelectorPanel extends FormPanel {
+
+ @SuppressWarnings("serial")
+ public class LanguageData extends BaseModel {
+
+ private static final String CODE = "code";
+ private static final String ENGLISH_NAME = "englishName";
+
+ public LanguageData(final String code, final String englishName) {
+ set(CODE, code);
+ set(ENGLISH_NAME, englishName);
+ }
+
+ public String getCode() {
+ return get(CODE);
+ }
+
+ public String getEnglishName() {
+ return get(ENGLISH_NAME);
+ }
+ }
+
+ public static final String LANG_FIELD = "k-langsp-lf";
+
+ private final I18nTranslationService i18n;
+ private ComboBox<LanguageData> langCombo;
+ private final Session session;
+
+ public AbstractLanguageSelectorPanel(final I18nTranslationService i18n, final Session session,
+ final boolean withEnglish) {
+ super();
+ this.i18n = i18n;
+ this.session = session;
+ setBorders(false);
+ setFrame(false);
+ setHeaderVisible(false);
+ setBodyBorder(false);
+ createLangCombo(withEnglish);
+ super.add(langCombo);
+ }
+
+ public void addChangeListener(final SimpleCallback onChange) {
+ langCombo.addListener(Events.Select, new Listener<BaseEvent>() {
+ @Override
+ public void handleEvent(final BaseEvent be) {
+ onChange.onCallback();
+ }
+ });
+ }
+
+ private void createLangCombo(final boolean withEnglish) {
+ // Field.setMsgTarget("side");
+ langCombo = new ComboBox<LanguageData>();
+ langCombo.setName(LANG_FIELD);
+ langCombo.setMinChars(1);
+ // langCombo.setMode(ComboBox.LOCAL);
+ langCombo.setStore(createStore(withEnglish));
+ langCombo.setDisplayField("language");
+ langCombo.setTriggerAction(TriggerAction.ALL);
+ langCombo.setEmptyText(i18n.t("Enter language"));
+ langCombo.setLoadingText(i18n.t("Searching..."));
+ langCombo.setDisplayField(LanguageData.ENGLISH_NAME);
+ langCombo.setValueField(LanguageData.CODE);
+ langCombo.setTypeAhead(true);
+ langCombo.setTypeAheadDelay(1000);
+ langCombo.setSelectOnFocus(false);
+ langCombo.setWidth(140);
+ langCombo.setPageSize(7);
+ langCombo.setForceSelection(true);
+ langCombo.setAllowBlank(false);
+ }
+
+ private ListStore<LanguageData> createStore(final boolean withEnglish) {
+ final ListStore<LanguageData> list = new ListStore<LanguageData>();
+
+ for (final I18nLanguageSimpleDTO lang : session.getLanguages()) {
+ final boolean isEnglish = lang.getCode().equals("en");
+ if (!isEnglish || (isEnglish && withEnglish)) {
+ list.add(new LanguageData(lang.getCode(), lang.getEnglishName()));
+ }
+ }
+ return list;
+ }
+
+ public I18nLanguageSimpleDTO getLanguage() {
+ final String langCode = langCombo.getValue().getCode();
+ for (final I18nLanguageSimpleDTO lang : session.getLanguages()) {
+ if (lang.getCode().equals(langCode)) {
+ return lang;
+ }
+ }
+ throw new UIException("Languege not found");
+ }
+
+ public String getLanguageCode() {
+ return langCombo.getValue().getCode();
+ }
+
+ public String getLanguageEnglishName() {
+ return langCombo.getValue().getEnglishName();
+ }
+
+ @Override
+ public void reset() {
+ langCombo.reset();
+ }
+
+ public void setLangSeparator(final String separator) {
+ langCombo.setLabelSeparator(separator);
+ }
+
+ public void setLangTitle(final String langFieldTitle) {
+ if (langFieldTitle == null) {
+ setHideLabels(true);
+ } else {
+ if (langFieldTitle != null) {
+ langCombo.setFieldLabel(langFieldTitle);
+ }
+ }
+ }
+
+ public void setLanguage(final I18nLanguageSimpleDTO language) {
+ langCombo.setRawValue(language.getEnglishName());
+ }
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -93,7 +93,8 @@
+ (odd ? ODD_STYLE : "") + "'>");
sb.appendHtmlConstant("<div style='display: table-cell; width: 100%; padding: 1px 5px;"
+ (value.isDirty() ? DIRTY_STYLE : "") + "'>");
- sb.appendEscaped(value.getTrKey());
+ final String trKey = value.getTrKey();
+ sb.appendEscaped(trKey == null ? value.getParentTrKey() : trKey);
sb.appendHtmlConstant("</div></div>");
}
}
@@ -134,7 +135,7 @@
// used to identify translations when fields change.
cellList = new CellList<I18nTranslationDTO>(cell, I18nTranslationDTO.KEY_PROVIDER);
cellList.setPageSize(30);
- cellList.setEmptyListMessage(SafeHtmlUtils.fromTrustedString("<span style='padding: 10px; font-style: italic;'>Loading</span>"));
+ cellList.setEmptyListMessage(SafeHtmlUtils.fromTrustedString("<span style='padding: 10px; font-style: italic;'>Empty list</span>"));
cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);
cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);
final SingleSelectionModel<I18nTranslationDTO> selectionModel = new SingleSelectionModel<I18nTranslationDTO>(
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -140,37 +140,32 @@
item.setText(translation.getText());
item.setDirty(true);
dataProvider.refreshDisplays();
- saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
+ saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation,
+ item.getParentId(), item.getParentTrKey()));
}
}
public void setInfo(final I18nTranslationDTO item) {
saveIfNeeded();
this.item = item;
- final String[] splitted = splitNT(item.getTrKey());
- toTranslate.setText(splitted[0]);
- final boolean hasNT = splitted.length > 1;
+ final String trKey = item.getTrKey();
+ toTranslate.setText(trKey == null ? item.getParentTrKey() : trKey);
+ translation.setText(item.getText());
+ final boolean hasNT = TextUtils.notEmpty(item.getNoteForTranslators());
noteForTranslators.setVisible(hasNT);
noteForTranslatorsTittle.setVisible(hasNT);
if (hasNT) {
- noteForTranslators.setText(splitted[1]);
+ noteForTranslators.setText(item.getNoteForTranslators());
}
- translation.setText(item.getText());
}
public void setToLanguage(final I18nLanguageSimpleDTO language) {
toLanguageTitle.setText(i18n.tWithNT("to [%s]:", "For example, 'to Spanish':",
language.getEnglishName()));
- }
+ toTranslate.setText("");
+ translation.setText("");
+ noteForTranslators.setVisible(false);
- private String[] splitNT(final String textWithNT) {
- String[] nt;
- final String[] splitted = textWithNT.split(" \\[%NT ");
- if (splitted.length > 1) {
- nt = splitted[1].split("\\]$");
- splitted[1] = nt[0];
- }
- return splitted;
}
private void updateWithTimer() {
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -17,26 +17,21 @@
private static final String TRANSLATOR_ERROR_ID = "i18n-trans-panel-error";
private static final String TRANSLATOR_PANEL_ID = "i18n-trans-panel";
private static final int WIDTH = 570;
- private final LanguageSelectorPanel lanSelectorPanel;
+ private final AbstractLanguageSelectorPanel lanSelectorPanel;
private final I18nToTranslateGridPanel toTranslateGrid;
private final I18nTranslatedGridPanel translatedGrid;
private final I18nTranslateRecomendPanel transRecommend;
@Inject
public I18nTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
- final I18nTranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
+ final I18nTranslatorTabsCollection transGroup,
+ final LanguageSelectorWithoutEnglishPanel lanSelectorPanel,
final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
super(TRANSLATOR_PANEL_ID, "", false, false, images, TRANSLATOR_ERROR_ID, i18n.t("Close"), null,
null, null, transGroup);
setIcon(res.language());
this.lanSelectorPanel = lanSelectorPanel;
- lanSelectorPanel.addChangeListener(new SimpleCallback() {
- @Override
- public void onCallback() {
- setLanguage(lanSelectorPanel.getLanguage());
- }
- });
this.toTranslateGrid = toTranslateGrid;
this.translatedGrid = translatedGrid;
this.transRecommend = transRecommend;
@@ -47,6 +42,12 @@
lanSelectorPanel.setLangTitle(i18n.t("to"));
lanSelectorPanel.setLabelAlign(LabelAlign.RIGHT);
lanSelectorPanel.setLangSeparator(":");
+ lanSelectorPanel.addChangeListener(new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ setLanguage(lanSelectorPanel.getLanguage());
+ }
+ });
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -62,7 +62,9 @@
@Override
public void show() {
final I18nLanguageDTO userLang = session.getCurrentLanguage();
- getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
+ if (!userLang.getCode().equals("en")) {
+ getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
+ }
getView().show();
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorPanel.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorPanel.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -1,159 +1,15 @@
-/*
- *
- * 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.gspace.client.i18n;
-import cc.kune.common.client.errors.UIException;
-import cc.kune.common.client.utils.SimpleCallback;
import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import com.extjs.gxt.ui.client.data.BaseModel;
-import com.extjs.gxt.ui.client.event.BaseEvent;
-import com.extjs.gxt.ui.client.event.Events;
-import com.extjs.gxt.ui.client.event.Listener;
-import com.extjs.gxt.ui.client.store.ListStore;
-import com.extjs.gxt.ui.client.widget.form.ComboBox;
-import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
-import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.google.inject.Inject;
-public class LanguageSelectorPanel extends FormPanel {
+public class LanguageSelectorPanel extends AbstractLanguageSelectorPanel {
- @SuppressWarnings("serial")
- public class LanguageData extends BaseModel {
-
- private static final String CODE = "code";
- private static final String ENGLISH_NAME = "englishName";
-
- public LanguageData(final String code, final String englishName) {
- set(CODE, code);
- set(ENGLISH_NAME, englishName);
- }
-
- public String getCode() {
- return get(CODE);
- }
-
- public String getEnglishName() {
- return get(ENGLISH_NAME);
- }
- }
-
- public static final String LANG_FIELD = "k-langsp-lf";
-
- private final I18nTranslationService i18n;
- private ComboBox<LanguageData> langCombo;
- private final Session session;
-
@Inject
public LanguageSelectorPanel(final I18nTranslationService i18n, final Session session) {
- super();
- this.i18n = i18n;
- this.session = session;
- setBorders(false);
- setFrame(false);
- setHeaderVisible(false);
- createLangCombo();
- super.add(langCombo);
- setBodyBorder(false);
+ super(i18n, session, true);
}
- public void addChangeListener(final SimpleCallback onChange) {
- langCombo.addListener(Events.Select, new Listener<BaseEvent>() {
- @Override
- public void handleEvent(final BaseEvent be) {
- onChange.onCallback();
- }
- });
- }
-
- private void createLangCombo() {
- // Field.setMsgTarget("side");
- langCombo = new ComboBox<LanguageData>();
- langCombo.setName(LANG_FIELD);
- langCombo.setMinChars(1);
- // langCombo.setMode(ComboBox.LOCAL);
- langCombo.setStore(createStore());
- langCombo.setDisplayField("language");
- langCombo.setTriggerAction(TriggerAction.ALL);
- langCombo.setEmptyText(i18n.t("Enter language"));
- langCombo.setLoadingText(i18n.t("Searching..."));
- langCombo.setDisplayField(LanguageData.ENGLISH_NAME);
- langCombo.setValueField(LanguageData.CODE);
- langCombo.setTypeAhead(true);
- langCombo.setTypeAheadDelay(1000);
- langCombo.setSelectOnFocus(false);
- langCombo.setWidth(140);
- langCombo.setPageSize(7);
- langCombo.setForceSelection(true);
- langCombo.setAllowBlank(false);
- }
-
- private ListStore<LanguageData> createStore() {
- final ListStore<LanguageData> list = new ListStore<LanguageData>();
-
- for (final I18nLanguageSimpleDTO lang : session.getLanguages()) {
- list.add(new LanguageData(lang.getCode(), lang.getEnglishName()));
- }
- return list;
- }
-
- public I18nLanguageSimpleDTO getLanguage() {
- final String langCode = langCombo.getValue().getCode();
- for (final I18nLanguageSimpleDTO lang : session.getLanguages()) {
- if (lang.getCode().equals(langCode)) {
- return lang;
- }
- }
- throw new UIException("Languege not found");
- }
-
- public String getLanguageCode() {
- return langCombo.getValue().getCode();
- }
-
- public String getLanguageEnglishName() {
- return langCombo.getValue().getEnglishName();
- }
-
- @Override
- public void reset() {
- langCombo.reset();
- }
-
- public void setLangSeparator(final String separator) {
- langCombo.setLabelSeparator(separator);
- }
-
- public void setLangTitle(final String langFieldTitle) {
- if (langFieldTitle == null) {
- setHideLabels(true);
- } else {
- if (langFieldTitle != null) {
- langCombo.setFieldLabel(langFieldTitle);
- }
- }
- }
-
- public void setLanguage(final I18nLanguageSimpleDTO language) {
- langCombo.setRawValue(language.getEnglishName());
- }
}
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorWithoutEnglishPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorWithoutEnglishPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/LanguageSelectorWithoutEnglishPanel.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -0,0 +1,15 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+
+public class LanguageSelectorWithoutEnglishPanel extends AbstractLanguageSelectorPanel {
+
+ @Inject
+ public LanguageSelectorWithoutEnglishPanel(final I18nTranslationService i18n, final Session session) {
+ super(i18n, session, false);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/EntityLicensePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/EntityLicensePanel.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/EntityLicensePanel.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -34,54 +34,54 @@
import com.gwtplatform.mvp.client.ViewImpl;
public class EntityLicensePanel extends ViewImpl implements EntityLicenseView {
- public static final String LICENSE_LABEL = "k-elp-lic-lab";
- private final I18nTranslationService i18n;
- private final FlowPanel licenseBar;
- private final Image licenseImage;
- private final Tooltip tooltip;
+ public static final String LICENSE_LABEL = "k-elp-lic-lab";
+ private final I18nTranslationService i18n;
+ private final FlowPanel licenseBar;
+ private final Image licenseImage;
+ private final Tooltip tooltip;
- @Inject
- public EntityLicensePanel(final I18nTranslationService i18n, final GSpaceArmor armor) {
- this.i18n = i18n;
- licenseImage = new Image();
+ @Inject
+ public EntityLicensePanel(final I18nTranslationService i18n, final GSpaceArmor armor) {
+ this.i18n = i18n;
+ licenseImage = new Image();
- licenseBar = new FlowPanel();
- licenseBar.add(licenseImage);
- licenseImage.addStyleName("k-footer-license-img");
- armor.getEntityFooter().add(licenseBar);
- tooltip = Tooltip.to(licenseImage, ".");
- }
+ licenseBar = new FlowPanel();
+ licenseBar.add(licenseImage);
+ licenseImage.addStyleName("k-footer-license-img");
+ armor.getEntityFooter().add(licenseBar);
+ tooltip = Tooltip.to(licenseImage, ".");
+ }
- @Override
- public Widget asWidget() {
- return null;
- }
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
- @Override
- public void attach() {
- licenseBar.setVisible(true);
- }
+ @Override
+ public void attach() {
+ licenseBar.setVisible(true);
+ }
- @Override
- public void detach() {
- licenseBar.setVisible(false);
- }
+ @Override
+ public void detach() {
+ licenseBar.setVisible(false);
+ }
- @Override
- public HasClickHandlers getImage() {
- return licenseImage;
- }
+ @Override
+ public HasClickHandlers getImage() {
+ return licenseImage;
+ }
- @Override
- public void openWindow(final String url) {
- KuneWindowUtils.open(url);
- }
+ @Override
+ public void openWindow(final String url) {
+ KuneWindowUtils.open(url);
+ }
- @Override
- public void showLicense(final String groupName, final LicenseDTO licenseDTO) {
- final String licenseText = i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName());
- // KuneUiUtils.setQuickTip(licenseLabel, licenseText);
- licenseImage.setUrl(licenseDTO.getImageUrl());
- tooltip.setText(licenseText);
- }
+ @Override
+ public void showLicense(final String groupName, final LicenseDTO licenseDTO) {
+ final String licenseText = i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName());
+ // KuneUiUtils.setQuickTip(licenseLabel, licenseText);
+ licenseImage.setUrl(licenseDTO.getImageUrl());
+ tooltip.setText(licenseText);
+ }
}
Modified: trunk/src/main/resources/db/liquibase_changelog.xml
===================================================================
--- trunk/src/main/resources/db/liquibase_changelog.xml 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/resources/db/liquibase_changelog.xml 2011-09-19 13:00:39 UTC (rev 1521)
@@ -143,4 +143,10 @@
encoding="utf8" stripComments="1" />
<rollback>SELECT * FROM globalize_countries;</rollback>
</changeSet>
+ <changeSet id="22" author="vjrj">
+ <comment>I18n translations cleanup</comment>
+ <sqlFile path="src/main/resources/db/update-0017-i18nclean2.sql"
+ encoding="utf8" stripComments="1" />
+ <rollback>SELECT * FROM globalize_countries;</rollback>
+ </changeSet>
</databaseChangeLog>
Added: trunk/src/main/resources/db/update-0017-i18nclean2.sql
===================================================================
--- trunk/src/main/resources/db/update-0017-i18nclean2.sql (rev 0)
+++ trunk/src/main/resources/db/update-0017-i18nclean2.sql 2011-09-19 13:00:39 UTC (rev 1521)
@@ -0,0 +1,3 @@
+BEGIN WORK;
+TRUNCATE TABLE globalize_translations;
+COMMIT;
\ No newline at end of file
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/main/resources/kune.properties 2011-09-19 13:00:39 UTC (rev 1521)
@@ -1,16 +1,13 @@
### kune.properties
-### general
+### general site config
-kune.upload.location = /var/lib/kune/uploads/
-
-### site config
-
kune.siteurl = http://localhost:8080
kune.sitelogourl = images/kune-logo-16px.png
# Every kune site have a group with this name:
+
kune.default.site.name = Site Administration
kune.default.site.shortName = site
kune.site.domain = localhost
@@ -90,12 +87,17 @@
kune.wsthemes.blackwhite.colors = #FFF, #FFF, #000, #FFF, #FFF, #000, #000, #FFF
kune.wsthemes.transparent.backgrounds = transparent, transparent, #e3dbdb, transparent, transparent, #e3dbdb, transparent, transparent
kune.wsthemes.transparent.colors = #000, #000, #000, #000, #000, #000, #000, #000
-### Gallery options
-kune.upload.gallerypermittedextensions = jpg,jpeg,png,gif,bmp,svg,avi,mpg,mpeg,ogg,mov,tif,tiff,mp3,wav
+### Uploads
+
+kune.upload.location = /var/lib/kune/uploads/
kune.upload.maxfilesizeinmegas = 10
kune.upload.maxfilesizeinks = 10000000
kune.upload.delayfortest = 50
+
+### Gallery options
+kune.upload.gallerypermittedextensions = jpg,jpeg,png,gif,bmp,svg,avi,mpg,mpeg,ogg,mov,tif,tiff,mp3,wav
+
# Images are resized to thumbsize pixels and later cropped (centered) to cropsize
# (integer values)
kune.images.resizewidth = 400
Modified: trunk/src/test/java/cc/kune/core/client/i18n/I18nUtilsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/i18n/I18nUtilsTest.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/test/java/cc/kune/core/client/i18n/I18nUtilsTest.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -24,6 +24,8 @@
@Test
public void basicTests() {
assertEquals("yesOrNo", I18nUtils.convertMethodName("yes, or & no?"));
+ assertEquals("yesOrNo", I18nUtils.convertMethodName("yes or no"));
+ assertEquals("yesOrNo", I18nUtils.convertMethodName("yes or no"));
}
@Test
Modified: trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java 2011-09-16 00:01:50 UTC (rev 1520)
+++ trunk/src/test/java/cc/kune/core/server/manager/I18nManagerDefaultTest.java 2011-09-19 13:00:39 UTC (rev 1521)
@@ -74,8 +74,10 @@
final int initialSize = map.size();
final int initialSize2 = map2.size();
- final String translation = translationManager.getTranslation("es", "Foo foo foo");
- final String translation2 = translationManager.getTranslation("aa", "Foo foo foo");
+ final String translation = translationManager.getTranslation("es", "Foo foo foo",
+ "note for translators");
+ final String translation2 = translationManager.getTranslation("aa", "Foo foo foo",
+ "note for translators");
assertEquals(I18nTranslation.UNTRANSLATED_VALUE, translation);
assertEquals(I18nTranslation.UNTRANSLATED_VALUE, translation2);
@@ -91,47 +93,32 @@
@Test
public void getNonExistentTranslationReturnsDefaultLanguage() {
- final String translation = translationManager.getTranslation("af", "January [month]");
+ final String translation = translationManager.getTranslation("af", "January [month]",
+ "note for translators");
assertEquals("January", translation);
}
@Test
public void getTranslation() {
- final String translation = translationManager.getTranslation("af", "Sunday [weekday]");
+ final String translation = translationManager.getTranslation("af", "Sunday [weekday]",
+ "note for translators");
assertEquals("Sondag", translation);
}
@Test
public void getTranslationUTF8() {
- final String translation = translationManager.getTranslation("el", "January [month]");
+ final String translation = translationManager.getTranslation("el", "January [month]",
+ "note for translators");
assertEquals("Ιανουάριος", translation);
}
@Test
- public void getTranslationWithIntArg() {
- final String translation = translationManager.getTranslation("en", "[%d] users", 20);
- assertEquals("20 users", translation);
- }
-
- @Test
public void getTranslationWithIntArgFromService() {
final String translation = translationService.t("[%d] users", 20);
assertEquals("20 users", translation);
}
@Test
- public void getTranslationWithIntArgFromWithNtService() {
- final String translation = translationService.tWithNT("[%d] users", "foo foo", 20);
- assertEquals("20 users", translation);
- }
-
- @Test
- public void getTranslationWithStringArg() {
- final String translation = translationManager.getTranslation("en", "[%s] users", "Twenty");
- assertEquals("Twenty users", translation);
- }
-
- @Test
public void getTranslationWithStringArgFromService() {
final String translation = translationService.t("[%s] users", "Twenty");
assertEquals("Twenty users", translation);
@@ -154,27 +141,24 @@
languageManager.persist(spanish);
languageManager.persist(afrikaans);
languageManager.persist(greek);
- translationManager.persist(new I18nTranslation("Sunday [weekday]", english, "Sunday"));
- translationManager.persist(new I18nTranslation("January [month]", english, "January"));
- translationManager.persist(new I18nTranslation("Sunday [weekday]", afrikaans, "Sondag"));
- translationManager.persist(new I18nTranslation("January [month]", greek, "Ιανουάριος"));
+ translationManager.persist(new I18nTranslation("Sunday [weekday]", english, "Sunday",
+ "note for translators"));
+ translationManager.persist(new I18nTranslation("January [month]", english, "January",
+ "note for translators"));
+ translationManager.persist(new I18nTranslation("Sunday [weekday]", afrikaans, "Sondag",
+ "note for translators"));
+ translationManager.persist(new I18nTranslation("January [month]", greek, "Ιανουάριος",
+ "note for translators"));
translationManager.persist(new I18nTranslation(StringEscapeUtils.escapeHtml("[%s] users"), english,
- StringEscapeUtils.escapeHtml("[%s] users")));
+ StringEscapeUtils.escapeHtml("[%s] users"), "note for translators"));
translationManager.persist(new I18nTranslation(StringEscapeUtils.escapeHtml("[%d] users"), english,
- StringEscapeUtils.escapeHtml("[%d] users")));
+ StringEscapeUtils.escapeHtml("[%d] users"), "note for translators"));
final I18nCountry gb = new I18nCountry(Long.valueOf(75), "GB", "GBP", ".", "£%n", "", ".",
"United Kingdom", "western", ",");
countryManager.persist(gb);
}
@Test
- public void setTranslation() {
- translationManager.setTranslation("en", "Foo foo foo", "Foo foo foo translation");
- final String translation = translationManager.getTranslation("en", "Foo foo foo");
- assertEquals("Foo foo foo translation", translation);
- }
-
- @Test
public void testGetLexicon() {
final HashMap<String, String> map = translationManager.getLexicon("af");
assertTrue(map.size() > 0);
1
0
16 Sep '11
Author: vjrj_
Date: 2011-09-16 02:01:50 +0200 (Fri, 16 Sep 2011)
New Revision: 1520
Modified:
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
Log:
Small fix with Wave client mock
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-09-15 23:46:46 UTC (rev 1519)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-09-16 00:01:50 UTC (rev 1520)
@@ -32,12 +32,11 @@
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.wave.client.WaveClientView;
+import cc.kune.wave.client.WaveClientProvider;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
import com.google.inject.Inject;
-import com.google.inject.Provider;
public class ErrorHandler {
@@ -45,11 +44,11 @@
private final I18nTranslationService i18n;
private final Session session;
private final StateManager stateManager;
- private final Provider<WaveClientView> waveClient;
+ private final WaveClientProvider waveClient;
@Inject
public ErrorHandler(final Session session, final I18nTranslationService i18n,
- final StateManager stateManager, final EventBus eventBus, final Provider<WaveClientView> waveClient) {
+ final StateManager stateManager, final EventBus eventBus, final WaveClientProvider waveClient) {
this.session = session;
this.i18n = i18n;
this.stateManager = stateManager;
1
0
Author: vjrj_
Date: 2011-09-16 01:46:46 +0200 (Fri, 16 Sep 2011)
New Revision: 1519
Added:
trunk/script/syncI18nTransInDb.sh
trunk/src/main/resources/db/update-0017-i18nclean1.sql
Modified:
trunk/DEV-GUIDE
trunk/script/findMsg.sh
trunk/src/main/resources/db/liquibase_changelog.xml
Log:
NEW - # 79: I18n refactorization
http://kune.ourproject.org/issues/ticket/79
Modified: trunk/DEV-GUIDE
===================================================================
--- trunk/DEV-GUIDE 2011-09-14 11:56:30 UTC (rev 1518)
+++ trunk/DEV-GUIDE 2011-09-15 23:46:46 UTC (rev 1519)
@@ -303,6 +303,10 @@
"Being written in Java, we strongly recommend following the principles outlined in Effective Java. On top of that, patterns that aid testability (dependency injection, etc) are quite important. But beyond that, I don't know if there are any other patterns or practices that would be universal across the whole thing. The web client and the server run in very different environments, so the appropriate patterns change (e.g., the client-only code doesn't have to worry about thread safety, but should worry about excessive short-lived object creation)."
+=== Running Hosted Mode without Wave webclient ===
+
+See class WaveClientProvider in Kune (in a short term, we should define this in a .gwt.xml not there, but this is a start point).
+
==Changelog==
Periodically update the Changelog using svn2cl:
Modified: trunk/script/findMsg.sh
===================================================================
--- trunk/script/findMsg.sh 2011-09-14 11:56:30 UTC (rev 1518)
+++ trunk/script/findMsg.sh 2011-09-15 23:46:46 UTC (rev 1519)
@@ -1,3 +1,3 @@
#!/bin/bash
STR=`echo $1 | sed 's/ /\\[\\\"\\\+\\\n \\]\*/g'`
-echo egrep -r -m 1 "\"$STR\"" src/main/java/cc
\ No newline at end of file
+grep -q -r -m 1 "\"$STR\"" src/main/java/cc
\ No newline at end of file
Added: trunk/script/syncI18nTransInDb.sh
===================================================================
--- trunk/script/syncI18nTransInDb.sh (rev 0)
+++ trunk/script/syncI18nTransInDb.sh 2011-09-15 23:46:46 UTC (rev 1519)
@@ -0,0 +1,50 @@
+#!/bin/bash
+mysql -B --skip-column-names --password="db4kune" -u kune kune_dev -e \
+"SELECT id, tr_key, language_id FROM globalize_translations" \
+| sed 's/ /ł/g' \
+| awk -F "ł" '
+BEGIN {
+ print "BEGIN;"
+}
+{
+ trkey=$2
+ id=$1
+ lang=$3
+ #gsub(/\(/, "\\(", trkey)
+ #gsub(/\)/, "\\)", trkey)
+ gsub(/\[/, "\\[", trkey)
+ gsub(/\]/, "\\]", trkey)
+ gsub(/&/, "\\\\&", trkey)
+ gsub(/;/, "\\;", trkey)
+ #print trkey
+ #exit
+ cmd="bin/findMsg.sh \""trkey"\""
+ #print cmd
+ #exit
+ mat=match($2, "(.*NT weekday.*|.*NT month.*|.*NT abbreviated weekday.*|.*NT abbreviated month.*|.*default.*|.*green.*|.*purple.*|.*grey.*|.*red.*|.*sahara.*|.*blue.*|.*redblack.*|.*camp.*|.*pink.*|.*highcontrast.*|.*whiteblack.*|.*blackwhite.*|.*transparent.*)")
+ if (mat == 0) {
+ result = system(cmd)
+ #print result
+ if (result != "0") {
+ print "DELETE FROM globalize_translations WHERE tr_key=\""$2"\" AND language_id="lang";"
+ }
+ }
+}
+END {
+ print "ROLLBACK;"
+}'
+
+# NOT USED NOW, BUT MAYBE FOR TESTS:
+
+#| grep "accept this member" \
+
+#|tail -200 | \
+
+#grep globalize_translations src/main/resources/db/update-00* | grep INSERT \
+#| sed "s/['\"],['\"]/SEPAR/g" \
+#| sed "s/['\"],/SEPAR/g" \
+#| sed "s/SEPAR/ł/g" \
+#| awk -F "ł" '{print $4"ł"$6}' \
+#| sed "s/^['\"]//g" | sed "s/['\"],/\|/g" | sed 's/);//g' \
+#| sed "s/\([^\]\)'/\1\\\'/g" \
+
Property changes on: trunk/script/syncI18nTransInDb.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/resources/db/liquibase_changelog.xml
===================================================================
--- trunk/src/main/resources/db/liquibase_changelog.xml 2011-09-14 11:56:30 UTC (rev 1518)
+++ trunk/src/main/resources/db/liquibase_changelog.xml 2011-09-15 23:46:46 UTC (rev 1519)
@@ -137,4 +137,10 @@
encoding="utf8" stripComments="1" />
<rollback>SELECT * FROM globalize_countries;</rollback>
</changeSet>
+ <changeSet id="21" author="vjrj">
+ <comment>I18n translations cleanup</comment>
+ <sqlFile path="src/main/resources/db/update-0017-i18nclean1.sql"
+ encoding="utf8" stripComments="1" />
+ <rollback>SELECT * FROM globalize_countries;</rollback>
+ </changeSet>
</databaseChangeLog>
Added: trunk/src/main/resources/db/update-0017-i18nclean1.sql
===================================================================
--- trunk/src/main/resources/db/update-0017-i18nclean1.sql (rev 0)
+++ trunk/src/main/resources/db/update-0017-i18nclean1.sql 2011-09-15 23:46:46 UTC (rev 1519)
@@ -0,0 +1,847 @@
+BEGIN WORK;
+DELETE FROM globalize_translations WHERE tr_key = "This is only a meet sample. You can invite other participants to this meeting, but also publish to the general public allowing you to to help in the organization, call and speed-up of events." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Language:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "admin in:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Participates as..." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Groups in which participates" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Select Workspace theme for this group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Go to Public Space" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "This content is not public" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin this:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can edit:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can view:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Permissions" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Nobody" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Everybody" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "(Not rated)" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "� [%s], under license: " AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Request to join" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more in this group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Must be between 3 and 15 lowercase characters. Can only contain characters, numbers, and dashes" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Passwords do not match" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Language" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Country" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your country" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Timezone" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your timezone" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Close [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Text to translate" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Click to sort" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Translation (click to edit)" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Change language" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add member" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Don't accept this member" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Help to translate kune to [%s]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Administrate these groups [%NT talking about a person]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "and as collaborator in:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Excellent" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Below average" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Above average" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Poor" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Average" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new [%s]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Please enter a name:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "This is a copyleft license" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "This is not a copyleft license" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Select a license to share your group contents with other people. We recomend [%s] licenses for practical works." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Please fill this form and follow the next steps to register a new group:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search results" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Searching for: [%s]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search users" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search groups" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Language:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "admin in:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Participates as..." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Groups in which participates" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Select Workspace theme for this group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Go to Public Space" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "This content is not public" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin this:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can edit:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can view:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Permissions" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Nobody" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Everybody" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "(Not rated)" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "� [%s], under license: " AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Request to join" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more in this group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Must be between 3 and 15 lowercase characters. Can only contain characters, numbers, and dashes" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Passwords do not match" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Language" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Country" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your country" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Timezone" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your timezone" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Close [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Text to translate" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Click to sort" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Translation (click to edit)" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Change language" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add member" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Don't accept this member" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Help to translate kune to [%s]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Administrate these groups [%NT talking about a person]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "and as collaborator in:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Excellent" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Below average" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Above average" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Poor" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Average" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new [%s]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Please enter a name:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "This is a copyleft license" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "This is not a copyleft license" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Select a license to share your group contents with other people. We recomend [%s] licenses for practical works." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Please fill this form and follow the next steps to register a new group:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search results" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Searching for: [%s]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search users" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search groups" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "([%d] user)" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Content rated" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "([%d] user)" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Content rated" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Put Your Logo Here" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "My buddies" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Presence of my buddies" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies connected" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies not connected" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add new buddy" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Connected" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Start a chat with this person" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Not connected" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Help" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "� Back [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Next � [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Cancel [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Finish [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Type of group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Creative Commons" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Others licenses" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Allow commercial uses of your work?" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Yes, as long as others share alike" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname or email" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Retype password" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Full Name" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "My Groups" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Put Your Logo Here" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "My buddies" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Presence of my buddies" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies connected" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies not connected" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add new buddy" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Connected" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Start a chat with this person" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Not connected" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Help" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "� Back [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Next � [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Cancel [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Finish [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Type of group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Creative Commons" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Others licenses" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Allow commercial uses of your work?" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Yes, as long as others share alike" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname or email" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Retype password" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Full Name" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "My Groups" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Background Color" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Bold" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Create Link" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Font Size" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Font Type" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Horizontal Rule" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Right" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Image" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Italic" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Center" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Left Justify" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Right Justify" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Left" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Formatting" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Link" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Strikethrough" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Subscript" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Superscript" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Underline" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Font Color" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Extra small" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Very small" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "small" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Medium" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Large" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Very large" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Extra large" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Edit HTML" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Background Color" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Bold" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Create Link" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Font Size" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Font Type" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Horizontal Rule" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Right" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Image" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Italic" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Center" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Left Justify" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Right Justify" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Left" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Formatting" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Link" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Strikethrough" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Subscript" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Superscript" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Underline" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Font Color" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Extra small" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Very small" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "small" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Medium" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Large" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Very large" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Extra large" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Edit HTML" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Save [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Document Saved" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Save confirmation" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Save before close?" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Save [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Document Saved" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Save confirmation" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Save before close?" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Edit [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "by: [%s] [%NT used in a list of authors]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Language: [%s]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to help with translation" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Edit [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "by: [%s] [%NT used in a list of authors]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Language: [%s]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to help with translation" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Published on: [%s]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Published on: [%s]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Error performing operation" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Incorrect nickname/email or password" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Requested. Waiting for admins decision" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "This name in already in use, try with a different name." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups and add as members" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add [%s] as member?" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm addition of member" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Member added as collaborator" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Error performing operation" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Incorrect nickname/email or password" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Requested. Waiting for admins decision" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "This name in already in use, try with a different name." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups and add as members" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add [%s] as member?" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm addition of member" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Member added as collaborator" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Alert" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, you are the last admin of this group. Look for someone to substitute you appropriately as admin before unjoin this group." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Alert" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, you are the last admin of this group. Look for someone to substitute you appropriately as admin before unjoin this group." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Server error saving translation" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Server error saving translation" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Error saving document. Retrying..." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Type of member changed" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Unjoin this group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Collaborate in these groups" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Error saving document. Retrying..." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Type of member changed" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Unjoin this group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Collaborate in these groups" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Translate [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Now you can participate more actively in this site with other people and groups. You can also use your personal space to publish contents. Your email is not verified, please follow the instructions you will receive by email." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for registering" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Write a new name:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Rename" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "New chat room" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add a folder" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Folder created" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "A project is a kind of group in which new members inclusion is moderated by the project administrators. An administrator is the person who creates the project and other people she/he choose in the future as administrator too." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Orphaned Project" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "An organization is like a project, but organizations must be a legal entity." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "If you have an idea but you don't have capacity/possibilities/resources to work on it, just register a orphaned project, and permit others to work and develop it." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add a group or a person as member of this group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add a document" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Created, now you can edit the document" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, this functionality is currently in development" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Delete [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Translate [%NT used in button]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Now you can participate more actively in this site with other people and groups. You can also use your personal space to publish contents. Your email is not verified, please follow the instructions you will receive by email." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for registering" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Write a new name:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Rename" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "New chat room" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add a folder" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Folder created" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "A project is a kind of group in which new members inclusion is moderated by the project administrators. An administrator is the person who creates the project and other people she/he choose in the future as administrator too." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Orphaned Project" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "An organization is like a project, but organizations must be a legal entity." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "If you have an idea but you don't have capacity/possibilities/resources to work on it, just register a orphaned project, and permit others to work and develop it." AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add a group or a person as member of this group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add a document" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Created, now you can edit the document" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, this functionality is currently in development" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Double click to rename" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Double click to rename" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Choose a license type:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Choose a license type:" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to create a group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to create a group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new buddy to your contact list" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Click to rate this" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Report kune bugs" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new buddy to your contact list" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Click to rate this" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Report kune bugs" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more as a member in this group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Searching" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Displaying results {0} - {1} of {2} [%NT Respect {} values in translations, these will produce: 'Displaying results 1 - 25 of 95465' for instance]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "No results to display" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more as a member in this group" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Searching" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Displaying results {0} - {1} of {2} [%NT Respect {} values in translations, these will produce: 'Displaying results 1 - 25 of 95465' for instance]" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "No results to display" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Click to go to the group homepage" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Delete [%NT used in button]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Click to go to the group homepage" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Go to parent folder" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Navigation tree" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "The contents of this group don't have any tag" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Group Summary" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide searcher" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search contents" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Go to parent folder" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Navigation tree" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "The contents of this group don't have any tag" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Group Summary" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide searcher" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search contents" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide translator" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Authors" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] items with this tag" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Keywords or terms associated with this work" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Authors of this work" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Remove author" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin/edit/view this work" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Date of publication of this work" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "The language of this work" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] item with this tag" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide translator" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Authors" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] items with this tag" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Keywords or terms associated with this work" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Authors of this work" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Remove author" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin/edit/view this work" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Date of publication of this work" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "The language of this work" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] item with this tag" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add author" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Add author" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Page" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "First Page" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Next Page" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Last Page" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Previous Page" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Refresh" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search users & groups" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Page" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "First Page" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Next Page" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Last Page" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Previous Page" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Refresh" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Search users & groups" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "of {0} [%NT Used to show multiple results: '1 of 30']" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "of {0} [%NT Used to show multiple results: '1 of 30']" AND language_id=5889;
+DELETE FROM globalize_translations WHERE tr_key = "Add a chat room" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Enter room" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Chat rooms" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Send" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Users" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Now in this room" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Insert a emoticon" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Change your status" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "busy" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "away" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Set status" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Invite another user to this chat room" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide chat dialog" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Connecting to the room..." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] came online" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Are you sure you want to exit from this room?" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] went offline" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project (in development)" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Leave the workspace and go to the public space of this group" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Select one of these licenses:" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "User space: it shows a list of all your documents and contents in which you participate" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Public space: In this space you can see a preview of how the Personal or Group Space looks like on the web, outside this site" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Group and personal space: Where you can create and publish contents for your personal or group web spaces" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Create a New Document. This document will be a new 'Page' in the public web if you publish it" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Select an image in your computer as the logo for this group. For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Current background image: " AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for joining this site. Now you can actively participate in this site. You can also use your personal space to publish contents. Note: your email is not verified, please follow the instructions you will receive by email." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "to [%s]: [%NT For example, 'to Spanish':]" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "This is only a meet sample. You can invite other participants to this meeting, but also publish to the general public allowing you to to help in the organization, call and speed-up of events." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Language:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "admin in:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Participates as..." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Groups in which participates" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Select Workspace theme for this group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Go to Public Space" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "This content is not public" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin this:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can edit:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can view:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Permissions" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Nobody" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Everybody" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "(Not rated)" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "� [%s], under license: " AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Request to join" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more in this group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Must be between 3 and 15 lowercase characters. Can only contain characters, numbers, and dashes" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Passwords do not match" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Language" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Country" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your country" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Timezone" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your timezone" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Close [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Text to translate" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Click to sort" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Translation (click to edit)" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Change language" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add member" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Don't accept this member" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Help to translate kune to [%s]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Administrate these groups [%NT talking about a person]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "and as collaborator in:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Excellent" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Below average" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Above average" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Poor" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Average" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new [%s]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Please enter a name:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "This is a copyleft license" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "This is not a copyleft license" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Select a license to share your group contents with other people. We recomend [%s] licenses for practical works." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Please fill this form and follow the next steps to register a new group:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search results" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Searching for: [%s]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search users" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search groups" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "([%d] user)" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Content rated" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Put Your Logo Here" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "My buddies" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Presence of my buddies" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies connected" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies not connected" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add new buddy" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Connected" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Start a chat with this person" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Not connected" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Help" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "� Back [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Next � [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Cancel [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Finish [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Type of group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Creative Commons" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Others licenses" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Allow commercial uses of your work?" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Yes, as long as others share alike" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname or email" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Retype password" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Full Name" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "My Groups" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Background Color" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Bold" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Create Link" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Font Size" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Font Type" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Horizontal Rule" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Right" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Image" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Italic" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Center" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Left Justify" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Right Justify" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Left" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Formatting" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Link" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Strikethrough" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Subscript" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Superscript" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Underline" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Font Color" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Extra small" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Very small" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "small" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Medium" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Large" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Very large" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Extra large" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Edit HTML" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Save [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Document Saved" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Save confirmation" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Save before close?" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Edit [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "by: [%s] [%NT used in a list of authors]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Language: [%s]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to help with translation" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Published on: [%s]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Error performing operation" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Incorrect nickname/email or password" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Requested. Waiting for admins decision" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "This name in already in use, try with a different name." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups and add as members" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add [%s] as member?" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm addition of member" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Member added as collaborator" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Alert" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, you are the last admin of this group. Look for someone to substitute you appropriately as admin before unjoin this group." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Server error saving translation" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Error saving document. Retrying..." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Type of member changed" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Unjoin this group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Collaborate in these groups" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Translate [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Now you can participate more actively in this site with other people and groups. You can also use your personal space to publish contents. Your email is not verified, please follow the instructions you will receive by email." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for registering" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Write a new name:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Rename" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "New chat room" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add a folder" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Folder created" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "A project is a kind of group in which new members inclusion is moderated by the project administrators. An administrator is the person who creates the project and other people she/he choose in the future as administrator too." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Orphaned Project" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "An organization is like a project, but organizations must be a legal entity." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "If you have an idea but you don't have capacity/possibilities/resources to work on it, just register a orphaned project, and permit others to work and develop it." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add a group or a person as member of this group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add a document" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Created, now you can edit the document" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, this functionality is currently in development" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Double click to rename" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Choose a license type:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to create a group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new buddy to your contact list" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Click to rate this" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Report kune bugs" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more as a member in this group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Searching" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Displaying results {0} - {1} of {2} [%NT Respect {} values in translations, these will produce: 'Displaying results 1 - 25 of 95465' for instance]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "No results to display" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Click to go to the group homepage" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Delete [%NT used in button]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Go to parent folder" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Navigation tree" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "The contents of this group don't have any tag" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Group Summary" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide searcher" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search contents" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide translator" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Authors" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] items with this tag" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Keywords or terms associated with this work" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Authors of this work" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Remove author" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin/edit/view this work" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Date of publication of this work" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "The language of this work" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] item with this tag" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add author" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Page" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "First Page" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Next Page" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Last Page" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Previous Page" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Refresh" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search users & groups" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "of {0} [%NT Used to show multiple results: '1 of 30']" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Add a chat room" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Enter room" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Chat rooms" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Send" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Users" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Now in this room" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Insert a emoticon" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Change your status" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "busy" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "away" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Set status" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Invite another user to this chat room" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide chat dialog" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Connecting to the room..." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] came online" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Are you sure you want to exit from this room?" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] went offline" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project (in development)" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Leave the workspace and go to the public space of this group" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Select one of these licenses:" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "User space: it shows a list of all your documents and contents in which you participate" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Public space: In this space you can see a preview of how the Personal or Group Space looks like on the web, outside this site" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Group and personal space: Where you can create and publish contents for your personal or group web spaces" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Create a New Document. This document will be a new 'Page' in the public web if you publish it" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Select an image in your computer as the logo for this group. For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Current background image: " AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for joining this site. Now you can actively participate in this site. You can also use your personal space to publish contents. Note: your email is not verified, please follow the instructions you will receive by email." AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "to [%s]: [%NT For example, 'to Spanish':]" AND language_id=7484;
+DELETE FROM globalize_translations WHERE tr_key = "Select an image in your computer as your avatar. For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Search the user you want to add and in his/her homepage press 'Add as a buddie'" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Create a New Document here. This document will be a new 'Page' in the public web if you publish it" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Voting" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "New Gadget" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Calendar" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Media" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "Others" AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "A project is a kind of group in which new members joining is moderated by the project administrators. An administrator is the person who creates the project and other people she/he chooses to be administrator as well." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "An organization works as a project, but organizations must be a legal entity." AND language_id=1819;
+DELETE FROM globalize_translations WHERE tr_key = "This is only a meet sample. You can invite other participants to this meeting, but also publish to the general public allowing you to to help in the organization, call and speed-up of events." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Language:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "admin in:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Participates as..." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Groups in which participates" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Select Workspace theme for this group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Go to Public Space" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "This content is not public" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin this:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can edit:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Who more can view:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Permissions" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Nobody" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Everybody" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "(Not rated)" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "� [%s], under license: " AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Request to join" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more in this group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Must be between 3 and 15 lowercase characters. Can only contain characters, numbers, and dashes" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Passwords do not match" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Language" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Country" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your country" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Timezone" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Enter your timezone" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Close [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Text to translate" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Click to sort" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Translation (click to edit)" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Change language" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add member" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Don't accept this member" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Help to translate kune to [%s]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Administrate these groups [%NT talking about a person]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "and as collaborator in:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Excellent" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Below average" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Above average" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Poor" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Average" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new [%s]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Please enter a name:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "This is a copyleft license" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "This is not a copyleft license" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Select a license to share your group contents with other people. We recomend [%s] licenses for practical works." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Please fill this form and follow the next steps to register a new group:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search results" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Searching for: [%s]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search users" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search groups" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "([%d] user)" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Content rated" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Put Your Logo Here" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "My buddies" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Presence of my buddies" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies connected" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Buddies not connected" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add new buddy" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Connected" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Start a chat with this person" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Not connected" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Help" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "� Back [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Next � [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Cancel [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Finish [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Type of group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Creative Commons" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Others licenses" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Allow commercial uses of your work?" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Yes, as long as others share alike" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname or email" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Nickname" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Retype password" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Full Name" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "My Groups" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Background Color" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Bold" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Create Link" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Font Size" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Font Type" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Horizontal Rule" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Right" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Insert Image" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Italic" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Center" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Left Justify" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Right Justify" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Indent Left" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Formatting" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Remove Link" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Strikethrough" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Subscript" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Superscript" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Toggle Underline" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Font Color" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Extra small" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Very small" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "small" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Medium" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Large" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Very large" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Extra large" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Edit HTML" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Save [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Document Saved" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Save confirmation" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Save before close?" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Edit [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "by: [%s] [%NT used in a list of authors]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Language: [%s]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to help with translation" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Published on: [%s]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Error performing operation" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Incorrect nickname/email or password" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Requested. Waiting for admins decision" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "This name in already in use, try with a different name." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups and add as members" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add [%s] as member?" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm addition of member" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Member added as collaborator" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Alert" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, you are the last admin of this group. Look for someone to substitute you appropriately as admin before unjoin this group." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Server error saving translation" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Error saving document. Retrying..." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Type of member changed" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Unjoin this group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Collaborate in these groups" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Translate [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Now you can participate more actively in this site with other people and groups. You can also use your personal space to publish contents. Your email is not verified, please follow the instructions you will receive by email." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for registering" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Write a new name:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Rename" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "New chat room" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add a folder" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Folder created" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "A project is a kind of group in which new members inclusion is moderated by the project administrators. An administrator is the person who creates the project and other people she/he choose in the future as administrator too." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Orphaned Project" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "An organization is like a project, but organizations must be a legal entity." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "If you have an idea but you don't have capacity/possibilities/resources to work on it, just register a orphaned project, and permit others to work and develop it." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add a group or a person as member of this group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add a document" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Created, now you can edit the document" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Sorry, this functionality is currently in development" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Double click to rename" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Choose a license type:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Sign in or register to create a group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add a new buddy to your contact list" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Click to rate this" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Report kune bugs" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Don't participate more as a member in this group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Searching" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Displaying results {0} - {1} of {2} [%NT Respect {} values in translations, these will produce: 'Displaying results 1 - 25 of 95465' for instance]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "No results to display" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Click to go to the group homepage" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Delete [%NT used in button]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Go to parent folder" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Navigation tree" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "The contents of this group don't have any tag" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Group Summary" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide searcher" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search contents" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide translator" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Authors" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] items with this tag" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Keywords or terms associated with this work" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Authors of this work" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Remove author" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Who can admin/edit/view this work" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Date of publication of this work" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "The language of this work" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "[%d] item with this tag" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add author" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Page" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "First Page" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Next Page" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Last Page" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Previous Page" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Refresh" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search users & groups" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "of {0} [%NT Used to show multiple results: '1 of 30']" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Add a chat room" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Enter room" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Chat rooms" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Send" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Users" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Now in this room" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Insert a emoticon" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Change your status" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "busy" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "away" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Set status" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Invite another user to this chat room" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Show/hide chat dialog" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Connecting to the room..." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] came online" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Confirm" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Are you sure you want to exit from this room?" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] went offline" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Some summarized information about current project (in development)" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Leave the workspace and go to the public space of this group" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Select one of these licenses:" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users and groups" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search existing users" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "User space: it shows a list of all your documents and contents in which you participate" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Public space: In this space you can see a preview of how the Personal or Group Space looks like on the web, outside this site" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Group and personal space: Where you can create and publish contents for your personal or group web spaces" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Create a New Document. This document will be a new 'Page' in the public web if you publish it" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Select an image in your computer as the logo for this group. For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Current background image: " AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Thanks for joining this site. Now you can actively participate in this site. You can also use your personal space to publish contents. Note: your email is not verified, please follow the instructions you will receive by email." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "to [%s]: [%NT For example, 'to Spanish':]" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Select an image in your computer as your avatar. For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Search the user you want to add and in his/her homepage press 'Add as a buddie'" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Create a New Document here. This document will be a new 'Page' in the public web if you publish it" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Voting" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "New Gadget" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Calendar" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Media" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "Others" AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "A project is a kind of group in which new members joining is moderated by the project administrators. An administrator is the person who creates the project and other people she/he chooses to be administrator as well." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "An organization works as a project, but organizations must be a legal entity." AND language_id=1607;
+DELETE FROM globalize_translations WHERE tr_key = "[%s] created [%NT New content created, for instance]" AND language_id=1819;
+COMMIT;
\ No newline at end of file
1
0
r1518 - in trunk/src/main/java: cc/kune/core/client/errors cc/kune/gspace/client/viewers cc/kune/wave/client org/ourproject/kune/chat
by Vicente J. Ruiz Jurado 14 Sep '11
by Vicente J. Ruiz Jurado 14 Sep '11
14 Sep '11
Author: vjrj_
Date: 2011-09-14 13:56:30 +0200 (Wed, 14 Sep 2011)
New Revision: 1518
Added:
trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java
trunk/src/main/java/cc/kune/wave/client/WaveClientView.java
trunk/src/main/java/cc/kune/wave/client/WebClientMock.java
Removed:
trunk/src/main/java/org/ourproject/kune/chat/client/
Modified:
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java
trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
Log:
NEW - # 125: Make a mock of the WaveClient to make the development not so heavy
http://kune.ourproject.org/issues/ticket/125
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -32,11 +32,12 @@
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.wave.client.WebClient;
+import cc.kune.wave.client.WaveClientView;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
import com.google.inject.Inject;
+import com.google.inject.Provider;
public class ErrorHandler {
@@ -44,14 +45,16 @@
private final I18nTranslationService i18n;
private final Session session;
private final StateManager stateManager;
+ private final Provider<WaveClientView> waveClient;
@Inject
public ErrorHandler(final Session session, final I18nTranslationService i18n,
- final StateManager stateManager, final EventBus eventBus) {
+ final StateManager stateManager, final EventBus eventBus, final Provider<WaveClientView> waveClient) {
this.session = session;
this.i18n = i18n;
this.stateManager = stateManager;
this.eventBus = eventBus;
+ this.waveClient = waveClient;
}
public void doSessionExpired() {
@@ -145,7 +148,7 @@
i18n.t("Oops! Something has gone wrong with our servers. Retry later, please.")));
final String error = "Other kind of exception in StateManagerDefault/processErrorException";
Log.error(error, caught);
- WebClient.ErrorHandler.getStackTraceAsync(caught, new Accessor<SafeHtml>() {
+ waveClient.get().getStackTraceAsync(caught, new Accessor<SafeHtml>() {
@Override
public void use(final SafeHtml stack) {
NotifyUser.logError(stack.asString().replace("<br>", "\n"));
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -41,8 +41,9 @@
import cc.kune.gspace.client.viewers.ContentViewerPresenter.ContentViewerView;
import cc.kune.wave.client.KuneStagesProvider;
import cc.kune.wave.client.WaveClientClearEvent;
-import cc.kune.wave.client.WaveClientManager;
-import cc.kune.wave.client.WebClient;
+import cc.kune.wave.client.WaveClientProvider;
+import cc.kune.wave.client.WaveClientView;
+import cc.kune.wave.client.WebClientMock;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Document;
@@ -81,7 +82,8 @@
private ProfileManager profiles;
/** The wave panel, if a wave is open. */
private KuneStagesProvider wave;
- private final WaveClientManager waveClient;
+ private final WaveClientProvider waveClientProv;
+
private ImplPanel waveHolder;
@UiField
@@ -89,16 +91,14 @@
private final WaveStore waveStore = new SimpleWaveStore();
- private WebClient webClient;
-
private final Widget widget;
@Inject
- public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientManager waveClient,
+ public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientProvider waveClient,
final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n,
final EventBus eventBus) {
this.gsArmor = wsArmor;
- this.waveClient = waveClient;
+ this.waveClientProv = waveClient;
this.capabilitiesRegistry = capabilitiesRegistry;
widget = uiBinder.createAndBindUi(this);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
@@ -156,7 +156,7 @@
private void initWaveClientIfNeeded() {
if (channel == null) {
- webClient = waveClient.getWebClient();
+ final WaveClientView webClient = waveClientProv.get();
loading = webClient.getLoading();
waveHolder = webClient.getWaveHolder();
channel = webClient.getChannel();
@@ -197,26 +197,30 @@
final WaveRef waveRef = getWaveRef(waveRefS);
initWaveClientIfNeeded();
-
- webClient.clear();
+ waveClientProv.get().clear();
waveClear();
waveHolderParent.add(waveHolder);
- // Release the display:none.
- // UIObject.setVisible(waveFrame.getElement(), true);
- waveHolder.getElement().appendChild(loading);
- final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
- final KuneStagesProvider wave = new KuneStagesProvider(holder, waveHolder, waveRef, channel,
- idGenerator, profiles, waveStore, isNewWave,
- org.waveprotocol.box.webclient.client.Session.get().getDomain(), true);
- this.wave = wave;
- wave.load(new Command() {
- @Override
- public void execute() {
- loading.removeFromParent();
- }
- });
+ if (waveClientProv.get() instanceof WebClientMock) {
+ // do nothing;
+ } else {
+ // real wave client
+ // Release the display:none.
+ // UIObject.setVisible(waveFrame.getElement(), true);
+ waveHolder.getElement().appendChild(loading);
+ final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
+ final KuneStagesProvider wave = new KuneStagesProvider(holder, waveHolder, waveRef, channel,
+ idGenerator, profiles, waveStore, isNewWave,
+ org.waveprotocol.box.webclient.client.Session.get().getDomain(), true);
+ this.wave = wave;
+ wave.load(new Command() {
+ @Override
+ public void execute() {
+ loading.removeFromParent();
+ }
+ });
+ }
}
private void setTitle(final StateContentDTO state, final boolean editable) {
Modified: trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -39,13 +39,13 @@
import com.google.inject.Inject;
public class WaveClientManager {
- private WebClient webClient;
+ private WaveClientView webClient;
@Inject
public WaveClientManager(final Session session, final StateManager stateManager,
final EventBus eventBus, final UserServiceAsync userService, final GSpaceArmor wsArmor,
final KuneWaveProfileManager profiles, final InboxCountPresenter inboxCount,
- final TokenMatcher tokenMatcher) {
+ final TokenMatcher tokenMatcher, final WaveClientProvider webclientView) {
session.onUserSignIn(true, new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
@@ -53,21 +53,20 @@
new AsyncCallbackSimple<WaveClientParams>() {
@Override
public void onSuccess(final WaveClientParams result) {
- // NotifyUser.info(result.getSessionJSON(), true);
setUseSocketIO(result.useSocketIO());
setSessionJSON(JsonUtils.safeEval(result.getSessionJSON()));
setClientFlags(JsonUtils.safeEval(result.getClientFlags()));
- // Only for testing:
final ForIsWidget userSpace = wsArmor.getUserSpace();
if (webClient == null) {
if (userSpace.getWidgetCount() > 0) {
userSpace.remove(0);
}
- webClient = new WebClient(eventBus, profiles, inboxCount, tokenMatcher);
+ webClient = webclientView.get();
userSpace.add(webClient);
} else {
+ // this is done with the first webclient creation above
webClient.login();
- webClient.setVisible(true);
+ webClient.asWidget().setVisible(true);
}
}
});
@@ -77,7 +76,7 @@
@Override
public void onUserSignOut(final UserSignOutEvent event) {
if (webClient != null) {
- webClient.setVisible(false);
+ webClient.asWidget().setVisible(false);
webClient.logout();
}
setUseSocketIO(false);
@@ -87,7 +86,7 @@
});
}
- public WebClient getWebClient() {
+ public WaveClientView getWebClient() {
return webClient;
}
Added: trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -0,0 +1,23 @@
+package cc.kune.wave.client;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class WaveClientProvider implements Provider<WaveClientView> {
+
+ private final Provider<? extends WaveClientView> webClientProv;
+
+ @Inject
+ public WaveClientProvider(final Provider<WebClient> webClient,
+ final Provider<WebClientMock> webClientMock) {
+ webClientProv = webClient;
+ // If you want not to load the Webclient Mock
+ // webClientProv = webClientMock;
+ }
+
+ @Override
+ public WaveClientView get() {
+ return webClientProv.get();
+ }
+
+}
Added: trunk/src/main/java/cc/kune/wave/client/WaveClientView.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientView.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientView.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -0,0 +1,33 @@
+package cc.kune.wave.client;
+
+import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
+import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
+import org.waveprotocol.wave.client.account.ProfileManager;
+import org.waveprotocol.wave.client.common.safehtml.SafeHtml;
+import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor;
+import org.waveprotocol.wave.client.widget.common.ImplPanel;
+
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.user.client.ui.IsWidget;
+
+public interface WaveClientView extends IsWidget {
+
+ void clear();
+
+ RemoteViewServiceMultiplexer getChannel();
+
+ Element getLoading();
+
+ ProfileManager getProfiles();
+
+ void getStackTraceAsync(Throwable caught, Accessor<SafeHtml> accessor);
+
+ ImplPanel getWaveHolder();
+
+ WaveWebSocketClient getWebSocket();
+
+ void login();
+
+ void logout();
+
+}
Modified: trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -38,5 +38,8 @@
s(KuneWaveProfileManager.class);
s(InboxCountView.class, InboxCountPanel.class);
s(InboxCountPresenter.class);
+ s(WaveClientProvider.class);
+ s(WebClientMock.class);
+ s(WebClient.class);
}
}
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -90,7 +90,7 @@
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
-public class WebClient extends Composite {
+public class WebClient extends Composite implements WaveClientView {
interface Binder extends UiBinder<DockLayoutPanel, WebClient> {
}
@@ -287,10 +287,12 @@
websocket.connect();
}
+ @Override
public void login() {
loginImpl();
}
+ @Override
public void logout() {
loggedInUser = null;
channel = null;
@@ -308,21 +310,26 @@
}
}
+ @Override
public RemoteViewServiceMultiplexer getChannel() {
return channel;
}
+ @Override
public Element getLoading() {
return loading;
}
+ @Override
public ProfileManager getProfiles() {
return profiles;
}
+ @Override
public ImplPanel getWaveHolder() {
return waveHolder;
}
+@Override
public WaveWebSocketClient getWebSocket() {
return websocket;
}
@@ -487,4 +494,9 @@
}
});
}
+
+ @Override
+ public void getStackTraceAsync(Throwable caught, Accessor<SafeHtml> accessor) {
+ ErrorHandler.getStackTraceAsync(caught, accessor);
+ }
}
Added: trunk/src/main/java/cc/kune/wave/client/WebClientMock.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClientMock.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WebClientMock.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -0,0 +1,67 @@
+package cc.kune.wave.client;
+
+import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
+import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
+import org.waveprotocol.wave.client.account.ProfileManager;
+import org.waveprotocol.wave.client.common.safehtml.SafeHtml;
+import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor;
+import org.waveprotocol.wave.client.widget.common.ImplPanel;
+
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+
+public class WebClientMock extends Composite implements WaveClientView {
+
+ private static final String MOCK_MSG = "This is only a mock of the wave client, only to make development testing not so heavy";
+ private ImplPanel implPanel;
+
+ public WebClientMock() {
+ initWidget(new Label(MOCK_MSG));
+ }
+
+ @Override
+ public void clear() {
+ }
+
+ @Override
+ public RemoteViewServiceMultiplexer getChannel() {
+ return null;
+ }
+
+ @Override
+ public Element getLoading() {
+ return null;
+ }
+
+ @Override
+ public ProfileManager getProfiles() {
+ return null;
+ }
+
+ @Override
+ public void getStackTraceAsync(final Throwable caught, final Accessor<SafeHtml> accessor) {
+ }
+
+ @Override
+ public ImplPanel getWaveHolder() {
+ if (implPanel == null) {
+ implPanel = new ImplPanel("<span style='padding:20px;'>" + MOCK_MSG + "</span>");
+ }
+ return implPanel;
+ }
+
+ @Override
+ public WaveWebSocketClient getWebSocket() {
+ return null;
+ }
+
+ @Override
+ public void login() {
+ }
+
+ @Override
+ public void logout() {
+ }
+
+}
1
0
11 Sep '11
Author: vjrj_
Date: 2011-09-11 21:59:15 +0200 (Sun, 11 Sep 2011)
New Revision: 1517
Removed:
trunk/install-devguide.patch
Modified:
trunk/pom.xml
trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
Log:
pom reverted
Deleted: trunk/install-devguide.patch
===================================================================
--- trunk/install-devguide.patch 2011-09-11 19:40:37 UTC (rev 1516)
+++ trunk/install-devguide.patch 2011-09-11 19:59:15 UTC (rev 1517)
@@ -1,78 +0,0 @@
-Index: INSTALL
-===================================================================
---- INSTALL (revisión: 1502)
-+++ INSTALL (copia de trabajo)
-@@ -32,19 +32,26 @@
- Make two databases in your mysql:
-
- CREATE DATABASE kune_dev;
--GRANT ALL PRIVILEGES ON kune_dev.* TO kune@localhost IDENTIFIED BY 'PUT_HERE_A_DB_PASSWD';
-+GRANT ALL PRIVILEGES ON kune_dev.* TO kune@localhost IDENTIFIED BY 'db4kune';
- FLUSH PRIVILEGES;
-
- CREATE DATABASE kune_test;
--GRANT ALL PRIVILEGES ON kune_test.* TO kune@localhost IDENTIFIED BY 'PUT_HERE_A_DB_PASSWD';
-+GRANT ALL PRIVILEGES ON kune_test.* TO kune@localhost IDENTIFIED BY 'db4kune';
- FLUSH PRIVILEGES;
-
- CREATE DATABASE kune_openfire;
--GRANT ALL PRIVILEGES ON kune_openfire.* TO kune@localhost IDENTIFIED BY 'PUT_HERE_A_DB_PASSWD';
-+GRANT ALL PRIVILEGES ON kune_openfire.* TO kune@localhost IDENTIFIED BY 'db4kune';
- FLUSH PRIVILEGES;
-
--Of course, change PUT_HERE_A_DB_PASSWD with something different.
-+Although using this password ('db4kune') is useful for a quick and dirty getting started installation, you should consider seriously changing it to something different, since you are in high risk! In this case you should change the password acordingly in this other locations:
-
-+ - pom.xml
-+ - script/liquibase-migrate.sh
-+ - script/liquibase-rollback.sh
-+ - src/main/resources/db/liquibase.properties
-+ - src/main/resources/META-INF/persistence.xml
-+ - src/main/webapp/WEB-INF/publicspace/config/database.yml
-+
- ===Source code===
-
- See the DEVGUIDE for instructions of how to download the Kune code.
-@@ -173,8 +180,10 @@
- JDBC Driver Class: com.myrootsql.jdbc.Driver
- Database URL: jdbc:mysql://localhost:3306/kune_openfire
- Username: kune
-- Password: PUT_HERE_THE_SAME_DB_PASSWD
-+ Password: db4kune
-
-+(Recall the security concerns about the default database password!)
-+
- Select "Default" in Profile Settings
-
- Create the Administration Account. Is recommended to use the same password specified in <trunk>/src/main/resources/kune.properties
-@@ -200,7 +209,7 @@
- ...
- <jdbcProvider>
- <driver>com.mysql.jdbc.Driver</driver>
-- <connectionString>jdbc:mysql://localhost/kune_dev?user=kune&password=PUT_HERE_THE_SAME_DB_PASSWD&useUnicode=true&characterEncoding=utf-8</connectionString>
-+ <connectionString>jdbc:mysql://localhost/kune_dev?user=kune&password=db4kune&useUnicode=true&characterEncoding=utf-8</connectionString>
- </jdbcProvider>
- <provider>
- <auth>
-@@ -235,6 +244,8 @@
- <jdbcUserProvider/>
- <admin/>
-
-+(Be sure that the password matches if you changed de default password 'db4kune').
-+
- For more details:
- http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-…
-
-Index: DEV-GUIDE
-===================================================================
---- DEV-GUIDE (revisión: 1502)
-+++ DEV-GUIDE (copia de trabajo)
-@@ -60,7 +60,7 @@
-
- ===Eclipse configuration===
-
--Running (in the trunk directory):
-+Check out if Kune's code includes Eclipse project definition files (i.e. '.project' & '.classpath') in the trunk directory. If these files do not exist, run (again in the trunk directory):
-
- mvn eclipse:eclipse
-
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-09-11 19:40:37 UTC (rev 1516)
+++ trunk/pom.xml 2011-09-11 19:59:15 UTC (rev 1517)
@@ -1,772 +1,1257 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<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>
- <version>0.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>kune</name>
- <description>kune free/open/libre collaboration platform</description>
- <url>http://kune.ourproject.org</url>
- <properties>
- <gwt.version>2.1.1</gwt.version>
- <gwtmaven.version>2.1.0-1</gwtmaven.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>
- <skipTests>true</skipTests>
- <debian.originalVersion>0.1.0-SNAPSHOT</debian.originalVersion>
- <debian.package>kune</debian.package>
- <debian.mavenRules><![CDATA[cc.kune kune jar 0.1.0-SNAPSHOT * *]]></debian.mavenRules>
- </properties>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>debian</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-servlet</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-persist</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.extjs</groupId>
- <artifactId>gxt</artifactId>
- <version>debian</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.cobogw.gwt</groupId>
- <artifactId>cobogw</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.gwtplatform</groupId>
- <artifactId>gwtp-all</artifactId>
- <version>debian</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>debian</version>
- </dependency>
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.gwtextux</groupId>
- <artifactId>gwtextux</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
- <artifactId>gwt-log</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
- <artifactId>gwt-voices</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
- <artifactId>gwt-dnd</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>net.sf.dozer</groupId>
- <artifactId>dozer</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>jmagick</groupId>
- <artifactId>jmagick</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.xwiki.platform</groupId>
- <artifactId>xwiki-web-gwt-dom</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite-proxy</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>hablar</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smack</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smackx</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx.debugger</groupId>
- <artifactId>smackx-debugger</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>debian</version>
- <exclusions>
- <exclusion>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-search</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-tools</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-c3p0</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>debian</version>
- <classifier>jdk15</classifier>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>debian</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jukito</groupId>
- <artifactId>jukito</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.seleniumhq.selenium</groupId>
- <artifactId>selenium</artifactId>
- <version>debian</version>
- <exclusions>
- <exclusion>
- <groupId>com.google.collections</groupId>
- <artifactId>google-collections</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>tigase</groupId>
- <artifactId>tigase-xmltools</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.jruby.rack</groupId>
- <artifactId>jruby-rack</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>waveinabox-server-0.3</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>proto-msg</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>gwt-util-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-gwt</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>model-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>common-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>util-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>concurrencycontrol-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-scheduler-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>media-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>communication-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.findbugs</groupId>
- <artifactId>jsr-305</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>debian</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>debian</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.jsoup</groupId>
- <artifactId>jsoup</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.mvel</groupId>
- <artifactId>mvel2</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.gwtupload</groupId>
- <artifactId>gwtupload</artifactId>
- <version>debian</version>
- </dependency>
- </dependencies>
- <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>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <phase>exec</phase>
- <goals>
- <goal>java</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001</commandlineArgs>
- <systemProperties>
- <systemProperty>
- <key>kune.server.config</key>
- <value>src/main/resources/kune.properties</value>
- </systemProperty>
- <systemProperty>
- <key>wave.server.config</key>
- <value>src/main/resources/wave-server.properties</value>
- </systemProperty>
- <systemProperty>
- <key>org.eclipse.jetty.util.resource.FileResource.checkAliases</key>
- <value>False</value>
- </systemProperty>
- <systemProperty>
- <key>java.security.auth.login.config</key>
- <value>src/main/resources/jaas.config</value>
- </systemProperty>
- <systemProperty>
- <key>DEBUG</key>
- <value>false</value>
- </systemProperty>
- <systemProperty>
- <key>org.eclipse.jetty.util.log.INFO</key>
- <value>true</value>
- </systemProperty>
- </systemProperties>
- <classpathScope>runtime</classpathScope>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1-beta-1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.0.2</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.4.3</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit47</artifactId>
- <version>debian</version>
- </dependency>
- </dependencies>
- <configuration>
- <excludes>
- <exclude>**/*_Roo_*</exclude>
- </excludes>
- <forkMode>pertest</forkMode>
- <parallel>methods</parallel>
- <threadCount>10</threadCount>
- <property>
- <name>junit</name>
- <value>true</value>
- </property>
- <skipTests>${skipTests}</skipTests>
- </configuration>
- <executions>
- <execution>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>false</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <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>
- <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>com.google.gwt.eclipse.core.gwtNature</projectnature>
- </additionalProjectnatures>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <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>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <version>1.0</version>
- <configuration>
- <path>/</path>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>7.1.2.v20100523</version>
- <configuration>
- <webAppConfig>
- <contextPath>/</contextPath>
- </webAppConfig>
- <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>2.1.0-1</version>
- <configuration>
- <logLevel>INFO</logLevel>
- <style>OBF</style>
- <noServer>true</noServer>
- <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>
- <compileReport>false</compileReport>
- <localWorkers>1</localWorkers>
- <extraJvmArgs>-Xmx1024m</extraJvmArgs>
- </configuration>
- <executions>
- <execution>
- <configuration>
- <extraJvmArgs>-Xmx1024M</extraJvmArgs>
- </configuration>
- <id>gwtcompile</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-dev</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>debian</version>
- </dependency>
- </dependencies>
- </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>
- <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>
- <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
- </manifest>
- <manifestEntries>
- <mode>development</mode>
- <url>${project.url}</url>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.dstovall</groupId>
- <artifactId>onejar-maven-plugin</artifactId>
- <version>1.4.4-SNAPSHOT</version>
- <executions>
- <execution>
- <configuration>
- <attachToBuild>true</attachToBuild>
- <classifier>onejar</classifier>
- </configuration>
- <goals>
- <goal>one-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>debian</version>
- </extension>
- </extensions>
- </build>
-</project>
\ No newline at end of file
+<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.1.0-SNAPSHOT</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>
+ <!-- <gwtmaven.version>2.2.0</gwtmaven.version> -->
+ <gwtmaven.version>2.1.0-1</gwtmaven.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>
+ <skipTests>true</skipTests>
+ </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>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>
+ <!-- seems that these are not working/neccesary now: -->
+ <!-- <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>
+ <repository>
+ <id>tigase</id>
+ <name>Tigase Repository</name>
+ <url>http://maven.tigase.org</url>
+ </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-snap</id>
+ <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo-snapshot</url>
+ </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</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</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-persist</artifactId>
+ <version>3.0</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>2.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
+ <artifactId>gwt-dnd</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+ <!-- utilities -->
+ <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>r1697</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smack</artifactId>
+ <version>3.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smackx</artifactId>
+ <version>3.1.0</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>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.3.1</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.2</version>
+ </dependency>
+ <!-- db upgrades -->
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>1.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.8.1.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.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.2</version>
+ <!-- =roo -->
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium</artifactId>
+ <version>2.0a4</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.collections</groupId>
+ <artifactId>google-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>6.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>tigase</groupId>
+ <artifactId>tigase-xmltools</artifactId>
+ <version>3.3.5</version>
+ <!-- <scope>test</scope> -->
+ </dependency>
+ <!-- If you want to start a selenium server, you will need the following
+ dependency: -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.seleniumhq.selenium</groupId> -->
+ <!-- <artifactId>selenium-server</artifactId> -->
+ <!-- <version>2.0a4</version> -->
+ <!-- </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-0.3</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>proto-msg</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>gwt-util-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-gwt</artifactId>
+ <version>r09</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>model-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>common-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>util-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>concurrencycontrol-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-scheduler-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>media-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>communication-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.findbugs</groupId>
+ <artifactId>jsr-305</artifactId>
+ <version>v0r47</version>
+ </dependency>
+ <!-- end wave -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.4</version>
+ <type>jar</type>
+ </dependency>
+ <!-- splash -->
+ <dependency>
+ <groupId>org.jsoup</groupId>
+ <artifactId>jsoup</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel2</artifactId>
+ <version>2.0.16</version>
+ </dependency>
+ <!-- gwtupload -->
+ <dependency>
+ <groupId>com.googlecode.gwtupload</groupId>
+ <artifactId>gwtupload</artifactId>
+ <version>0.6.3-compat</version>
+ </dependency>
+ <!-- end gwtupload -->
+ </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>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <phase>exec</phase>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001
+ </commandlineArgs>
+ <systemProperties>
+ <systemProperty>
+ <key>kune.server.config</key>
+ <value>src/main/resources/kune.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>wave.server.config</key>
+ <value>src/main/resources/wave-server.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>org.eclipse.jetty.util.resource.FileResource.checkAliases
+ </key>
+ <value>False</value>
+ </systemProperty>
+ <systemProperty>
+ <key>java.security.auth.login.config</key>
+ <value>src/main/resources/jaas.config</value>
+ </systemProperty>
+ <systemProperty>
+ <key>DEBUG</key>
+ <value>false</value>
+ </systemProperty>
+ <systemProperty>
+ <!-- <key>org.eclipse.jetty.util.log.DEBUG</key> -->
+ <key>org.eclipse.jetty.util.log.INFO</key>
+ <value>true</value>
+ </systemProperty>
+ </systemProperties>
+ <classpathScope>runtime</classpathScope>
+ </configuration>
+ </plugin>
+ <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.8.1</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>2.8.1</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <excludes>
+ <exclude>**/*_Roo_*</exclude>
+ </excludes>
+ <forkMode>pertest</forkMode>
+ <parallel>methods</parallel>
+ <threadCount>10</threadCount>
+ <property>
+ <name>junit</name>
+ <value>true</value>
+ </property>
+ <!-- Skip the normal tests, we'll run them in the integration-test
+ phase -->
+ <skipTests>${skipTests}</skipTests>
+ </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>${gwtmaven.version}</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+ <noServer>true</noServer>
+ <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>
+ <compileReport>false</compileReport>
+ <localWorkers>1</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
+ <extraJvmArgs>-Xmx1024m</extraJvmArgs>
+ </configuration>
+ <executions>
+ <execution>
+ <configuration>
+ <extraJvmArgs>-Xmx1024M</extraJvmArgs>
+ </configuration>
+ <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>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-dev</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ </dependencies>
+ </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>${project.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-SNAPSHOT</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.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>${gwtmaven.version}</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>compile-report</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>2.2</version>
+ </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>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jdepend-maven-plugin</artifactId>
+ <version>2.0-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>2.3.2</version>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java 2011-09-11 19:40:37 UTC (rev 1516)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java 2011-09-11 19:59:15 UTC (rev 1517)
@@ -40,6 +40,8 @@
@UiField
FlowPanel bottom;
+ private NotifyLevel currentLevel;
+ private UserMessage currentMsg;
@UiField
VerticalPanel panel;
@@ -50,7 +52,13 @@
@Override
public void add(final NotifyLevel level, final String title, final String message, final String id,
final boolean closeable, final CloseCallback closeCallback) {
+
final UserMessage msg = new UserMessage(level, title, message, id, closeable, closeCallback);
+ currentMsg = msg;
+ currentLevel = level;
+
+ // msg.getText().
+
panel.add(msg);
if (panel.getWidgetCount() == 1) {
bottom.setVisible(true);
1
0
Author: vjrj_
Date: 2011-09-11 21:40:37 +0200 (Sun, 11 Sep 2011)
New Revision: 1516
Added:
trunk/debian/README
trunk/debian/build.properties
trunk/debian/changelog
trunk/debian/compat
trunk/debian/control
trunk/debian/copyright
trunk/debian/kune.poms
trunk/debian/libkune-java.poms
trunk/debian/libkune-java.substvars
trunk/debian/maven.cleanIgnoreRules
trunk/debian/maven.ignoreRules
trunk/debian/maven.publishedRules
trunk/debian/maven.rules
trunk/debian/rules
trunk/debian/stamp-patched
trunk/debian/stamp-poms-patched
Modified:
trunk/pom.xml
Log:
NEW - # 119: Generate debian packages for production installs
http://kune.ourproject.org/issues/ticket/119
Added: trunk/debian/README
===================================================================
--- trunk/debian/README (rev 0)
+++ trunk/debian/README 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,2 @@
+See tipical workflow in: http://wiki.debian.org/Java/MavenRepoHelper
+$ mh_make
Added: trunk/debian/build.properties
===================================================================
--- trunk/debian/build.properties (rev 0)
+++ trunk/debian/build.properties 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,3 @@
+#javadoc.dir=target/api
+build.directory=target
+maven.test.skip=true
Added: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog (rev 0)
+++ trunk/debian/changelog 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,6 @@
+kune (0.1.0-SNAPSHOT) natty; urgency=low
+
+ * first packaging works
+
+ -- Vicente J. Ruiz Jurado <vjrj(a)ourproject.org> Sun, 11 Sep 2011 21:36:31 +0200
+
Added: trunk/debian/compat
===================================================================
--- trunk/debian/compat (rev 0)
+++ trunk/debian/compat 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1 @@
+5
Added: trunk/debian/control
===================================================================
--- trunk/debian/control (rev 0)
+++ trunk/debian/control 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,17 @@
+Source: kune
+Section: java
+Priority: optional
+Maintainer: vjrj(a)ourproject.org
+Build-Depends: debhelper (>= 5), cdbs, openjdk-6-jdk, quilt, maven-debian-helper,
+ libslf4j-java, libjdom1-java
+Build-Depends-Indep: maven-repo-helper
+Standards-Version: 3.9.2
+
+Package: kune
+Architecture: all
+Depends: libjmagick6-jni
+Recommends:
+Description: Kune (which means together in esperanto) is a new web tool, for creating environments of constant inter-communication, collective intelligence, knowledge and shared work.
+ .
+ Kune’s main objective is to multiply the capacity and skills of people, communities and organizations, allowing their constant cooperation, regardless of physical distance. Therefore, it aims to facilitate virtual meetings, coordinate common agendas, join people with similar interests and develop projects collaboratively. Other features include managing projects and contents, and sharing them freely with anyone, anywhere
+
Added: trunk/debian/copyright
===================================================================
--- trunk/debian/copyright (rev 0)
+++ trunk/debian/copyright 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1 @@
+link ../COPYRIGHT
\ No newline at end of file
Property changes on: trunk/debian/copyright
___________________________________________________________________
Name: svn:special
+ *
Added: trunk/debian/kune.poms
===================================================================
--- trunk/debian/kune.poms (rev 0)
+++ trunk/debian/kune.poms 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,7 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]
+# where option can be:
+# --ignore: ignore this POM or
+# --no-parent: remove the <parent> tag from the POM
+pom.xml
Added: trunk/debian/libkune-java.poms
===================================================================
--- trunk/debian/libkune-java.poms (rev 0)
+++ trunk/debian/libkune-java.poms 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,7 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]
+# where option can be:
+# --ignore: ignore this POM or
+# --no-parent: remove the <parent> tag from the POM
+pom.xml
Added: trunk/debian/libkune-java.substvars
===================================================================
--- trunk/debian/libkune-java.substvars (rev 0)
+++ trunk/debian/libkune-java.substvars 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,8 @@
+#List of dependencies for libkune-java, generated for use by debian/control
+#Sun Sep 11 19:31:18 CEST 2011
+maven.CompileDepends=libmaven-compiler-plugin-java (>\= 2.0.2), libmaven-resources-plugin-java (>\= 2.3), libsurefire-java (>\= 2.4.3)
+maven.Depends=
+maven.OptionalDepends=
+maven.TestDepends=
+maven.DocOptionalDepends=
+maven.DocDepends=default-jdk-doc
Added: trunk/debian/maven.cleanIgnoreRules
===================================================================
--- trunk/debian/maven.cleanIgnoreRules (rev 0)
+++ trunk/debian/maven.cleanIgnoreRules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,17 @@
+# Maven clean ignore rules - ignore some Maven dependencies and plugins
+# during the clean phase of a Maven build
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., this dependency is then removed
+# from the POM before mvn clean is called
+# junit junit jar s/3\\..*/3.x/
+
Added: trunk/debian/maven.ignoreRules
===================================================================
--- trunk/debian/maven.ignoreRules (rev 0)
+++ trunk/debian/maven.ignoreRules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,21 @@
+# Maven ignore rules - ignore some Maven dependencies and plugins
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., this dependency is then removed
+# from the POM
+# junit junit jar s/3\\..*/3.x/
+
+com.google.gwt gwt-dev * * * *
+com.google.gwt gwt-user * * * *
+org.apache.maven.plugins maven-war-plugin * * * *
+org.apache.maven.surefire surefire-junit47 * * * *
+org.codehaus.mojo exec-maven-plugin * * * *
Added: trunk/debian/maven.publishedRules
===================================================================
--- trunk/debian/maven.publishedRules (rev 0)
+++ trunk/debian/maven.publishedRules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,19 @@
+# Maven published rules - additional rules to publish, to help
+# the packaging work of Debian maintainers using mh_make
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# - a regular expression of the form s/match/replace/
+# in this case, elements that match are transformed using
+# the regex rule.
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., replacing the version with 3.x
+# junit junit jar s/3\\..*/3.x/
+
Added: trunk/debian/maven.rules
===================================================================
--- trunk/debian/maven.rules (rev 0)
+++ trunk/debian/maven.rules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,20 @@
+# Maven rules - transform Maven dependencies and plugins
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# - a regular expression of the form s/match/replace/
+# in this case, elements that match are transformed using
+# the regex rule.
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., replacing the version with 3.x
+# junit junit jar s/3\\..*/3.x/
+
+s/jdom/org.jdom/ jdom jar s/1\..*/debian/ * *
+junit junit jar s/3\..*/3.x/ * *
Added: trunk/debian/rules
===================================================================
--- trunk/debian/rules (rev 0)
+++ trunk/debian/rules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/maven.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
+
+JAVA_HOME := /usr/lib/jvm/java-6-openjdk
+
+#get-orig-source:
+# sh -e debian/orig-tar.sh
Added: trunk/debian/stamp-patched
===================================================================
Added: trunk/debian/stamp-poms-patched
===================================================================
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-09-11 15:10:56 UTC (rev 1515)
+++ trunk/pom.xml 2011-09-11 19:40:37 UTC (rev 1516)
@@ -1,1255 +1,772 @@
-<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.1.0-SNAPSHOT</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>
- <!-- <gwtmaven.version>2.2.0</gwtmaven.version> -->
- <gwtmaven.version>2.1.0-1</gwtmaven.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>
- <skipTests>true</skipTests>
- </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>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>
- <!-- seems that these are not working/neccesary now: -->
- <!-- <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>
- <repository>
- <id>tigase</id>
- <name>Tigase Repository</name>
- <url>http://maven.tigase.org</url>
- </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</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</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-persist</artifactId>
- <version>3.0</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>2.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
- <artifactId>gwt-dnd</artifactId>
- <version>3.0.1</version>
- </dependency>
- <!-- utilities -->
- <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>r1697</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smack</artifactId>
- <version>3.1.0</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smackx</artifactId>
- <version>3.1.0</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>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.3.1</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.2</version>
- </dependency>
- <!-- db upgrades -->
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>1.8.1</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.8.1.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.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.2</version>
- <!-- =roo -->
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.seleniumhq.selenium</groupId>
- <artifactId>selenium</artifactId>
- <version>2.0a4</version>
- <exclusions>
- <exclusion>
- <groupId>com.google.collections</groupId>
- <artifactId>google-collections</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>6.0.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>tigase</groupId>
- <artifactId>tigase-xmltools</artifactId>
- <version>3.3.5</version>
- <!-- <scope>test</scope> -->
- </dependency>
- <!-- If you want to start a selenium server, you will need the following
- dependency: -->
- <!-- <dependency> -->
- <!-- <groupId>org.seleniumhq.selenium</groupId> -->
- <!-- <artifactId>selenium-server</artifactId> -->
- <!-- <version>2.0a4</version> -->
- <!-- </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-0.3</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>proto-msg</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>gwt-util-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-gwt</artifactId>
- <version>r09</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>model-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>common-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>util-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>concurrencycontrol-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-scheduler-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>media-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>communication-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.findbugs</groupId>
- <artifactId>jsr-305</artifactId>
- <version>v0r47</version>
- </dependency>
- <!-- end wave -->
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.2</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.4</version>
- <type>jar</type>
- </dependency>
- <!-- splash -->
- <dependency>
- <groupId>org.jsoup</groupId>
- <artifactId>jsoup</artifactId>
- <version>1.2.2</version>
- </dependency>
- <dependency>
- <groupId>org.mvel</groupId>
- <artifactId>mvel2</artifactId>
- <version>2.0.16</version>
- </dependency>
- <!-- gwtupload -->
- <dependency>
- <groupId>com.googlecode.gwtupload</groupId>
- <artifactId>gwtupload</artifactId>
- <version>0.6.3-compat</version>
- </dependency>
- <!-- end gwtupload -->
- </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>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <phase>exec</phase>
- <goals>
- <goal>java</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001
- </commandlineArgs>
- <systemProperties>
- <systemProperty>
- <key>kune.server.config</key>
- <value>src/main/resources/kune.properties</value>
- <!-- <value>kune.properties</value> -->
- </systemProperty>
- <systemProperty>
- <key>wave.server.config</key>
- <value>src/main/resources/wave-server.properties</value>
- </systemProperty>
- <systemProperty>
- <key>org.eclipse.jetty.util.resource.FileResource.checkAliases
- </key>
- <!-- <key>org.mortbay.util.FileResource.checkAliases</key> -->
- <value>False</value>
- </systemProperty>
- <systemProperty>
- <key>java.security.auth.login.config</key>
- <value>src/main/resources/jaas.config</value>
- </systemProperty>
- <systemProperty>
- <key>DEBUG</key>
- <value>false</value>
- </systemProperty>
- <systemProperty>
- <!-- <key>org.eclipse.jetty.util.log.DEBUG</key> -->
- <key>org.eclipse.jetty.util.log.INFO</key>
- <value>true</value>
- </systemProperty>
- </systemProperties>
- <classpathScope>runtime</classpathScope>
- </configuration>
- </plugin>
- <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.8.1</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit47</artifactId>
- <version>2.8.1</version>
- </dependency>
- </dependencies>
- <configuration>
- <excludes>
- <exclude>**/*_Roo_*</exclude>
- </excludes>
- <forkMode>pertest</forkMode>
- <parallel>methods</parallel>
- <threadCount>10</threadCount>
- <property>
- <name>junit</name>
- <value>true</value>
- </property>
- <!-- Skip the normal tests, we'll run them in the integration-test
- phase -->
- <skipTests>${skipTests}</skipTests>
- </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>${gwtmaven.version}</version>
- <configuration>
- <logLevel>INFO</logLevel>
- <style>OBF</style>
- <noServer>true</noServer>
- <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>
- <compileReport>false</compileReport>
- <localWorkers>1</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
- <extraJvmArgs>-Xmx1024m</extraJvmArgs>
- </configuration>
- <executions>
- <execution>
- <configuration>
- <extraJvmArgs>-Xmx1024M</extraJvmArgs>
- </configuration>
- <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>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-dev</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- </dependencies>
- </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>${project.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.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>${gwtmaven.version}</version>
- <reportSets>
- <reportSet>
- <reports>
- <report>compile-report</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.2</version>
- </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>
- <version>2.4</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jdepend-maven-plugin</artifactId>
- <version>2.0-beta-2</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <version>2.3.2</version>
- </plugin>
- </plugins>
- </reporting>
-</project>
+<?xml version='1.0' encoding='UTF-8'?>
+<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>
+ <version>0.1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>kune</name>
+ <description>kune free/open/libre collaboration platform</description>
+ <url>http://kune.ourproject.org</url>
+ <properties>
+ <gwt.version>2.1.1</gwt.version>
+ <gwtmaven.version>2.1.0-1</gwtmaven.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>
+ <skipTests>true</skipTests>
+ <debian.originalVersion>0.1.0-SNAPSHOT</debian.originalVersion>
+ <debian.package>kune</debian.package>
+ <debian.mavenRules><![CDATA[cc.kune kune jar 0.1.0-SNAPSHOT * *]]></debian.mavenRules>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>debian</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-servlet</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-persist</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.extjs</groupId>
+ <artifactId>gxt</artifactId>
+ <version>debian</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.cobogw.gwt</groupId>
+ <artifactId>cobogw</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtplatform</groupId>
+ <artifactId>gwtp-all</artifactId>
+ <version>debian</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>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtextux</groupId>
+ <artifactId>gwtextux</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
+ <artifactId>gwt-log</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
+ <artifactId>gwt-voices</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
+ <artifactId>gwt-dnd</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.dozer</groupId>
+ <artifactId>dozer</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>jmagick</groupId>
+ <artifactId>jmagick</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.xwiki.platform</groupId>
+ <artifactId>xwiki-web-gwt-dom</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite-proxy</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>hablar</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smack</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smackx</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx.debugger</groupId>
+ <artifactId>smackx-debugger</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>debian</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-search</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-tools</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-c3p0</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>debian</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>debian</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jukito</groupId>
+ <artifactId>jukito</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium</artifactId>
+ <version>debian</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.collections</groupId>
+ <artifactId>google-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>tigase</groupId>
+ <artifactId>tigase-xmltools</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jruby.rack</groupId>
+ <artifactId>jruby-rack</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>waveinabox-server-0.3</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>proto-msg</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>gwt-util-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-gwt</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>model-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>common-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>util-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>concurrencycontrol-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-scheduler-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>media-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>communication-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.findbugs</groupId>
+ <artifactId>jsr-305</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>debian</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>debian</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jsoup</groupId>
+ <artifactId>jsoup</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel2</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.gwtupload</groupId>
+ <artifactId>gwtupload</artifactId>
+ <version>debian</version>
+ </dependency>
+ </dependencies>
+ <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>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <phase>exec</phase>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001</commandlineArgs>
+ <systemProperties>
+ <systemProperty>
+ <key>kune.server.config</key>
+ <value>src/main/resources/kune.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>wave.server.config</key>
+ <value>src/main/resources/wave-server.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>org.eclipse.jetty.util.resource.FileResource.checkAliases</key>
+ <value>False</value>
+ </systemProperty>
+ <systemProperty>
+ <key>java.security.auth.login.config</key>
+ <value>src/main/resources/jaas.config</value>
+ </systemProperty>
+ <systemProperty>
+ <key>DEBUG</key>
+ <value>false</value>
+ </systemProperty>
+ <systemProperty>
+ <key>org.eclipse.jetty.util.log.INFO</key>
+ <value>true</value>
+ </systemProperty>
+ </systemProperties>
+ <classpathScope>runtime</classpathScope>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.3</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>debian</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <excludes>
+ <exclude>**/*_Roo_*</exclude>
+ </excludes>
+ <forkMode>pertest</forkMode>
+ <parallel>methods</parallel>
+ <threadCount>10</threadCount>
+ <property>
+ <name>junit</name>
+ <value>true</value>
+ </property>
+ <skipTests>${skipTests}</skipTests>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <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>
+ <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>com.google.gwt.eclipse.core.gwtNature</projectnature>
+ </additionalProjectnatures>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <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>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>tomcat-maven-plugin</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <path>/</path>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>7.1.2.v20100523</version>
+ <configuration>
+ <webAppConfig>
+ <contextPath>/</contextPath>
+ </webAppConfig>
+ <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>2.1.0-1</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+ <noServer>true</noServer>
+ <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>
+ <compileReport>false</compileReport>
+ <localWorkers>1</localWorkers>
+ <extraJvmArgs>-Xmx1024m</extraJvmArgs>
+ </configuration>
+ <executions>
+ <execution>
+ <configuration>
+ <extraJvmArgs>-Xmx1024M</extraJvmArgs>
+ </configuration>
+ <id>gwtcompile</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-dev</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>debian</version>
+ </dependency>
+ </dependencies>
+ </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>
+ <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>
+ <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+ </manifest>
+ <manifestEntries>
+ <mode>development</mode>
+ <url>${project.url}</url>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ <executions>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>1.4.4-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <attachToBuild>true</attachToBuild>
+ <classifier>onejar</classifier>
+ </configuration>
+ <goals>
+ <goal>one-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>debian</version>
+ </extension>
+ </extensions>
+ </build>
+</project>
\ No newline at end of file
1
0
Author: vjrj_
Date: 2011-09-11 17:10:56 +0200 (Sun, 11 Sep 2011)
New Revision: 1515
Modified:
trunk/pom.xml
Log:
Fast compilation
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-09-11 12:02:36 UTC (rev 1514)
+++ trunk/pom.xml 2011-09-11 15:10:56 UTC (rev 1515)
@@ -986,7 +986,6 @@
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwtmaven.version}</version>
<configuration>
- <compileReport>true</compileReport>
<logLevel>INFO</logLevel>
<style>OBF</style>
<noServer>true</noServer>
@@ -999,7 +998,8 @@
</modules>
<copyWebapp>true</copyWebapp>
<compileReport>false</compileReport>
- <extraJvmArgs>-Xmx1024m -Xss1024k</extraJvmArgs>
+ <localWorkers>1</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
+ <extraJvmArgs>-Xmx1024m</extraJvmArgs>
</configuration>
<executions>
<execution>
1
0
11 Sep '11
Author: vjrj_
Date: 2011-09-11 14:02:36 +0200 (Sun, 11 Sep 2011)
New Revision: 1514
Added:
trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java
trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java
trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
Modified:
trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java
trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java
trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java
Log:
NEW - # 79: I18n refactorization
http://kune.ourproject.org/issues/ticket/79
Modified: trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -57,22 +57,19 @@
private static final int WIDTH_NOT_DEFINED = -1;
public static Tooltip to(final Widget widget, final String text) {
- if (TextUtils.notEmpty(text)) {
- final Tooltip tip = new Tooltip();
- tip.to(widget);
- tip.setText(text);
- widget.addAttachHandler(new Handler() {
- @Override
- public void onAttachOrDetach(final AttachEvent event) {
- if (!event.isAttached()) {
- tip.hide();
- }
+ final Tooltip tip = new Tooltip();
+ tip.to(widget);
+ tip.setText(text);
+ widget.addAttachHandler(new Handler() {
+ @Override
+ public void onAttachOrDetach(final AttachEvent event) {
+ if (!event.isAttached()) {
+ tip.hide();
}
+ }
- });
- return tip;
- }
- return null;
+ });
+ return tip;
}
public static Tooltip to(final Widget widget, final Widget withContent) {
@@ -85,16 +82,20 @@
HTMLPanel arrow;
@UiField
HTMLPanel arrowBorder;
+ private boolean containsText;
@UiField
FlowPanel content;
@UiField
FlowPanel flow;
private Widget ofWidget;
+ private final Label textLabel;
private final TooltipTimers timers;
@UiField
InlineLabel title;
+
@UiField
HTMLPanel tooltip;
+
private int width = WIDTH_NOT_DEFINED;
public Tooltip() {
@@ -120,6 +121,7 @@
outTimer.configure(hideExecuter);
securityTimer.configure(hideExecuter);
timers = new TooltipTimers(overTimer, outTimer, securityTimer);
+ textLabel = new Label();
}
protected int getHeight() {
@@ -145,11 +147,14 @@
private void setContent(final Widget widget) {
content.clear();
content.add(widget);
+ containsText = false;
}
public void setText(final String text) {
content.clear();
- content.add(new Label(text));
+ content.add(textLabel);
+ textLabel.setText(text);
+ containsText = true;
}
public void setWidth(final int width) {
@@ -158,7 +163,8 @@
@Override
public void show() {
- if (!Tooltip.this.isShowing() && ofWidget.isAttached() && ofWidget.isVisible()) {
+ if (!Tooltip.this.isShowing() && ofWidget.isAttached() && ofWidget.isVisible()
+ && (!containsText || TextUtils.notEmpty(textLabel.getText()))) {
Tooltip.super.show();
if (Tooltip.current != null) {
Tooltip.current.hide();
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -144,12 +144,11 @@
}
messageErrorBar = new MessageToolbar(images, errorLabelId);
tabPanel = new TabLayoutPanel(25, Unit.PX);
- tabPanel.addStyleName("oc-noselec");
+ tabPanel.addStyleName("oc-noselect");
+ dialog.getInnerPanel().add(tabPanel);
tabPanel.addSelectionHandler(new SelectionHandler<Integer>() {
@Override
public void onSelection(final SelectionEvent<Integer> event) {
- // dialog.recalculateSize();
- dialog.showCentered();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
@@ -165,7 +164,6 @@
if (height != NO_SIZE) {
tabPanel.setHeight(String.valueOf(height) + "px");
}
- dialog.getInnerPanel().add(tabPanel);
tabPanel.addStyleName("k-tabpanel-aditionalpadding");
tabPanel.addStyleName("k-tabs");
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -75,8 +75,8 @@
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.SpaceSelectorPanel;
import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter;
-import cc.kune.core.client.sitebar.spaces.SpaceSelectorPanel;
import cc.kune.core.client.sn.GroupSNPanel;
import cc.kune.core.client.sn.GroupSNPresenter;
import cc.kune.core.client.sn.UserSNPanel;
Modified: trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -30,6 +30,7 @@
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.server.access.AccessRightsService;
import cc.kune.core.server.access.AccessRightsServiceDefault;
+import cc.kune.core.server.access.AccessRightsUtils;
import cc.kune.core.server.access.AccessService;
import cc.kune.core.server.access.AccessServiceDefault;
import cc.kune.core.server.access.FinderService;
@@ -40,6 +41,8 @@
import cc.kune.core.server.auth.AuthorizatedMethodInterceptor;
import cc.kune.core.server.auth.SessionService;
import cc.kune.core.server.auth.SessionServiceDefault;
+import cc.kune.core.server.auth.SuperAdmin;
+import cc.kune.core.server.auth.SuperAdminMethodInterceptor;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContainerManagerDefault;
import cc.kune.core.server.content.ContentManager;
@@ -176,11 +179,13 @@
bind(EntityLogoUploadManager.class);
bind(EntityLogoDownloadManager.class);
bind(ParticipantUtils.class);
-
+ requestStaticInjection(AccessRightsUtils.class);
bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class),
outermostCall(new AuthenticatedMethodInterceptor()));
bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class),
outermostCall(new AuthorizatedMethodInterceptor()));
+ bindInterceptor(Matchers.any(), Matchers.annotatedWith(SuperAdmin.class),
+ outermostCall(new SuperAdminMethodInterceptor()));
}
}
Added: trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,30 @@
+package cc.kune.core.server.access;
+
+import cc.kune.core.shared.domain.AccessRol;
+import cc.kune.core.shared.domain.utils.AccessRights;
+import cc.kune.domain.Group;
+import cc.kune.domain.User;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class AccessRightsUtils {
+
+ @Inject
+ private static AccessRightsService rightsService;
+
+ public static boolean correctMember(final User user, final Group group, final AccessRol memberType) {
+
+ final AccessRights accessRights = rightsService.get(user, group.getSocialNetwork().getAccessLists());
+
+ switch (memberType) {
+ case Administrator:
+ return accessRights.isAdministrable();
+ case Editor:
+ return accessRights.isEditable();
+ default:
+ return accessRights.isVisible();
+ }
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -26,12 +26,11 @@
import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.server.UserSession;
-import cc.kune.core.server.access.AccessRightsService;
+import cc.kune.core.server.access.AccessRightsUtils;
import cc.kune.core.server.access.AccessService;
import cc.kune.core.server.content.ContentUtils;
import cc.kune.core.server.manager.GroupManager;
import cc.kune.core.shared.domain.AccessRol;
-import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
@@ -45,84 +44,67 @@
@Singleton
public class AuthorizatedMethodInterceptor implements MethodInterceptor {
- @Inject
- private Provider<UserSession> userSessionProvider;
- @Inject
- private Provider<GroupManager> groupManagerProvider;
- @Inject
- private Provider<AccessRightsService> accessRightsServiceProvider;
- @Inject
- private Provider<AccessService> accessServiceProvider;
+ @Inject
+ private Provider<AccessService> accessServiceProvider;
+ @Inject
+ private Provider<GroupManager> groupManagerProvider;
+ @Inject
+ private Provider<UserSession> userSessionProvider;
- public Object invoke(final MethodInvocation invocation) throws Throwable {
- final Object[] arguments = invocation.getArguments();
- final StateToken token = (StateToken) arguments[1];
+ @Override
+ public Object invoke(final MethodInvocation invocation) throws Throwable {
+ final Object[] arguments = invocation.getArguments();
+ final StateToken token = (StateToken) arguments[1];
- final UserSession userSession = userSessionProvider.get();
- final GroupManager groupManager = groupManagerProvider.get();
- final AccessService accessService = accessServiceProvider.get();
+ final UserSession userSession = userSessionProvider.get();
+ final GroupManager groupManager = groupManagerProvider.get();
+ final AccessService accessService = accessServiceProvider.get();
- final Authorizated authoAnnotation = invocation.getStaticPart().getAnnotation(Authorizated.class);
- final AccessRol accessRol = authoAnnotation.accessRolRequired();
- final ActionLevel actionLevel = authoAnnotation.actionLevel();
- final boolean mustBeMember = authoAnnotation.mustCheckMembership();
+ final Authorizated authoAnnotation = invocation.getStaticPart().getAnnotation(Authorizated.class);
+ final AccessRol accessRol = authoAnnotation.accessRolRequired();
+ final ActionLevel actionLevel = authoAnnotation.actionLevel();
+ final boolean mustBeMember = authoAnnotation.mustCheckMembership();
- final User user = userSession.getUser();
- Group group = Group.NO_GROUP;
- try {
- group = groupManager.findByShortName(token.getGroup());
- } catch (final NoResultException e) {
- // continue, and check later
- }
+ final User user = userSession.getUser();
+ Group group = Group.NO_GROUP;
+ try {
+ group = groupManager.findByShortName(token.getGroup());
+ } catch (final NoResultException e) {
+ // continue, and check later
+ }
- switch (actionLevel) {
- case content:
- default:
- final Content content = accessService.accessToContent(ContentUtils.parseId(token.getDocument()), user,
- accessRol);
- if (!content.getContainer().getOwner().equals(group)) {
- throw new AccessViolationException();
- }
- if (!content.getContainer().getId().equals(ContentUtils.parseId(token.getFolder()))) {
- throw new AccessViolationException();
- }
- if (!content.getContainer().getToolName().equals(token.getTool())) {
- throw new AccessViolationException();
- }
- case container:
- final Container container = accessService.accessToContainer(ContentUtils.parseId(token.getFolder()), user,
- accessRol);
- if (!container.getOwner().equals(group)) {
- throw new AccessViolationException();
- }
- case tool:
- case group:
- break;
- }
-
- if (mustBeMember) {
- if (!correctMember(user, group, accessRol)) {
- throw new AccessViolationException();
- }
- }
-
- return invocation.proceed();
+ switch (actionLevel) {
+ case content:
+ default:
+ final Content content = accessService.accessToContent(ContentUtils.parseId(token.getDocument()),
+ user, accessRol);
+ if (!content.getContainer().getOwner().equals(group)) {
+ throw new AccessViolationException();
+ }
+ if (!content.getContainer().getId().equals(ContentUtils.parseId(token.getFolder()))) {
+ throw new AccessViolationException();
+ }
+ if (!content.getContainer().getToolName().equals(token.getTool())) {
+ throw new AccessViolationException();
+ }
+ case container:
+ final Container container = accessService.accessToContainer(
+ ContentUtils.parseId(token.getFolder()), user, accessRol);
+ if (!container.getOwner().equals(group)) {
+ throw new AccessViolationException();
+ }
+ case tool:
+ case group:
+ break;
}
- private boolean correctMember(final User user, final Group group, final AccessRol memberType)
- throws AccessViolationException {
-
- final AccessRights accessRights = accessRightsServiceProvider.get().get(user,
- group.getSocialNetwork().getAccessLists());
-
- switch (memberType) {
- case Administrator:
- return accessRights.isAdministrable();
- case Editor:
- return accessRights.isEditable();
- default:
- return accessRights.isVisible();
- }
+ if (mustBeMember) {
+ if (!AccessRightsUtils.correctMember(user, group, accessRol)) {
+ throw new AccessViolationException();
+ }
}
+ return invocation.proceed();
+ }
+
}
Added: trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -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.core.server.auth;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import cc.kune.core.shared.domain.AccessRol;
+
+import com.google.inject.BindingAnnotation;
+
+/**
+ * Use in *RPC methods to check if user is superadmin
+ *
+ * The first param in the method must be the userHash
+ */
+@BindingAnnotation
+(a)Retention(RetentionPolicy.RUNTIME)
+public @interface SuperAdmin {
+
+ AccessRol rol() default AccessRol.Administrator;
+
+}
Added: trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,93 @@
+/*
+ *
+ * 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.server.auth;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.aopalliance.intercept.MethodInterceptor;
+import org.aopalliance.intercept.MethodInvocation;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.client.errors.SessionExpiredException;
+import cc.kune.core.client.errors.UserMustBeLoggedException;
+import cc.kune.core.server.UserSession;
+import cc.kune.core.server.access.AccessRightsUtils;
+import cc.kune.core.server.properties.KuneProperties;
+import cc.kune.core.shared.domain.AccessRol;
+import cc.kune.domain.Group;
+import cc.kune.domain.User;
+import cc.kune.domain.finders.GroupFinder;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class SuperAdminMethodInterceptor implements MethodInterceptor {
+
+ public static final Log LOG = LogFactory.getLog(SuperAdminMethodInterceptor.class);
+
+ @Inject
+ Provider<GroupFinder> groupFinder;
+ @Inject
+ Provider<KuneProperties> kuneProperties;
+ @Inject
+ Provider<HttpServletRequest> requestProvider;
+ @Inject
+ Provider<SessionService> sessionServiceProvider;
+ private Group siteGroup;
+ @Inject
+ Provider<UserSession> userSessionProvider;
+
+ @Override
+ public Object invoke(final MethodInvocation invocation) throws Throwable {
+ final Object[] arguments = invocation.getArguments();
+ // Some browsers getCookie returns "null" as String instead of null
+ final String userHash = arguments[0] == null || arguments[0].equals("null") ? null
+ : (String) arguments[0];
+
+ LOG.info("Method: " + invocation.getMethod().getName());
+ LOG.info("Userhash received: " + userHash);
+ LOG.info("--------------------------------------------------------------------------------");
+ final UserSession userSession = userSessionProvider.get();
+
+ final SuperAdmin authAnnotation = invocation.getStaticPart().getAnnotation(SuperAdmin.class);
+ final AccessRol rol = authAnnotation.rol();
+
+ if (siteGroup == null) {
+ siteGroup = groupFinder.get().findByShortName(
+ kuneProperties.get().get(KuneProperties.DEFAULT_SITE_SHORT_NAME));
+ }
+
+ if (userHash == null) {
+ throw new UserMustBeLoggedException();
+ } else if (userSession.isUserNotLoggedIn()) {
+ LOG.info("Session expired (not logged in server and mandatory)");
+ throw new SessionExpiredException();
+ } else {
+ User user = userSession.getUser();
+ if (!AccessRightsUtils.correctMember(user, siteGroup, rol)) {
+ throw new AccessViolationException();
+ }
+ }
+ final Object result = invocation.proceed();
+ return result;
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -30,9 +30,11 @@
import cc.kune.core.client.rpcservices.I18nService;
import cc.kune.core.server.UserSession;
import cc.kune.core.server.auth.Authenticated;
+import cc.kune.core.server.auth.SuperAdmin;
import cc.kune.core.server.manager.I18nLanguageManager;
import cc.kune.core.server.manager.I18nTranslationManager;
import cc.kune.core.server.mapper.Mapper;
+import cc.kune.core.shared.domain.AccessRol;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.I18nTranslationDTO;
import cc.kune.domain.I18nLanguage;
@@ -139,6 +141,7 @@
@Override
@Authenticated
@Transactional
+ @SuperAdmin(rol = AccessRol.Editor)
public String setTranslation(final String userHash, final Long id, final String translation)
throws DefaultException {
return i18nTranslationManager.setTranslation(id, translation);
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml 2011-09-11 12:02:36 UTC (rev 1514)
@@ -32,7 +32,8 @@
<s:RangeLabelPager ui:field='rangeLabelPager'/>
</td>
<td class='{style.formCell}' valign='top' align='center'>
- <s:I18nTranslatorForm ui:field='translatorForm'/>
+ <s:I18nTranslatorForm
+ ui:field='translatorForm'/>
<br/>
</td>
</tr>
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,186 +0,0 @@
-/*
- * Copyright 2010 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.gspace.client.i18n;
-
-import cc.kune.common.client.tooltip.Tooltip;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-import cc.kune.core.shared.dto.I18nTranslationDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.dom.client.BlurEvent;
-import com.google.gwt.event.dom.client.ChangeEvent;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.KeyPressEvent;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.uibinder.client.UiHandler;
-import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.PushButton;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.Widget;
-
-/**
- * A form used for editing contacts.
- */
-public class I18nTranslatorForm extends Composite {
-
- interface Binder extends UiBinder<Widget, I18nTranslatorForm> {
- }
-
- private static Binder uiBinder = GWT.create(Binder.class);
- @UiField
- PushButton copyIcon;
- private I18nTranslationDataProvider dataProvider;
- private I18nTranslationService i18n;
- private I18nTranslationDTO item;
- @UiField
- Label keyboardRecomendation;
- @UiField
- Label keyboardRecomendationTitle;
- private final Timer keyboardTimer;
- @UiField
- Label noteForTranslators;
- @UiField
- Label noteForTranslatorsTittle;
- private I18nTraslatorSaver saver;
- @UiField
- Label toLanguageTitle;
- @UiField
- Label toTranslate;
- @UiField
- Label toTranslateTitle;
- @UiField
- TextArea translation;
-
- public I18nTranslatorForm() {
- initWidget(uiBinder.createAndBindUi(this));
- keyboardTimer = new Timer() {
- @Override
- public void run() {
- update();
- }
- };
- }
-
- private void copyTranslation() {
- translation.setText(toTranslate.getText());
- }
-
- public void focusToTranslate() {
- translation.setFocus(true);
- }
-
- @UiHandler("translation")
- void handleBlur(final BlurEvent event) {
- update();
- }
-
- @UiHandler("copyIcon")
- void handleClickOnCopyIcon(final ClickEvent e) {
- copyTranslation();
- translation.setFocus(true);
- updateWithTimer();
- }
-
- @UiHandler("translation")
- void handleKeyPress(final ChangeEvent event) {
- updateWithTimer();
- }
-
- @UiHandler("translation")
- void handleKeyPress(final KeyPressEvent event) {
- if (event.isAltKeyDown()
- && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) {
- saveIfNeeded();
- dataProvider.selectPrevious();
- } else if (event.isAltKeyDown()
- && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) {
- saveIfNeeded();
- dataProvider.selectNext();
- } else if (event.isAltKeyDown() && event.getCharCode() == 'v') {
- copyTranslation();
- event.stopPropagation();
- updateWithTimer();
- }
- }
-
- public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
- final I18nTraslatorSaver saver) {
- this.dataProvider = dataProvider;
- this.i18n = i18n;
- this.saver = saver;
- Tooltip.to(copyIcon, i18n.t("Copy the text to translate"));
- toTranslateTitle.setText(i18n.t("translate this:"));
- noteForTranslatorsTittle.setText(i18n.t("Notes:"));
- keyboardRecomendationTitle.setText(i18n.t("Tip:"));
- keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved"));
- }
-
- private void saveIfNeeded() {
- keyboardTimer.cancel();
- final String newTranslation = translation.getText();
- if (item != null && !item.getText().equals(newTranslation)) {
- saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
- }
- }
-
- public void setInfo(final I18nTranslationDTO item) {
- saveIfNeeded();
- this.item = item;
- final String[] splitted = splitNT(item.getTrKey());
- toTranslate.setText(splitted[0]);
- final boolean hasNT = splitted.length > 1;
- noteForTranslators.setVisible(hasNT);
- noteForTranslatorsTittle.setVisible(hasNT);
- if (hasNT) {
- noteForTranslators.setText(splitted[1]);
- }
- translation.setText(item.getText());
- }
-
- public void setToLanguage(final I18nLanguageSimpleDTO language) {
- toLanguageTitle.setText(i18n.tWithNT("to [%s]:", "For example, 'to Spanish':",
- language.getEnglishName()));
- }
-
- private String[] splitNT(final String textWithNT) {
- String[] nt;
- final String[] splitted = textWithNT.split(" \\[%NT ");
- if (splitted.length > 1) {
- nt = splitted[1].split("\\]$");
- splitted[1] = nt[0];
- }
- return splitted;
- }
-
- private void update() {
- keyboardTimer.cancel();
- if (item != null) {
- item.setText(translation.getText());
- item.setDirty(true);
- dataProvider.refreshDisplays();
- saveIfNeeded();
- }
- }
-
- private void updateWithTimer() {
- keyboardTimer.cancel();
- keyboardTimer.schedule(3000);
- }
-}
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,180 @@
+/*
+ * Copyright 2010 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.gspace.client.i18n;
+
+import cc.kune.common.client.tooltip.Tooltip;
+import cc.kune.common.client.utils.TextUtils;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.BlurEvent;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.KeyPressEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * A form used for editing contacts.
+ */
+public class I18nTranslatorForm extends Composite {
+
+ interface Binder extends UiBinder<Widget, I18nTranslatorForm> {
+ }
+
+ private static Binder uiBinder = GWT.create(Binder.class);
+ @UiField
+ PushButton copyIcon;
+ private I18nTranslationDataProvider dataProvider;
+ private I18nTranslationService i18n;
+ private I18nTranslationDTO item;
+ @UiField
+ Label keyboardRecomendation;
+ @UiField
+ Label keyboardRecomendationTitle;
+ private final Timer keyboardTimer;
+ @UiField
+ Label noteForTranslators;
+ @UiField
+ Label noteForTranslatorsTittle;
+ private I18nTraslatorSaver saver;
+ @UiField
+ Label toLanguageTitle;
+ @UiField
+ Label toTranslate;
+ @UiField
+ Label toTranslateTitle;
+ @UiField
+ TextArea translation;
+
+ public I18nTranslatorForm() {
+ initWidget(uiBinder.createAndBindUi(this));
+ keyboardTimer = new Timer() {
+ @Override
+ public void run() {
+ saveIfNeeded();
+ }
+ };
+ }
+
+ private void copyTranslation() {
+ translation.setText(toTranslate.getText());
+ }
+
+ public void focusToTranslate() {
+ translation.setFocus(true);
+ }
+
+ @UiHandler("translation")
+ void handleBlur(final BlurEvent event) {
+ saveIfNeeded();
+ }
+
+ @UiHandler("copyIcon")
+ void handleClickOnCopyIcon(final ClickEvent e) {
+ copyTranslation();
+ translation.setFocus(true);
+ updateWithTimer();
+ }
+
+ @UiHandler("translation")
+ void handleKeyPress(final ChangeEvent event) {
+ updateWithTimer();
+ }
+
+ @UiHandler("translation")
+ void handleKeyPress(final KeyPressEvent event) {
+ if (event.isAltKeyDown()
+ && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) {
+ saveIfNeeded();
+ dataProvider.selectPrevious();
+ } else if (event.isAltKeyDown()
+ && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) {
+ saveIfNeeded();
+ dataProvider.selectNext();
+ } else if (event.isAltKeyDown() && event.getCharCode() == 'v') {
+ copyTranslation();
+ event.stopPropagation();
+ updateWithTimer();
+ }
+ }
+
+ public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
+ final I18nTraslatorSaver saver) {
+ this.dataProvider = dataProvider;
+ this.i18n = i18n;
+ this.saver = saver;
+ Tooltip.to(copyIcon, i18n.t("Copy the text to translate"));
+ toTranslateTitle.setText(i18n.t("translate this:"));
+ noteForTranslatorsTittle.setText(i18n.t("Notes:"));
+ keyboardRecomendationTitle.setText(i18n.t("Tip:"));
+ keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved"));
+ }
+
+ private void saveIfNeeded() {
+ keyboardTimer.cancel();
+ final String newTranslation = translation.getText();
+ if (item != null && TextUtils.notEmpty(newTranslation) && !newTranslation.equals(item.getText())) {
+ item.setText(translation.getText());
+ item.setDirty(true);
+ dataProvider.refreshDisplays();
+ saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
+ }
+ }
+
+ public void setInfo(final I18nTranslationDTO item) {
+ saveIfNeeded();
+ this.item = item;
+ final String[] splitted = splitNT(item.getTrKey());
+ toTranslate.setText(splitted[0]);
+ final boolean hasNT = splitted.length > 1;
+ noteForTranslators.setVisible(hasNT);
+ noteForTranslatorsTittle.setVisible(hasNT);
+ if (hasNT) {
+ noteForTranslators.setText(splitted[1]);
+ }
+ translation.setText(item.getText());
+ }
+
+ public void setToLanguage(final I18nLanguageSimpleDTO language) {
+ toLanguageTitle.setText(i18n.tWithNT("to [%s]:", "For example, 'to Spanish':",
+ language.getEnglishName()));
+ }
+
+ private String[] splitNT(final String textWithNT) {
+ String[] nt;
+ final String[] splitted = textWithNT.split(" \\[%NT ");
+ if (splitted.length > 1) {
+ nt = splitted[1].split("\\]$");
+ splitted[1] = nt[0];
+ }
+ return splitted;
+ }
+
+ private void updateWithTimer() {
+ keyboardTimer.cancel();
+ keyboardTimer.schedule(3000);
+ }
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,102 +0,0 @@
-<!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' xmlns:d='urn:import:com.google.gwt.user.datepicker.client'
- ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
- ui:generateLocales='default'>
-
- <ui:with field='res' type='cc.kune.core.client.resources.CoreResources'/>
-
- <ui:style>
- .titles {
- font-size: bold;
- text-align: right;
- padding-right: 10px;
- vertical-align: top;
- }
-
- .table {
- display: table;
- }
-
- .copyicon {
- vertical-align: top;
- height: 10px !important;
- -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;
- }
-
- .row {
- display: table-row;
- margin: 5px 5px 15px 5px;
- }
-
- .cell {
- display: table-cell;
- padding: 5px;
- }
-
- .tip {
- width: 180px;
- padding: 5px;
- font-size: 9px;
- vertical-align: top;
- }
-
- .toTranslate {
- width: 180px;
- height: 95px;
- border: 1px dashed #BBBBBB;
- }
-
- div.toTranslate {
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- padding: 3px;
- }
-
- .toTranlateLabel {
- height: 95px !important;
- overflow-y: scroll;
- }
- </ui:style>
- <g:FlowPanel addStyleNames="{style.table}">
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="toTranslateTitle" addStyleNames="{style.titles} {style.cell}"/>
- <g:FlowPanel addStyleNames="{style.cell}" styleName="{style.toTranslate}">
- <g:Label ui:field="toTranslate" styleName="{style.toTranlateLabel}"/>
- </g:FlowPanel>
- <g:Label addStyleNames="{style.row}"/>
- </g:FlowPanel>
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="toLanguageTitle" addStyleNames="{style.titles} {style.cell}"/>
- <g:TextArea ui:field='translation' addStyleNames="{style.cell}"
- visibleLines="5"/>
- <g:FlowPanel styleName="k-button"
- addStyleNames="{style.cell} {style.copyicon} k-button k-btn k-5corners">
- <g:PushButton ui:field='copyIcon' enabled='true'>
- <g:upFace image='{res.arrowUndo}'/>
- <g:upHoveringFace/>
- <g:downFace/>
- <g:downHoveringFace/>
- </g:PushButton>
- </g:FlowPanel>
- </g:FlowPanel>
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="noteForTranslatorsTittle" visible="false"
- addStyleNames="{style.titles} {style.cell}"/>
- <g:Label ui:field="noteForTranslators" addStyleNames="{style.cell}"/>
- <g:Label addStyleNames="{style.row}"/>
- </g:FlowPanel>
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="keyboardRecomendationTitle"
- addStyleNames="{style.titles} {style.cell}"/>
- <g:Label ui:field="keyboardRecomendation" addStyleNames="{style.cell} {style.tip}"/>
- <g:Label addStyleNames="{style.row}"/>
- </g:FlowPanel>
- </g:FlowPanel>
-</ui:UiBinder>
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,102 @@
+<!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' xmlns:d='urn:import:com.google.gwt.user.datepicker.client'
+ ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
+ ui:generateLocales='default'>
+
+ <ui:with field='res' type='cc.kune.core.client.resources.CoreResources'/>
+
+ <ui:style>
+ .titles {
+ font-size: bold;
+ text-align: right;
+ padding-right: 10px;
+ vertical-align: top;
+ }
+
+ .table {
+ display: table;
+ }
+
+ .copyicon {
+ vertical-align: top;
+ height: 10px !important;
+ -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;
+ }
+
+ .row {
+ display: table-row;
+ margin: 5px 5px 15px 5px;
+ }
+
+ .cell {
+ display: table-cell;
+ padding: 5px;
+ }
+
+ .tip {
+ width: 180px;
+ padding: 5px;
+ font-size: 9px;
+ vertical-align: top;
+ }
+
+ .toTranslate {
+ width: 180px;
+ height: 95px;
+ border: 1px dashed #BBBBBB;
+ }
+
+ div.toTranslate {
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ padding: 3px;
+ }
+
+ .toTranlateLabel {
+ height: 95px !important;
+ overflow-y: scroll;
+ }
+ </ui:style>
+ <g:FlowPanel addStyleNames="{style.table}">
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="toTranslateTitle" addStyleNames="{style.titles} {style.cell}"/>
+ <g:FlowPanel addStyleNames="{style.cell}" styleName="{style.toTranslate}">
+ <g:Label ui:field="toTranslate" styleName="{style.toTranlateLabel}"/>
+ </g:FlowPanel>
+ <g:Label addStyleNames="{style.row}"/>
+ </g:FlowPanel>
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="toLanguageTitle" addStyleNames="{style.titles} {style.cell}"/>
+ <g:TextArea ui:field='translation' addStyleNames="{style.cell}"
+ visibleLines="5"/>
+ <g:FlowPanel styleName="k-button"
+ addStyleNames="{style.cell} {style.copyicon} k-button k-btn k-5corners">
+ <g:PushButton ui:field='copyIcon' enabled='true'>
+ <g:upFace image='{res.arrowUndo}'/>
+ <g:upHoveringFace/>
+ <g:downFace/>
+ <g:downHoveringFace/>
+ </g:PushButton>
+ </g:FlowPanel>
+ </g:FlowPanel>
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="noteForTranslatorsTittle" visible="false"
+ addStyleNames="{style.titles} {style.cell}"/>
+ <g:Label ui:field="noteForTranslators" addStyleNames="{style.cell}"/>
+ <g:Label addStyleNames="{style.row}"/>
+ </g:FlowPanel>
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="keyboardRecomendationTitle"
+ addStyleNames="{style.titles} {style.cell}"/>
+ <g:Label ui:field="keyboardRecomendation" addStyleNames="{style.cell} {style.tip}"/>
+ <g:Label addStyleNames="{style.row}"/>
+ </g:FlowPanel>
+ </g:FlowPanel>
+</ui:UiBinder>
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,6 +1,5 @@
package cc.kune.gspace.client.i18n;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
import cc.kune.core.client.i18n.I18nUITranslationService;
@@ -31,7 +30,6 @@
}
- private final I18nUITranslationService i18n;
private final Session session;
@Inject
@@ -39,7 +37,6 @@
final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view) {
super(eventBus, view, proxy);
this.session = session;
- this.i18n = i18n;
}
public void doClose() {
@@ -64,14 +61,8 @@
@Override
public void show() {
- NotifyUser.showProgressLoading();
- if (session.isLogged()) {
- final I18nLanguageDTO userLang = session.getCurrentLanguage();
- getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
- getView().show();
- } else {
- NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
- }
- NotifyUser.hideProgress();
+ final I18nLanguageDTO userLang = session.getCurrentLanguage();
+ getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
+ getView().show();
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,6 +1,7 @@
package cc.kune.gspace.client.i18n;
import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.rpcservices.I18nServiceAsync;
import cc.kune.core.client.state.Session;
@@ -32,7 +33,13 @@
@Override
public void onFailure(final Throwable caught) {
NotifyUser.hideProgress();
- NotifyUser.error(i18n.t("Server error saving the translation"));
+ if (caught instanceof AccessViolationException) {
+ NotifyUser.error(
+ i18n.t("Only to authorized translators"),
+ i18n.t("To help with the translation of this software please contact before with this site administrators"));
+ } else {
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -19,12 +19,17 @@
*/
package cc.kune.gspace.client.i18n;
-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.MenuItemDescriptor;
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.actions.RolActionAutoUpdated;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
+import cc.kune.core.client.state.AccessRightsClientManager;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.AccessRolDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.inject.Inject;
@@ -32,14 +37,18 @@
import com.google.inject.Singleton;
@Singleton
-public class SiteOptionsI18nTranslatorAction extends AbstractExtendedAction {
+public class SiteOptionsI18nTranslatorAction extends RolActionAutoUpdated {
+ private final I18nTranslationService i18n;
private I18nTranslator translator;
private final Provider<I18nTranslator> translatorProv;
@Inject
- public SiteOptionsI18nTranslatorAction(final I18nTranslationService i18n, final CoreResources img,
- final Provider<I18nTranslator> translatorProv, final SitebarActionsPresenter siteOptions) {
- super();
+ public SiteOptionsI18nTranslatorAction(final StateManager stateManager, final Session session,
+ final AccessRightsClientManager rightsManager, final I18nTranslationService i18n,
+ final CoreResources img, final Provider<I18nTranslator> translatorProv,
+ final SitebarActionsPresenter siteOptions) {
+ super(stateManager, session, rightsManager, AccessRolDTO.Viewer, true, true, true);
+ this.i18n = i18n;
this.translatorProv = translatorProv;
putValue(Action.NAME, i18n.t("Help with the translation"));
putValue(Action.SMALL_ICON, img.language());
@@ -48,10 +57,15 @@
@Override
public void actionPerformed(final ActionEvent event) {
- if (translator == null) {
- translator = translatorProv.get();
+ NotifyUser.showProgressLoading();
+ if (session.isLogged()) {
+ if (translator == null) {
+ translator = translatorProv.get();
+ }
+ translator.show();
+ } else {
+ NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
}
- translator.show();
- // item.setPosition(1);
+ NotifyUser.hideProgress();
}
}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -67,21 +67,23 @@
diag.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- NotifyUser.showProgressProcessing();
- diag.hide();
- listsService.get().createList(session.getUserHash(), session.getCurrentStateToken(),
- diag.getTextFieldValue(), ListsConstants.TYPE_LIST, true,
- new AsyncCallbackSimple<StateContainerDTO>() {
- @Override
- public void onSuccess(final StateContainerDTO state) {
- stateManager.setRetrievedStateAndGo(state);
- NotifyUser.hideProgress();
+ if (diag.isValid()) {
+ NotifyUser.showProgressProcessing();
+ diag.hide();
+ listsService.get().createList(session.getUserHash(), session.getCurrentStateToken(),
+ diag.getTextFieldValue(), ListsConstants.TYPE_LIST, true,
+ new AsyncCallbackSimple<StateContainerDTO>() {
+ @Override
+ public void onSuccess(final StateContainerDTO state) {
+ stateManager.setRetrievedStateAndGo(state);
+ NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("List created"));
- folderViewer.highlightTitle();
- }
- });
- cache.removeContent(session.getCurrentStateToken());
+ NotifyUser.info(i18n.t("List created"));
+ folderViewer.highlightTitle();
+ }
+ });
+ cache.removeContent(session.getCurrentStateToken());
+ }
}
});
Modified: trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -73,20 +73,22 @@
diag.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- NotifyUser.showProgressProcessing();
- diag.hide();
- listsService.get().newPost(session.getUserHash(),
- session.getCurrentStateToken().copy().clearDocument(), diag.getTextFieldValue(),
- new AsyncCallbackSimple<StateContentDTO>() {
- @Override
- public void onSuccess(final StateContentDTO state) {
- stateManager.setRetrievedStateAndGo(state);
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Post created. Edit it"));
- folderViewer.highlightTitle();
- }
- });
- cache.removeContent(session.getCurrentStateToken());
+ if (diag.isValid()) {
+ NotifyUser.showProgressProcessing();
+ diag.hide();
+ listsService.get().newPost(session.getUserHash(),
+ session.getCurrentStateToken().copy().clearDocument(), diag.getTextFieldValue(),
+ new AsyncCallbackSimple<StateContentDTO>() {
+ @Override
+ public void onSuccess(final StateContentDTO state) {
+ stateManager.setRetrievedStateAndGo(state);
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Post created. Edit it"));
+ folderViewer.highlightTitle();
+ }
+ });
+ cache.removeContent(session.getCurrentStateToken());
+ }
}
});
} else {
Added: trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,54 @@
+package cc.kune.core.server.auth;
+
+import java.lang.reflect.AccessibleObject;
+
+import org.aopalliance.intercept.MethodInvocation;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.server.integration.IntegrationTest;
+import cc.kune.core.server.integration.IntegrationTestHelper;
+import cc.kune.core.shared.domain.AccessRol;
+
+import com.google.inject.persist.Transactional;
+
+public class SuperAdminMethodInterceptorTest extends IntegrationTest {
+
+ private MethodInvocation invocation;
+ private SuperAdmin superAdminAnnotation;
+ private SuperAdminMethodInterceptor superAdminInterceptor;
+
+ @Transactional
+ @Before
+ public void before() {
+ superAdminInterceptor = new SuperAdminMethodInterceptor();
+ new IntegrationTestHelper(this, superAdminInterceptor);
+ invocation = Mockito.mock(MethodInvocation.class);
+ final AccessibleObject accessibleObject = Mockito.mock(AccessibleObject.class);
+ Mockito.when(invocation.getMethod()).thenReturn(this.getClass().getMethods()[0]);
+ Mockito.when(invocation.getStaticPart()).thenReturn(accessibleObject);
+ superAdminAnnotation = Mockito.mock(SuperAdmin.class);
+ Mockito.when(accessibleObject.getAnnotation(SuperAdmin.class)).thenReturn(superAdminAnnotation);
+ }
+
+ private void invoke() throws Throwable {
+ Mockito.when(superAdminAnnotation.rol()).thenReturn(AccessRol.Administrator);
+ final Object[] arguments = { getHash() };
+ Mockito.when(invocation.getArguments()).thenReturn(arguments);
+ superAdminInterceptor.invoke(invocation);
+ }
+
+ @Test(expected = AccessViolationException.class)
+ public void notMemberThrowsExcep() throws Throwable {
+ doLoginWithDummyUser();
+ invoke();
+ }
+
+ @Test
+ public void superAdminDoTheJob() throws Throwable {
+ doLogin();
+ invoke();
+ }
+}
1
0
r1513 - in trunk: script src/main/java/cc/kune/core/client/resources src/main/java/cc/kune/core/client/rpcservices src/main/java/cc/kune/core/server/manager src/main/java/cc/kune/core/server/manager/impl src/main/java/cc/kune/core/server/rpc src/main/java/cc/kune/gspace/client src/main/java/cc/kune/gspace/client/i18n
by Vicente J. Ruiz Jurado 07 Sep '11
by Vicente J. Ruiz Jurado 07 Sep '11
07 Sep '11
Author: vjrj_
Date: 2011-09-07 23:37:23 +0200 (Wed, 07 Sep 2011)
New Revision: 1513
Added:
trunk/script/findMsg.sh
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java
trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java
Modified:
trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java
trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java
trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
Log:
NEW - # 79: I18n refactorization
http://kune.ourproject.org/issues/ticket/79
Added: trunk/script/findMsg.sh
===================================================================
--- trunk/script/findMsg.sh (rev 0)
+++ trunk/script/findMsg.sh 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,3 @@
+#!/bin/bash
+STR=`echo $1 | sed 's/ /\\[\\\"\\\+\\\n \\]\*/g'`
+echo egrep -r -m 1 "\"$STR\"" src/main/java/cc
\ No newline at end of file
Property changes on: trunk/script/findMsg.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -32,8 +32,8 @@
public final static String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The username/password is incorrect";
public final static String MEMBERS_NOT_PUBLIC = "The members of this group are not public";
public final static String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name";
+ public final static String NAME_IN_USE = "This name in already in use. Please try with a different name";
public final static String NAME_RESTRICTED = "This user name can not be used. Please try with a different name";
- public final static String NAME_IN_USE = "This name in already in use. Please try with a different name";
public final static String PASSWD_MUST_BE_BETWEEN_6_AND_40 = "The password must be between 6 and 40 characters";
public final static String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group";
public final static String REGISTER_TITLE = "Register";
@@ -41,7 +41,7 @@
public final static String SIGN_IN_TITLE = "Sign in";
public final static String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
public final static String USER_OPTIONS_DIALOG_TITLE = "User options";
- public final static String YOUR_HOMEPAGE = "Your homepage";
+ public final static String YOUR_HOMEPAGE = "Your " + "homepage";
private CoreMessages() {
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -41,6 +41,6 @@
String getTranslation(String userHash, String language, String text);
- String setTranslation(String userHash, String id, String translation) throws DefaultException;
+ String setTranslation(String userHash, Long id, String translation) throws DefaultException;
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -38,6 +38,6 @@
void getTranslation(String userHash, String language, String text, AsyncCallback<String> callback);
- void setTranslation(String userHash, String id, String translation, AsyncCallback<String> asyncCallback);
+ void setTranslation(String userHash, Long id, String translation, AsyncCallback<String> asyncCallback);
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -46,7 +46,7 @@
SearchResult<I18nTranslation> getUntranslatedLexicon(String language, Integer firstResult,
Integer maxResults);
- String setTranslation(String id, String translation) throws DefaultException;
+ String setTranslation(Long id, String translation) throws DefaultException;
void setTranslation(String language, String text, String translation);
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -162,8 +162,8 @@
}
@Override
- public String setTranslation(final String id, final String translation) throws DefaultException {
- final I18nTranslation trans = super.find(Long.valueOf(id));
+ public String setTranslation(final Long id, final String translation) throws DefaultException {
+ final I18nTranslation trans = super.find(id);
if (trans != null) {
final String escapedTranslation = TextUtils.escapeHtmlLight(translation);
trans.setText(escapedTranslation);
Modified: trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -139,7 +139,7 @@
@Override
@Authenticated
@Transactional
- public String setTranslation(final String userHash, final String id, final String translation)
+ public String setTranslation(final String userHash, final Long id, final String translation)
throws DefaultException {
return i18nTranslationManager.setTranslation(id, translation);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -29,7 +29,7 @@
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
-import cc.kune.gspace.client.i18n.TranslatorTabsCollection;
+import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection;
import cc.kune.gspace.client.licensewizard.LicenseChangeAction;
import cc.kune.gspace.client.licensewizard.LicenseWizard;
import cc.kune.gspace.client.licensewizard.LicenseWizardPanel;
@@ -153,7 +153,7 @@
s(UserOptionsCollection.class);
s(GroupOptionsCollection.class);
- s(TranslatorTabsCollection.class);
+ s(I18nTranslatorTabsCollection.class);
s(GroupOptGeneral.class, GroupOptGeneralPresenter.class);
s(GroupOptGeneralView.class, GroupOptGeneralPanel.class);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -25,7 +25,7 @@
import cc.kune.core.client.state.Session;
import cc.kune.gspace.client.i18n.I18nToTranslateGridPanel;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
-import cc.kune.gspace.client.i18n.TranslatorTabsCollection;
+import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.GroupOptionsCollection;
import cc.kune.gspace.client.options.UserOptions;
@@ -68,7 +68,7 @@
final Provider<UserOptTools> utc, final Provider<SitebarSearchPresenter> siteSearch,
final Provider<SiteOptionsI18nTranslatorAction> transAction,
final Provider<I18nToTranslateGridPanel> toTrans,
- final Provider<TranslatorTabsCollection> gtranslator) {
+ final Provider<I18nTranslatorTabsCollection> gtranslator) {
session.onAppStart(true, new AppStartHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -18,13 +18,15 @@
package cc.kune.gspace.client.i18n;
import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import cc.kune.core.shared.dto.I18nTranslationDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.cell.client.ValueUpdater;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
@@ -101,7 +103,7 @@
*/
private final CellList<I18nTranslationDTO> cellList;
- private final I18nTranslationProvider data;
+ private final I18nTranslationDataProvider data;
/**
* The pager used to change the range of data.
@@ -122,8 +124,10 @@
I18nTranslatorForm translatorForm;
@Inject
- public I18nCellList(final I18nTranslationProvider data, final I18nTranslationService i18n) {
+ public I18nCellList(final I18nTranslationDataProvider data, final I18nUITranslationService i18n,
+ final I18nTraslatorSaver saver) {
this.data = data;
+
final TranslationCell cell = new TranslationCell();
// Set a key provider that provides a unique key for each contact. If key is
@@ -138,26 +142,31 @@
// Add a selection model so we can select cells.
cellList.setSelectionModel(selectionModel);
+
+ // Create the UiBinder.
+ final Binder uiBinder = GWT.create(Binder.class);
+ initWidget(uiBinder.createAndBindUi(this));
+ translatorForm.init(data, i18n, saver);
cellList.setValueUpdater(new ValueUpdater<I18nTranslationDTO>() {
+
@Override
public void update(final I18nTranslationDTO value) {
- // TODO Auto-generated method stub
+ // save(value);
}
});
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(final SelectionChangeEvent event) {
translatorForm.setInfo(selectionModel.getSelectedObject());
- translatorForm.focusToTranslate();
- // cellList.get
- // pagerPanel.ensureVisible((UIObject) event.getSource());
+ Scheduler.get().scheduleEntry(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ translatorForm.focusToTranslate();
+ }
+ });
}
});
- cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS);
- // Create the UiBinder.
- final Binder uiBinder = GWT.create(Binder.class);
- initWidget(uiBinder.createAndBindUi(this));
- translatorForm.init(data, i18n);
+ // cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS);
data.addDataDisplay(cellList);
data.setSelectionMode(selectionModel);
data.setLoadCallback(new SimpleCallback() {
@@ -180,4 +189,5 @@
data.setLanguage(language, toTranslate);
translatorForm.setToLanguage(language);
}
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -27,4 +27,5 @@
public void setLanguage(final I18nLanguageSimpleDTO language) {
list.setLanguage(language, true);
}
+
}
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2010 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.gspace.client.i18n;
+
+import java.util.List;
+
+import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+
+import com.google.gwt.user.cellview.client.CellList;
+import com.google.gwt.view.client.ListDataProvider;
+import com.google.gwt.view.client.SingleSelectionModel;
+import com.google.inject.Inject;
+
+public class I18nTranslationDataProvider {
+
+ private final ListDataProvider<I18nTranslationDTO> dataProvider = new ListDataProvider<I18nTranslationDTO>();
+ private final I18nServiceAsync i18n;
+ private SimpleCallback loadCallback;
+ private SingleSelectionModel<I18nTranslationDTO> selectionModel;
+ private final Session session;
+
+ @Inject
+ private I18nTranslationDataProvider(final Session session, final I18nServiceAsync i18n) {
+ this.session = session;
+ this.i18n = i18n;
+ }
+
+ public void addDataDisplay(final CellList<I18nTranslationDTO> displayList) {
+ dataProvider.addDataDisplay(displayList);
+ }
+
+ private void avance(final int increment) {
+ final I18nTranslationDTO selected = selectionModel.getSelectedObject();
+ final List<I18nTranslationDTO> list = dataProvider.getList();
+ final int pos = list.indexOf(selected);
+ final int next = pos + increment;
+ if (next >= 0 && next < list.size()) {
+ selectionModel.setSelected(list.get(next), true);
+ }
+ }
+
+ public void refreshDisplays() {
+ dataProvider.refresh();
+ }
+
+ public void selectNext() {
+ avance(1);
+ }
+
+ public void selectPrevious() {
+ avance(-1);
+ }
+
+ public void setLanguage(final I18nLanguageSimpleDTO language, final boolean toTranslate) {
+ dataProvider.getList().clear();
+ dataProvider.refresh();
+ i18n.getTranslatedLexicon(session.getUserHash(), language.getCode(), toTranslate,
+ new AsyncCallbackSimple<List<I18nTranslationDTO>>() {
+ @Override
+ public void onSuccess(final List<I18nTranslationDTO> result) {
+ dataProvider.setList(result);
+ dataProvider.refresh();
+ if (result.size() > 0) {
+ selectionModel.setSelected(result.get(0), true);
+ }
+ loadCallback.onCallback();
+ }
+ });
+ }
+
+ public void setLoadCallback(final SimpleCallback loadCallback) {
+ this.loadCallback = loadCallback;
+ }
+
+ public void setSelectionMode(final SingleSelectionModel<I18nTranslationDTO> selectionModel) {
+ this.selectionModel = selectionModel;
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -1,97 +0,0 @@
-/*
- * Copyright 2010 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.gspace.client.i18n;
-
-import java.util.List;
-
-import cc.kune.common.client.utils.SimpleCallback;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-import cc.kune.core.shared.dto.I18nTranslationDTO;
-
-import com.google.gwt.user.cellview.client.CellList;
-import com.google.gwt.view.client.ListDataProvider;
-import com.google.gwt.view.client.SingleSelectionModel;
-import com.google.inject.Inject;
-
-public class I18nTranslationProvider {
-
- private final ListDataProvider<I18nTranslationDTO> dataProvider = new ListDataProvider<I18nTranslationDTO>();
- private final I18nServiceAsync i18n;
- private SimpleCallback loadCallback;
- private SingleSelectionModel<I18nTranslationDTO> selectionModel;
- private final Session session;
-
- @Inject
- private I18nTranslationProvider(final Session session, final I18nServiceAsync i18n) {
- this.session = session;
- this.i18n = i18n;
- }
-
- public void addDataDisplay(final CellList<I18nTranslationDTO> displayList) {
- dataProvider.addDataDisplay(displayList);
- }
-
- private void avance(final int increment) {
- final I18nTranslationDTO selected = selectionModel.getSelectedObject();
- final List<I18nTranslationDTO> list = dataProvider.getList();
- final int pos = list.indexOf(selected);
- final int next = pos + increment;
- if (next >= 0 && next < list.size()) {
- selectionModel.setSelected(list.get(next), true);
- }
- }
-
- public void refreshDisplays() {
- dataProvider.refresh();
- }
-
- public void selectNext() {
- avance(1);
- }
-
- public void selectPrevious() {
- avance(-1);
- }
-
- public void setLanguage(final I18nLanguageSimpleDTO language, final boolean toTranslate) {
- dataProvider.getList().clear();
- dataProvider.refresh();
- i18n.getTranslatedLexicon(session.getUserHash(), language.getCode(), toTranslate,
- new AsyncCallbackSimple<List<I18nTranslationDTO>>() {
- @Override
- public void onSuccess(final List<I18nTranslationDTO> result) {
- dataProvider.setList(result);
- dataProvider.refresh();
- if (result.size() > 0) {
- selectionModel.setSelected(result.get(0), true);
- }
- loadCallback.onCallback();
- }
- });
- }
-
- public void setLoadCallback(final SimpleCallback loadCallback) {
- this.loadCallback = loadCallback;
- }
-
- public void setSelectionMode(final SingleSelectionModel<I18nTranslationDTO> selectionModel) {
- this.selectionModel = selectionModel;
- }
-
-}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -46,7 +46,7 @@
private static Binder uiBinder = GWT.create(Binder.class);
@UiField
PushButton copyIcon;
- private I18nTranslationProvider dataProvider;
+ private I18nTranslationDataProvider dataProvider;
private I18nTranslationService i18n;
private I18nTranslationDTO item;
@UiField
@@ -58,14 +58,13 @@
Label noteForTranslators;
@UiField
Label noteForTranslatorsTittle;
+ private I18nTraslatorSaver saver;
@UiField
Label toLanguageTitle;
@UiField
Label toTranslate;
-
@UiField
Label toTranslateTitle;
-
@UiField
TextArea translation;
@@ -108,11 +107,11 @@
void handleKeyPress(final KeyPressEvent event) {
if (event.isAltKeyDown()
&& event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) {
- // cellList.fireEvent(event);
+ saveIfNeeded();
dataProvider.selectPrevious();
} else if (event.isAltKeyDown()
&& event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) {
- // cellList.fireEvent(event);
+ saveIfNeeded();
dataProvider.selectNext();
} else if (event.isAltKeyDown() && event.getCharCode() == 'v') {
copyTranslation();
@@ -121,9 +120,11 @@
}
}
- public void init(final I18nTranslationProvider dataProvider, final I18nTranslationService i18n) {
+ public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
+ final I18nTraslatorSaver saver) {
this.dataProvider = dataProvider;
this.i18n = i18n;
+ this.saver = saver;
Tooltip.to(copyIcon, i18n.t("Copy the text to translate"));
toTranslateTitle.setText(i18n.t("translate this:"));
noteForTranslatorsTittle.setText(i18n.t("Notes:"));
@@ -131,7 +132,16 @@
keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved"));
}
+ private void saveIfNeeded() {
+ keyboardTimer.cancel();
+ final String newTranslation = translation.getText();
+ if (item != null && !item.getText().equals(newTranslation)) {
+ saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
+ }
+ }
+
public void setInfo(final I18nTranslationDTO item) {
+ saveIfNeeded();
this.item = item;
final String[] splitted = splitNT(item.getTrKey());
toTranslate.setText(splitted[0]);
@@ -160,10 +170,12 @@
}
private void update() {
+ keyboardTimer.cancel();
if (item != null) {
item.setText(translation.getText());
item.setDirty(true);
dataProvider.refreshDisplays();
+ saveIfNeeded();
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -24,7 +24,7 @@
@Inject
public I18nTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
- final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
+ final I18nTranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
super(TRANSLATOR_PANEL_ID, "", false, false, images, TRANSLATOR_ERROR_ID, i18n.t("Close"), null,
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -3,18 +3,14 @@
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView;
import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
import com.gwtplatform.mvp.client.proxy.Proxy;
@@ -26,53 +22,30 @@
public interface I18nTranslatorProxy extends Proxy<I18nTranslatorPresenter> {
}
- public interface I18nTranslatorView extends AbstractTabbedDialogView {
- void hide();
+ public interface I18nTranslatorView extends
+ cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView {
void init();
void setLanguage(I18nLanguageSimpleDTO currentLanguage);
- void show();
-
}
private final I18nUITranslationService i18n;
- private final Provider<I18nServiceAsync> i18nService;
private final Session session;
@Inject
public I18nTranslatorPresenter(final EventBus eventBus, final I18nTranslatorProxy proxy,
- final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view,
- final Provider<I18nServiceAsync> i18nService) {
+ final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view) {
super(eventBus, view, proxy);
this.session = session;
this.i18n = i18n;
- this.i18nService = i18nService;
}
public void doClose() {
getView().hide();
}
- public void doTranslation(final String id, final String trKey, final String translation) {
- NotifyUser.showProgress(i18n.t("Saving"));
- i18nService.get().setTranslation(session.getUserHash(), id, translation,
- new AsyncCallback<String>() {
- @Override
- public void onFailure(final Throwable caught) {
- NotifyUser.hideProgress();
- NotifyUser.error(i18n.t("Server error saving the translation"));
- }
-
- @Override
- public void onSuccess(final String result) {
- NotifyUser.hideProgress();
- i18n.setTranslationAfterSave(trKey, result);
- }
- });
- }
-
@Override
public I18nTranslatorView getView() {
return (I18nTranslatorView) super.getView();
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,29 @@
+/*
+ *
+ * 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.gspace.client.i18n;
+
+import cc.kune.common.client.ProvidersCollection;
+
+import com.google.inject.Singleton;
+
+@SuppressWarnings("serial")
+@Singleton
+public class I18nTranslatorTabsCollection extends ProvidersCollection {
+}
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,46 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.Singleton;
+
+@Singleton
+public class I18nTraslatorSaver {
+ private final I18nUITranslationService i18n;
+ private final Provider<I18nServiceAsync> i18nService;
+ private final Session session;
+
+ @Inject
+ public I18nTraslatorSaver(final Session session, final Provider<I18nServiceAsync> i18nService,
+ final I18nUITranslationService i18n) {
+ this.session = session;
+ this.i18nService = i18nService;
+ this.i18n = i18n;
+ }
+
+ public void save(final I18nTranslationDTO item) {
+ NotifyUser.showProgress(i18n.t("Saving"));
+ i18nService.get().setTranslation(session.getUserHash(), item.getId(), item.getText(),
+ new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ NotifyUser.hideProgress();
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
+
+ @Override
+ public void onSuccess(final String result) {
+ NotifyUser.hideProgress();
+ i18n.setTranslationAfterSave(item.getTrKey(), result);
+ }
+ });
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -1,29 +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.gspace.client.i18n;
-
-import cc.kune.common.client.ProvidersCollection;
-
-import com.google.inject.Singleton;
-
-@SuppressWarnings("serial")
-@Singleton
-public class TranslatorTabsCollection extends ProvidersCollection {
-}
1
0
Author: vjrj_
Date: 2011-09-07 15:44:13 +0200 (Wed, 07 Sep 2011)
New Revision: 1512
Added:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/
Modified:
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java
trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java
trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java
Log:
CLOSED - # 124: New group creation sometime don't go to group's home
http://kune.ourproject.org/issues/ticket/124
CLOSED - # 39: Dialogs height must be some percent of Client height to prevent overflows
http://kune.ourproject.org/issues/ticket/39
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -41,7 +41,7 @@
private final String dialogId;
private String firstButtonId;
private String firstButtonTitle;
- private String height = "70%";
+ private String height;
private String icon;
private final boolean modal;
private String sndButtonId;
@@ -83,8 +83,7 @@
}
public Builder height(final int height) {
- // FIXME
- this.height = String.valueOf(height); // + "px";
+ this.height = String.valueOf(height + "px");
return this;
}
@@ -119,8 +118,7 @@
}
public Builder width(final int width) {
- // FIXME
- this.width = String.valueOf(width); // + "px";
+ this.width = String.valueOf(width + "px");
return this;
}
@@ -154,7 +152,7 @@
super.getTitleText().setText(builder.title);
setWidthImpl(builder.width);
setHeightImpl(builder.height);
- setSizes();
+ recalculateSize();
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(final ResizeEvent event) {
@@ -175,6 +173,10 @@
popup.hide();
}
+ public void recalculateSize() {
+ setSizes(Window.getClientWidth(), Window.getClientHeight());
+ }
+
private void setCloseBtn(final boolean closeBtn) {
setCloseBtnVisible(closeBtn);
if (closeBtn) {
@@ -205,7 +207,7 @@
private void setHeightImpl(final String height) {
this.height = height;
- setSizes();
+ recalculateSize();
}
@Override
@@ -214,10 +216,6 @@
setHeightImpl(height);
}
- private void setSizes() {
- setSizes(Window.getClientWidth(), Window.getClientHeight());
- }
-
private void setSizes(final int windowWidth, final int windowHeight) {
String newWidth = null;
String newHeight = null;
@@ -250,7 +248,7 @@
private void setWidthImpl(final String width) {
this.width = width;
- setSizes();
+ recalculateSize();
}
public void showCentered() {
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -23,9 +23,12 @@
import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.common.client.notify.NotifyLevelImages;
import cc.kune.common.client.ui.dialogs.BasicTopDialog;
+import cc.kune.common.client.ui.dialogs.BasicTopDialog.Builder;
import cc.kune.common.client.ui.dialogs.MessageToolbar;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
@@ -40,15 +43,17 @@
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.TabLayoutPanel;
import com.google.gwt.user.client.ui.Widget;
+import com.gwtplatform.mvp.client.ViewImpl;
-public abstract class AbstractTabbedDialogPanel implements AbstractTabbedDialogView {
+public abstract class AbstractTabbedDialogPanel extends ViewImpl implements AbstractTabbedDialogView {
+ private static final int NO_SIZE = -1;
private final boolean autohide;
private BasicTopDialog dialog;
private final String dialogId;
private final String errorLabelId;
private final String firstBtnId;
private final String firstBtnTitle;
- private int height;
+ private int height = NO_SIZE;
private ImageResource icon;
private String iconCls;
private final NotifyLevelImages images;
@@ -59,7 +64,7 @@
private final String sndBtnTitle;
private TabLayoutPanel tabPanel;
private String title;
- private int width;
+ private int width = NO_SIZE;
public AbstractTabbedDialogPanel(final String dialogId, final String title, final boolean modal,
final boolean autoHide, final NotifyLevelImages images, final String errorLabelId,
@@ -82,8 +87,8 @@
final NotifyLevelImages images, final String errorLabelId, final String firstBtnTitle,
final String firstBtnId, final String sndBtnTitle, final String sndBtnId,
final ProvidersCollection provCollection) {
- this(dialogId, title, modal, false, images, errorLabelId, firstBtnTitle, firstBtnId, sndBtnTitle,
- sndBtnId, provCollection);
+ this(dialogId, title, NO_SIZE, NO_SIZE, modal, false, images, errorLabelId, firstBtnTitle,
+ firstBtnId, sndBtnTitle, sndBtnId, provCollection);
}
public AbstractTabbedDialogPanel(final String dialogId, final String title, final int width,
@@ -124,23 +129,42 @@
}
private void createDialog() {
- dialog = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(true).width(
- String.valueOf(width + 20)).height(String.valueOf(height + 20)).icon(iconCls).firstButtonId(
- firstBtnId).firstButtonTitle(firstBtnTitle).sndButtonId(dialogId).sndButtonTitle(sndBtnTitle).sndButtonId(
- sndBtnId).title(title).build();
+ final Builder builder = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(true).icon(
+ iconCls).firstButtonId(firstBtnId).firstButtonTitle(firstBtnTitle).sndButtonId(dialogId).sndButtonTitle(
+ sndBtnTitle).sndButtonId(sndBtnId).title(title);
+ if (width != NO_SIZE) {
+ builder.width(String.valueOf(width + 20) + "px");
+ }
+ if (height != NO_SIZE) {
+ builder.height(String.valueOf(height + 20) + "px");
+ }
+ dialog = builder.build();
if (icon != null) {
dialog.setTitleIcon(icon);
}
messageErrorBar = new MessageToolbar(images, errorLabelId);
tabPanel = new TabLayoutPanel(25, Unit.PX);
+ tabPanel.addStyleName("oc-noselec");
tabPanel.addSelectionHandler(new SelectionHandler<Integer>() {
@Override
public void onSelection(final SelectionEvent<Integer> event) {
+ // dialog.recalculateSize();
dialog.showCentered();
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ dialog.showCentered();
+ }
+ });
}
});
provCollection.createAll();
- tabPanel.setSize(String.valueOf(width) + "px", String.valueOf(height) + "px");
+ if (width != NO_SIZE) {
+ tabPanel.setWidth(String.valueOf(width) + "px");
+ }
+ if (height != NO_SIZE) {
+ tabPanel.setHeight(String.valueOf(height) + "px");
+ }
dialog.getInnerPanel().add(tabPanel);
tabPanel.addStyleName("k-tabpanel-aditionalpadding");
tabPanel.addStyleName("k-tabs");
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -21,12 +21,18 @@
import cc.kune.common.client.notify.NotifyLevel;
+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.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public abstract class AbstractTabbedDialogPresenter implements AbstractTabbedDialog {
+public abstract class AbstractTabbedDialogPresenter<V extends View, Proxy_ extends Proxy<?>> extends
+ Presenter<View, Proxy<?>> implements AbstractTabbedDialog {
- public interface AbstractTabbedDialogView extends IsWidget {
-
+ public interface AbstractTabbedDialogView extends View, IsWidget {
void activateTab(int index);
void addTab(IsWidget tab, IsWidget tabTitle);
@@ -44,50 +50,56 @@
void show();
}
- private AbstractTabbedDialogView view;
+ @Inject
+ public AbstractTabbedDialogPresenter(final EventBus eventBus, final AbstractTabbedDialogView view,
+ final Proxy<?> proxy) {
+ super(eventBus, view, proxy);
+ }
@Override
public void activateTab(final int index) {
- view.activateTab(index);
+ getView().activateTab(index);
}
@Override
public void addTab(final IsWidget tab, final IsWidget tabTitle) {
- view.addTab(tab, tabTitle);
+ getView().addTab(tab, tabTitle);
}
- public IsWidget getView() {
- return view;
+ @Override
+ public AbstractTabbedDialogView getView() {
+ return (AbstractTabbedDialogView) super.getView();
}
@Override
public void hide() {
- view.hide();
+ getView().hide();
}
@Override
public void hideMessages() {
- view.hideMessages();
+ getView().hideMessages();
}
- public void init(final AbstractTabbedDialogView view) {
- this.view = view;
+ @Override
+ public void insertTab(final IsWidget tab, final IsWidget tabTitle, final int index) {
+ getView().insertTab(tab, tabTitle, index);
}
@Override
- public void insertTab(final IsWidget tab, final IsWidget tabTitle, final int index) {
- view.insertTab(tab, tabTitle, index);
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
}
@Override
public void setErrorMessage(final String message, final NotifyLevel level) {
- view.setErrorMessage(message, level);
+ getView().setErrorMessage(message, level);
}
@Override
public void show() {
hideMessages();
- view.show();
+ getView().show();
}
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -61,12 +61,10 @@
final I18nTranslationService i18n, final MaskWidget maskWidget, final WizardListener listener) {
this.maskWidget = maskWidget;
this.listener = listener;
+ this.i18n = i18n;
final Builder dialogBuilder = new BasicTopDialog.Builder(dialogId, false, modal).width(width).height(
height).firstButtonId(cancelId).sndButtonId(finishId).title(header);
-
dialog = dialogBuilder.build();
- this.i18n = i18n;
-
dialog.setFirstBtnText(i18n.tWithNT("Cancel", "used in button"));
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-09-07 13:44:13 UTC (rev 1512)
@@ -22,7 +22,7 @@
.k-opacity80 {
kfilter: alpha(opacity =
- 80);
+ 80);
-moz-opacity: 0.80;
-khtml-opacity: 0.80;
opacity: 0.80;
@@ -30,7 +30,7 @@
.k-opacity90 {
kfilter: alpha(opacity =
- 90);
+ 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
@@ -38,7 +38,7 @@
.k-opacity95 {
kfilter: alpha(opacity =
- 95);
+ 95);
-moz-opacity: 0.95;
-khtml-opacity: 0.95;
opacity: 0.95;
@@ -47,7 +47,7 @@
.gwt-PopupPanelGlass {
background-color: #f7ebe3 !important;
kfilter: alpha(opacity =
- 68) !important;
+ 68) !important;
-moz-opacity: 0.68 !important;
-khtml-opacity: 0.68 !important;
opacity: 0.68 !important;
@@ -308,7 +308,7 @@
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
+ kfilter: alpha(opacity = 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
@@ -551,7 +551,7 @@
_border-left-color: pink;
_border-bottom-color: pink;
_border-right-color: pink;
- _filter: chroma(color = pink);
+ _filter: chroma(color = pink);
}
/* end tooltip */
@@ -707,4 +707,4 @@
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 3px;
-}
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -48,11 +48,11 @@
@Inject
public RegisterPanel(final I18nTranslationService i18n, final Session session,
final MaskWidgetView mask, final NotifyLevelImages images) {
- super(REGISTER_DIALOG, mask, i18n, i18n.t(CoreMessages.REGISTER_TITLE), true, true, true, 400, 420,
- "", i18n.t(CoreMessages.REGISTER_TITLE), REGISTER_BUTTON_ID, i18n.tWithNT("Cancel",
- "used in button"), CANCEL_BUTTON_ID, images, ERRMSG, 5);
+ super(REGISTER_DIALOG, mask, i18n, i18n.t(CoreMessages.REGISTER_TITLE), true, true, true, "",
+ i18n.t(CoreMessages.REGISTER_TITLE), REGISTER_BUTTON_ID,
+ i18n.tWithNT("Cancel", "used in button"), CANCEL_BUTTON_ID, images, ERRMSG, 5);
registerForm = new RegisterForm(i18n, session);
- registerForm.setWidth(370);
+ registerForm.setWidth(330);
registerForm.getFormPanel().setId(REGISTER_FORM);
messageErrorBar = new MessageToolbar(images, errorLabelId);
registerForm.add(messageErrorBar);
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -45,13 +45,12 @@
public SignInAbstractPanel(final String dialogId, final MaskWidgetView mask,
final I18nTranslationService i18n, final String title, final boolean autohide,
- final boolean modal, final boolean autoscroll, final int width, final int heigth,
- final String icon, final String firstButtonTitle, final String firstButtonId,
- final String cancelButtonTitle, final String cancelButtonId, final NotifyLevelImages images,
- final String errorLabelId, final int tabIndexStart) {
+ final boolean modal, final boolean autoscroll, final String icon, final String firstButtonTitle,
+ final String firstButtonId, final String cancelButtonTitle, final String cancelButtonId,
+ final NotifyLevelImages images, final String errorLabelId, final int tabIndexStart) {
- final Builder builder = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(autoscroll);
- builder.width(width).height(heigth).title(title);
+ final Builder builder = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(autoscroll).title(
+ title);
builder.icon(icon);
builder.firstButtonTitle(firstButtonTitle).firstButtonId(firstButtonId);
builder.sndButtonTitle(cancelButtonTitle).sndButtonId(cancelButtonId);
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -48,12 +48,12 @@
@Inject
public SignInPanel(final I18nTranslationService i18n, final MaskWidgetView mask,
final NotifyLevelImages images) {
- super(SIGNIN_DIALOG, mask, i18n, i18n.t(CoreMessages.SIGN_IN_TITLE), true, true, true, 360, 430, "",
+ super(SIGNIN_DIALOG, mask, i18n, i18n.t(CoreMessages.SIGN_IN_TITLE), true, true, true, "",
i18n.t(CoreMessages.SIGN_IN_TITLE), SIGN_IN_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"),
CANCEL_BUTTON_ID, images, ERROR_MSG, 102);
signInForm = new SignInForm(i18n);
- signInForm.setWidth(370);
+ signInForm.setWidth(330);
signInForm.add(createNoAccountRegister());
messageErrorBar = new MessageToolbar(images, errorLabelId);
signInForm.add(messageErrorBar);
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -80,8 +80,8 @@
@Inject
public NewGroupPanel(final I18nTranslationService i18n, final NotifyLevelImages img,
final MaskWidgetView mask) {
- final Builder builder = new BasicTopDialog.Builder(NEWGROUP_WIZARD, false, true).autoscroll(true).height(
- 340).title(i18n.t("Register a new group"));
+ final Builder builder = new BasicTopDialog.Builder(NEWGROUP_WIZARD, false, true).autoscroll(true).title(
+ i18n.t("Register a new group"));
builder.icon("k-newgroup-icon");
builder.firstButtonTitle(i18n.t("Register")).firstButtonId(REGISTER_BUTTON);
builder.sndButtonTitle(i18n.t("Cancel")).sndButtonId(CANCEL_BUTTON);
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -32,11 +32,11 @@
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.GroupType;
import cc.kune.core.shared.dto.LicenseDTO;
import cc.kune.core.shared.dto.ReservedWordsRegistryDTO;
+import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.options.GroupOptions;
@@ -174,7 +174,7 @@
final GroupDTO group = new GroupDTO(shortName, longName, getTypeOfGroup());
group.setDefaultLicense(license);
- final AsyncCallback<StateToken> callback = new AsyncCallback<StateToken>() {
+ final AsyncCallback<StateAbstractDTO> callback = new AsyncCallback<StateAbstractDTO>() {
@Override
public void onFailure(final Throwable caught) {
if (caught instanceof GroupShortNameInUseException) {
@@ -195,12 +195,13 @@
}
@Override
- public void onSuccess(final StateToken token) {
+ public void onSuccess(final StateAbstractDTO state) {
getView().hide();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
- stateManager.gotoStateToken(token);
+ stateManager.setRetrievedStateAndGo(state);
+ NotifyUser.info("Test", true);
groupOptions.showTooltip();
}
});
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -39,7 +39,7 @@
GroupDTO clearGroupBackImage(String userHash, StateToken token);
- StateToken createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags,
+ StateAbstractDTO createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags,
String[] enabledTools) throws DefaultException;
GroupDTO getGroup(String userHash, StateToken token);
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -39,7 +39,7 @@
void clearGroupBackImage(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback);
void createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags,
- String[] enabledTools, AsyncCallback<StateToken> callback);
+ String[] enabledTools, AsyncCallback<StateAbstractDTO> callback);
void getGroup(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback);
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -49,7 +49,7 @@
public AboutKuneDialog(final I18nTranslationService i18n) {
dialog = new BasicTopDialog.Builder(ABOUT_KUNE_ID, true, true).title(i18n.t("About Kune")).autoscroll(
false).firstButtonTitle(i18n.t("Ok")).firstButtonId(ABOUT_KUNE_BTN_ID).tabIndexStart(1).height(
- "300px").width("400px").build();
+ "300px").width("410px").build();
dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -81,6 +81,11 @@
signOut();
}
});
+ check(new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ }
+ });
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -99,7 +99,7 @@
@Override
@Authenticated
@Transactional(rollbackOn = DefaultException.class)
- public StateToken createNewGroup(final String userHash, final GroupDTO groupDTO,
+ public StateAbstractDTO createNewGroup(final String userHash, final GroupDTO groupDTO,
final String publicDesc, final String tags, final String[] enabledTools) throws DefaultException {
final User user = getUserLogged();
reserverdWords.check(groupDTO.getShortName(), groupDTO.getLongName());
@@ -108,7 +108,7 @@
// This is necessary?
contentManager.save(newGroup.getDefaultContent());
// contentManager.setTags(user, defContentId, tags);
- return newGroup.getDefaultContent().getStateToken();
+ return contentRPC.getContent(userHash, newGroup.getDefaultContent().getStateToken());
};
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -24,10 +24,10 @@
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.RenameAction;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPanel;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPresenter;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPresenter.I18nNewTranslatorView;
import cc.kune.gspace.client.i18n.I18nTranslator;
+import cc.kune.gspace.client.i18n.I18nTranslatorPanel;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
import cc.kune.gspace.client.i18n.TranslatorTabsCollection;
import cc.kune.gspace.client.licensewizard.LicenseChangeAction;
@@ -47,12 +47,12 @@
import cc.kune.gspace.client.options.GroupOptionsCollection;
import cc.kune.gspace.client.options.GroupOptionsPanel;
import cc.kune.gspace.client.options.GroupOptionsPresenter;
-import cc.kune.gspace.client.options.GroupOptionsView;
+import cc.kune.gspace.client.options.GroupOptionsPresenter.GroupOptionsView;
import cc.kune.gspace.client.options.UserOptions;
import cc.kune.gspace.client.options.UserOptionsCollection;
import cc.kune.gspace.client.options.UserOptionsPanel;
import cc.kune.gspace.client.options.UserOptionsPresenter;
-import cc.kune.gspace.client.options.UserOptionsView;
+import cc.kune.gspace.client.options.UserOptionsPresenter.UserOptionsView;
import cc.kune.gspace.client.options.general.GroupOptGeneral;
import cc.kune.gspace.client.options.general.GroupOptGeneralPanel;
import cc.kune.gspace.client.options.general.GroupOptGeneralPresenter;
@@ -143,10 +143,13 @@
s(NoHomePageViewer.class);
+ bindPresenter(GroupOptionsPresenter.class, GroupOptionsView.class, GroupOptionsPanel.class,
+ GroupOptionsPresenter.GroupOptionsProxy.class);
s(GroupOptions.class, GroupOptionsPresenter.class);
- s(GroupOptionsView.class, GroupOptionsPanel.class);
+
+ bindPresenter(UserOptionsPresenter.class, UserOptionsView.class, UserOptionsPanel.class,
+ UserOptionsPresenter.UserOptionsProxy.class);
s(UserOptions.class, UserOptionsPresenter.class);
- s(UserOptionsView.class, UserOptionsPanel.class);
s(UserOptionsCollection.class);
s(GroupOptionsCollection.class);
@@ -193,8 +196,9 @@
s(LicenseChangeAction.class);
// I18nTranslator
- s(I18nNewTranslatorView.class, I18nNewTranslatorPanel.class);
- s(I18nTranslator.class, I18nNewTranslatorPresenter.class);
+ bindPresenter(I18nTranslatorPresenter.class, I18nTranslatorView.class, I18nTranslatorPanel.class,
+ I18nTranslatorPresenter.I18nTranslatorProxy.class);
+ s(I18nTranslator.class, I18nTranslatorPresenter.class);
s(SiteOptionsI18nTranslatorAction.class);
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -20,7 +20,10 @@
package cc.kune.gspace.client;
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
import cc.kune.gspace.client.licensewizard.LicenseWizardPresenter;
+import cc.kune.gspace.client.options.GroupOptionsPresenter;
+import cc.kune.gspace.client.options.UserOptionsPresenter;
import cc.kune.gspace.client.tags.TagsSummaryPresenter;
import cc.kune.gspace.client.tool.ContentViewerSelector;
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter;
@@ -41,8 +44,12 @@
AsyncProvider<FolderViewerPresenter> getFolderViewerPresenter();
+ AsyncProvider<GroupOptionsPresenter> getGroupOptionsPresenter();
+
GSpaceParts getGSpaceParts();
+ AsyncProvider<I18nTranslatorPresenter> getI18nTranslatorPresenter();
+
AsyncProvider<LicenseWizardPresenter> getLicenseWizardPresenter();
AsyncProvider<SitebarSearchPresenter> getSitebarSearchPresenter();
@@ -50,4 +57,6 @@
AsyncProvider<TagsSummaryPresenter> getTagsSummaryPresenter();
AsyncProvider<ToolSelectorPresenter> getToolSelectorPresenter();
+
+ AsyncProvider<UserOptionsPresenter> getUserOptionsPresenter();
}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,71 +0,0 @@
-package cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.notify.NotifyLevelImages;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
-import cc.kune.common.client.utils.SimpleCallback;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPresenter.I18nNewTranslatorView;
-
-import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
-import com.google.inject.Inject;
-
-public class I18nNewTranslatorPanel extends AbstractTabbedDialogPanel implements I18nNewTranslatorView {
-
- private static final int HEIGHT = 280;
- private static final String TRANSLATOR_ERROR_ID = "i18n-trans-panel-error";
- private static final String TRANSLATOR_PANEL_ID = "i18n-trans-panel";
- private static final int WIDTH = 570;
- private final LanguageSelectorPanel lanSelectorPanel;
- private final I18nToTranslateGridPanel toTranslateGrid;
- private final I18nTranslatedGridPanel translatedGrid;
- private final I18nTranslateRecomendPanel transRecommend;
-
- @Inject
- public I18nNewTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
- final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
- final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
- final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
- super(TRANSLATOR_PANEL_ID, "", WIDTH, HEIGHT, false, false, images, TRANSLATOR_ERROR_ID,
- i18n.t("Close"), null, null, null, transGroup);
- setIcon(res.language());
- this.lanSelectorPanel = lanSelectorPanel;
- lanSelectorPanel.addChangeListener(new SimpleCallback() {
- @Override
- public void onCallback() {
- setLanguage(lanSelectorPanel.getLanguage());
- }
- });
- this.toTranslateGrid = toTranslateGrid;
- this.translatedGrid = translatedGrid;
- this.transRecommend = transRecommend;
- transRecommend.setSize(WIDTH, HEIGHT);
- super.setIconCls("k-options-icon");
- super.setTitle(i18n.t("Help to translate kune"));
- super.getInnerPanel().insert(lanSelectorPanel, 0);
- lanSelectorPanel.setLangTitle(i18n.t("to"));
- lanSelectorPanel.setLabelAlign(LabelAlign.RIGHT);
- lanSelectorPanel.setLangSeparator(":");
- }
-
- @Override
- public void init() {
- addTab(toTranslateGrid, toTranslateGrid.getTabTitle());
- addTab(translatedGrid, translatedGrid.getTabTitle());
- addTab(transRecommend, transRecommend.getTabTitle());
- }
-
- @Override
- public void setLanguage(final I18nLanguageSimpleDTO language) {
- lanSelectorPanel.setLanguage(language);
- toTranslateGrid.setLanguage(language);
- translatedGrid.setLanguage(language);
- }
-
- @Override
- public void show() {
- super.show();
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,96 +0,0 @@
-package cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.I18nLanguageDTO;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.IsWidget;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class I18nNewTranslatorPresenter extends AbstractTabbedDialogPresenter implements
- AbstractTabbedDialog, I18nTranslator {
-
- public interface I18nNewTranslatorView extends AbstractTabbedDialogView {
-
- @Override
- void hide();
-
- void init();
-
- void setLanguage(I18nLanguageSimpleDTO currentLanguage);
-
- @Override
- void show();
- }
- private final I18nUITranslationService i18n;
- private final Provider<I18nServiceAsync> i18nService;
- private final Session session;
- private I18nNewTranslatorView view;
-
- @Inject
- public I18nNewTranslatorPresenter(final Session session, final I18nUITranslationService i18n,
- final I18nNewTranslatorView view, final Provider<I18nServiceAsync> i18nService) {
- this.session = session;
- this.i18n = i18n;
- this.i18nService = i18nService;
- init(view);
- }
-
- public void doClose() {
- view.hide();
- }
-
- public void doTranslation(final String id, final String trKey, final String translation) {
- NotifyUser.showProgress(i18n.t("Saving"));
- i18nService.get().setTranslation(session.getUserHash(), id, translation,
- new AsyncCallback<String>() {
- @Override
- public void onFailure(final Throwable caught) {
- NotifyUser.hideProgress();
- NotifyUser.error(i18n.t("Server error saving the translation"));
- }
-
- @Override
- public void onSuccess(final String result) {
- NotifyUser.hideProgress();
- i18n.setTranslationAfterSave(trKey, result);
- }
- });
- }
-
- @Override
- public IsWidget getView() {
- return view;
- }
-
- @Override
- public void hide() {
- view.hide();
- }
-
- public void init(final I18nNewTranslatorView view) {
- super.init(view);
- this.view = view;
- view.init();
- }
-
- @Override
- public void show() {
- NotifyUser.showProgressLoading();
- if (session.isLogged()) {
- final I18nLanguageDTO userLang = session.getCurrentLanguage();
- view.setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
- view.show();
- } else {
- NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
- }
- NotifyUser.hideProgress();
- }
-}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-07 13:44:13 UTC (rev 1512)
@@ -50,17 +50,25 @@
width: 180px;
height: 95px;
border: 1px dashed #BBBBBB;
+ }
+
+ div.toTranslate {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 3px;
}
+
+ .toTranlateLabel {
+ height: 95px !important;
+ overflow-y: scroll;
+ }
</ui:style>
<g:FlowPanel addStyleNames="{style.table}">
<g:FlowPanel addStyleNames="{style.row}">
<g:Label ui:field="toTranslateTitle" addStyleNames="{style.titles} {style.cell}"/>
<g:FlowPanel addStyleNames="{style.cell}" styleName="{style.toTranslate}">
- <g:Label ui:field="toTranslate"/>
+ <g:Label ui:field="toTranslate" styleName="{style.toTranlateLabel}"/>
</g:FlowPanel>
<g:Label addStyleNames="{style.row}"/>
</g:FlowPanel>
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java (from rev 1510, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -0,0 +1,71 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyLevelImages;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
+import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
+
+import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
+import com.google.inject.Inject;
+
+public class I18nTranslatorPanel extends AbstractTabbedDialogPanel implements I18nTranslatorView {
+
+ private static final int HEIGHT = 280;
+ private static final String TRANSLATOR_ERROR_ID = "i18n-trans-panel-error";
+ private static final String TRANSLATOR_PANEL_ID = "i18n-trans-panel";
+ private static final int WIDTH = 570;
+ private final LanguageSelectorPanel lanSelectorPanel;
+ private final I18nToTranslateGridPanel toTranslateGrid;
+ private final I18nTranslatedGridPanel translatedGrid;
+ private final I18nTranslateRecomendPanel transRecommend;
+
+ @Inject
+ public I18nTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
+ final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
+ final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
+ final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
+ super(TRANSLATOR_PANEL_ID, "", false, false, images, TRANSLATOR_ERROR_ID, i18n.t("Close"), null,
+ null, null, transGroup);
+ setIcon(res.language());
+ this.lanSelectorPanel = lanSelectorPanel;
+ lanSelectorPanel.addChangeListener(new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ setLanguage(lanSelectorPanel.getLanguage());
+ }
+ });
+ this.toTranslateGrid = toTranslateGrid;
+ this.translatedGrid = translatedGrid;
+ this.transRecommend = transRecommend;
+ transRecommend.setSize(WIDTH, HEIGHT);
+ super.setIconCls("k-options-icon");
+ super.setTitle(i18n.t("Help to translate kune"));
+ super.getInnerPanel().insert(lanSelectorPanel, 0);
+ lanSelectorPanel.setLangTitle(i18n.t("to"));
+ lanSelectorPanel.setLabelAlign(LabelAlign.RIGHT);
+ lanSelectorPanel.setLangSeparator(":");
+ }
+
+ @Override
+ public void init() {
+ addTab(toTranslateGrid, toTranslateGrid.getTabTitle());
+ addTab(translatedGrid, translatedGrid.getTabTitle());
+ addTab(transRecommend, transRecommend.getTabTitle());
+ }
+
+ @Override
+ public void setLanguage(final I18nLanguageSimpleDTO language) {
+ lanSelectorPanel.setLanguage(language);
+ toTranslateGrid.setLanguage(language);
+ translatedGrid.setLanguage(language);
+ }
+
+ @Override
+ public void show() {
+ super.show();
+ }
+
+}
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java (from rev 1509, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -0,0 +1,104 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nLanguageDTO;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+
+public class I18nTranslatorPresenter extends
+ AbstractTabbedDialogPresenter<I18nTranslatorView, I18nTranslatorPresenter.I18nTranslatorProxy>
+ implements AbstractTabbedDialog, I18nTranslator {
+
+ @ProxyCodeSplit
+ public interface I18nTranslatorProxy extends Proxy<I18nTranslatorPresenter> {
+ }
+
+ public interface I18nTranslatorView extends AbstractTabbedDialogView {
+ void hide();
+
+ void init();
+
+ void setLanguage(I18nLanguageSimpleDTO currentLanguage);
+
+ void show();
+
+ }
+
+ private final I18nUITranslationService i18n;
+ private final Provider<I18nServiceAsync> i18nService;
+ private final Session session;
+
+ @Inject
+ public I18nTranslatorPresenter(final EventBus eventBus, final I18nTranslatorProxy proxy,
+ final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view,
+ final Provider<I18nServiceAsync> i18nService) {
+ super(eventBus, view, proxy);
+ this.session = session;
+ this.i18n = i18n;
+ this.i18nService = i18nService;
+ }
+
+ public void doClose() {
+ getView().hide();
+ }
+
+ public void doTranslation(final String id, final String trKey, final String translation) {
+ NotifyUser.showProgress(i18n.t("Saving"));
+ i18nService.get().setTranslation(session.getUserHash(), id, translation,
+ new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ NotifyUser.hideProgress();
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
+
+ @Override
+ public void onSuccess(final String result) {
+ NotifyUser.hideProgress();
+ i18n.setTranslationAfterSave(trKey, result);
+ }
+ });
+ }
+
+ @Override
+ public I18nTranslatorView getView() {
+ return (I18nTranslatorView) super.getView();
+ }
+
+ @Override
+ public void hide() {
+ getView().hide();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+ getView().init();
+ }
+
+ @Override
+ public void show() {
+ NotifyUser.showProgressLoading();
+ if (session.isLogged()) {
+ final I18nLanguageDTO userLang = session.getCurrentLanguage();
+ getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
+ getView().show();
+ } else {
+ NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
+ }
+ NotifyUser.hideProgress();
+ }
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -34,29 +34,24 @@
@Singleton
public class SiteOptionsI18nTranslatorAction extends AbstractExtendedAction {
private I18nTranslator translator;
- private final Provider<I18nNewTranslatorPanel> translatorPanel;
- private final Provider<I18nNewTranslatorPresenter> translatorPresenter;
+ private final Provider<I18nTranslator> translatorProv;
@Inject
public SiteOptionsI18nTranslatorAction(final I18nTranslationService i18n, final CoreResources img,
- final Provider<I18nNewTranslatorPresenter> translatorPresenter,
- final Provider<I18nNewTranslatorPanel> translatorPanel, final SitebarActionsPresenter siteOptions) {
+ final Provider<I18nTranslator> translatorProv, final SitebarActionsPresenter siteOptions) {
super();
- this.translatorPresenter = translatorPresenter;
- this.translatorPanel = translatorPanel;
+ this.translatorProv = translatorProv;
putValue(Action.NAME, i18n.t("Help with the translation"));
putValue(Action.SMALL_ICON, img.language());
MenuItemDescriptor.build(siteOptions.getOptionsMenu(), this);
- // item.setPosition(1);
}
@Override
public void actionPerformed(final ActionEvent event) {
if (translator == null) {
- final I18nNewTranslatorPresenter presenter = translatorPresenter.get();
- presenter.init(translatorPanel.get());
- translator = presenter;
+ translator = translatorProv.get();
}
translator.show();
+ // item.setPosition(1);
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -40,7 +40,7 @@
@Inject
public LicenseWizardPanel(final MaskWidget maskWidget, final I18nTranslationService i18n,
final CoreResources res) {
- super(LIC_WIZ_DIALOG, i18n.t("License wizard"), false, false, WIDTH, null, BACK_BTN_ID, NEXT_BTN_ID,
+ super(LIC_WIZ_DIALOG, i18n.t("License wizard"), true, false, WIDTH, null, BACK_BTN_ID, NEXT_BTN_ID,
FINISH_BTN_ID, CANCEL_BTN_ID, CLOSE_BTN_ID, i18n, maskWidget);
super.setFinishText(i18n.t("Select"));
super.setIcon(res.copyleft());
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -25,6 +25,7 @@
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.GroupOptionsPresenter.GroupOptionsView;
import com.google.inject.Inject;
@@ -37,8 +38,8 @@
@Inject
public GroupOptionsPanel(final EntityHeader entityHeader, final I18nTranslationService i18n,
final NotifyLevelImages images, final GroupOptionsCollection entityOptionsGroup) {
- super(GROUP_OP_PANEL_ID, "", WIDTH, HEIGHT + 80, false, false, images, GROUP_OPTIONS_ERROR_ID,
- i18n.t("Close"), null, null, null, entityOptionsGroup);
+ super(GROUP_OP_PANEL_ID, "", false, false, images, GROUP_OPTIONS_ERROR_ID, i18n.t("Close"), null,
+ null, null, entityOptionsGroup);
this.entityHeader = entityHeader;
super.setIconCls("k-options-icon");
super.setTitle(i18n.t(CoreMessages.GROUP_OPTIONS_DIALOG_TITLE));
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -23,6 +23,7 @@
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
@@ -33,26 +34,41 @@
import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.GroupOptionsPresenter.GroupOptionsView;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
-public class GroupOptionsPresenter extends AbstractTabbedDialogPresenter implements GroupOptions {
+public class GroupOptionsPresenter extends
+ AbstractTabbedDialogPresenter<GroupOptionsView, GroupOptionsPresenter.GroupOptionsProxy> implements
+ GroupOptions {
+
+ @ProxyCodeSplit
+ public interface GroupOptionsProxy extends Proxy<GroupOptionsPresenter> {
+ }
+
+ public interface GroupOptionsView extends EntityOptionsView {
+ void addAction(GuiActionDescrip descriptor);
+ }
+
public static final String GROUP_OPTIONS_ICON = "k-eop-icon";
private final I18nTranslationService i18n;
private final CoreResources img;
private ButtonDescriptor prefsItem;
private final Session session;
private final StateManager stateManager;
- private GroupOptionsView view;
@Inject
- public GroupOptionsPresenter(final StateManager stateManager, final Session session,
- final I18nTranslationService i18n, final CoreResources img, final GroupOptionsView view) {
+ public GroupOptionsPresenter(final EventBus eventBus, final GroupOptionsProxy proxy,
+ final StateManager stateManager, final Session session, final I18nTranslationService i18n,
+ final CoreResources img, final GroupOptionsView view) {
+ super(eventBus, view, proxy);
this.stateManager = stateManager;
this.session = session;
this.i18n = i18n;
this.img = img;
- init(view);
}
private void createActions() {
@@ -72,12 +88,17 @@
prefsItem.setId(GROUP_OPTIONS_ICON);
prefsItem.withToolTip(i18n.t("Set your group preferences here"));
prefsItem.setVisible(false);
- view.addAction(prefsItem);
+ getView().addAction(prefsItem);
}
- private void init(final GroupOptionsView view) {
- super.init(view);
- this.view = view;
+ @Override
+ public GroupOptionsView getView() {
+ return (GroupOptionsView) super.getView();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
createActions();
stateManager.onStateChanged(true, new StateChangedHandler() {
@Override
@@ -86,7 +107,7 @@
if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
prefsItem.setVisible(true);
} else {
- view.hide();
+ getView().hide();
prefsItem.setVisible(false);
}
}
@@ -94,7 +115,7 @@
session.onUserSignOut(false, new UserSignOutHandler() {
@Override
public void onUserSignOut(final UserSignOutEvent event) {
- view.hide();
+ getView().hide();
}
});
}
Deleted: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -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.gspace.client.options;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-
-public interface GroupOptionsView extends EntityOptionsView {
-
- void addAction(GuiActionDescrip descriptor);
-
-}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -24,8 +24,8 @@
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.UserOptionsPresenter.UserOptionsView;
-import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
public class UserOptionsPanel extends AbstractTabbedDialogPanel implements UserOptionsView {
@@ -33,15 +33,11 @@
public static final String USER_OP_PANEL_ID = "k-uop-diagpan";
public static final String USER_OPTIONS_ERROR_ID = "k-uop-err-mess";
- private HandlerRegistration addClickHandler;
- private final UserOptionsCollection userPreferencesGroup;
-
@Inject
public UserOptionsPanel(final EntityHeader entityHeader, final I18nTranslationService i18n,
final NotifyLevelImages images, final UserOptionsCollection userOptionsGroup) {
- super(USER_OP_PANEL_ID, "", WIDTH, HEIGHT + 80, false, images, USER_OPTIONS_ERROR_ID,
- i18n.t("Close"), null, null, null, userOptionsGroup);
- this.userPreferencesGroup = userOptionsGroup;
+ super(USER_OP_PANEL_ID, "", false, images, USER_OPTIONS_ERROR_ID, i18n.t("Close"), null, null, null,
+ userOptionsGroup);
super.setIconCls("k-options-icon");
super.setTitle(i18n.t(CoreMessages.USER_OPTIONS_DIALOG_TITLE));
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -33,11 +33,24 @@
import cc.kune.core.client.state.UserSignOutEvent;
import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.UserOptionsPresenter.UserOptionsView;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
-public class UserOptionsPresenter extends AbstractTabbedDialogPresenter implements UserOptions {
+public class UserOptionsPresenter extends
+ AbstractTabbedDialogPresenter<UserOptionsView, UserOptionsPresenter.UserOptionsProxy> implements
+ UserOptions {
+ @ProxyCodeSplit
+ public interface UserOptionsProxy extends Proxy<UserOptionsPresenter> {
+ }
+
+ public interface UserOptionsView extends EntityOptionsView {
+ }
+
private final I18nTranslationService i18n;
private final CoreResources res;
private final Session session;
@@ -45,9 +58,10 @@
private final SiteUserOptions userOptions;
@Inject
- public UserOptionsPresenter(final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final CoreResources res, final SiteUserOptions userOptions,
- final UserOptionsView view) {
+ public UserOptionsPresenter(final EventBus eventBus, final UserOptionsProxy proxy,
+ final Session session, final StateManager stateManager, final I18nTranslationService i18n,
+ final CoreResources res, final SiteUserOptions userOptions, final UserOptionsView view) {
+ super(eventBus, view, proxy);
this.session = session;
this.stateManager = stateManager;
this.i18n = i18n;
@@ -56,14 +70,18 @@
session.onUserSignIn(false, new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
- view.hide();
+ getView().hide();
}
});
- init(view);
}
- private void init(final UserOptionsView view) {
- super.init(view);
+ @Override
+ public UserOptionsView getView() {
+ return (UserOptionsView) super.getView();
+ }
+
+ @Override
+ protected void onBind() {
final AbstractExtendedAction userPrefsAction = new AbstractExtendedAction() {
@Override
@@ -77,7 +95,7 @@
session.onUserSignOut(false, new UserSignOutHandler() {
@Override
public void onUserSignOut(final UserSignOutEvent event) {
- view.hide();
+ getView().hide();
}
});
userPrefsAction.putValue(Action.NAME, i18n.t("Your preferences"));
Deleted: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,24 +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.gspace.client.options;
-
-public interface UserOptionsView extends EntityOptionsView {
-
-}
1
0