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
- 1587 discussions
#236: password in url?
----------------------+------------------
Reporter: samer@… | Owner: vjrj
Type: defect | Status: new
Priority: major | Milestone:
Component: Others | Version:
Resolution: | Keywords:
Blocked By: | Blocking:
----------------------+------------------
Comment (by vjrj):
My fault (trying to fix login remember in chrome)
--
Ticket URL: <http://kune.ourproject.org/issues/ticket/236#comment:1>
kune issues <http://kune.ourproject.org/issues/>
1
0
r1817 - in trunk: . debian script src/main/java/cc/kune src/main/java/cc/kune/core/client/i18n
by Vicente J. Ruiz Jurado 01 Apr '12
by Vicente J. Ruiz Jurado 01 Apr '12
01 Apr '12
Author: vjrj_
Date: 2012-04-01 15:47:28 +0200 (Sun, 01 Apr 2012)
New Revision: 1817
Added:
trunk/script/i18n-all.sh
trunk/src/main/java/cc/kune/KuneDev.gwt.xml
trunk/src/main/java/cc/kune/KuneProd.gwt.xml
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_ca.properties
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_it.properties
Modified:
trunk/DEV-GUIDE
trunk/INSTALL
trunk/debian/changelog
trunk/pom.xml
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_fr.properties
Log:
Added some new languages and added some maven profiles (-P development or -P production) to make development faster (gwt compilation in fact)
Modified: trunk/DEV-GUIDE
===================================================================
--- trunk/DEV-GUIDE 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/DEV-GUIDE 2012-04-01 13:47:28 UTC (rev 1817)
@@ -133,7 +133,7 @@
===GWT's Hosted Mode===
Before run hosted mode for the first time compile once with:
- mvn compile -Dliquibase.should.run=false && mvn gwt:compile
+ mvn compile -Dliquibase.should.run=false && mvn gwt:compile -P development
and deploy with:
script/deploy_gwt.sh
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/INSTALL 2012-04-01 13:47:28 UTC (rev 1817)
@@ -79,7 +79,7 @@
Compile with maven:
# (in the trunk directory)
- mvn compile -Dliquibase.should.run=false && mvn gwt:compile
+ mvn compile -Dliquibase.should.run=false && mvn gwt:compile -P development
NOTE: If you change the previous db passwords after this compiling, you have to repeat the "mvn compile" because if not, probably you will use an old kune.properties. See TROUBLESHOOT for more details.
@@ -180,18 +180,22 @@
==Production environment instructions==
With
- mvn assembly:assembly
+ mvn assembly:assembly -P production
an executable target/kune-VERSION-jar-with-dependencies.jar is generated in target directory. That you can use to start kune:
bin/server.sh -j kune.jar
-TODO: configure/select db via properties
+bin/server.sh -h # for more options
==Debian package generation==
+
In trunk run:
- mvn assembly:assembly
-and generate the debian package with
+ mvn assembly:assembly -P production
+(production profile generates a lot of permutations for each language and browser, you can use -P development if is only for test) and generate the debian package with
debuild -us -uc -b
+or
+ debuild -b
+to sign the result package.
===Customization: Adapting Kune to your site===
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/debian/changelog 2012-04-01 13:47:28 UTC (rev 1817)
@@ -1,3 +1,9 @@
+kune (0.1.0+b5) oneiric; urgency=low
+
+ * Added some new languages and added some profiles to make development faster
+
+ -- <vjrj@arjuna> Sun, 01 Apr 2012 15:45:26 +0200
+
kune (0.1.0+b4) oneiric; urgency=low
* Improved trash funcionality, other minor changes
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/pom.xml 2012-04-01 13:47:28 UTC (rev 1817)
@@ -291,9 +291,7 @@
<groupId>com.calclab.emite</groupId>
<artifactId>emite</artifactId>
<version>r1694</version>
- <!-- Used in server side also
- <scope>provided</scope>
- -->
+ <!-- Used in server side also <scope>provided</scope> -->
</dependency>
<dependency>
<groupId>com.calclab.emite</groupId>
@@ -712,9 +710,7 @@
<groupId>com.bradrydzewski</groupId>
<artifactId>gwt-cal</artifactId>
<version>0.9.3-dndCreation</version>
- <!-- Used in server side also
- <scope>provided</scope>
- -->
+ <!-- Used in server side also <scope>provided</scope> -->
</dependency>
<dependency>
<groupId>org.mnode.ical4j</groupId>
@@ -1090,55 +1086,6 @@
<goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
<!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>${gwtmaven.version}</version>
- <configuration>
- <logLevel>INFO</logLevel>
- <style>OBF</style>
- <!-- <style>PRETTY</style> -->
- <noServer>true</noServer>
- <gwtVersion>${gwt.version}</gwtVersion>
- <runTarget>/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.liquibase</groupId>
<artifactId>liquibase-plugin</artifactId>
<version>1.7.0.0</version>
@@ -1200,6 +1147,123 @@
</extension>
</extensions>
</build>
+ <profiles>
+ <profile>
+ <id>production</id>
+ <build>
+ <plugins>
+ <!-- Warning if you modify this part take in to account that exist to profiles: development and production -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>${gwtmaven.version}</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+<!-- <style>PRETTY</style> -->
+ <noServer>true</noServer>
+ <gwtVersion>${gwt.version}</gwtVersion>
+ <runTarget>/ws.html?log_level=DEBUG</runTarget>
+ <hostedWebapp>${project.build.directory}/${project.build.finalName}
+ </hostedWebapp>
+ <modules>
+ <module>${project.groupId}.KuneProd</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>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>development</id>
+ <build>
+ <plugins>
+ <!-- Warning if you modify this part take in to account that exist to profiles: development and production -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>${gwtmaven.version}</version>
+ <configuration>
+<!-- <logLevel>INFO</logLevel> -->
+ <style>OBF</style>
+ <style>PRETTY</style>
+ <noServer>true</noServer>
+ <gwtVersion>${gwt.version}</gwtVersion>
+ <runTarget>/ws.html?log_level=DEBUG</runTarget>
+ <hostedWebapp>${project.build.directory}/${project.build.finalName}
+ </hostedWebapp>
+ <modules>
+ <module>${project.groupId}.KuneDev</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>
+
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
<reporting>
<plugins>
<plugin>
Added: trunk/script/i18n-all.sh
===================================================================
--- trunk/script/i18n-all.sh (rev 0)
+++ trunk/script/i18n-all.sh 2012-04-01 13:47:28 UTC (rev 1817)
@@ -0,0 +1,6 @@
+bin/i18n-db2gwt.sh -l en -j > KuneConstants.java
+bin/i18n-db2gwt.sh -l en > KuneConstants.properties
+bin/i18n-db2gwt.sh -l es > KuneConstants_es.properties
+bin/i18n-db2gwt.sh -l fr > KuneConstants_fr.properties
+bin/i18n-db2gwt.sh -l ca > KuneConstants_ca.properties
+bin/i18n-db2gwt.sh -l it > KuneConstants_it.properties
Property changes on: trunk/script/i18n-all.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2012-04-01 13:47:28 UTC (rev 1817)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/…">
-<module rename-to="ws">
+<module>
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.i18n.I18N"/>
<inherits name='com.google.gwt.logging.Logging' />
@@ -21,8 +21,7 @@
<inherits name="org.adamtacy.GWTEffects"></inherits>
<source path='client'
excludes="**/*Test.java,**/*Tests.java,**/*MockProvider.java" />
- <!-- <source path='shared'/> -->
- <!-- <public path="public"/> -->
+
<!-- Logging Configuration -->
<set-property name="gwt.logging.enabled" value="TRUE" />
<set-property name="gwt.logging.logLevel" value="INFO" />
@@ -35,15 +34,6 @@
<set-property name="gwt.logging.systemHandler" value="ENABLED" />
<set-property name="gwt.logging.simpleRemoteHandler"
value="DISABLED" />
- <!-- Uncomment if you are enabling server side deobfuscation of StackTraces
- <set-property name="compiler.emulatedStack" value="true" /> <set-configuration-property
- name="compiler.emulatedStack.recordLineNumbers" value="true" /> <set-configuration-property
- name="compiler.emulatedStack.recordFileNames" value="true" /> -->
- <!-- NOTE: this only compiles for chromium/safari ============= -->
- <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
- <!-- <set-property name="user.agent" value="gecko1_8" /> -->
- <set-property name="user.agent" value="safari,gecko1_8,ie6,ie8" />
- <set-property name="mobile.user.agent" value="not_mobile" />
<!-- gwt-platform ============================================= -->
<inherits name='com.gwtplatform.mvp.Mvp' />
@@ -51,27 +41,8 @@
is-multi-valued="false" />
<set-configuration-property name="gin.ginjector"
value="cc.kune.client.KuneGinjector" />
- <!-- Debugging ================================================ -->
- <!-- for add ensureDebugIds (debugId in UIBinder), remove/comment in production
- see UIObject.ensureDebugId()) -->
- <inherits name="com.google.gwt.user.Debug" />
- <!-- For make CSS obfuscation more pretty -->
- <set-configuration-property name="CssResource.style"
- value="pretty" />
- <!-- I18n ===================================================== -->
- <!-- http://bit.ly/uCiBDm -->
- <extend-property name="locale" values="en,es,fr" />
- <set-property-fallback name="locale" value="en"/>
- <set-property name="locale" value="en,es,fr"/>
-
- <!-- Hardcoded locale (to override emite italian support) ===== -->
- <!-- <set-property name="locale" value="en" /> -->
- <!-- Hardcoded log level ====================================== -->
- <!-- Turn off logging in wave -->
- <set-property name="loglevel" value="none" />
- <!-- <set-property name="loglevel" value="debug" /> -->
<!-- Entrypoint =============================================== -->
<entry-point class="cc.kune.client.KuneEntryPoint" />
- <!-- <entry-point class="cc.kune.common.client.SampleEntryPoint" /> -->
+
</module>
Added: trunk/src/main/java/cc/kune/KuneDev.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/KuneDev.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/KuneDev.gwt.xml 2012-04-01 13:47:28 UTC (rev 1817)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/…">
+<module rename-to="ws">
+
+ <inherits name="cc.kune.Kune"/>
+
+ <!-- Uncomment if you are enabling server side deobfuscation of StackTraces
+ <set-property name="compiler.emulatedStack" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordLineNumbers" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordFileNames" value="true" /> -->
+ <!-- NOTE: this only compiles for chromium/safari ============= -->
+ <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+ <!-- <set-property name="user.agent" value="gecko1_8" /> -->
+ <set-property name="user.agent" value="gecko1_8"/>
+
+
+ <!-- I18n ===================================================== -->
+ <!-- http://bit.ly/uCiBDm -->
+ <extend-property name="locale" values="en"/>
+ <set-property-fallback name="locale" value="en"/>
+ <set-property name="locale" value="en"/>
+
+ <!-- Hardcoded log level ====================================== -->
+ <!-- Turn off logging in wave -->
+ <!-- <set-property name="loglevel" value="none"/> -->
+ <set-property name="loglevel" value="debug"/>
+
+ <!-- Debugging ================================================ -->
+ <!-- for add ensureDebugIds (debugId in UIBinder), remove/comment in production
+ see UIObject.ensureDebugId()) -->
+ <inherits name="com.google.gwt.user.Debug"/>
+ <!-- For make CSS obfuscation more pretty -->
+ <set-configuration-property name="CssResource.style"
+ value="pretty"/>
+
+</module>
Added: trunk/src/main/java/cc/kune/KuneProd.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/KuneProd.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/KuneProd.gwt.xml 2012-04-01 13:47:28 UTC (rev 1817)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/…">
+<module rename-to="ws">
+
+ <inherits name="cc.kune.Kune"/>
+
+ <!-- Uncomment if you are enabling server side deobfuscation of StackTraces
+ <set-property name="compiler.emulatedStack" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordLineNumbers" value="true" /> <set-configuration-property
+ name="compiler.emulatedStack.recordFileNames" value="true" /> -->
+ <!-- NOTE: this only compiles for chromium/safari ============= -->
+ <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+ <!-- <set-property name="user.agent" value="gecko1_8" /> -->
+ <set-property name="user.agent" value="safari,gecko1_8,ie6,ie8" />
+ <set-property name="mobile.user.agent" value="not_mobile" />
+
+ <!-- I18n ===================================================== -->
+ <!-- http://bit.ly/uCiBDm -->
+ <extend-property name="locale" values="en,es,fr,ca,it"/>
+ <set-property-fallback name="locale" value="en"/>
+ <set-property name="locale" value="en,es,fr,ca,it"/>
+
+ <!-- Hardcoded log level ====================================== -->
+ <!-- Turn off logging in wave -->
+ <!-- <set-property name="loglevel" value="debug" /> -->
+ <set-property name="loglevel" value="none"/>
+
+ <!-- Debugging ================================================ -->
+ <!-- for add ensureDebugIds (debugId in UIBinder), remove/comment in production
+ see UIObject.ensureDebugId()) -->
+ <!-- For now this is useful for create screencasts and selenium tests -->
+ <inherits name="com.google.gwt.user.Debug"/>
+
+
+</module>
+
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java 2012-04-01 13:47:28 UTC (rev 1817)
@@ -5,6 +5,7 @@
/**
* Autogenerated by trunk/bin/i18n-db2gwt.sh, please not edit directly
*/
+
public interface KuneConstants extends ConstantsWithLookup {
String aboutKune();
@@ -42,18 +43,26 @@
String administrators();
+ String allowAnyPersonToEditThis();
+
String allowAnyUsesOfYourWorkIncludingCommercial();
String allowModificationsOfYourWork();
+ String allTheseMembersAreAlreadyPartipating();
+
String almostImmediately();
String aLongTermTaskSample();
+ String altTheAltKeyboardKey();
+
String aMidTermTaskSample();
String andNExternalUser();
+ String andNExternalUsers();
+
String anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity();
String anyone();
@@ -84,6 +93,8 @@
String away();
+ String backgroundChanged();
+
String backgroupChanged();
String backUsedInButton();
@@ -156,6 +167,10 @@
String clickToGoHereOrDropContentsHereToMoveThem();
+ String clickToOpen();
+
+ String clickToOpenDragAndDropToMoveThisToAnotherPlace();
+
String clickToRename();
String clickToSelectAndConfigureThisTheme();
@@ -186,6 +201,8 @@
String copyTheTextToTranslate();
+ String copyThisToANewMessage();
+
String create();
String createANewBarterHere();
@@ -200,6 +217,8 @@
String createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb();
+ String createANewEvent();
+
String createANewFolder();
String createANewFolderAFolderWillBeASectionInThePublicWeb();
@@ -208,6 +227,8 @@
String createANewList();
+ String createANewMeeting();
+
String createANewMeetingHere();
String createANewPost();
@@ -220,6 +241,8 @@
String createOne();
+ String ctrlTheCtrlKeyboardKey();
+
String currentBackgroundImage();
String currentPassword();
@@ -272,6 +295,8 @@
String emailNotifications();
+ String english();
+
String enterLanguage();
String enterToThisGroupPublicChatRoom();
@@ -284,16 +309,22 @@
String error();
+ String errorAccessingThisDocumentPleaseContactTheAdministratorsProvidingThisReferenceParamAndAnyOtherReleva();
+
String errorConfiguringTheTool();
String errorCreatingGroup();
+ String errorDuringRegistrationAccountAlreadyExists();
+
String errorRenaming();
String errorSettingTheLogo();
String errorsInfo();
+ String esperanto();
+
String esteBlogNoTieneNingnPostCreaUno();
String eurosurAThemeName();
@@ -302,6 +333,8 @@
String eventsInParam();
+ String exportThisCalendar();
+
String feedbackOfParam();
String finishUsedInButton();
@@ -362,8 +395,12 @@
String invalidAddressParam();
+ String invalidConfirmationCode();
+
String invalidEmail();
+ String invalidOperation();
+
String join();
String joinsIn();
@@ -408,6 +445,8 @@
String markAsNotDone();
+ String maximizeTheWorkspace();
+
String media();
String meetingMinutesOfParamOnParam();
@@ -432,6 +471,8 @@
String midTermTasks();
+ String minimizeTheWorkspace();
+
String moderateRequestToJoin();
String month();
@@ -448,6 +489,10 @@
String nConversationsUnread();
+ String nDay();
+
+ String nDays();
+
String newAdvancedPoll();
String newAlbum();
@@ -460,6 +505,8 @@
String newDocument();
+ String newEvent();
+
String newFolder();
String newGadget();
@@ -482,6 +529,8 @@
String newMembersPolicy();
+ String newMessageWithEveryoneHere();
+
String newMindmap();
String newPassword();
@@ -498,6 +547,8 @@
String newTaskFolder();
+ String newToThisToolHereThereIsSomeHelp();
+
String newTwitterSearch();
String newWikipage();
@@ -670,6 +721,8 @@
String rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction();
+ String russian();
+
String saharaAThemeName();
String saving();
@@ -682,8 +735,12 @@
String security();
+ String seemsThatTheListOfPartipantsWereAddedPartiallyPleaseRetry();
+
String seeTheArchiveOfOldConversationsInDevelopment();
+ String seeYourGroupsOrCreateANewOne();
+
String select();
String selectACreativeCommonsLicenseRecommendedForCulturalWorks();
@@ -704,12 +761,28 @@
String selectTheLicenseYouPreferUsingForSharingYourGroupContentsWithOtherPeople();
+ String sendedCheckYourEmailForTheVerificationLink();
+
String serverErrorSavingTheTranslation();
String setYourChatStatus();
String setYourGroupPreferencesHere();
+ String share();
+
+ String sharedWithGeneralPublicNowAnyoneCanParticipate();
+
+ String sharedWithMembers();
+
+ String shareThisWithGroupMembersEtc();
+
+ String shareWithAdmins();
+
+ String shareWithAllGroupMembers();
+
+ String shareWithCollaborators();
+
String shortName();
String shortTermUrgentTasks();
@@ -732,12 +805,16 @@
String signInToCollaborate();
+ String signInToVerifyYourEmail();
+
String signOut();
String signOutOfChat();
String sorryThisGadgetHasProblemsWithItsnHeightWeHopeThisWillBeFixedSoonn();
+ String spanish();
+
String startACollaborativeDocumentForTheMeetingMinutes();
String startAPublicAssemblyWithMembers();
@@ -798,10 +875,14 @@
String thereIsnTAnyMeetingCreateOne();
+ String thereIsnTAnyTask();
+
String thereIsnTAnyTaskCreateOne();
String theSocialNetworkOfThisUserIsNotPublic();
+ String theTrashIsEmpty();
+
String theUsernamePasswordIsIncorrect();
String thisBlogHasnTAnyPost();
@@ -832,6 +913,8 @@
String thisIsNotAValidEmail();
+ String thisIsNotEmpty();
+
String thisIsOnlyABarterSampleYouCanInviteOtherParticipantsToThisBarterButAlsoPublishToTheGeneralPublicAllo();
String thisIsOnlyAMeetSampleYouCanInviteOtherParticipantsToThisMeetingButAlsoPublishToTheGeneralPublicAllow();
@@ -846,6 +929,8 @@
String thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser();
+ String thisIsTheDefaultContentOfTheGroupYouCannotDeleteItPleaseSelectOtherContentAsDefaultGroupContentBefor();
+
String thisIsTheDefaultLicenseForAllTheContentsOfThisGroupAlthoughYouCanChooseADifferentLicenseForSpecificC();
String thisListIsNowRestrictedToThePublic();
@@ -896,6 +981,8 @@
String transparentAThemeName();
+ String trash();
+
String typeSomeKeywordThatDefineYourGroup();
String typeSomethingToSearchForUsersAndGroupsInParam();
@@ -990,6 +1077,8 @@
String youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes();
+ String youCanDropHereContentsToDeleteThen();
+
String youCannotDisableThisToolBecauseItSWhereYourHomePageIsLocatedToDoThatYouHaveToSelectOtherContentAsThe();
String youCannotWriteToNonBuddies();
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties 2012-04-01 13:47:28 UTC (rev 1817)
@@ -125,7 +125,7 @@
changeThisWorkspaceTheme = Change this workspace theme:
selectAnImageFromYourComputerAsTheLogoForThisGroupForBestResultsUseANxnPixelImageBiggerImagesWillBeA = Select an image from your computer as the logo for this group. For best results use a [%d]x[%d] pixel image. Bigger images will be automatically resized.
style = Style
-currentBackgroundImage = Current background image:
+currentBackgroundImage = Current background image:
youCanAlsoUploadABackground = You can also upload a background:
change = Change
clear = Clear
@@ -412,7 +412,9 @@
wikiPagesAreDocumentsThatCanBeEditedByAnyVisitorInParamInsteadOfOnlyByTheGroupThisAcceleratesUpdatin = Wiki-pages are Documents that can be edited by any visitor (in [%s]), instead of only by the group. This accelerates updating and construction
errorSettingTheLogo = Error setting the logo
signInOrCreateAnAccountToAccessToYourInbox = Sign in or create an account to access to your inbox
-sorryThisGadgetHasProblemsWithItsnHeightWeHopeThisWillBeFixedSoonn = Sorry, this gadget has problems with its height. We hope this will be fixed soon
+sorryThisGadgetHasProblemsWithItsnHeightWeHopeThisWillBeFixedSoonn = Sorry, this gadget has problems with its
+ height. We hope this will be fixed soon
+
addNewMember = Add new member
typeTheNameOfTheUserAndSelectHimHer = Type the name of the user and select him/her:
typeSomethingToSearchForUsersInParam = Type something to search for users in [%s]
@@ -450,7 +452,7 @@
thereIsnTAnyList = There isn't any list
thereIsnTAnyMeetingCreateOne = There isn't any meeting, create one
thisFolderIsEmptyCreateSomeWikipageOrFolder = This folder is empty, create some wikipage or folder
-thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Thanks for joining [%s]. Now you can actively participate in [%s]. You can also use your personal space to publish contents.
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Thanks for joining [%s]. Now you can actively participate in [%s]. You can also use your personal space to publish contents.
toHelpWithTheTranslationOfThisSoftwarePleaseContactBeforeWithThisSiteAdministrators = To help with the translation of this software please contact before with this site administrators.
doYouWantToCollaborativelyEditYourMeetingMinutesInANewDocument = Do you want to collaboratively edit your meeting minutes in a new document?
signInOrCreateAnAccountToGiveUsFeedback = Sign in or create an account to give us feedback
@@ -465,10 +467,14 @@
inbox = Inbox
today = Today
goToToday = Go To Today
+1Day = 1 Day
+3Days = 3 Days
previous = Previous
+7Days = 7 Days
month = Month
next = Next
userParamSaysParam = User [%s] says «[%s]»
+0 = 0
signInOrCreateAnAccountToAccessToThisRoom = Sign in or create an account to access to this room
editTheAppointment = Edit the appointment
addAnAppointment = Add an appointment
@@ -497,14 +503,19 @@
resetYourPassword = Reset your password
pleaseEnterYourEmailAddressYouWillReceiveALinkToCreateANewPasswordViaEmail = Please enter your email address. You will receive a link to create a new password via email.
newImage = New image
-editThisToInsertResizeAndAnnotatenAnynImageFromTheWebTheImageCanBeAnnotatedDoubleClicknOnnItByAnyPar = Edit this to insert, resize and annotate any image from the web. The image can be annotated (double click on it) by any participant of this document
+editThisToInsertResizeAndAnnotatenAnynImageFromTheWebTheImageCanBeAnnotatedDoubleClicknOnnItByAnyPar = Edit this to insert, resize and annotate
+ any
+ image from the web. The image can be annotated (double click
+ on
+ it) by any participant of this document
+
yourPasswordHasBeenResetSignIn = Your password has been reset. Sign in
enterYourNewPasswordBelow = Enter your new password below.
confirm = Confirm
confirmPlease = Confirm please
errorRenaming = Error renaming
searching = Searching
-thereIsnTAnyBarter = There isn't any barter.
+thereIsnTAnyBarter = There isn't any barter.
invalidAddressParam = Invalid address: [%s]
errorCreatingGroup = Error creating group
memberRejected = Member rejected
@@ -516,4 +527,48 @@
eventsInParam = Events in [%s]
participateInTheEditionOfThisPage = Participate in the edition of this page
signInOrCreateAnAccountToSusbscribeToThisList = Sign in or create an account to susbscribe to this list
-joinUsInParamPublicRoom = Join us in [%s] public room!
\ No newline at end of file
+joinUsInParamPublicRoom = Join us in [%s] public room!
+thereIsnTAnyTask = There isn't any task
+shareWithAdmins = Share with admins
+shareWithAllGroupMembers = Share with all group members
+shareWithCollaborators = Share with collaborators
+newToThisToolHereThereIsSomeHelp = New to this tool? Here there is some help
+nDay = [%d] Day
+nDays = [%d] Days
+invalidOperation = Invalid operation
+backgroundChanged = Background changed
+exportThisCalendar = Export this calendar
+createANewMeeting = Create a New Meeting
+english = English
+shareThisWithGroupMembersEtc = Share this with group members, etc
+allowAnyPersonToEditThis = Allow any person to edit this
+share = Share
+seemsThatTheListOfPartipantsWereAddedPartiallyPleaseRetry = Seems that the list of partipants were added partially. Please, retry
+esperanto = Esperanto
+sendedCheckYourEmailForTheVerificationLink = Sended. Check your email for the verification link.
+newMessageWithEveryoneHere = New message with everyone here
+copyThisToANewMessage = Copy this to a new message
+spanish = Spanish
+errorDuringRegistrationAccountAlreadyExists = Error during registration. Account already exists
+clickToOpen = Click to open
+clickToOpenDragAndDropToMoveThisToAnotherPlace = Click to open. Drag and drop to move this to another place
+theTrashIsEmpty = The trash is empty
+trash = trash
+invalidConfirmationCode = Invalid confirmation code
+errorAccessingThisDocumentPleaseContactTheAdministratorsProvidingThisReferenceParamAndAnyOtherReleva = Error accessing this document. Please contact the administrators providing this reference ([%s]) and any other relevant info.
+allTheseMembersAreAlreadyPartipating = All these members are already partipating
+sharedWithMembers = Shared with members
+youCanDropHereContentsToDeleteThen = You can drop here contents to delete then
+seeYourGroupsOrCreateANewOne = See your groups or create a new one
+andNExternalUsers = and [%d] external users
+russian = Russian
+sharedWithGeneralPublicNowAnyoneCanParticipate = Shared with general public. Now anyone can participate
+thisIsNotEmpty = This is not empty
+thisIsTheDefaultContentOfTheGroupYouCannotDeleteItPleaseSelectOtherContentAsDefaultGroupContentBefor = This is the default content of the group, you cannot delete it. Please select other content as default group content before delete this
+minimizeTheWorkspace = Minimize the workspace
+maximizeTheWorkspace = Maximize the workspace
+altTheAltKeyboardKey = Alt
+signInToVerifyYourEmail = Sign in to verify your email
+ctrlTheCtrlKeyboardKey = Ctrl
+newEvent = New event
+createANewEvent = Create a New Event
Added: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_ca.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_ca.properties (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_ca.properties 2012-04-01 13:47:28 UTC (rev 1817)
@@ -0,0 +1,479 @@
+#
+# Autogenerated by trunk/bin/i18n-db2gwt.sh, please not edit directly
+#
+
+chatWithThisGroupMember = Xatejar amb aquest membre del grup
+chatWithYourBuddy = Xatejar amb el teu amic
+addAsABuddy = Afegir com amic
+chat = Xat ;)
+oopsSomethingHasGoneWrongWithOurServersRetryLaterPlease = Uups! Alguna cosa ha anat malament amb els nostres servidors. Intenta-ho més tard, siusplau.
+loading = Carregant
+join = Unir-se
+requestToJoinInThisGroup = Sol.licitud de Unió a aquest grup
+leaveThisGroup = Deixa aquest grup
+options = Opcions
+newMembersPolicy = Nova política de membres
+anyone = qualsevol
+onlyMembers = només membres
+moderateRequestToJoin = sol·licitud d'unió moderada
+addANewBuddy = Afegir un nou amic
+closedForNewMembers = tancat per membres nous
+autoAcceptRequestToJoin = Auto acceptar sol·licitud d'unió
+onlyAdministrators = només administradors
+onlyYourBuddies = només els teus amics
+onlyYou = només tú
+groupMembers = Membres del grup
+administrators = Administradors
+collaborators = Col·laboradors
+othersWhoCollaborateWithThisGroup = Altres que col.laboren amb aquest grup
+thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin = Aquest és un projecte orfe, si estàs interessat en contribuïr si us plau sol.licita la unió
+pending = Pendent
+theMembersOfThisGroupAreNotPublic = Els membres d'aquest grup no són públics
+changeToCollaborator = Canviar a col·laborador
+changeToAdministrator = Canviar a administrador
+removeThisMember = Treure aquest membre
+visitThisGroupSHomepage = Visita la pàgina d'inici d'aquest grup
+visitThisMemberSHomepage = Visita la pàgina d'inici d'aquest membre
+acceptThisMember = Accepta aquest membre
+rejectAsMember = Rebutja com a membre
+visitYourHomepage = Visita la teva pàgina d'inici
+visitHisHerHomepage = Visita la seva pàgina d'inici
+hisHerNetwork = El seu/la seva red
+buddies = Amics
+joinsIn = S'uneix a
+groupsWhichThisUserJoined = Grups als quals aquest usuari pertany
+yourGroups = Els teus grups
+yourHomepage = La teva pàgina d'inici
+yourHomePageInParam = La teva pàgina d'inici en [%s]
+groupAndPersonalSpaceWhereYouCanCreateAndPublishContentsForYourPersonalOrGroupWebSpaces = Grup i espai personal: On pots crear i publicar continguts per als teus espais personals o de grup
+publicSpaceWhereYouCanSeeAPreviewOfHowYourPersonalOrGroupSpaceLooksLikeOnTheWeb = Espai públic: on pots veure una vista prèvia de com queda en la web el teu Espai Personal o de Grup
+latestPublications = Últimes publicacions
+stats = Estadístiques
+registeredUsers = Usuaris registrats:
+hostedGroups = Grups organitzats:
+latestCreatedGroups = Últims grups creats
+latestActivityInYourGroups = Última activitat als teus grups
+tags = Etiquetes
+keywordsOrTermsAssociatedWithThisGroup = Paraules clau o condicions associades a aquest grup
+search = Recerca
+close = Tanca
+groupOptions = Opcions del grup
+setYourGroupPreferencesHere = Estableix les teves preferencies de grup aquí
+userOptions = Opcions d'usuari
+helpWithTheTranslation = Ajudar amb la traducció
+yourPreferences = Les teves preferences
+giveUsFeedback = Dóna'ns resposta!
+showHideTheChatWindow = Mostra/amaga la finestra del xat
+setYourChatStatus = Estableix el teu estatus al Xat
+available = Disponible
+availableForChat = Disponible per xat
+away = Fora
+busy = Ocupat
+signOutOfChat = Tanca la sessió del xat
+groupSPublicChatRoom = Sala de Xat de Grup pública
+enterToThisGroupPublicChatRoom = Entrar en aquesta cambra de xat pública
+startAPublicAssemblyWithMembers = Comença una nova assamblea amb els membres
+enterToThisGroupPublicChatRoomAndInviteMembers = Entrar en aquesta cambra de xat pública i invitar usuaris
+reportKuneIssuesProblems = Reportar problemes de Kune
+apacheWavePowered = Potenciat per Apache Wave
+aboutKune = Sobre kune
+errorsInfo = Informació d'errors
+signInToCollaborate = Entra per col.laborar
+pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents = Si us plau, entra o registra't per tenir accès complet a [%s] eines i continguts
+signOut = Tanca la sessió
+createNewGroup = Crea un Grup Nou
+createANewGroupForYourInitiativeOrOrganizationNgoCollectiveAcademicGroup = Crea un nou grup per a la teva iniciativa o organització (ONG, col.lectiu, grup acadèmic...)
+chatWithThisPerson = Xatejar amb aquesta persona
+kuneDevelopmentSite = Lloc de desenvolupament de kune
+andNExternalUser = i [%d] usuari extern
+thisIsOnlyAPreviewOfHowThisPageWouldLookLikeToTheGeneralPublicOnTheInternet = Això és només una previsualització de com quedaria aquesta pàgina al públic general a internet.
+preview = Vista prèvia
+paramUnderLicenseParam = © [%s], sota llicència: [%s]
+clickToRename = Click per renombrar
+createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crear un Nou Document aquí. Si tries publicar-lo, aquest document apareixerà com una nova 'Pàgina' en la web pública
+reloadCurrentPage = Recarrega la pàgina
+newDocument = Nou document
+goUpOpenTheContainerFolder = Anar a dalt: Obrir l'arxiu contenidor
+edit = Editar
+chatAbout = Xat sobre
+chatAndCommentOnThis = Xatejar i comentar sobre això
+nConversationsUnread = [%d] converses no llegides
+memberAccepted = Membre acceptat
+general = General
+changeThisValues = Canvia aquests valors:
+theNameMustBeBetween3And15LowercaseWesternCharactersAndOrNumbers = El nom pot ser entre 3 i 15 minúscules en caràcters occidentals i/o números
+shortName = Nom curt
+longName = Nom llarg
+hereYouCanSelectTheToolsUsed = Aquí pots seleccionar les eines utilitzades:
+choose = Escollir
+changeThisWorkspaceTheme = Canvia aquest tema de l'espai de treball
+selectAnImageFromYourComputerAsTheLogoForThisGroupForBestResultsUseANxnPixelImageBiggerImagesWillBeA = Selecciona una imatge del teu ordinador com a logo d'aquest grup. Per un millor resultat utilitza una imatge de [%d]x[%d] píxels. Imatges més grans serán redimensionades automàticament.
+style = Estil
+currentBackgroundImage = Actual imatge de fons:
+change = Canviar
+clear = Netejar
+removeCurrentBackgroundImage = Treure la imatge actual de fons
+selectAndConfigureThePublicSpaceThemeOfThisGroup = Selecciona i configura el tema de l'espai públic d'aquest grup:
+clickToSelectAndConfigureThisTheme = Click per seleccionar i configurar aquest tema
+redblackAThemeName = redblack
+purpleAThemeName = lila
+greenAThemeName = verd
+highcontrastAThemeName = altcontrast
+blackwhiteAThemeName = blackwhite
+eurosurAThemeName = eurosur
+campAThemeName = camp
+defaultAThemeName = per defecte
+blueAThemeName = blau
+redAThemeName = vermell
+greyAThemeName = gris
+saharaAThemeName = sahara
+pinkAThemeName = rosa
+license = Llicència
+enterLanguage = Introduir idioma
+searching = Buscant...
+yourLanguage = El teu idioma
+name = Nom
+security = Seguretat
+changeYourPassword = Canvia la teva contrasenya:
+currentPassword = Actual contrasenya
+thePasswordMustBeBetween6And40Characters = La contrasenya ha de ser entre 6 i 40 caràcters
+newPassword = Nova contrasenya
+newPasswordRepeatIt = Nova contrasenya (repeteix-la)
+changeIt = Canviar-ho
+selectAnImageFromYourComputerAsYourAvatarForBestResultsUseANxnPixelImageBiggerImagesWillBeAutomatica = Selecciona una imatge del teu ordinador com a teu avatar. Per un millor resultat utilitza una imatge de [%d]x[%d] píxels. Imatges més grans serán redimensionades automàticament.
+passwordChangedSuccessfully = Contrasenya canviada amb èxit
+newGadget = Nou Gadget
+voting = Votant
+media = Mitjà
+calendar = Calendari
+others = Altres
+thisDemoOfKune = aquesta demo de kune
+paramBio = [%s] Bio
+longTermTasks = Tasques a llarg termini
+midTermTasks = Tasques a mitjà termini
+shortTermUrgentTasks = Tasques (urgents) a curt termini
+aLongTermTaskSample = Una mostra d'una tasca a llarg termini
+thisIsOnlyATaskSampleYouCanEditItRenameIt = Això és només una tasca d'exemple. Pots editar-la, renomenar-la
+aMidTermTaskSample = Una mostra d'una tasca a mitjà termini
+aShortTermTaskSample = Una mostra de tasca a curt termini
+wikiPageSample = Pàgina wiki d'exemple
+thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser = Això és només una pàgina wiki d'exemple. Pots editar-la o renomenar-la, però també qualsevol altre usuari.
+blogSample = Exemple de Blog
+aPostSample = Un post de mostra
+thisIsOnlyAPostSampleYouCanEditItRenameThePostAndThisBlog = Això és només una publicació d'exemple. Pots editar-la, renomenar la publicació y aquest blog.
+welcome = Benvingut
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Gràcies per unir-te [%s]. Ara pots participar activament en [%s]. Pots també utilitzar el teu espai personal per a publicar continguts. Nota: el teu correu electrònic no està verficat, si us plau segueix les instruccions que rebràs per e-mail.
+newTask = Nova tasca
+createANewTask = Crea una tasca nova
+doubleClickToOpen = Doble click per obrir
+createANewFolder = Crear un nou arxiu
+newTaskFolder = Nova carpeta de tasques
+open = Obrir
+delete = Suprimir
+actions = Accions
+connecting = Connectant
+offline = Offline
+newList = Nova llista
+reloadThis = Recarrega això
+createANewList = Crea una nova llista
+yes = Si
+confirmPlease = Confirmar, siusplau:
+no = No
+chatAboutParam = Xas sobre: [%s]
+barterSample = Exemple d'intercanvis
+thisIsOnlyABarterSampleYouCanInviteOtherParticipantsToThisBarterButAlsoPublishToTheGeneralPublicAllo = Això és només un trueque d'exemple. Pots convidar altres participants a aquest trueque, però també pots publicar-ho al públic en general, el que et permet compartir serveis, bèns, etc.
+newBarter = Nou trueque
+newFolder = Nou fitxer
+createANewBarterHere = Crear un nou "trueque" aquí
+newWikipage = Nova pàgina wiki
+createANewFolderAFolderWillBeASectionInThePublicWeb = Crear un nou arxiu. L'arxiu serà una 'secció" en la web pública
+createANewWikipageHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crea una Nova Wikipàgina aquí. Si esculls publicar-la, aquest document apareixerá com una nova 'Pàgina' a la web pública
+selectAsTheHomepage = Selecciona com a pàgina d'inici
+registerANewGroup = Registra un grup nou
+register = Registre
+cancel = Cancel·lar
+publicDescription = Descripció pública
+groupTags = Etiquetes del grup
+groupType = Tipus de grup
+project = Projecte
+organization = Organització
+aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators = Un projecte es una mena de grup en el qual la unió de nous membres es moderada per els administradors del projecte.
+anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity = Una organització funciona de la mateixa manera que un projecte, excepte que ha de ser una entitat legal.
+closed = Tancat
+aClosedGroupIsAPrivateProjectWhichContentsAreOnlyAccessibleToItsMembersByDefault = El grup Tancat és un projecte privat, els continguts del qual son només accesibles als seus membres (per defecte).
+community = Comunitat
+aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt = Una comunitat és un grup d'usuaris amb interessos compartits (per exemple la comunitat mediambiental o la comunitat LGBT). Està oberta a qualsevol membre nou a que s'uneixi lliurement sense la moderació dels administradors.
+paramCreatedNewContentCreatedForInstance = [%s] creat
+notPublishedYet = Encara no Publicat
+thisIsOnlyAPreviewOfHowThisWebpageWouldLookLikeToTheGeneralPublicOnTheInternet = Això és només una previsualització de com quedaria aquesta pàgina web al públic general a internet.
+createANewDocumentHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crear un Nou Document aquí. Si tries publicar-lo, aquest document apareixerà com una nova 'Pàgina' en la web pública
+newPoll = Nova enquesta
+newYesNoMaybeVoting = Nova Si/No/Potser/ + Votació
+newAdvancedPoll = Nova Enquesta Avançada
+newMeeting = Nova reunió
+newYesNoMiniVoting = Nova Si/No/ Mini Votació
+newMeetCoordination = Nova reunió de coordinació
+newMap = Nou Mapa
+newImageAndLetsAnnotate = Nova Imatge (i permet fer anotacions)
+newYoutubeVideo = Nou vídeo de Youtube
+newAlbum = Nou Album
+newTwitterSearch = Nova recerca de twitter
+newMindmap = Nou Mapa Mental
+newBarter = Nou Trueque
+newImagePainter = Pintor de la Nova Imatge
+signIn = Entra
+password = Contrasenya
+donTHaveAnAccount = No tens un compte?
+username = Nom d'usuari
+email = Email
+createOne = Crea un.
+thisIsNotAValidEmail = No és un correu electrònic válid
+newBlog = Nou blog
+createANewBlog = Crear un blog nou
+newPost = Nou post
+createANewBlogPost = Crear un nou blog post
+thisBlogHasnTAnyPostCreateOne = Aquest blog no té cap publicació, cre'an una
+renaming = Renombrant
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackThisCanHelpUsToImproveTheseServices = Vols escriure'ns algun comentari positiu o negatiu? Això ens ajudarà a millorar aquests serveis
+doYouWantToJoinThisGroup = Vols unir-te a aquest grup?
+newRoom = Nova sala
+createANewChatRoom = Crear una nova sala de xat
+enterToThisRoom = Entrar en aquesta cambra
+openTheConversationsArchiveOfThisRoom = Obrir el arxiu de converses d'aquesta sala
+openArchive = Obrir archiu
+aboutKuneTitleOfDialog = Sobre Kune
+ok = Ok
+processing = Processant
+aboutParam = Sobre [%s]
+meetingSample = Exemple de reunió
+thisIsOnlyAMeetSampleYouCanInviteOtherParticipantsToThisMeetingButAlsoPublishToTheGeneralPublicAllow = Això és només una reunió d'exemple. Pots convidar altres participants a aquest trueque, però també pots publicar-ho al públic en general, per ajudar-te amb la organització, demanar i accelerar els events.
+markAsDone = Marcar com Fet
+createANewPost = Crea un nou post
+makeThisListNotPublic = Fer que aquesta llista no sigui pública
+subscribeToThisList = Subscriure's a aquesta llista
+subscribe = Subscriure's
+nSubscribedNPosts = [%d] subscrit, [%d] publicacions
+confirmNewBuddy = Confirmar nou amic
+paramCreatedSuccesfully = [%s] creat amb èxit
+nRecentConversationsUnread = [%d] converses recents no llegides
+oneRecentConversationUnread = Una conversa recent sense llegir
+pleaseConfirm = Si us plau, confirma
+startACollaborativeDocumentForTheMeetingMinutes = Començar un document col.laboratiu per als minuts de reunió?
+meetingMinutesOfParamOnParam = Minuts de reunió de [%s] en [%s]
+createANewMeetingHere = Crea una Nova Trobada aquí
+thereIsnTAnyListCreateOne = No hi ha cap llista, crea'n una
+create = Crear
+areYouSure = Estàs segur?
+welcomeToTheParamPublicChatRoom = Benvingut a la sala pública de xat [%s]
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackAboutParamThisCanHelpUsToImproveTheseServices = Vols escriure'ns algun comentari positiu o negatiu sobre [%s]? Això ens ajudarà a millorar aquests serveis
+feedbackOfParam = Resposta de [%s]
+editAndWriteHereYourFeedback = Editar i escriure aquí la teva resposta.
+copyTheTextToTranslate = Copiar el text per traduir
+notes = Notes:
+clickAltpageupOrAltpagedownToMoveUpDownInTheListWhileTranslatingAndAltVToCopyTheOriginalTextTheTrans = Click Alt+PageUp o Alt+PageDown per moure adalt/abaix en la llista durant la traducció, i Alt-V per copiar el text original. Les traduccions es guarden automàticament
+notTranslated = No traduït
+recommendations = Recomanacions
+helpToTranslateKune = Ajudar a traduir Kune
+saving = Guardant
+successUploading = Pujat exitosament
+thereIsnTAnyTaskCreateOne = No hi ha cap tasca, crea'n una
+searchTheUserYouWantToAddAndInHisHerHomepageClickAddAsABuddy = Cerca l'usuari que vols afegir i fes click a 'Afegir com amic' a la seva pàgina d'inici
+doYouWantToWriteAMessageToTheMembersOfThisGroup = Vols escriure un missatge als membres d'aquest grup?
+post = Publicació
+thisIsEmpty = Això està buit.
+documents = documents
+thisFolderIsEmpty = Aquest fitxer està buit
+barters = intercanvis
+blogs = blogs
+thereIsnTAnyBarter = No hi ha cap trueque
+thereIsnTAnyBlogCreateOne = No hi ha cap blog, crea'n un
+infoAboutErrors = Informació sobre els errors
+chatrooms = Sales de Xat
+events = events
+pleaseCopyPasteThisInfoToReportProblems = Si us plau, copia/pega aquesta informació per avisar dels problemes
+seeTheArchiveOfOldConversationsInDevelopment = Visualitza l'arxiu de converses antigues (en desenvolupament)
+thereIsNothingPostedYetPostSomething = No hi ha res publicat encara. Publica alguna cosa
+lists = llistes
+thereIsnTAnyMeeting = No hi ha cap reunió
+wiki = wiki
+tasks = tasques
+rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction = Ara mateix, l'espai web públic d'aquest grup, és en construcció
+paramTheDevelopment = [%s] el desenvolupament
+pleaseSupport = Si us plau, ajuda
+inDevelopment = (en desenvolupament)
+chats = xats
+theNameMustContainOnlyCharactersNumbersAndDashes = El nom pot incloure només caràcters, números i guions
+chatroomCreated = Sala de Xat creada
+doYouWantToWriteAMessageToYourBuddy = Vols escriure un missatge al teu amic?
+error = Error
+licenseWizard = Llicència de mag
+backUsedInButton = « Enrere
+nextUsedInButton = Següent »
+select = Selecciona
+finishUsedInButton = Finalitzar
+selectTheLicenseYouPreferUsingForSharingYourGroupContentsWithOtherPeople = Selecciona la llicència que prefereixis utilitzar per compartir els continguts del teu grup amb l'altre gent.
+copyleft = copyleft
+whyDoWeNeedALicense = Perquè necessitem una llicència?
+selectTheLicenseType = Selecciona el tipus de llicència:
+commonLicensesForCulturalWorks = Llicències comuns per a treballs culturals
+otherKindOfLicenses = Un altre tipus de llicències
+selectACreativeCommonsLicenseRecommendedForCulturalWorks = Selecciona una llicència de Creative Commons (recomanat per als teus treballs culturals)
+allowAnyUsesOfYourWorkIncludingCommercial = Permetre qualsevol ús del teu treball, inclòs l'ús comercial?
+allowModificationsOfYourWork = Permetre modificacions del teu treball?
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformOnlyUnalteredCopiesOfTheWork8212NotDerivati = La llicència permet als altres copiar, distriubir, display and perform només les còpies inalterades del treball
+thisIsACopyleftLicense = Aquesta és una llicència copyleft.
+thisIsNotACopyleftLicense = Això no és una llicència copyleft.
+thisIsAppropriateForFreeCulturalWorks = Això és apropiat per a treballs culturals lliures.
+thisIsNotAppropriateForFreeCulturalWorks = Això no és apropiat per a treballs culturals lliures.
+reasonsNotToUseANonCommercialLicense = Raons per utilitzar una llicència no comercial
+selectOtherKindOfLicenses = Selecciona un altra tipus de llicències:
+selectLicense = Selecciona llicència
+membershipRequestedWaitingForAdminsDecision = Afiliació sol·licitada. Esperant la decisió dels administradors
+memberTypeChanged = Tipus de membre canviat
+memberRemoved = Membre eliminat
+contentNotFound = Contingut no trobat
+onlyToAuthorizedTranslators = Només per traductors autoritzats
+areYouSureYouWantThisItWillBeDeletedWithAllItsContents = Estàs segur que vols això? Serà esborrat amb tots els seus continguts.
+doYouWantToWriteAMessageToTheAdministratorsOfThisGroup = Vols escriure un missatge als administradors d'aquest grup?
+listCreated = Llista creada
+makeThisListPublic = Fer que aquesta llista sigui pública
+membersVisibilityChanged = Ha canviat la visibilitat dels membres
+membersJoiningPolicyChanged = La política d'unió de membres ha canviat
+moving = Movent
+aContentWithTheSameNameAlreadyExistPleaseRenameIt = Ja existeix un contingut amb el mateix nom. Si us plau, renombra'l.
+removedAsMember = Eliminat com a membre
+addGadget = Afegir Gadget
+theSocialNetworkOfThisUserIsNotPublic = La xarxa social d'aquest usuari no és pública
+newDoc = Nou doc
+clickToGoHereOrDropContentsHereToMoveThem = Click per anar aquí o arrossega els continguts aquí per moure'ls
+markAsNotDone = Marcar com No Fet
+more = Més
+onlyForAuthorizedTranslators = Només per traductors autoritzats
+hereYouCanCreateOrUploadYourPersonalGroupOrPublicDocumentsTheseDocumentsCanBeEditedAndCommentedColla = Aquí pots crear o carregar els teus documents personals, de grup o públics. Aquests documents poden ser editats i comentats colaborativament i a la vegada. Aquests documents poden ser pàgines estàtiques a la teva web si les publiques
+blogsAreAChronologicalListOfPostsOrderedByDateAboutASpecificTopicEachPostCanBeCommentedByTheVisitors = Els Blogs son un llistat cronològic de posts (ordenats per dates) sobre una tema específic. Cada post pot ser comentat pels visitants
+aDecentralizedWayToOfferOrAskForServicesAndGoodsToYourGroupsOrToAnyoneBarteringMeansTheExchangeOfGoo = Una manera descentralitzada d'oferir (o demanar) béns i serveis als teus grups o a qualsevol. "L'intercanvi" vol dir l'intercanvi de béns per l'acord de dues persones
+listsBehaveLikeAMailingListOrAForumYouCanSubscribeAndDiscussAboutSpecificTopics = Les llistes es comporten com una llista d'email o un fòrum. Et pots subscriure i discutir sobre temes específics
+aCollaborativeToDoListForTheGroupAnyGroupMemberCanParticipateInAnyProposedTaskAddOthersToATaskCommen = La llista col.laborativa TO-DO per al grup. Qualsevol membre del grup pot participar a qualsevol tasca proposada, afegir altres a una tasca, comentar-les, afegir informació, etc
+aCalendarToScheduleActivitiesAndEvents = Un calendari per programar activitats o events
+aRoomWhereYouCanHaveAGroupChatWithManyUsersAtOnceRoomsCanBePublicOrPrivateUsersCanBeFromParamOrOther = Una 'habitació' on pots tenir un grup de xat amb molts usuaris a la vegada. Els usuaris poden ser de [%s] o altres llocs (compatible amb el xat de gmail)
+errorSettingTheLogo = Error ajustant el logo
+signInOrCreateAnAccountToAccessToYourInbox = Entra o crea un compte per accedir a la teva safata d'entrada
+sorryThisGadgetHasProblemsWithItsnHeightWeHopeThisWillBeFixedSoonn = Disculpa, aquest gadget té problemes amb la seva alçada. Esperem solucionar-ho aviat
+addNewMember = Afegir nou membre
+doubleClickToOpenDragAndDropToMoveThisToAnotherPlace = Doble click per obrir. Arrossega i deixa anar per moure això a un altre lloc
+theUsernamePasswordIsIncorrect = El nom d'usuari/contrasenya és incorrecte
+subscribed = Subscrit
+doYouWantToAddParamToYourContacts = Vols afegir '[%s]' als teus contactes?
+postCreatedEditIt = Publicació creada. Edita-la
+pleaseSignInOrRegisterToCreateAGroup = Si us plau, entra o registra't per crear un grup
+signInOrCreateAnAccountToParticipateInThisGroup = Entra o crea un compte per participar en aquest grup
+nowadaysTheGadgetsMapsPollsEtcAreExperimentalInSomeBrowsersYouMightExperienceProblemsWithCertainGadg = Avui día els gadgets (mapes, enquestes, etc) son experimentals. En alguns navegadors pots experimentar problemes amb alguns gagdets
+errorConfiguringTheTool = Error configurant l'eina
+signInOrRegisterToHelpWithTheTranslation = Entra o registra't per ajudar amb la traducció
+doYouWantToAddParamAsAMemberOfParam = Vols afegir '[%s]' com a membre de '[%s]'?
+memberAddedAsCollaborator = Membre afegit com col·laborar
+thisEmailAddressIsBeingUsedByAnotherUserPleaseTryWithAnotherOne = Aquesta direcció de correu electrònic està sent utilitzada per un altre usuari. Si us plau, prova amb una altra.
+nameOfTheNewChatroom = Nom de la nova sala de xat?
+nameOfTheNewList = Nom de la nova llista?
+serverErrorSavingTheTranslation = Error de servidor guardant la traducció
+thisBlogHasnTAnyPost = Aquest blog no té cap publicació
+thereIsnTAnyBlog = No hi ha cap blog
+thisFolderIsEmptyYouCanCreateSomeDocumentOrFolderHere = Aquest fitxer està buit. Pots crear algún document o fitxer aquí.
+thereIsnTAnyBarterYouCanCreateSomeHere = No hi ha cap trueque. Pots crear algún aquí
+thereIsNothingPostedYet = No hi ha res publicat encara
+homePageOfParam = Inici de [%s]
+thereIsnTAnyList = No hi ha cap llista
+thereIsnTAnyMeetingCreateOne = No hi ha cap reunió, crea'n una
+thisFolderIsEmptyCreateSomeWikipageOrFolder = Aquest fitxer està buit, crea algún wikipage o fitxer
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Gràcies per unir-te [%s]. Ara pots participar activament en [%s]. Pots també utilitzar el teu espai personal per a publicar continguts.
+doYouWantToCollaborativelyEditYourMeetingMinutesInANewDocument = Vols editar els teus minuts de trobada en un nou document?
+signInOrCreateAnAccountToGiveUsFeedback = Entra o crea un compte per enviar-nos una resposta
+paramCreatedSuccesfully = '[%s]' creat amb èxit
+doYouWantToReloadThisPageToUseParamLanguage = Vols recarregar aquesta pàgina per utilitzar '[%s]' idioma?
+participate = Participa
+noResults = No hi ha resultats
+newMeetPlaner = Nova reunió de planificació
+home = Inici
+inbox = Safata d'entrada
+goToToday = Anar a Avui
+1Day = 1 Día
+3Days = 3 Dies
+previous = Anterior
+7Days = 7 Dies
+month = Mes
+next = Següent
+0 = 0
+signInOrCreateAnAccountToAccessToThisRoom = Entra o crea un compte per accedir a aquesta sala
+editTheAppointment = Editar el nomenament
+addAnAppointment = Afegir un nomenament
+removeThisAppointment = Treure aquest nomenament
+emailNotifications = Notificacions d'email
+esteBlogNoTieneNingnPostCreaUno = Aquest bloc no té cap post, crea un
+noHayListasCrearUna = No hi ha llistes, crea una
+noSeHaPublicadoNadaTodavaPublicaAlgo = No s'ha publicat res encara. Publica alguna cosa
+descriptionOfTheAppointment = Descripció del nomenament
+add = Afegir
+pleaseSignInAgain = Si us plau, entra una altra vegada
+lostYourPassword = Has perdut la contrasenya?
+howOftenDoYouWantToReceiveEmailNotifications = Amb quina freqüència vols rebre notificacions per e-mail?
+almostImmediately = quasi immediatament
+atMostHourly = com a màxim cada hora
+atMostDaily = com a màxim diariament
+iDonTNeedEmailNotifications = No necessito notificacions per e-mail
+resendVerificationEmail = Reenviar e-mail de verificaci
+otherErrorTryingToVerifyYourPassword = Un altre error intentant verificar la teva contrasenya
+emailConfirmationCodeExpired = El codi de confirmació de l'e-mail ha caducat
+resetYourPassword = Redefinir la teva contrasenya
+pleaseEnterYourEmailAddressYouWillReceiveALinkToCreateANewPasswordViaEmail = Si us plau, introduexi el teu correu electrònic. Rebrás un enllaç per a crear una nova contrasenya vía e-mail.
+newImage = Nova imatge
+editThisToInsertResizeAndAnnotatenAnynImageFromTheWebTheImageCanBeAnnotatedDoubleClicknOnnItByAnyPar = Editar per insertar, redimensionar i anotar qualsevol image desde la web. La imatge pot ser anotada (doble click a sobre) per qualsevol participant d'aquest document
+yourPasswordHasBeenResetSignIn = La teva contrasenya s'ha restablert. Entra
+enterYourNewPasswordBelow = Introduir la nova contrasenya a continuació:
+confirm = Confirmar
+confirmPlease = Confirmar siusplau
+errorRenaming = Error renombrant
+searching = Buscant
+thereIsnTAnyBarter = No hi ha cap trueque.
+invalidAddressParam = Direcció incorrecta: [%s]
+errorCreatingGroup = Error creant el grup
+memberRejected = Membre rebutjat
+invalidEmail = E-mail incorrecte
+onlyMembersCanUpdateEvents = Només els membres poden actualitzar els events
+backgroupChanged = Backgroup canviat
+checkYourEmailForTheConfirmationLink = Revisa el teu email per l'enllaç de confirmació
+openTheAppointment = Obrir la cita
+eventsInParam = Events en [%s]
+participateInTheEditionOfThisPage = Participa en l'edició d'aquesta pàgina
+signInOrCreateAnAccountToSusbscribeToThisList = Entra o crea un compte per subscriure't a aquesta llista
+joinUsInParamPublicRoom = Unir-se a [%s] sala pública!
+thereIsnTAnyTask = No hi ha cap tasca
+shareWithAdmins = Comparteix amb els administradors
+shareWithAllGroupMembers = Comparteix amb tots els membres del grup
+shareWithCollaborators = Comparteix amb els col.laboradors
+newToThisToolHereThereIsSomeHelp = Nou amb aquesta eina? Aquí hi tens ajuda
+nDay = [%d] Dia
+nDays = [%d] Dies
+invalidOperation = Operació invàlida
+backgroundChanged = Fons canviat
+exportThisCalendar = Exporta aquest calendari
+createANewMeeting = Crea una Nova Reunió
+english = Anglès
+shareThisWithGroupMembersEtc = Comparteix això amb els membres del grup, etc
+allowAnyPersonToEditThis = P
+share = Comparteix
+seemsThatTheListOfPartipantsWereAddedPartiallyPleaseRetry = Sembla que el llistat de participants va ser afegit parcialment. Si us plau, reintenta
+esperanto = Esperanto
+sendedCheckYourEmailForTheVerificationLink = Enviat. Revisa el teu correu electrònic per a l'email de verificació
+newMessageWithEveryoneHere = Nou missatge amb tots aquí
+copyThisToANewMessage = Copia això a un nou missatge
+spanish = Espanyol
+errorDuringRegistrationAccountAlreadyExists = Error durant el registre. Aquest compte ja existeix
+clickToOpen = Click per obrir
+clickToOpenDragAndDropToMoveThisToAnotherPlace = Click para abrir
+theTrashIsEmpty = La paperera és plena
+invalidConfirmationCode = Codi de confirmació invàlid
+errorAccessingThisDocumentPleaseContactTheAdministratorsProvidingThisReferenceParamAndAnyOtherReleva = Error d'accès a aquest document. Si us plau, contacta amb els administradors facilitant aquesta referència ([%s]) i qualsevol altra informació rellevant.
+allTheseMembersAreAlreadyPartipating = Todos estos miembros ya están participando
+sharedWithMembers = Compartit amb els membres
+altTheAltKeyboardKey = Alt
+ctrlTheCtrlKeyboardKey = Ctrl
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2012-04-01 13:47:28 UTC (rev 1817)
@@ -75,7 +75,7 @@
userOptions = Opciones de usuario/a
helpWithTheTranslation = Ayuda con la traducción
yourPreferences = Tus preferencias
-giveUsFeedback = ¡Danos feedback!
+giveUsFeedback = ¡Danos tu opinión!
writeUsWithSomeFeedbackForHelpUsToImproveTheseServices = Escríbenos con tu feedback para ayudarnos a mejorar estos servicios
showHideTheChatWindow = Mostrar/Ocultar la ventana de chat
setYourChatStatus = Establecer tu estado de chat
@@ -130,7 +130,7 @@
change = Cambiar
clear = Quitar
removeCurrentBackgroundImage = Quita la imagen actual de fondo
-selectAndConfigureThePublicSpaceThemeOfThisGroup = Selecciona y configura el tema del espacio público de este grupo:
+selectAndConfigureThePublicSpaceThemeOfThisGroup = Selecciona y configura el tema del espacio público de este grupo:
clickToSelectAndConfigureThisTheme = Pulsa para configurar y seleccionar este tema
redblackAThemeName = rojinegro
purpleAThemeName = violeta
@@ -403,13 +403,13 @@
youDidNotSignInSoYouCanJustSeeSomePublicContentsInParamButNotEditOrCollaborateWithOthersPleaseParamO = No te has registrado o autenticado, así que solo podrás ver ciertos contenidos públicos de [%s], pero no podrás editar ni colaborar con otras personas. Por favor [%s] o [%s] para tener acceso total a las herramientas y contenidos de [%s]
onlyForAuthorizedTranslators = Solo para traductores autorizados
hereYouCanCreateOrUploadYourPersonalGroupOrPublicDocumentsTheseDocumentsCanBeEditedAndCommentedColla = Aquí puedes crear o subir tus documentos personales, grupales o públicos. Esos documentos pueden ser editados y comentados simultáneamente por otras personas. Esos documentos pueden ser páginas estáticas en vuestra web si los publicáis
-blogsAreAChronologicalListOfPostsOrderedByDateAboutASpecificTopicEachPostCanBeCommentedByTheVisitors = Los Blogs son una lista cronológica de mensajes publicados (ordenados por la fecha) sobre un tema específico. Cada mensaje publicado puede ser comentado por los lectores
+blogsAreAChronologicalListOfPostsOrderedByDateAboutASpecificTopicEachPostCanBeCommentedByTheVisitors = Los Blogs son una lista cronológica de mensajes publicados (ordenados por la fecha) sobre un tema específico. Cada mensaje publicado puede ser comentado por los lectores
aDecentralizedWayToOfferOrAskForServicesAndGoodsToYourGroupsOrToAnyoneBarteringMeansTheExchangeOfGoo = Una forma descentralizada de ofrecer (y solicitar) servicios y bienes a tus grupos o a cualquiera. El trueque es el intercambio de bienes a través del acuerdo de dos personas
listsBehaveLikeAMailingListOrAForumYouCanSubscribeAndDiscussAboutSpecificTopics = Las listas se comportan como una lista de distribución o un foro. Puedes suscribirte y debatir sobre un tema específico
aCollaborativeToDoListForTheGroupAnyGroupMemberCanParticipateInAnyProposedTaskAddOthersToATaskCommen = Una lista colaborativa de tareas por hacer por el grupo. Cualquier miembro del grupo puede participar en las tareas propuestas, comentarlas, añadir información, etc
aCalendarToScheduleActivitiesAndEvents = Un calendario para programar actividades y eventos
aRoomWhereYouCanHaveAGroupChatWithManyUsersAtOnceRoomsCanBePublicOrPrivateUsersCanBeFromParamOrOther = Una 'sala' donde puedes tener una conversación en grupo con muchos/as usuarios/as al mismo tiempo. Las salas pueden ser privadas o públicas. Los/as usuarios/as pueden ser de [%s] o de otros sitios (es compatible con el chat de gmail).
-wikiPagesAreDocumentsThatCanBeEditedByAnyVisitorInParamInsteadOfOnlyByTheGroupThisAcceleratesUpdatin = Las páginas Wiki son documentos que pueden ser editados por cualquier usuario/a (de [%s]) en vez de solo por el grupo. Este acelera su actualización y construcción
+wikiPagesAreDocumentsThatCanBeEditedByAnyVisitorInParamInsteadOfOnlyByTheGroupThisAcceleratesUpdatin = Las páginas Wiki son documentos que pueden ser editados por cualquier usuario/a (de [%s]) en vez de solo por el grupo. Esto acelera su actualización y construcción
errorSettingTheLogo = Error configurando el logo
signInOrCreateAnAccountToAccessToYourInbox = Entra o créate una cuenta para acceder a tu carpeta de entrada
sorryThisGadgetHasProblemsWithItsnHeightWeHopeThisWillBeFixedSoonn = Lo sentimos, este gadget tiene problemas con su altura. Esperamos solucionar este problema pronto
@@ -450,7 +450,7 @@
thereIsnTAnyList = No hay ninguna lista
thereIsnTAnyMeetingCreateOne = No hay ningún encuentro, crea uno
thisFolderIsEmptyCreateSomeWikipageOrFolder = Esta carpeta está vacía, crea alguna página wiki o carpeta
-thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Gracias por apuntarte [%s]. Ahora ya puedes participar activamente en [%s]. Puedes usar también tu espacio personal para publicar contenidos.
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Gracias por unirte a [%s]. Ahora puedes participar activamente en [%s]. Puedes usar también tu espacio personal para publicar contenidos.
toHelpWithTheTranslationOfThisSoftwarePleaseContactBeforeWithThisSiteAdministrators = Para ayudar con la traducción de este software contacta por favor antes con las adminitradoras de este sitio.
doYouWantToCollaborativelyEditYourMeetingMinutesInANewDocument = ¿Quieres editar las actas de tu encuentro de forma colaborativa en un nuevo documento?
signInOrCreateAnAccountToGiveUsFeedback = Entra o crea una cuenta para darnos feedback
@@ -480,6 +480,7 @@
emailNotifications = Notificaciones por correo
esteBlogNoTieneNingnPostCreaUno = Este blog no tiene ningún post, crea uno
noHayListasCrearUna = No hay listas, crea una
+noSeHaPublicadoNadaTodavaPublicaAlgo = No se ha publicado nada todavía. Publica algo
descriptionOfTheAppointment = Descripción de la cita
add = Añadir
pleaseSignInAgain = Entra de nuevo, por favor
@@ -516,7 +517,51 @@
backgroupChanged = Fondo cambiado
checkYourEmailForTheConfirmationLink = Comprueba tu correo para el enlace de confirmación
openTheAppointment = Abre el evento
-eventsInParam = Eventos en [%s]
+eventsInParam = Eventos el [%s]
participateInTheEditionOfThisPage = Participa en la edición de esta página
signInOrCreateAnAccountToSusbscribeToThisList = Entra o regístrate para suscribirte a esta lista
-joinUsInParamPublicRoom = ¡Unete a nosotros en la sala pública de [%s]!
\ No newline at end of file
+joinUsInParamPublicRoom = ¡Unete a nosotros en la sala pública de [%s]!
+thereIsnTAnyTask = No hay ninguna tarea
+shareWithAdmins = Comarte con los/as administradoræs
+shareWithAllGroupMembers = Comparte con todos los miembros del grupo
+shareWithCollaborators = Comparte con los/as colaboradoræs
+newToThisToolHereThereIsSomeHelp = ¿Nuevo con esta herramienta? Aquí hay un poco de ayuda
+nDay = [%d] Día
+nDays = [%d] Días
+invalidOperation = Operación invalida
+backgroundChanged = Fondo de pantalla cambiado
+exportThisCalendar = Exporta este calendario
+createANewMeeting = Crea un Nuevo Evento
+english = Inglés
+shareThisWithGroupMembersEtc = Compartir con los miembros del grupo, etc
+allowAnyPersonToEditThis = Permite a cualquier persona editar esto
+share = Compartir
+seemsThatTheListOfPartipantsWereAddedPartiallyPleaseRetry = Parece que la lista de participantes se ha añadido parcialmente. Por favor, reinténtalo
+esperanto = Inglés
+sendedCheckYourEmailForTheVerificationLink = Enviado. Comprueba el enlace de verificación en tu correo electrónico.
+newMessageWithEveryoneHere = Nuevo mensaje con todos/as los de aquí
+copyThisToANewMessage = Copia esto en un nuevo mensaje
+spanish = Español
+errorDuringRegistrationAccountAlreadyExists = Error en el registro. La cuenta ya existe
+clickToOpen = Pulsa para abrir
+clickToOpenDragAndDropToMoveThisToAnotherPlace = Pulsa para abrir. Arrastra y suelta para mover esto a otro sitio
+theTrashIsEmpty = La papelera está vacía
+trash = papelera
+invalidConfirmationCode = Código de confirmación inválido
+errorAccessingThisDocumentPleaseContactTheAdministratorsProvidingThisReferenceParamAndAnyOtherReleva = Error de acceso a este documento. Por favor contacta con los administradores proporcionando este referencia ([%s]) y cualquier otra información relevante.
+allTheseMembersAreAlreadyPartipating = Todos estos miembros ya están participando
+sharedWithMembers = Compartido con los miembros
+youCanDropHereContentsToDeleteThen = Puedes arrastrar contenidos aquí para borrarlos
+seeYourGroupsOrCreateANewOne = Ver tus grupos o crear uno nuevo
+andNExternalUsers = y [%d] usuarias/os externas/os
+russian = Ruso
+sharedWithGeneralPublicNowAnyoneCanParticipate = Compartido con público general. Ahora cualquiera puede participar
+thisIsNotEmpty = No esta vacío
+thisIsTheDefaultContentOfTheGroupYouCannotDeleteItPleaseSelectOtherContentAsDefaultGroupContentBefor = Este es el contenido por defecto de tu grupo, no puedes borrarlo. Por favor selecciona otro contenido por defecto antes de borrar este
+minimizeTheWorkspace = Minimiza el escritorio
+maximizeTheWorkspace = Maximiza el escritorio
+altTheAltKeyboardKey = Alt
+signInToVerifyYourEmail = Entra para verificar tu correo
+ctrlTheCtrlKeyboardKey = Ctrl
+newEvent = Nuevo evento
+createANewEvent = Crea un nuevo evento
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_fr.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_fr.properties 2012-04-01 11:25:44 UTC (rev 1816)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_fr.properties 2012-04-01 13:47:28 UTC (rev 1817)
@@ -36,7 +36,7 @@
thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin = Ceci est un projet orphelin, si vous désirez contribuer merci de demander à le rejoindre
pending = En attente
theMembersOfThisGroupAreNotPublic = Les membres de ce groupe ne sont pas publics
-usersPendingToBeAcceptedInThisGroupByTheAdministrators = Utilisateurs en attente d'être acceptés dans ce groupe par les administrateurs
+usersPendingToBeAcceptedInThisGroupByTheAdministrators = Utilisateurs en attente d'être acceptés dans ce groupe par les administrateurs
changeToCollaborator = Changer vers collaborateur
changeToAdministrator = Changer vers administrateur
removeThisMember = Retirer ce membre
@@ -93,7 +93,7 @@
aboutKune = À propos de kune
errorsInfo = Informations sur l'erreur
signInToCollaborate = Connectez-vous pour collaborer
-pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents = Merci de vous connecter ou de vous inscrire pour avoir un accès complet aux outils et contenus de [%s]
+pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents = Merci de vous connecter ou de vous inscrire pour avoir un accès complet aux outils et contenus de [%s]
signOut = Se déconnecter
createNewGroup = Créer un Nouveau Groupe
createANewGroupForYourInitiativeOrOrganizationNgoCollectiveAcademicGroup = Créer un nouveau groupe pour votre initiative ou organisation (ONG, collectif, groupe académique, ...)
@@ -115,7 +115,7 @@
memberAccepted = Membre accepté
general = Général
changeThisValues = Changer ces valeurs :
-theNameMustBeBetween3And15LowercaseWesternCharactersAndOrNumbers = Le nom doit comprendre entre 3 et 15 caractères européens en bas de casse et/ou des chiffres
+theNameMustBeBetween3And15LowercaseWesternCharactersAndOrNumbers = Le nom doit comprendre entre 3 et 15 caractères européens en bas de casse et/ou des chiffres
shortName = Nom court
longName = Nom long
tools = Outils
@@ -184,7 +184,7 @@
aPostSample = Un exemple de post
thisIsOnlyAPostSampleYouCanEditItRenameThePostAndThisBlog = Ceci est seulement un exemple d'article. Vous pouvez le modifier, renommer l'article et ce blog
welcome = Bienvenue
-thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Merci de rejoindre [%s]. Vous pouvez désormais participer activement à [%s]. Vous pouvez aussi utiliser votre espace personnel pour publier des contenus. Note :
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Merci de rejoindre [%s]. Vous pouvez désormais participer activement à [%s]. Vous pouvez aussi utiliser votre espace personnel pour publier des contenus. Note :
thisUserHasNoBuddiesYet = Cet utilisateur n'a pas encore de contact
newTask = Nouvelle tâche
createANewTask = Créer une nouvelle tâche
@@ -201,7 +201,7 @@
createANewList = Créer une nouvelle liste
yes = Oui
confirmPlease = Confirmez, s'il vous plaît :
-thisWillOpenASpecificChatroomToChatAboutThisPageOrDocumentItSUsefulToChatWithOthersAboutSomethingWhi = Ceci ouvrira une salle de discussion spécifique au sujet de cette page ou document (c'est utile de discuter avec les autres au sujet de ce qu'on est en train de lire ou d'écrire). Etes-vous sûr ?
+thisWillOpenASpecificChatroomToChatAboutThisPageOrDocumentItSUsefulToChatWithOthersAboutSomethingWhi = Ceci ouvrira une salle de discussion spécifique au sujet de cette page ou document (c'est utile de discuter avec les autres au sujet de ce qu'on est en train de lire ou d'écrire). Etes-vous sûr ?
no = Non
chatAboutParam = Discuter à propos de : [%s]
barterSample = example de troc
@@ -283,12 +283,12 @@
paramHadAddedYouAsABuddyDoYouWantToAddHimHerAlso = [%s] vous a ajouté comme contact. Voulez-vous aussi l'ajouter ?
paramCreatedSuccesfully = [%s] créé avec succès
nRecentConversationsUnread = [%d] conversations récentes non lues
-writeUsWithSomeFeedbackForHelpUsToImproveTheServicesOnParam = Envoyez-nous des retours pour nous aider à améliorer les services de [%s]
+writeUsWithSomeFeedbackForHelpUsToImproveTheServicesOnParam = Envoyez-nous des retours pour nous aider à améliorer les services de [%s]
oneRecentConversationUnread = Une conversation récente non lue
pleaseConfirm = Merci de confirmer
startACollaborativeDocumentForTheMeetingMinutes = Démarrer un document collaboratif pour les minutes de la réunion ?
meetingMinutesOfParamOnParam = Minutes de la réunion de [%s] sur [%s]
-youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes = Vous pouvez modifier collaborativement ce document contenant les minutes de la réunion
+youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes = Vous pouvez modifier collaborativement ce document contenant les minutes de la réunion
createANewMeetingHere = Créer une nouvelle réunion ici
thereIsnTAnyListCreateOne = Il n'y a aucune liste, en créer une
create = Créer
@@ -404,9 +404,9 @@
onlyForAuthorizedTranslators = Seulement pour les traducteurs autorisés
hereYouCanCreateOrUploadYourPersonalGroupOrPublicDocumentsTheseDocumentsCanBeEditedAndCommentedColla = Ici vous pouvez créer ou mettre en ligne vos documents personnels, de groupe ou publics. Ces documents peuvent être édités et commentés de manière collaborative et simultanément. Ces docs peuvent être des pages statiques
blogsAreAChronologicalListOfPostsOrderedByDateAboutASpecificTopicEachPostCanBeCommentedByTheVisitors = Les blogs sont des listes chronologiques d'articles (rangé par date) sur un thème spécifique. Chaque article peut être commenté par les visiteurs
-aDecentralizedWayToOfferOrAskForServicesAndGoodsToYourGroupsOrToAnyoneBarteringMeansTheExchangeOfGoo = Une manière décentralisée d'offrir (ou de demander) des biens et des services à vos groupes ou à n'importe qui. "Troc" signifie l'échange de biens ou de services par l'accord de deux personnes.
+aDecentralizedWayToOfferOrAskForServicesAndGoodsToYourGroupsOrToAnyoneBarteringMeansTheExchangeOfGoo = Une manière décentralisée d'offrir (ou de demander) des biens et des services à vos groupes ou à n'importe qui. "Troc" signifie l'échange de biens ou de services par l'accord de deux personnes.
listsBehaveLikeAMailingListOrAForumYouCanSubscribeAndDiscussAboutSpecificTopics = Les listes fonctionnent comme une liste de discussion ou un forum. Vous pouvez vous inscrire et discuter à propos de sujets particuliers
-aCollaborativeToDoListForTheGroupAnyGroupMemberCanParticipateInAnyProposedTaskAddOthersToATaskCommen = Une liste de TODOs collaborative pour le groupe. Tout membre du groupe peut participer à toute tâche proposée, ajouter d'autres membres pour une tâche, les commenter, ajouter des infos, etc.
+aCollaborativeToDoListForTheGroupAnyGroupMemberCanParticipateInAnyProposedTaskAddOthersToATaskCommen = Une liste de TODOs collaborative pour le groupe. Tout membre du groupe peut participer à toute tâche proposée, ajouter d'autres membres pour une tâche, les commenter, ajouter des infos, etc.
aCalendarToScheduleActivitiesAndEvents = Un calendrier pour planifier les activités et les événements
aRoomWhereYouCanHaveAGroupChatWithManyUsersAtOnceRoomsCanBePublicOrPrivateUsersCanBeFromParamOrOther = Une 'salle' où vous pouvez tenir une discussion collective avec plusieurs utilisateurs à la fois. Les salles peuvent être publiques ou privées. Les utilisateurs peuvent être de [%s] ou d'autres sites (compatible avec le chat gmail)
wikiPagesAreDocumentsThatCanBeEditedByAnyVisitorInParamInsteadOfOnlyByTheGroupThisAcceleratesUpdatin = Les pages wiki sont des Documents qui peuvent être édité par tout visiteur (de [%s]), au lieu seulement du groupe. Cela accélère la mise à jour et la construction
@@ -425,7 +425,7 @@
doYouWantToAddParamToYourContacts = Voulez-vous ajouter '[%s]' à vos contacts ?
youAreTryingToMoveThisToTheSameLocation = Vous essayez de déplacer ceci au même endroit
postCreatedEditIt = Article créé. Modifiez-le
-pleaseSignInOrRegisterToCreateAGroup = S'il vous plaît, connectez-vous ou enregistrez-vous pour créer un groupe
+pleaseSignInOrRegisterToCreateAGroup = S'il vous plaît, connectez-vous ou enregistrez-vous pour créer un groupe
signInOrCreateAnAccountToParticipateInThisGroup = Connectez-vous ou créez un compte pour participer à ce groupe
thisNameInAlreadyInUsePleaseTryWithADifferentName = Ce nom est déjà utilisé. Merci d'essayer avec un nom différent
nowadaysTheGadgetsMapsPollsEtcAreExperimentalInSomeBrowsersYouMightExperienceProblemsWithCertainGadg = Les gadgets (cartes, sondages, etc) sont encore expérimentaux. Dans certains navigateurs, vous pourrez avoir des problèmes avec certains gadgets
@@ -472,6 +472,7 @@
month = Mois
next = Suivant
userParamSaysParam = L'utilisateur [%s] dit « [%s] »
+0 = 0
signInOrCreateAnAccountToAccessToThisRoom = Connectez-vous ou créez un compte pour accéder à cet espace
editTheAppointment = Editer le rendez-vous
addAnAppointment = Ajouter un rendez-vous
@@ -512,4 +513,4 @@
errorCreatingGroup = Erreur lors de la création du groupe
memberRejected = Membre rejeté
invalidEmail = Adresse de courriel non erronée
-onlyMembersCanUpdateEvents = Seuls les membres peuvent mettre à jour les événements
\ No newline at end of file
+onlyMembersCanUpdateEvents = Seuls les membres peuvent mettre à jour les événements
Added: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_it.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_it.properties (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_it.properties 2012-04-01 13:47:28 UTC (rev 1817)
@@ -0,0 +1,169 @@
+#
+# Autogenerated by trunk/bin/i18n-db2gwt.sh, please not edit directly
+#
+
+chatWithThisGroupMember = Chatta con questo membro del gruppo
+chatWithYourBuddy = Chatta con il tuo collega
+addAsABuddy = Aggiungere come collega
+chat = Chat ;)
+anyone = qualsiasi
+addANewBuddy = Aggiungere un collega
+closedForNewMembers = Chiuso per nuovi membri
+autoAcceptRequestToJoin = autoaccettare le richieste di patecipazione
+groupMembers = Membri del gruppo
+administrators = Amministratori/trici
+collaborators = Collaboratori/trici
+changeToCollaborator = Cambiare a collaboratore/trice
+changeToAdministrator = Cambiare amministratore/trice
+acceptThisMember = Accettare come membro
+buddies = colleghi
+groupsWhichThisUserJoined = Gruppi nei quali questo membro partecipa
+groupAndPersonalSpaceWhereYouCanCreateAndPublishContentsForYourPersonalOrGroupWebSpaces = Spazio personale e gruppale: Dove puoi creare e pubblicare contenuti per il tuo spazio web personale o gruppale
+close = Chiudere
+groupOptions = Opzioni del gruppo
+helpWithTheTranslation = Aiuto alla traduzione
+giveUsFeedback = Darci feedback!
+available = Disponibile
+availableForChat = Disponibile per la chat
+away = Sono fuori
+busy = occupato/a
+groupSPublicChatRoom = Sale di chat pubbliche del gruppo
+enterToThisGroupPublicChatRoom = Entra a questo gruppo pubblico di sala di chat
+enterToThisGroupPublicChatRoomAndInviteMembers = Entra alla sala pubblica di chat di questo gruppo e fai l'invito ad altre membri
+apacheWavePowered = Funziona con Apache Wave
+aboutKune = Intorno a Kune
+errorsInfo = informazione su errori
+createNewGroup = Creare un Nuovo Gruppo
+createANewGroupForYourInitiativeOrOrganizationNgoCollectiveAcademicGroup = Crei un nuovo gruppo per la tua iniziativa u organizzazione (ONG, collettivo, accademico, gruppo)
+chatWithThisPerson = Chatta con questa persona
+andNExternalUser = e [%d] utenti esterni
+clickToRename = Fai clic per rinominare
+createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crei un Nuovo Documento. Se dopo lo pubblichi, questo documento apparirà come una nuova 'Pagina' nel vostro web pubblico
+goUpOpenTheContainerFolder = Vai su: Apri la carpetta contenitora
+edit = Editare
+chatAbout = Chatta su questo
+chatAndCommentOnThis = Chatta e fai un commento su questo
+general = Generale
+changeThisValues = Cambia questi valori:
+choose = Scegliere
+changeThisWorkspaceTheme = Cambia il tema di questo spazio di lavoro
+currentBackgroundImage = Immagine di fondo attuale:
+change = cambiare
+clear = Togliere
+clickToSelectAndConfigureThisTheme = Fai clic per configurare e selezionare questo tema
+greenAThemeName = verde
+blackwhiteAThemeName = Bianco e nero
+eurosurAThemeName = eurosud
+campAThemeName = accamparsi
+defaultAThemeName = difetto
+blueAThemeName = blu
+greyAThemeName = grigio
+enterLanguage = Introduci l' idioma
+changeYourPassword = Cambia il tuo contrasegno:
+currentPassword = Password attuale
+changeIt = Cambia quella
+calendar = Calendario
+aLongTermTaskSample = Esempio di lavoro a lungo termine
+aMidTermTaskSample = Esempio di lavoro a medio termine
+aShortTermTaskSample = Un lavoro a breve termine
+blogSample = Esempio di blog
+aPostSample = Esempio di post
+createANewTask = Crei un nuovo lavoro
+doubleClickToOpen = Premi due volte per editare
+createANewFolder = Creare una nuova carpetta
+delete = Cancellare
+actions = Azioni
+connecting = Collegando
+createANewList = Crei un nuovo elenco
+confirmPlease = Conferma per piacere:
+chatAboutParam = Chatta su: [%s]
+barterSample = Esempio di scambio
+createANewBarterHere = Creare qui un nuovo scabio
+createANewFolderAFolderWillBeASectionInThePublicWeb = Creare una nuova carpetta. Una carpetta sarà una 'sezione' sul web pubblico
+createANewWikipageHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Creare una nuova pagina Wiki qui. Se scegli pubblicarla, questo documento se vedrà come una nuova 'Pagina' sulla web pubblica
+cancel = Cancellare
+groupTags = Tags del gruppo
+groupType = Tipo di gruppo
+aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators = Un progetto è un tipo di gruppo nel quale l' incorporazione dei nuovi membri deve essere moderata per gli amministratori.
+anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity = Una organizzazione funziona lo stesso che un progetto, a eccezione che deve essere una entità legale.
+closed = Chiuso
+aClosedGroupIsAPrivateProjectWhichContentsAreOnlyAccessibleToItsMembersByDefault = Un gruppo chiuso è un progetto privato, nel quale i suoi contenuti, per opzione predefinita, sono solo accessibili per i suoi membri.
+community = Comunità
+aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt = Una comunità è un gruppo di utenti con interessi condivise (per ess. una comunità ecologista o la comunità LGBT). È aperta alla partecipazione libera di qualsiasi persona senza la moderazione degli amministratori/trici.
+createANewDocumentHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Creare qui Un Nuovo Documento. Se scegli pubblicarlo, questo documento si vedrà come una nuova 'Pagina' sul web pubblico
+password = Password
+donTHaveAnAccount = Non hai un conto?
+email = posta elettronica
+createOne = Crea una
+createANewBlog = Creare un nuovo blog
+createANewBlogPost = Creare un nuovo post in questo blog
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackThisCanHelpUsToImproveTheseServices = Vuoi scriverci con qualsiasi feedback positivo o negativo? Questo ci puo' aiutare a migliorare questi servizi
+doYouWantToJoinThisGroup = Vuoi unirti a questo gruppo?
+createANewChatRoom = Creare una nuova sala di chat
+enterToThisRoom = Entrare a questa sala di chat
+aboutKuneTitleOfDialog = Intorno a Kune
+aboutParam = Intorno [%s]
+createANewPost = Creare un nuovo post in questo blog
+confirmNewBuddy = Conferma nuovo/a collega
+createANewMeetingHere = Creare una nuova cita qui
+create = Creare
+areYouSure = Sei sicuro/ra
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackAboutParamThisCanHelpUsToImproveTheseServices = Vuoi scriverci con qualsiasi feedback positivo o negativo su [%s]? Questo puo' aiutarci a migliorare questi servizi
+feedbackOfParam = Feedback di [%s]
+editAndWriteHereYourFeedback = Editi e scrive qui il tuo feedback
+copyTheTextToTranslate = Copia del testo a tradurre
+clickAltpageupOrAltpagedownToMoveUpDownInTheListWhileTranslatingAndAltVToCopyTheOriginalTextTheTrans = Fai clic Alt+RePag o Alt+AvPag per muoverti su/giù nello elenco mentre fai le traduzioni e Alt-V per copiare il testo originale. Le traduzioni si salvano automaticamente
+helpToTranslateKune = Aiuto a tradurre kune
+doYouWantToWriteAMessageToTheMembersOfThisGroup = Vuoi scrivere un messaggio al tuo collega?
+documents = documenti
+barters = scambi
+blogs = i blog
+chatrooms = sale di chat
+events = eventi
+inDevelopment = (in sviluppo)
+chats = chat
+chatroomCreated = Sala di chat creata
+doYouWantToWriteAMessageToYourBuddy = Voui scrivere un messaggio al tuo amico?
+error = Errore
+finishUsedInButton = Finire
+copyleft = copyleft
+commonLicensesForCulturalWorks = Licenze abituali per lavori culturali
+allowAnyUsesOfYourWorkIncludingCommercial = Permetere qualsiasi uso del tuo lavoro compreso il commerciale?
+allowModificationsOfYourWork = Permetere modificazioni del tuo lavoro?
+contentNotFound = Contenuto non trovato
+areYouSureYouWantThisItWillBeDeletedWithAllItsContents = Sei sicuro di voler continuare? Tutti i suoi contenuti verranno cancellati
+doYouWantToWriteAMessageToTheAdministratorsOfThisGroup = Do you want to write a message to the members of this group?
+aContentWithTheSameNameAlreadyExistPleaseRenameIt = Esiste già un contenuto con lo stesso nome. Per favore rinomina il contenuto.
+addGadget = Aggiungere un gadget
+clickToGoHereOrDropContentsHereToMoveThem = Clicca per andare al sito o lasciare commenti
+blogsAreAChronologicalListOfPostsOrderedByDateAboutASpecificTopicEachPostCanBeCommentedByTheVisitors = I blogs sono l'elenco di posts (ordinati per data) su un argumento specifico. Ogni post puo essere commentato per gli utenti
+aDecentralizedWayToOfferOrAskForServicesAndGoodsToYourGroupsOrToAnyoneBarteringMeansTheExchangeOfGoo = Un modo decentralizzato da offrire (oppure chiedere) beni e servizi ai tuoi gruppi o a chiunque altro utente.Barattare significa lo scambio dei beni per l'intesa tra due persone
+aCollaborativeToDoListForTheGroupAnyGroupMemberCanParticipateInAnyProposedTaskAddOthersToATaskCommen = Un'elenco di cose da fare per il gruppo. Qualsiasi membro del gruppo può partecipare in ogni compito proposto, aggiungere altri al compito, fare dei commenti, agiungere informazione, ecc
+aCalendarToScheduleActivitiesAndEvents = Un calendario per fissare le attività ed eventi
+aRoomWhereYouCanHaveAGroupChatWithManyUsersAtOnceRoomsCanBePublicOrPrivateUsersCanBeFromParamOrOther = Una 'stanza' dove puoi avere una chat in gruppo con altri utenti allo stesso momento. Le stanze possono essere pubbliche oppure private. Gli utenti possono essere da [%s] o di altri siti (compatibile con la chat di gmail)
+addNewMember = Aggiungere un nuovo membro
+doYouWantToAddParamToYourContacts = Vuoi aggiungere '[%s]' ai tuoi contatti?
+doYouWantToAddParamAsAMemberOfParam = Vuoi aggiungere '[%s]'come membro di'[%s]'?
+doYouWantToCollaborativelyEditYourMeetingMinutesInANewDocument = Vuoi editare i tuoi verbali delle riunioni in un nuovo documento
+paramCreatedSuccesfully = '[%s]' creato con esito
+doYouWantToReloadThisPageToUseParamLanguage = Vuoi ricaricare questo sito per usare la lingua'[%s]' ?
+1Day = 1 giorno
+3Days = 3 giorni
+7Days = 7 Giorni
+0 = 0
+addAnAppointment = Aggiungere un appuntamento
+descriptionOfTheAppointment = Descrizione dell'appuntamento
+add = Agiungere
+almostImmediately = subito
+atMostHourly = al massimo ogni ora
+atMostDaily = al massimo ogni giorno
+confirm = Confermare
+confirmPlease = Per favore confermare
+backgroupChanged = Backgroup modificato
+checkYourEmailForTheConfirmationLink = Controlla la tua posta per il link di confirma
+backgroundChanged = Background modificato
+createANewMeeting = Creare un Nuovo Meeting
+allowAnyPersonToEditThis = Autorizzare qualsiasi persona a modificare questo
+copyThisToANewMessage = Copiare questo su un altro messaggio
+clickToOpen = Clicca per aprire
+clickToOpenDragAndDropToMoveThisToAnotherPlace = Clicca per aprire. Trascina e lascia per muovere ad un'altra parte
1
0
01 Apr '12
Author: vjrj_
Date: 2012-04-01 13:25:44 +0200 (Sun, 01 Apr 2012)
New Revision: 1816
Added:
trunk/kune-data/
trunk/kune-data/lucene/
trunk/kune-data/lucene/kune_dev/
trunk/kune-data/lucene/kune_dev/indexes/
trunk/kune-data/lucene/kune_prod/
trunk/kune-data/lucene/kune_prod/indexes/
trunk/kune-data/lucene/kune_test/
trunk/kune-data/lucene/kune_test/indexes/
trunk/kune-data/uploads/
Modified:
trunk/INSTALL
trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
trunk/src/main/resources/META-INF/persistence.xml
trunk/src/main/resources/wave-server-testing.properties
trunk/src/main/resources/wave-server.properties
Log:
Few steps in the install for dev environments
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2012-04-01 10:43:49 UTC (rev 1815)
+++ trunk/INSTALL 2012-04-01 11:25:44 UTC (rev 1816)
@@ -85,6 +85,8 @@
===Configure directories===
+Note: This is not needed in development enviroments or when you use debian package
+
sudo mkdir -p /usr/share/kune/
sudo chown yourUser:yourUser /usr/share/kune/
@@ -97,8 +99,10 @@
# yourUser is the user you are using to develop/run the application
sudo mkdir -p /var/lib/kune/lucene/kune_dev/indexes
sudo mkdir -p /var/lib/kune/lucene/kune_test/indexes
+ sudo mkdir -p /var/lib/kune/lucene/kune_prod/indexes
sudo chown yourUser:yourUser /var/lib/kune/lucene/kune_dev/indexes
sudo chown yourUser:yourUser /var/lib/kune/lucene/kune_test/indexes
+ sudo chown yourUser:yourUser /var/lib/kune/lucene/kune_prod/indexes
But in general you can do it recursively with:
Property changes on: trunk/kune-data
___________________________________________________________________
Name: svn:ignore
+ *
_accounts
_attachments
_certificates
_deltas
_sessions
_sessions-mal
Property changes on: trunk/kune-data/lucene/kune_dev/indexes
___________________________________________________________________
Name: svn:ignore
+ *
Property changes on: trunk/kune-data/lucene/kune_prod/indexes
___________________________________________________________________
Name: svn:ignore
+ *
Property changes on: trunk/kune-data/lucene/kune_test/indexes
___________________________________________________________________
Name: svn:ignore
+ *
Property changes on: trunk/kune-data/uploads
___________________________________________________________________
Name: svn:ignore
+ *
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2012-04-01 10:43:49 UTC (rev 1815)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2012-04-01 11:25:44 UTC (rev 1816)
@@ -24,7 +24,6 @@
import cc.kune.common.client.actions.ui.AbstractGuiItem;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.client.ui.IconLabel;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -41,7 +40,6 @@
protected boolean enableTongle;
private IconLabel iconLabel;
private boolean isChild;
- private Tooltip tooltip;
public AbstractGwtButtonGui() {
this(null, false);
Modified: trunk/src/main/resources/META-INF/persistence.xml
===================================================================
--- trunk/src/main/resources/META-INF/persistence.xml 2012-04-01 10:43:49 UTC (rev 1815)
+++ trunk/src/main/resources/META-INF/persistence.xml 2012-04-01 11:25:44 UTC (rev 1816)
@@ -165,7 +165,7 @@
<property name="hibernate.search.default.directory_provider"
value="org.hibernate.search.store.FSDirectoryProvider"/>
<property name="hibernate.search.default.indexBase"
- value="/var/lib/kune/lucene/kune_dev/indexes"/>
+ value="kune-data/lucene/kune_dev/indexes"/>
</properties>
</persistence-unit>
@@ -223,7 +223,7 @@
<property name="hibernate.search.default.directory_provider"
value="org.hibernate.search.store.FSDirectoryProvider"/>
<property name="hibernate.search.default.indexBase"
- value="/var/lib/kune/lucene/kune_test/indexes"/>
+ value="kune-data/lucene/kune_test/indexes"/>
</properties>
</persistence-unit>
@@ -267,7 +267,7 @@
<property name="hibernate.search.default.directory_provider"
value="org.hibernate.search.store.FSDirectoryProvider"/>
<property name="hibernate.search.default.indexBase"
- value="/var/lib/kune/lucene/kune_test/indexes"/>
+ value="kune-data/lucene/kune_test/indexes"/>
</properties>
</persistence-unit>
Modified: trunk/src/main/resources/wave-server-testing.properties
===================================================================
--- trunk/src/main/resources/wave-server-testing.properties 2012-04-01 10:43:49 UTC (rev 1815)
+++ trunk/src/main/resources/wave-server-testing.properties 2012-04-01 11:25:44 UTC (rev 1816)
@@ -15,7 +15,7 @@
# A comma separated list of webApp source directories
# Default value: ./war
-resource_bases = /var/www/kune/,target/kune-0.1.0-SNAPSHOT/,src/main/webapp/
+resource_bases = target/kune-0.1.0-SNAPSHOT/,src/main/webapp/
### Server-specific variables
###
Modified: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties 2012-04-01 10:43:49 UTC (rev 1815)
+++ trunk/src/main/resources/wave-server.properties 2012-04-01 11:25:44 UTC (rev 1816)
@@ -27,7 +27,7 @@
# Note: This is only used when using the file signer info store. It is ignored
# for other data store types.
# Default value: _certificates
-signer_info_store_directory = /var/lib/kune/_certificates
+signer_info_store_directory = kune-data/_certificates
# Currently supported attachment types: mongodb, disk
# Default value: disk
@@ -36,7 +36,7 @@
# The location where attachments are stored on disk. This should be changed.
# Note: This is only used when using the disk attachment store. It is ignored
# for other data store types.
-attachment_store_directory = /var/lib/kune/_attachments
+attachment_store_directory = kune-data/_attachments
# Currently supported account store types: fake, memory, file, mongodb
account_store_type = file
@@ -44,7 +44,7 @@
# The location where accounts are stored on disk. This should be changed.
# Note: This is only used when using the file account store. It is ignored
# for other data store types.
-account_store_directory = /var/lib/kune/_accounts
+account_store_directory = kune-data/_accounts
# Currently supported delta store types: memory, file
delta_store_type = file
@@ -53,12 +53,12 @@
# Note: This is only used when using the file delta store. It is ignored
# for other data store types.
# Default value: _deltas
-delta_store_directory = /var/lib/kune/_deltas
+delta_store_directory = kune-data/_deltas
# The location where user sessions are persisted on disk. This allow to restore user sessions
# between restarts.
# Default value: _sessions
-sessions_store_directory = /var/lib/kune/_sessions
+sessions_store_directory = kune-data/_sessions
# Set false to use raw WebSockets instead of Socket.IO (still a bit experimental) in the webclient
# Default value: true
1
0
r1815 - in trunk/src: main/java/cc/kune/common/client/actions/gwtui test/java/cc/kune/core/server test/java/cc/kune/core/server/integration
by Vicente J. Ruiz Jurado 01 Apr '12
by Vicente J. Ruiz Jurado 01 Apr '12
01 Apr '12
Author: vjrj_
Date: 2012-04-01 12:43:49 +0200 (Sun, 01 Apr 2012)
New Revision: 1815
Removed:
trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java
Modified:
trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
trunk/src/test/java/cc/kune/core/server/TestHelper.java
trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
Log:
Fix some compilation error
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2012-04-01 02:50:08 UTC (rev 1814)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2012-04-01 10:43:49 UTC (rev 1815)
@@ -19,13 +19,11 @@
*/
package cc.kune.common.client.actions.gwtui;
-import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.AbstractChildGuiItem;
import cc.kune.common.client.actions.ui.AbstractGuiItem;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.common.client.log.Log;
import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.client.ui.IconLabel;
@@ -113,8 +111,9 @@
@Override
public void setEnabled(final boolean enabled) {
- Log.info("Set button" + descriptor.getValue(Action.NAME) + " enabled " + enabled
- + " ----------------------------------");
+ // Log.info("Set button" + descriptor.getValue(Action.NAME) + " enabled " +
+ // enabled
+ // + " ----------------------------------");
button.setEnabled(enabled);
button.getElement().getStyle().setOpacity(enabled ? 1d : 0.6d);
}
Modified: trunk/src/test/java/cc/kune/core/server/TestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/TestHelper.java 2012-04-01 02:50:08 UTC (rev 1814)
+++ trunk/src/test/java/cc/kune/core/server/TestHelper.java 2012-04-01 10:43:49 UTC (rev 1815)
@@ -22,6 +22,7 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.configuration.ConfigurationException;
+import org.mockito.Mockito;
import org.waveprotocol.box.server.CoreSettings;
import org.waveprotocol.box.server.ServerModule;
import org.waveprotocol.box.server.authentication.AccountStoreHolder;
@@ -35,7 +36,6 @@
import cc.kune.barters.server.BarterServerModule;
import cc.kune.chat.server.ChatServerModule;
-import cc.kune.core.server.integration.HttpServletRequestMocked;
import cc.kune.core.server.persist.DataSourceKunePersistModule;
import cc.kune.core.server.persist.DataSourceOpenfirePersistModule;
import cc.kune.docs.server.DocumentServerModule;
@@ -68,9 +68,9 @@
"kune.properties", TestConstants.PERSISTENCE_UNIT);
final Injector childInjector = injector.createChildInjector(wavePersistModule, new ServerModule(
false, 1, 2, 2), new RobotApiModule(), federationModule, new ListsServerModule(),
- new DocumentServerModule(), new ChatServerModule(), federationModule,
- new WikiServerModule(), new TaskServerModule(), new BarterServerModule(),
- new EventsServerModule(), new TrashServerModule(), kuneDataSource,
+ new DocumentServerModule(), new ChatServerModule(), federationModule, new WikiServerModule(),
+ new TaskServerModule(), new BarterServerModule(), new EventsServerModule(),
+ new TrashServerModule(), kuneDataSource,
new DataSourceOpenfirePersistModule(kuneDataSource.getKuneProperties()), module, new Module() {
@Override
public void configure(final Binder binder) {
@@ -78,7 +78,8 @@
binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
// binder.bind(KuneProperties.class).toInstance(new
// KunePropertiesDefault(propetiesFileName));
- binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
+ // Used by I18nRPC to detect user lang
+ binder.bind(HttpServletRequest.class).toInstance(Mockito.mock(HttpServletRequest.class));
}
});
try {
Deleted: trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java 2012-04-01 02:50:08 UTC (rev 1814)
+++ trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java 2012-04-01 10:43:49 UTC (rev 1815)
@@ -1,444 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.server.integration;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.security.Principal;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.servlet.AsyncContext;
-import javax.servlet.DispatcherType;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.Part;
-
-public class HttpServletRequestMocked implements HttpServletRequest {
-
- @Override
- public boolean authenticate(final HttpServletResponse arg0) throws IOException, ServletException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public AsyncContext getAsyncContext() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Object getAttribute(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Enumeration<String> getAttributeNames() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getAuthType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getCharacterEncoding() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getContentLength() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getContentType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getContextPath() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Cookie[] getCookies() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public long getDateHeader(final String arg0) {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public DispatcherType getDispatcherType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getHeader(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Enumeration<String> getHeaderNames() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Enumeration<String> getHeaders(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public ServletInputStream getInputStream() throws IOException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getIntHeader(final String arg0) {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getLocalAddr() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Locale getLocale() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Enumeration<Locale> getLocales() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getLocalName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getLocalPort() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getMethod() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getParameter(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Map<String, String[]> getParameterMap() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Enumeration<String> getParameterNames() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String[] getParameterValues(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Part getPart(final String arg0) throws IOException, ServletException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Collection<Part> getParts() throws IOException, ServletException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getPathInfo() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getPathTranslated() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getProtocol() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getQueryString() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public BufferedReader getReader() throws IOException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getRealPath(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getRemoteAddr() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getRemoteHost() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getRemotePort() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getRemoteUser() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public RequestDispatcher getRequestDispatcher(final String arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getRequestedSessionId() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getRequestURI() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public StringBuffer getRequestURL() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getScheme() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getServerName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getServerPort() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public ServletContext getServletContext() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getServletPath() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public HttpSession getSession() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public HttpSession getSession(final boolean arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Principal getUserPrincipal() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean isAsyncStarted() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isAsyncSupported() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isRequestedSessionIdFromCookie() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isRequestedSessionIdFromUrl() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isRequestedSessionIdFromURL() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isRequestedSessionIdValid() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isSecure() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isUserInRole(final String arg0) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void login(final String arg0, final String arg1) throws ServletException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void logout() throws ServletException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void removeAttribute(final String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setAttribute(final String arg0, final Object arg1) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setCharacterEncoding(final String arg0) throws UnsupportedEncodingException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public AsyncContext startAsync() throws IllegalStateException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public AsyncContext startAsync(final ServletRequest arg0, final ServletResponse arg1)
- throws IllegalStateException {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
Modified: trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2012-04-01 02:50:08 UTC (rev 1814)
+++ trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2012-04-01 10:43:49 UTC (rev 1815)
@@ -25,6 +25,7 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.configuration.ConfigurationException;
+import org.mockito.Mockito;
import org.waveprotocol.box.server.CoreSettings;
import org.waveprotocol.box.server.ServerModule;
import org.waveprotocol.box.server.persistence.PersistenceModule;
@@ -76,8 +77,8 @@
protected void configure() {
bindScope(SessionScoped.class, Scopes.SINGLETON);
bindScope(RequestScoped.class, Scopes.SINGLETON);
-
- bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
+ // Used by I18nRPC to detect user lang
+ bind(HttpServletRequest.class).toInstance(Mockito.mock(HttpServletRequest.class));
bindInterceptor(annotatedWith(KuneTransactional.class), any(),
kuneDataSource.getTransactionInterceptor());
bindInterceptor(any(), annotatedWith(KuneTransactional.class),
1
0
Author: vjrj_
Date: 2012-04-01 04:50:08 +0200 (Sun, 01 Apr 2012)
New Revision: 1814
Added:
trunk/debian/files
trunk/debian/kune.postinst.debhelper
trunk/debian/kune.postrm.debhelper
trunk/debian/kune.prerm.debhelper
trunk/src/main/java/cc/kune/trash/client/actions/EmptyTrashBinBtn.java
Modified:
trunk/.classpath
trunk/TROUBLESHOOT
trunk/debian/kune.debhelper.log
trunk/debian/kune.substvars
trunk/pom.xml
trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java
trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java
trunk/src/main/java/cc/kune/core/client/events/StateChangedEvent.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
trunk/src/main/java/cc/kune/core/client/sn/actions/SessionAction.java
trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java
trunk/src/main/java/cc/kune/core/client/state/Session.java
trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java
trunk/src/main/java/cc/kune/core/client/state/StateManager.java
trunk/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java
trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java
trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java
trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java
Log:
NEW - # 222: Create a trash folder icon and improve contents delete functionality
http://kune.ourproject.org/issues/ticket/222
Unregister of handlers in some actions
Force servlet 3.0 dep
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/.classpath 2012-04-01 02:50:08 UTC (rev 1814)
@@ -8,7 +8,7 @@
<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4.4/mail-1.4.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4.4/mail-1.4.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/3.0-0.3.14/servlet-api-3.0-0.3.14.jar"/>
<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/api/0.3.14/api-0.3.14.jar"/>
Modified: trunk/TROUBLESHOOT
===================================================================
--- trunk/TROUBLESHOOT 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/TROUBLESHOOT 2012-04-01 02:50:08 UTC (rev 1814)
@@ -144,7 +144,7 @@
Authorizated.java:[50,47] incompatible types
found : cc.kune.core.shared.domain.AccessRol
required: cc.kune.core.shared.domain.AccessRol
-seems that happens with some openjdk6 versions. Workaround to compile from eclipse or using sun-jdk or opnejdk7.
+seems that happens with some openjdk6 versions. Workaround to compile from eclipse or using sun-jdk or another jdk version.
More info:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/611284
update-java-alternatives -l
Added: trunk/debian/files
===================================================================
--- trunk/debian/files (rev 0)
+++ trunk/debian/files 2012-04-01 02:50:08 UTC (rev 1814)
@@ -0,0 +1 @@
+kune_0.1.0+b4_all.deb java optional
Modified: trunk/debian/kune.debhelper.log
===================================================================
--- trunk/debian/kune.debhelper.log 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/debian/kune.debhelper.log 2012-04-01 02:50:08 UTC (rev 1814)
@@ -1,3 +1,34 @@
dh_prep
dh_installdirs
dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_bugfiles
+dh_install
+dh_link
+dh_installmime
+dh_installgsettings
+dh_strip
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
Added: trunk/debian/kune.postinst.debhelper
===================================================================
--- trunk/debian/kune.postinst.debhelper (rev 0)
+++ trunk/debian/kune.postinst.debhelper 2012-04-01 02:50:08 UTC (rev 1814)
@@ -0,0 +1,6 @@
+# Automatically added by dh_installinit
+if [ -x "/etc/init.d/kune" ]; then
+ update-rc.d kune defaults >/dev/null
+ invoke-rc.d kune start || exit $?
+fi
+# End automatically added section
Added: trunk/debian/kune.postrm.debhelper
===================================================================
--- trunk/debian/kune.postrm.debhelper (rev 0)
+++ trunk/debian/kune.postrm.debhelper 2012-04-01 02:50:08 UTC (rev 1814)
@@ -0,0 +1,11 @@
+# Automatically added by dh_installdebconf
+if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ db_purge
+fi
+# End automatically added section
+# Automatically added by dh_installinit
+if [ "$1" = "purge" ] ; then
+ update-rc.d kune remove >/dev/null
+fi
+# End automatically added section
Added: trunk/debian/kune.prerm.debhelper
===================================================================
--- trunk/debian/kune.prerm.debhelper (rev 0)
+++ trunk/debian/kune.prerm.debhelper 2012-04-01 02:50:08 UTC (rev 1814)
@@ -0,0 +1,5 @@
+# Automatically added by dh_installinit
+if [ -x "/etc/init.d/kune" ]; then
+ invoke-rc.d kune stop || exit $?
+fi
+# End automatically added section
Modified: trunk/debian/kune.substvars
===================================================================
--- trunk/debian/kune.substvars 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/debian/kune.substvars 2012-04-01 02:50:08 UTC (rev 1814)
@@ -0,0 +1 @@
+misc:Depends=debconf (>= 0.5) | debconf-2.0
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/pom.xml 2012-04-01 02:50:08 UTC (rev 1814)
@@ -465,8 +465,7 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
+ <version>3.0-${wiab.version}</version>
</dependency>
<!-- testing dependencies -->
<dependency>
Modified: trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -43,11 +43,13 @@
import com.calclab.emite.im.client.chat.ChatStates;
import com.calclab.emite.xep.muc.client.Occupant;
import com.calclab.emite.xep.muc.client.Room;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
public class OpenGroupPublicChatRoomAction extends RolActionAutoUpdated {
private final ChatClient chatClient;
+ private HandlerRegistration hadlerReg;
protected final I18nTranslationService i18n;
private boolean inviteMembers;
protected final Session session;
@@ -92,7 +94,7 @@
private void inviteMembers(final Room room) {
if (inviteMembers) {
- room.addChatStateChangedHandler(true,
+ hadlerReg = room.addChatStateChangedHandler(true,
new com.calclab.emite.core.client.events.StateChangedHandler() {
@Override
public void onStateChanged(final com.calclab.emite.core.client.events.StateChangedEvent event) {
@@ -114,6 +116,7 @@
room.sendInvitationTo(memberNotPresent,
i18n.t("Join us in [%s] public room!", room.getURI().getNode()));
}
+ hadlerReg.removeHandler();
}
}
});
Modified: trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/common/client/actions/AbstractAction.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -110,6 +110,12 @@
return (Boolean) super.getValue(ENABLED);
}
+ public void onAttach() {
+ }
+
+ public void onDettach() {
+ }
+
@Override
/**
* Sets the value associated with the specified key and sends a
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -19,11 +19,13 @@
*/
package cc.kune.common.client.actions.gwtui;
+import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.AbstractChildGuiItem;
import cc.kune.common.client.actions.ui.AbstractGuiItem;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.log.Log;
import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.client.ui.IconLabel;
@@ -111,6 +113,8 @@
@Override
public void setEnabled(final boolean enabled) {
+ Log.info("Set button" + descriptor.getValue(Action.NAME) + " enabled " + enabled
+ + " ----------------------------------");
button.setEnabled(enabled);
button.getElement().getStyle().setOpacity(enabled ? 1d : 0.6d);
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -123,6 +123,18 @@
: descriptor.isChild() ? descriptor.getParent().getTarget() : ActionEvent.NO_TARGET;
}
+ @Override
+ protected void onAttach() {
+ super.onAttach();
+ descriptor.onAttach();
+ }
+
+ @Override
+ protected void onDetach() {
+ super.onDetach();
+ descriptor.onDetach();
+ }
+
private void setDropTarget(final DropTarget dropTarget) {
if (dropTarget != null) {
dropTarget.init(this);
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -180,6 +180,16 @@
return result;
}
+ @Override
+ public void onAttach() {
+ action.onAttach();
+ }
+
+ @Override
+ public void onDetach() {
+ action.onDettach();
+ }
+
public void setAction(final AbstractAction action) {
this.action = action;
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -201,6 +201,16 @@
boolean mustBeAdded();
/**
+ * Fired when the widget is attached
+ */
+ void onAttach();
+
+ /**
+ * Fired when the widget is detached
+ */
+ void onDetach();
+
+ /**
* Put value.
*
* @param key
Modified: trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -29,6 +29,7 @@
import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.core.shared.dto.AccessRolDTO;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
/**
@@ -38,6 +39,7 @@
*
*/
public abstract class RolActionAutoUpdated extends AbstractExtendedAction {
+ private final HandlerRegistration handlerReg;
protected final Session session;
protected final StateManager stateManager;
@@ -47,7 +49,7 @@
final boolean authNeed, final boolean visibleForNonMemb, final boolean visibleForMembers) {
this.stateManager = stateManager;
this.session = session;
- rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() {
+ handlerReg = rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() {
@Override
public void onAccessRightsChanged(final AccessRightsChangedEvent event) {
refreshStatus(rolRequired, authNeed, session.isLogged(), visibleForMembers, visibleForNonMemb,
@@ -56,6 +58,12 @@
});
}
+ @Override
+ public void onDettach() {
+ super.onDettach();
+ handlerReg.removeHandler();
+ }
+
public void refreshStatus(final AccessRolDTO rolRequired, final boolean authNeed,
final boolean isLogged, final boolean visibleForMembers, final boolean visibleForNonMemb,
final AccessRights newRights) {
Modified: trunk/src/main/java/cc/kune/core/client/events/StateChangedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/StateChangedEvent.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/events/StateChangedEvent.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -24,7 +24,7 @@
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.event.shared.HasHandlers;
-public class StateChangedEvent extends GwtEvent<StateChangedEvent.StateChangedHandler> {
+public class StateChangedEvent extends GwtEvent<StateChangedEvent.StateChangedHandler> {
public interface HasStateChangedHandlers extends HasHandlers {
HandlerRegistration addStateChangedHandler(StateChangedHandler handler);
@@ -36,7 +36,7 @@
private static final Type<StateChangedHandler> TYPE = new Type<StateChangedHandler>();
- public static void fire(HasHandlers source, cc.kune.core.shared.dto.StateAbstractDTO state) {
+ public static void fire(final HasHandlers source, final cc.kune.core.shared.dto.StateAbstractDTO state) {
source.fireEvent(new StateChangedEvent(state));
}
@@ -46,46 +46,51 @@
cc.kune.core.shared.dto.StateAbstractDTO state;
- public StateChangedEvent(cc.kune.core.shared.dto.StateAbstractDTO state) {
- this.state = state;
- }
-
protected StateChangedEvent() {
// Possibly for serialization.
}
- @Override
- public Type<StateChangedHandler> getAssociatedType() {
- return TYPE;
+ public StateChangedEvent(final cc.kune.core.shared.dto.StateAbstractDTO state) {
+ this.state = state;
}
- public cc.kune.core.shared.dto.StateAbstractDTO getState() {
- return state;
- }
-
@Override
- protected void dispatch(StateChangedHandler handler) {
+ protected void dispatch(final StateChangedHandler handler) {
handler.onStateChanged(this);
}
@Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- StateChangedEvent other = (StateChangedEvent) obj;
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final StateChangedEvent other = (StateChangedEvent) obj;
if (state == null) {
- if (other.state != null)
+ if (other.state != null) {
return false;
- } else if (!state.equals(other.state))
+ }
+ } else if (!state.equals(other.state)) {
return false;
+ }
return true;
}
@Override
+ public Type<StateChangedHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public cc.kune.core.shared.dto.StateAbstractDTO getState() {
+ return state;
+ }
+
+ @Override
public int hashCode() {
int hashCode = 23;
hashCode = (hashCode * 37) + (state == null ? 1 : state.hashCode());
@@ -94,8 +99,6 @@
@Override
public String toString() {
- return "StateChangedEvent["
- + state
- + "]";
+ return "StateChangedEvent[" + state + "]";
}
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -77,6 +77,8 @@
StateContainerDTO moveContent(String userHash, StateToken contentToken, StateToken newContainerToken)
throws DefaultException;
+ StateContainerDTO purgeAll(String userHash, StateToken token);
+
StateContainerDTO purgeContent(String userHash, StateToken token);
RateResult rateContent(String userHash, StateToken token, Double value) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -77,6 +77,8 @@
void moveContent(String userHash, StateToken contentToken, StateToken newContainerToken,
AsyncCallback<StateContainerDTO> asyncCallback);
+ void purgeAll(String userHash, StateToken token, AsyncCallback<StateContainerDTO> callback);
+
void purgeContent(String userHash, StateToken token, AsyncCallback<StateContainerDTO> callback);
void rateContent(String userHash, StateToken token, Double value,
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -40,6 +40,7 @@
private final ContentCache cache;
private final Provider<ContentServiceAsync> contentService;
+ private final AsyncCallbackSimple<StateContainerDTO> defCallback;
private final EventBus eventBus;
private final FolderViewerPresenter folderViewer;
private final I18nTranslationService i18n;
@@ -57,6 +58,27 @@
this.eventBus = eventBus;
this.contentService = contentService;
this.stateManager = stateManager;
+ defCallback = new AsyncCallbackSimple<StateContainerDTO>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ // Should we do something with
+ // ContainerNotEmptyException?
+ super.onFailure(caught);
+ NotifyUser.hideProgress();
+ }
+
+ @Override
+ public void onSuccess(final StateContainerDTO state) {
+ final StateToken parentToken = state.getStateToken();
+ if (session.getCurrentStateToken().equals(parentToken)) {
+ stateManager.setRetrievedStateAndGo(state);
+ } else {
+ stateManager.gotoStateToken(parentToken, false);
+ }
+ NotifyUser.hideProgress();
+ }
+ };
+
}
public void addContainer(final String id, final String newName) {
@@ -102,27 +124,18 @@
@Override
public void onSuccess() {
NotifyUser.showProgress();
- contentService.get().delContent(session.getUserHash(), token,
- new AsyncCallbackSimple<StateContainerDTO>() {
- @Override
- public void onFailure(final Throwable caught) {
- // Should we do something with
- // ContainerNotEmptyException?
- super.onFailure(caught);
- NotifyUser.hideProgress();
- }
+ contentService.get().delContent(session.getUserHash(), token, defCallback);
+ }
+ });
+ }
- @Override
- public void onSuccess(final StateContainerDTO state) {
- final StateToken parentToken = state.getStateToken();
- if (session.getCurrentStateToken().equals(parentToken)) {
- stateManager.setRetrievedStateAndGo(state);
- } else {
- stateManager.gotoStateToken(parentToken, false);
- }
- NotifyUser.hideProgress();
- }
- });
+ public void purgeAll(final StateToken token) {
+ ConfirmAskEvent.fire(eventBus, i18n.t("Please confirm"), i18n.t("Are you sure?"), i18n.t("Yes"),
+ i18n.t("No"), null, null, new OnAcceptCallback() {
+ @Override
+ public void onSuccess() {
+ NotifyUser.showProgress();
+ contentService.get().purgeAll(session.getUserHash(), token, defCallback);
}
});
}
@@ -133,27 +146,7 @@
@Override
public void onSuccess() {
NotifyUser.showProgress();
- contentService.get().purgeContent(session.getUserHash(), token,
- new AsyncCallbackSimple<StateContainerDTO>() {
- @Override
- public void onFailure(final Throwable caught) {
- // Should we do something with
- // ContainerNotEmptyException?
- super.onFailure(caught);
- NotifyUser.hideProgress();
- }
-
- @Override
- public void onSuccess(final StateContainerDTO state) {
- final StateToken parentToken = state.getStateToken();
- if (session.getCurrentStateToken().equals(parentToken)) {
- stateManager.setRetrievedStateAndGo(state);
- } else {
- stateManager.gotoStateToken(parentToken, false);
- }
- NotifyUser.hideProgress();
- }
- });
+ contentService.get().purgeContent(session.getUserHash(), token, defCallback);
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/SessionAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/SessionAction.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/SessionAction.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -25,15 +25,17 @@
import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
import cc.kune.core.client.state.Session;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
public abstract class SessionAction extends AbstractExtendedAction {
+ private final HandlerRegistration hadlerReg;
protected final Session session;
@Inject
public SessionAction(final Session session, final boolean authNeed) {
this.session = session;
- session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
+ hadlerReg = session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
@Override
public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
refreshStatus(authNeed, event.isLogged());
@@ -41,6 +43,12 @@
});
}
+ @Override
+ public void onDettach() {
+ super.onDettach();
+ hadlerReg.removeHandler();
+ }
+
public void refreshStatus(final boolean authNeed, final boolean isLogged) {
boolean visible = false;
final boolean noLogged = !isLogged;
Modified: trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -26,38 +26,46 @@
import cc.kune.core.shared.dto.StateAbstractDTO;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
+import com.google.inject.Singleton;
+@Singleton
public class AccessRightsClientManager {
- private final EventBus eventBus;
- private AccessRights previousRights;
- private final Session session;
+ private final EventBus eventBus;
+ private AccessRights previousRights;
+ private final Session session;
- @Inject
- public AccessRightsClientManager(final EventBus eventBus, final StateManager stateManager, final Session session) {
- this.eventBus = eventBus;
- this.session = session;
- this.previousRights = null;
- stateManager.onStateChanged(true, new StateChangedHandler() {
- @Override
- public void onStateChanged(final StateChangedEvent event) {
- final AccessRights rights = event.getState().getGroupRights();
- // NotifyUser.info("prev rights " + previousRights +
- // " new rights: " + rights);
- if (!rights.equals(previousRights)) {
- AccessRightsChangedEvent.fire(eventBus, previousRights, rights);
- previousRights = rights;
- }
+ @Inject
+ public AccessRightsClientManager(final EventBus eventBus, final StateManager stateManager,
+ final Session session) {
+ this.eventBus = eventBus;
+ this.session = session;
+ this.previousRights = null;
+ stateManager.onStateChanged(true, new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ final AccessRights rights = event.getState().getGroupRights();
+ // NotifyUser.info("prev rights " + previousRights +
+ // " new rights: " + rights);
+ if (!rights.equals(previousRights)) {
+ AccessRightsChangedEvent.fire(eventBus, previousRights, rights);
+ previousRights = rights;
+ }
- }
- });
- }
+ }
+ });
+ }
- public void onRightsChanged(final boolean fireNow, final AccessRightsChangedEvent.AccessRightsChangedHandler handler) {
- eventBus.addHandler(AccessRightsChangedEvent.getType(), handler);
- final StateAbstractDTO currentState = session.getCurrentState();
- if (fireNow && currentState != null) {
- handler.onAccessRightsChanged(new AccessRightsChangedEvent(previousRights, currentState.getGroupRights()));
- }
+ public HandlerRegistration onRightsChanged(final boolean fireNow,
+ final AccessRightsChangedEvent.AccessRightsChangedHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(AccessRightsChangedEvent.getType(),
+ handler);
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (fireNow && currentState != null) {
+ handler.onAccessRightsChanged(new AccessRightsChangedEvent(previousRights,
+ currentState.getGroupRights()));
}
+ return handlerReg;
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/state/Session.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/Session.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/state/Session.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -59,6 +59,8 @@
import cc.kune.core.shared.dto.UserInfoDTO;
import cc.kune.core.shared.dto.UserSimpleDTO;
+import com.google.gwt.event.shared.HandlerRegistration;
+
public interface Session {
void check(AsyncCallbackSimple<Void> callback);
@@ -131,23 +133,24 @@
boolean isNotLogged();
- void onAppStart(boolean fireNow, AppStartEvent.AppStartHandler handler);
+ HandlerRegistration onAppStart(boolean fireNow, AppStartEvent.AppStartHandler handler);
/**
* @param fireNow
* if @true the handler is fired after added if the user is loggedin
* @param handler
*/
- void onUserSignIn(boolean fireNow, UserSignInEvent.UserSignInHandler handler);
+ HandlerRegistration onUserSignIn(boolean fireNow, UserSignInEvent.UserSignInHandler handler);
- void onUserSignInOrSignOut(boolean fireNow, UserSignInOrSignOutEvent.UserSignInOrSignOutHandler handler);
+ HandlerRegistration onUserSignInOrSignOut(boolean fireNow,
+ UserSignInOrSignOutEvent.UserSignInOrSignOutHandler handler);
/**
* @param fireNow
* if @true the handler is fired after added if the user is loggedin
* @param handler
*/
- void onUserSignOut(boolean fireNow, UserSignOutEvent.UserSignOutHandler handler);
+ HandlerRegistration onUserSignOut(boolean fireNow, UserSignOutEvent.UserSignOutHandler handler);
void setCurrentLanguage(final I18nLanguageDTO currentLanguage);
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -27,7 +27,9 @@
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.google.inject.Singleton;
+@Singleton
public class SessionExpirationManager {
@Inject
public SessionExpirationManager(final EventBus eventBus, final Session session,
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -28,6 +28,8 @@
import cc.kune.core.shared.dto.SocialNetworkDataDTO;
import cc.kune.core.shared.dto.StateAbstractDTO;
+import com.google.gwt.event.shared.HandlerRegistration;
+
public interface StateManager {
/**
@@ -59,9 +61,9 @@
void gotoStateToken(StateToken token, boolean useCache);
- void onGroupChanged(boolean fireNow, GroupChangedEvent.GroupChangedHandler handler);
+ HandlerRegistration onGroupChanged(boolean fireNow, GroupChangedEvent.GroupChangedHandler handler);
- void onSocialNetworkChanged(boolean fireNow,
+ HandlerRegistration onSocialNetworkChanged(boolean fireNow,
SocialNetworkChangedEvent.SocialNetworkChangedHandler handler);
/**
@@ -69,9 +71,9 @@
* if true, fire handler with current state
* @param handler
*/
- void onStateChanged(boolean fireNow, StateChangedEvent.StateChangedHandler handler);
+ HandlerRegistration onStateChanged(boolean fireNow, StateChangedEvent.StateChangedHandler handler);
- void onToolChanged(boolean fireNow, ToolChangedEvent.ToolChangedHandler handler);
+ HandlerRegistration onToolChanged(boolean fireNow, ToolChangedEvent.ToolChangedHandler handler);
void redirectOrRestorePreviousToken(boolean fireChange);
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -50,6 +50,7 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -308,35 +309,41 @@
}
@Override
- public void onAppStart(final boolean fireNow, final AppStartHandler handler) {
- eventBus.addHandler(AppStartEvent.getType(), handler);
+ public HandlerRegistration onAppStart(final boolean fireNow, final AppStartHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(AppStartEvent.getType(), handler);
if (fireNow && initData != null) {
handler.onAppStart(new AppStartEvent(initData));
}
+ return handlerReg;
}
@Override
- public void onUserSignIn(final boolean fireNow, final UserSignInHandler handler) {
- eventBus.addHandler(UserSignInEvent.getType(), handler);
+ public HandlerRegistration onUserSignIn(final boolean fireNow, final UserSignInHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(UserSignInEvent.getType(), handler);
if (fireNow && isLogged() && currentUserInfo != null) {
handler.onUserSignIn(new UserSignInEvent(currentUserInfo, null));
}
+ return handlerReg;
}
@Override
- public void onUserSignInOrSignOut(final boolean fireNow, final UserSignInOrSignOutHandler handler) {
- eventBus.addHandler(UserSignInOrSignOutEvent.getType(), handler);
+ public HandlerRegistration onUserSignInOrSignOut(final boolean fireNow,
+ final UserSignInOrSignOutHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(UserSignInOrSignOutEvent.getType(),
+ handler);
if (fireNow) {
handler.onUserSignInOrSignOut(new UserSignInOrSignOutEvent(isLogged()));
}
+ return handlerReg;
}
@Override
- public void onUserSignOut(final boolean fireNow, final UserSignOutHandler handler) {
- eventBus.addHandler(UserSignOutEvent.getType(), handler);
+ public HandlerRegistration onUserSignOut(final boolean fireNow, final UserSignOutHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(UserSignOutEvent.getType(), handler);
if (fireNow && isNotLogged()) {
handler.onUserSignOut(new UserSignOutEvent());
}
+ return handlerReg;
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -66,6 +66,7 @@
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -283,41 +284,46 @@
}
@Override
- public void onGroupChanged(final boolean fireNow, final GroupChangedHandler handler) {
- eventBus.addHandler(GroupChangedEvent.getType(), handler);
+ public HandlerRegistration onGroupChanged(final boolean fireNow, final GroupChangedHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(GroupChangedEvent.getType(), handler);
final StateAbstractDTO currentState = session.getCurrentState();
if (fireNow && currentState != null) {
handler.onGroupChanged(new GroupChangedEvent(getPreviousGroup(),
currentState.getStateToken().getGroup()));
}
-
+ return handlerReg;
}
@Override
- public void onSocialNetworkChanged(final boolean fireNow, final SocialNetworkChangedHandler handler) {
- eventBus.addHandler(SocialNetworkChangedEvent.getType(), handler);
+ public HandlerRegistration onSocialNetworkChanged(final boolean fireNow,
+ final SocialNetworkChangedHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(SocialNetworkChangedEvent.getType(),
+ handler);
final StateAbstractDTO currentState = session.getCurrentState();
if (fireNow && currentState != null) {
handler.onSocialNetworkChanged(new SocialNetworkChangedEvent(currentState));
}
+ return handlerReg;
}
@Override
- public void onStateChanged(final boolean fireNow, final StateChangedHandler handler) {
- eventBus.addHandler(StateChangedEvent.getType(), handler);
+ public HandlerRegistration onStateChanged(final boolean fireNow, final StateChangedHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(StateChangedEvent.getType(), handler);
final StateAbstractDTO currentState = session.getCurrentState();
if (fireNow && currentState != null) {
handler.onStateChanged(new StateChangedEvent(currentState));
}
+ return handlerReg;
}
@Override
- public void onToolChanged(final boolean fireNow, final ToolChangedHandler handler) {
- eventBus.addHandler(ToolChangedEvent.getType(), handler);
+ public HandlerRegistration onToolChanged(final boolean fireNow, final ToolChangedHandler handler) {
+ final HandlerRegistration handlerReg = eventBus.addHandler(ToolChangedEvent.getType(), handler);
final StateAbstractDTO currentState = session.getCurrentState();
if (fireNow && currentState != null) {
handler.onToolChanged(new ToolChangedEvent(previousGroupToken, currentState.getStateToken()));
}
+ return handlerReg;
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -41,6 +41,8 @@
Container moveContainer(Container container, Container newContainer);
+ Container purgeAll(Container container);
+
Container purgeContainer(Container container);
Container renameFolder(Group group, Container container, String newName) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -132,6 +132,17 @@
}
@Override
+ public Container purgeAll(final Container container) {
+ Preconditions.checkState(container.isRoot(), "Trying to purge a non root folder: " + container);
+ Preconditions.checkState(container.getTypeId().equals(TrashToolConstants.TYPE_ROOT),
+ "Container is not a trash root folder");
+ for (final Container childContainer : container.getChilds()) {
+ purgeContainer(childContainer);
+ }
+ return container;
+ }
+
+ @Override
public Container purgeContainer(final Container container) {
// Enable this precondition ASAP
// Preconditions.checkState(TrashServerUtils.inTrash(container),
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -70,6 +70,8 @@
Content moveContent(Content content, Container newContainer);
+ Container purgeAll(Container container);
+
Container purgeContent(Content content);
RateResult rateContent(User rater, Long contentId, Double value) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -76,10 +76,12 @@
import cc.kune.events.server.utils.EventsCache;
import cc.kune.events.shared.EventsToolConstants;
import cc.kune.trash.server.TrashServerUtils;
+import cc.kune.trash.shared.TrashToolConstants;
import cc.kune.wave.server.KuneWaveServerUtils;
import cc.kune.wave.server.ParticipantUtils;
import cc.kune.wave.server.kspecific.KuneWaveService;
+import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
@@ -322,6 +324,17 @@
return persist(content);
}
+ @Override
+ public Container purgeAll(final Container container) {
+ Preconditions.checkState(container.isRoot(), "Trying to purge a non root folder: " + container);
+ Preconditions.checkState(container.getTypeId().equals(TrashToolConstants.TYPE_ROOT),
+ "Container is not a trash root folder");
+ for (final Content content : container.getContents()) {
+ purgeContent(content);
+ }
+ return container;
+ }
+
/**
* Purge content (permanent delete)
*
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -450,6 +450,18 @@
}
}
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Administrator)
+ @KuneTransactional
+ public StateContainerDTO purgeAll(final String userHash, final StateToken token) {
+ final User user = getCurrentUser();
+ final Long containerId = ContentUtils.parseId(token.getFolder());
+ final Container container = finderService.getContainer(containerId);
+ containerManager.purgeAll(container);
+ contentManager.purgeAll(container);
+ return mapState(stateService.create(user, container), user);
+ }
+
@Override
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Administrator)
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -132,6 +132,12 @@
}
@Override
+ public StateContainerDTO purgeAll(final String userHash, final StateToken token) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
public StateContainerDTO purgeContent(final String userHash, final StateToken token) {
// TODO Auto-generated method stub
return null;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -29,8 +29,11 @@
import cc.kune.core.shared.domain.utils.StateToken;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
public class GotoTokenAction extends AbstractExtendedAction {
+ private final HandlerRegistration renameHandler;
+ private final HandlerRegistration snHandler;
private final StateManager stateManager;
private final StateToken token;
@@ -43,26 +46,34 @@
putValue(Action.NAME, name);
putValue(Action.SMALL_ICON, icon);
putValue(Action.TOOLTIP, tooltip);
- stateManager.onSocialNetworkChanged(true, new SocialNetworkChangedHandler() {
+ snHandler = stateManager.onSocialNetworkChanged(true, new SocialNetworkChangedHandler() {
@Override
public void onSocialNetworkChanged(final SocialNetworkChangedEvent event) {
putValue(Action.STYLES, !token.equals(event.getState().getStateToken()) ? style : style
+ ", k-button-disabled");
}
});
- eventBus.addHandler(RenameContentEvent.getType(), new RenameContentEvent.RenameContentHandler() {
- @Override
- public void onRenameEvent(final RenameContentEvent event) {
- final StateToken eToken = event.getToken();
- if (eToken.equals(token)) {
- putValue(Action.NAME, event.getNewName());
- }
- }
- });
+ renameHandler = eventBus.addHandler(RenameContentEvent.getType(),
+ new RenameContentEvent.RenameContentHandler() {
+ @Override
+ public void onRenameEvent(final RenameContentEvent event) {
+ final StateToken eToken = event.getToken();
+ if (eToken.equals(token)) {
+ putValue(Action.NAME, event.getNewName());
+ }
+ }
+ });
}
@Override
public void actionPerformed(final ActionEvent event) {
this.stateManager.gotoStateToken(token);
+ };
+
+ @Override
+ public void onDettach() {
+ super.onDettach();
+ snHandler.removeHandler();
+ renameHandler.removeHandler();
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -94,10 +94,18 @@
final String style = calculateStyle(pos, length);
final String name = container.getName();
final String title = pos == 0 ? i18n.t(name) : name;
- final ButtonDescriptor btn = new ButtonDescriptor(new GotoTokenAction(
+ final GotoTokenAction action = new GotoTokenAction(
iconsRegistry.getContentTypeIcon(container.getTypeId()), TextUtils.ellipsis(title, 15),
i18n.t("Click to go here or drop contents here to move them"), container.getStateToken(), style,
- stateManager, eventBus));
+ stateManager, eventBus);
+ final ButtonDescriptor btn = new ButtonDescriptor(action) {
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ action.onDettach();
+ }
+ };
+
if (title.length() > 15) {
btn.withToolTip(title);
}
Added: trunk/src/main/java/cc/kune/trash/client/actions/EmptyTrashBinBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/client/actions/EmptyTrashBinBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/trash/client/actions/EmptyTrashBinBtn.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -0,0 +1,97 @@
+/*
+ *
+ * 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.trash.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.events.StateChangedEvent;
+import cc.kune.core.client.events.StateChangedEvent.StateChangedHandler;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+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.dto.ContainerDTO;
+import cc.kune.core.shared.dto.StateAbstractDTO;
+import cc.kune.core.shared.dto.StateContainerDTO;
+import cc.kune.trash.shared.TrashToolConstants;
+
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.inject.Inject;
+
+public class EmptyTrashBinBtn extends ButtonDescriptor {
+
+ public static class EmptyTrashBinAction extends RolAction {
+
+ private final ContentServiceHelper contentService;
+ private final Session session;
+
+ @Inject
+ public EmptyTrashBinAction(final ContentServiceHelper contentService, final CoreResources res,
+ final Session session) {
+ super(AccessRolDTO.Administrator, true);
+ this.contentService = contentService;
+ this.session = session;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ contentService.purgeAll(session.getCurrentStateToken());
+ }
+
+ }
+ private final HandlerRegistration reg;
+
+ @Inject
+ public EmptyTrashBinBtn(final EmptyTrashBinAction action, final StateManager stateManager) {
+ super(action);
+ this.withText(I18n.t("Empty trash bin")); // .withIcon(res.cancel());
+ reg = stateManager.onStateChanged(true, new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ final StateAbstractDTO state = event.getState();
+ if (state instanceof StateContainerDTO) {
+ final ContainerDTO ctn = ((StateContainerDTO) state).getContainer();
+ if (ctn.getTypeId().equals(TrashToolConstants.TYPE_ROOT)) {
+ setVisibility(ctn);
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ unregister();
+ }
+
+ private void setVisibility(final ContainerDTO ctn) {
+ final boolean visible = ctn.getChilds().size() > 0 || ctn.getContents().size() > 0;
+ setVisible(visible);
+ }
+
+ public void unregister() {
+ reg.removeHandler();
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -45,10 +45,12 @@
public TrashClientActions(final I18nUITranslationService i18n, final Session session,
final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
final Provider<RefreshContentMenuItem> refresh, final Provider<GoParentChatBtn> folderGoUp,
+ final Provider<EmptyTrashBinBtn> emptyTrashBin,
final Provider<ContentViewerOptionsMenu> optionsMenuContent) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, emptyTrashBin, TYPE_ROOT);
}
@Override
Modified: trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java 2012-03-31 21:43:21 UTC (rev 1813)
+++ trunk/src/test/java/cc/kune/core/server/integration/HttpServletRequestMocked.java 2012-04-01 02:50:08 UTC (rev 1814)
@@ -23,240 +23,422 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.Principal;
+import java.util.Collection;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Map;
+import javax.servlet.AsyncContext;
+import javax.servlet.DispatcherType;
import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import javax.servlet.http.Part;
public class HttpServletRequestMocked implements HttpServletRequest {
- public Object getAttribute(final String arg0) {
- return null;
- }
+ @Override
+ public boolean authenticate(final HttpServletResponse arg0) throws IOException, ServletException {
+ // TODO Auto-generated method stub
+ return false;
+ }
- @SuppressWarnings("rawtypes")
- public Enumeration getAttributeNames() {
- return null;
- }
+ @Override
+ public AsyncContext getAsyncContext() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getAuthType() {
- return null;
- }
+ @Override
+ public Object getAttribute(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getCharacterEncoding() {
- return null;
- }
+ @Override
+ public Enumeration<String> getAttributeNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public int getContentLength() {
- return 0;
- }
+ @Override
+ public String getAuthType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getContentType() {
- return null;
- }
+ @Override
+ public String getCharacterEncoding() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getContextPath() {
- return null;
- }
+ @Override
+ public int getContentLength() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
- // @PMD:REVIEWED:ReturnEmptyArrayRatherThanNull: by vjrj on 21/05/09 15:17
- public Cookie[] getCookies() {
- return null;
- }
+ @Override
+ public String getContentType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public long getDateHeader(final String arg0) {
- return 0;
- }
+ @Override
+ public String getContextPath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getHeader(final String arg0) {
- return null;
- }
+ @Override
+ public Cookie[] getCookies() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- @SuppressWarnings("rawtypes")
- public Enumeration getHeaderNames() {
- return null;
- }
+ @Override
+ public long getDateHeader(final String arg0) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
- @SuppressWarnings("rawtypes")
- public Enumeration getHeaders(final String arg0) {
- return null;
- }
+ @Override
+ public DispatcherType getDispatcherType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public ServletInputStream getInputStream() throws IOException {
- return null;
- }
+ @Override
+ public String getHeader(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public int getIntHeader(final String arg0) {
- return 0;
- }
+ @Override
+ public Enumeration<String> getHeaderNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getLocalAddr() {
- return null;
- }
+ @Override
+ public Enumeration<String> getHeaders(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public Locale getLocale() {
- return null;
- }
+ @Override
+ public ServletInputStream getInputStream() throws IOException {
+ // TODO Auto-generated method stub
+ return null;
+ }
- @SuppressWarnings("rawtypes")
- public Enumeration getLocales() {
- return null;
- }
+ @Override
+ public int getIntHeader(final String arg0) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
- public String getLocalName() {
- return null;
- }
+ @Override
+ public String getLocalAddr() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public int getLocalPort() {
- return 0;
- }
+ @Override
+ public Locale getLocale() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getMethod() {
- return null;
- }
+ @Override
+ public Enumeration<Locale> getLocales() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getParameter(final String arg0) {
- return null;
- }
+ @Override
+ public String getLocalName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- @SuppressWarnings("rawtypes")
- public Map getParameterMap() {
- return null;
- }
+ @Override
+ public int getLocalPort() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
- @SuppressWarnings("rawtypes")
- public Enumeration getParameterNames() {
- return null;
- }
+ @Override
+ public String getMethod() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- // @PMD:REVIEWED:ReturnEmptyArrayRatherThanNull: by vjrj on 21/05/09 15:17
- public String[] getParameterValues(final String arg0) {
- return null;
- }
+ @Override
+ public String getParameter(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getPathInfo() {
- return null;
- }
+ @Override
+ public Map<String, String[]> getParameterMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getPathTranslated() {
- return null;
- }
+ @Override
+ public Enumeration<String> getParameterNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getProtocol() {
- return null;
- }
+ @Override
+ public String[] getParameterValues(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getQueryString() {
- return null;
- }
+ @Override
+ public Part getPart(final String arg0) throws IOException, ServletException {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public BufferedReader getReader() throws IOException {
- return null;
- }
+ @Override
+ public Collection<Part> getParts() throws IOException, ServletException {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getRealPath(final String arg0) {
- return null;
- }
+ @Override
+ public String getPathInfo() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getRemoteAddr() {
- return null;
- }
+ @Override
+ public String getPathTranslated() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getRemoteHost() {
- return null;
- }
+ @Override
+ public String getProtocol() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public int getRemotePort() {
- return 0;
- }
+ @Override
+ public String getQueryString() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getRemoteUser() {
- return null;
- }
+ @Override
+ public BufferedReader getReader() throws IOException {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public RequestDispatcher getRequestDispatcher(final String arg0) {
- return null;
- }
+ @Override
+ public String getRealPath(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getRequestedSessionId() {
- return null;
- }
+ @Override
+ public String getRemoteAddr() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getRequestURI() {
- return null;
- }
+ @Override
+ public String getRemoteHost() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public StringBuffer getRequestURL() {
- return null;
- }
+ @Override
+ public int getRemotePort() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
- public String getScheme() {
- return null;
- }
+ @Override
+ public String getRemoteUser() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getServerName() {
- return null;
- }
+ @Override
+ public RequestDispatcher getRequestDispatcher(final String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public int getServerPort() {
- return 0;
- }
+ @Override
+ public String getRequestedSessionId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public String getServletPath() {
- return null;
- }
+ @Override
+ public String getRequestURI() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public HttpSession getSession() {
- return null;
- }
+ @Override
+ public StringBuffer getRequestURL() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public HttpSession getSession(final boolean arg0) {
- return null;
- }
+ @Override
+ public String getScheme() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public Principal getUserPrincipal() {
- return null;
- }
+ @Override
+ public String getServerName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public boolean isRequestedSessionIdFromCookie() {
- return false;
- }
+ @Override
+ public int getServerPort() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
- public boolean isRequestedSessionIdFromUrl() {
- return false;
- }
+ @Override
+ public ServletContext getServletContext() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public boolean isRequestedSessionIdFromURL() {
- return false;
- }
+ @Override
+ public String getServletPath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public boolean isRequestedSessionIdValid() {
- return false;
- }
+ @Override
+ public HttpSession getSession() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public boolean isSecure() {
- return false;
- }
+ @Override
+ public HttpSession getSession(final boolean arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public boolean isUserInRole(final String arg0) {
- return false;
- }
+ @Override
+ public Principal getUserPrincipal() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public void removeAttribute(final String arg0) {
+ @Override
+ public boolean isAsyncStarted() {
+ // TODO Auto-generated method stub
+ return false;
+ }
- }
+ @Override
+ public boolean isAsyncSupported() {
+ // TODO Auto-generated method stub
+ return false;
+ }
- public void setAttribute(final String arg0, final Object arg1) {
+ @Override
+ public boolean isRequestedSessionIdFromCookie() {
+ // TODO Auto-generated method stub
+ return false;
+ }
- }
+ @Override
+ public boolean isRequestedSessionIdFromUrl() {
+ // TODO Auto-generated method stub
+ return false;
+ }
- public void setCharacterEncoding(final String arg0) throws UnsupportedEncodingException {
+ @Override
+ public boolean isRequestedSessionIdFromURL() {
+ // TODO Auto-generated method stub
+ return false;
+ }
- }
+ @Override
+ public boolean isRequestedSessionIdValid() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+ @Override
+ public boolean isSecure() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isUserInRole(final String arg0) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void login(final String arg0, final String arg1) throws ServletException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void logout() throws ServletException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeAttribute(final String arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setAttribute(final String arg0, final Object arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setCharacterEncoding(final String arg0) throws UnsupportedEncodingException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public AsyncContext startAsync() throws IllegalStateException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public AsyncContext startAsync(final ServletRequest arg0, final ServletResponse arg1)
+ throws IllegalStateException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
1
0
Author: vjrj_
Date: 2012-03-31 23:43:21 +0200 (Sat, 31 Mar 2012)
New Revision: 1813
Added:
trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerMenuItem.java
Removed:
trunk/debian/files
trunk/debian/kune.postinst.debhelper
trunk/debian/kune.postrm.debhelper
trunk/debian/kune.prerm.debhelper
Modified:
trunk/debian/kune.debhelper.log
trunk/debian/kune.substvars
trunk/pom.xml
trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
trunk/src/main/java/cc/kune/core/server/tool/ToolSimple.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/domain/Container.java
trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceGetTest.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java
trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java
trunk/src/test/java/cc/kune/core/server/manager/UserManagerDefaultTest.java
Log:
NEW - # 222: Create a trash folder icon and improve contents delete functionality
http://kune.ourproject.org/issues/ticket/222
Deleted: trunk/debian/files
===================================================================
--- trunk/debian/files 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/debian/files 2012-03-31 21:43:21 UTC (rev 1813)
@@ -1 +0,0 @@
-kune_0.1.0+b4_all.deb java optional
Modified: trunk/debian/kune.debhelper.log
===================================================================
--- trunk/debian/kune.debhelper.log 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/debian/kune.debhelper.log 2012-03-31 21:43:21 UTC (rev 1813)
@@ -1,34 +1,3 @@
dh_prep
dh_installdirs
dh_installdirs
-dh_installdocs
-dh_installexamples
-dh_installman
-dh_installinfo
-dh_installmenu
-dh_installcron
-dh_installinit
-dh_installdebconf
-dh_installemacsen
-dh_installcatalogs
-dh_installpam
-dh_installlogrotate
-dh_installlogcheck
-dh_installchangelogs
-dh_installudev
-dh_lintian
-dh_bugfiles
-dh_install
-dh_link
-dh_installmime
-dh_installgsettings
-dh_strip
-dh_compress
-dh_fixperms
-dh_makeshlibs
-dh_installdeb
-dh_perl
-dh_shlibdeps
-dh_gencontrol
-dh_md5sums
-dh_builddeb
Deleted: trunk/debian/kune.postinst.debhelper
===================================================================
--- trunk/debian/kune.postinst.debhelper 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/debian/kune.postinst.debhelper 2012-03-31 21:43:21 UTC (rev 1813)
@@ -1,6 +0,0 @@
-# Automatically added by dh_installinit
-if [ -x "/etc/init.d/kune" ]; then
- update-rc.d kune defaults >/dev/null
- invoke-rc.d kune start || exit $?
-fi
-# End automatically added section
Deleted: trunk/debian/kune.postrm.debhelper
===================================================================
--- trunk/debian/kune.postrm.debhelper 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/debian/kune.postrm.debhelper 2012-03-31 21:43:21 UTC (rev 1813)
@@ -1,11 +0,0 @@
-# Automatically added by dh_installdebconf
-if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
- . /usr/share/debconf/confmodule
- db_purge
-fi
-# End automatically added section
-# Automatically added by dh_installinit
-if [ "$1" = "purge" ] ; then
- update-rc.d kune remove >/dev/null
-fi
-# End automatically added section
Deleted: trunk/debian/kune.prerm.debhelper
===================================================================
--- trunk/debian/kune.prerm.debhelper 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/debian/kune.prerm.debhelper 2012-03-31 21:43:21 UTC (rev 1813)
@@ -1,5 +0,0 @@
-# Automatically added by dh_installinit
-if [ -x "/etc/init.d/kune" ]; then
- invoke-rc.d kune stop || exit $?
-fi
-# End automatically added section
Modified: trunk/debian/kune.substvars
===================================================================
--- trunk/debian/kune.substvars 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/debian/kune.substvars 2012-03-31 21:43:21 UTC (rev 1813)
@@ -1 +0,0 @@
-misc:Depends=debconf (>= 0.5) | debconf-2.0
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/pom.xml 2012-03-31 21:43:21 UTC (rev 1813)
@@ -291,7 +291,9 @@
<groupId>com.calclab.emite</groupId>
<artifactId>emite</artifactId>
<version>r1694</version>
+ <!-- Used in server side also
<scope>provided</scope>
+ -->
</dependency>
<dependency>
<groupId>com.calclab.emite</groupId>
@@ -711,7 +713,9 @@
<groupId>com.bradrydzewski</groupId>
<artifactId>gwt-cal</artifactId>
<version>0.9.3-dndCreation</version>
+ <!-- Used in server side also
<scope>provided</scope>
+ -->
</dependency>
<dependency>
<groupId>org.mnode.ical4j</groupId>
Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -38,6 +38,8 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContainerBtn;
+import cc.kune.gspace.client.actions.PurgeContainerMenuItem;
import cc.kune.gspace.client.actions.PurgeContentBtn;
import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -71,7 +73,9 @@
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
- final Provider<RefreshContentMenuItem> refresh, final Provider<CopyContentMenuItem> copyContent,
+ final Provider<PurgeContainerMenuItem> purgeFolderMenuItem,
+ final Provider<PurgeContainerBtn> purgeFolderBtn, final Provider<RefreshContentMenuItem> refresh,
+ final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
@@ -102,6 +106,10 @@
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeFolderBtn,
+ containersNoRoot);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeFolderMenuItem,
+ containersNoRoot);
}
@Override
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -42,6 +42,8 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContainerBtn;
+import cc.kune.gspace.client.actions.PurgeContainerMenuItem;
import cc.kune.gspace.client.actions.PurgeContentBtn;
import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -81,6 +83,8 @@
final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelBlogMenuItem> delFolderMenuItem,
final Provider<CopyContentMenuItem> copyContent,
final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
+ final Provider<PurgeContainerMenuItem> purgeFolderMenuItem,
+ final Provider<PurgeContainerBtn> purgeFolderBtn,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
@@ -116,6 +120,10 @@
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeFolderBtn,
+ containersNoRoot);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeFolderMenuItem,
+ containersNoRoot);
newMenusRegistry.register(TYPE_BLOG, blogNewMenu.get());
newMenusRegistry.register(TYPE_POST,
(MenuDescriptor) postNewMenu.get().withText(i18n.t("Add Gadget")));
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -77,8 +77,6 @@
StateContainerDTO moveContent(String userHash, StateToken contentToken, StateToken newContainerToken)
throws DefaultException;
- StateContainerDTO purgeContainer(String userHash, StateToken token);
-
StateContainerDTO purgeContent(String userHash, StateToken token);
RateResult rateContent(String userHash, StateToken token, Double value) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -77,8 +77,6 @@
void moveContent(String userHash, StateToken contentToken, StateToken newContainerToken,
AsyncCallback<StateContainerDTO> asyncCallback);
- void purgeContainer(String userHash, StateToken token, AsyncCallback<StateContainerDTO> callback);
-
void purgeContent(String userHash, StateToken token, AsyncCallback<StateContainerDTO> callback);
void rateContent(String userHash, StateToken token, Double value,
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -79,7 +79,6 @@
private final HistoryWrapper history;
private StateToken previousGroupToken;
private String previousHash;
- private String previousTool;
/**
* When a historyChanged is interrupted (for instance because you are editing
* something), the new history token is stored here
@@ -101,7 +100,6 @@
this.history = history;
this.signIn = signIn;
this.previousGroupToken = null;
- this.previousTool = null;
this.previousHash = null;
this.resumedHistoryToken = null;
tokenMatcher.init(GwtWaverefEncoder.INSTANCE);
@@ -156,7 +154,7 @@
GroupChangedEvent.fire(eventBus, previousGroup, newGroup);
}
final String previousToolName = getPreviousTool();
- final String newTokenTool = newState.getToolName();
+ final String newTokenTool = newState.getStateToken().getTool();
final String newToolName = newTokenTool == null ? "" : newTokenTool;
if (startingUp() || previousToolName == null || !previousToolName.equals(newToolName)) {
ToolChangedEvent.fire(eventBus, previousGroupToken, newState.getStateToken());
@@ -247,7 +245,7 @@
}
private String getPreviousTool() {
- final String previousTool = startingUp() ? "" : this.previousTool;
+ final String previousTool = startingUp() ? "" : previousGroupToken.getTool();
return previousTool;
}
@@ -547,7 +545,6 @@
StateChangedEvent.fire(eventBus, newState);
checkGroupAndToolChange(newState);
previousGroupToken = newToken.copy();
- previousTool = newState.getToolName();
eventBus.fireEvent(new ProgressHideEvent());
}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -42,7 +42,6 @@
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.finders.ContainerFinder;
import cc.kune.domain.finders.ContentFinder;
-import cc.kune.trash.server.TrashServerUtils;
import cc.kune.trash.shared.TrashToolConstants;
import com.google.common.base.Preconditions;
@@ -134,8 +133,9 @@
@Override
public Container purgeContainer(final Container container) {
- Preconditions.checkState(TrashServerUtils.inTrash(container),
- "Trying to purge a not deleted container: " + container);
+ // Enable this precondition ASAP
+ // Preconditions.checkState(TrashServerUtils.inTrash(container),
+ // "Trying to purge a not deleted container: " + container);
Preconditions.checkState(!container.isRoot(), "Trying to purge a root folder: " + container);
Preconditions.checkState(container.getChilds().size() == 0, "Container has folder childs");
Preconditions.checkState(container.getContents().size() == 0, "Container has content childs");
@@ -144,9 +144,6 @@
container.setParent(null);
persist(parent);
container.setOwner(null);
- // persist(parent);
- // merge(container);
- // flush();
remove(container);
return parent;
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -103,6 +103,7 @@
private final NotificationService notifyService;
private final ParticipantUtils participantUtils;
private final KuneBasicProperties properties;
+ private final SocialNetworkCache snCache;
private final UserFinder userFinder;
private final AccountStore waveAccountStore;
private final CustomUserRegistrationServlet waveUserRegister;
@@ -117,7 +118,8 @@
final CustomUserRegistrationServlet waveUserRegister, final AccountStore waveAccountStore,
final KuneWaveService kuneWaveManager, final ParticipantUtils participantUtils,
final KuneBasicProperties properties, final GroupManager groupManager,
- final NotificationService notifyService, final XmppRosterProvider xmppRoster) {
+ final NotificationService notifyService, final XmppRosterProvider xmppRoster,
+ final SocialNetworkCache snCache) {
super(provider, User.class);
this.userFinder = finder;
this.languageManager = languageManager;
@@ -133,6 +135,7 @@
this.groupManager = groupManager;
this.notifyService = notifyService;
this.xmppRoster = xmppRoster;
+ this.snCache = snCache;
}
/*
@@ -434,6 +437,7 @@
@Override
public void setSNetVisibility(final User user, final UserSNetVisibility visibility) {
user.setSNetVisibility(visibility);
+ snCache.expire(user.getUserGroup());
persist(user);
}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -454,22 +454,17 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Administrator)
@KuneTransactional
- public StateContainerDTO purgeContainer(final String userHash, final StateToken token) {
- final User user = getCurrentUser();
- final Long containerId = ContentUtils.parseId(token.getFolder());
- final Container container = containerManager.purgeContainer(finderService.getContainer(containerId));
- return mapState(stateService.create(user, container), user);
- }
-
- @Override
- @Authenticated
- @Authorizated(actionLevel = ActionLevel.content, accessRolRequired = AccessRol.Administrator)
- @KuneTransactional
public StateContainerDTO purgeContent(final String userHash, final StateToken token) {
final User user = getCurrentUser();
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final Container container = contentManager.purgeContent(finderService.getContent(contentId));
- return mapState(stateService.create(user, container), user);
+ if (token.isComplete()) {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final Container container = contentManager.purgeContent(finderService.getContent(contentId));
+ return mapState(stateService.create(user, container), user);
+ } else {
+ final Long containerId = ContentUtils.parseId(token.getFolder());
+ final Container container = containerManager.purgeContainer(finderService.getContainer(containerId));
+ return mapState(stateService.create(user, container), user);
+ }
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -132,12 +132,6 @@
}
@Override
- public StateContainerDTO purgeContainer(final String userHash, final StateToken token) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
public StateContainerDTO purgeContent(final String userHash, final StateToken token) {
// TODO Auto-generated method stub
return null;
Modified: trunk/src/main/java/cc/kune/core/server/tool/ToolSimple.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/tool/ToolSimple.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/core/server/tool/ToolSimple.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -24,6 +24,10 @@
private final String name;
private final String rootName;
+ public ToolSimple() {
+ this(null, null);
+ }
+
public ToolSimple(final String name, final String rootName) {
this.name = name;
this.rootName = rootName;
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -42,6 +42,8 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContainerBtn;
+import cc.kune.gspace.client.actions.PurgeContainerMenuItem;
import cc.kune.gspace.client.actions.PurgeContentBtn;
import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -83,6 +85,8 @@
final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
+ final Provider<PurgeContainerMenuItem> purgeFolderMenuItem,
+ final Provider<PurgeContainerBtn> purgeFolderBtn,
final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu foldersNewMenu,
final DocsNewMenu docsNewMenu) {
super(session, stateManager, i18n, registry);
@@ -120,6 +124,11 @@
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeFolderBtn,
+ containersNoRoot);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeFolderMenuItem,
+ containersNoRoot);
+
newMenusRegistry.register(TYPE_FOLDER, foldersNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, foldersNewMenu.get());
newMenusRegistry.register(TYPE_DOCUMENT,
Modified: trunk/src/main/java/cc/kune/domain/Container.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Container.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/domain/Container.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -158,6 +158,27 @@
} else if (!id.equals(other.id)) {
return false;
}
+ if (name == null) {
+ if (other.name != null) {
+ return false;
+ }
+ } else if (!name.equals(other.name)) {
+ return false;
+ }
+ if (toolName == null) {
+ if (other.toolName != null) {
+ return false;
+ }
+ } else if (!toolName.equals(other.toolName)) {
+ return false;
+ }
+ if (typeId == null) {
+ if (other.typeId != null) {
+ return false;
+ }
+ } else if (!typeId.equals(other.typeId)) {
+ return false;
+ }
return true;
}
@@ -252,14 +273,6 @@
return accessLists != null;
}
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- return result;
- }
-
@Transient
public boolean isLeaf() {
return childs.size() == 0 && contents.size() == 0;
@@ -271,9 +284,9 @@
}
public void removeChild(final Container child) {
- childs.size();
+ // Adding hash and equals to Container breaks move and delete
+ child.setParent(null);
childs.remove(child);
- // child.setParent(null);
}
public void removeContent(final Content content) {
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -37,6 +37,8 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContainerBtn;
+import cc.kune.gspace.client.actions.PurgeContainerMenuItem;
import cc.kune.gspace.client.actions.PurgeContentBtn;
import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -76,9 +78,10 @@
final Provider<CopyContentMenuItem> copyContent, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
- final Provider<ExportCalendarMenuItem> export, final Provider<CalendarGoNextBtn> calNextBtn,
- final CalendarOnOverMenu onOverMenu, final Provider<CalendarGoTodayBtn> goToday,
- final Provider<RefreshContentMenuItem> refresh) {
+ final Provider<PurgeContainerMenuItem> purgeFolderMenuItem,
+ final Provider<PurgeContainerBtn> purgeFolderBtn, final Provider<ExportCalendarMenuItem> export,
+ final Provider<CalendarGoNextBtn> calNextBtn, final CalendarOnOverMenu onOverMenu,
+ final Provider<CalendarGoTodayBtn> goToday, final Provider<RefreshContentMenuItem> refresh) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
@@ -105,6 +108,10 @@
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeFolderBtn,
+ containersNoRoot);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeFolderMenuItem,
+ containersNoRoot);
eventOpenMenuItem.get();
eventAddMenuItem.get();
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -39,4 +39,5 @@
: ((AbstractContentSimpleDTO) event.getTarget()).getStateToken();
return token;
}
+
}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerBtn.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -0,0 +1,61 @@
+/*
+ *
+ * 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.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.AccessRolDTO;
+
+import com.google.inject.Inject;
+
+public class PurgeContainerBtn extends ButtonDescriptor {
+
+ public static class PurgeCurrentContainerAction extends RolAction {
+
+ private final ContentServiceHelper contentService;
+ private final Session session;
+
+ @Inject
+ public PurgeCurrentContainerAction(final ContentServiceHelper contentService,
+ final CoreResources res, final Session session) {
+ super(AccessRolDTO.Administrator, true);
+ this.contentService = contentService;
+ this.session = session;
+ this.withText(I18n.t("Delete permanently")).withIcon(res.cancel());
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ contentService.purgeContent(session.getCurrentStateToken());
+ }
+
+ }
+
+ @Inject
+ public PurgeContainerBtn(final PurgeCurrentContainerAction action) {
+ super(action);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContainerMenuItem.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -0,0 +1,58 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.shared.dto.AccessRolDTO;
+
+import com.google.inject.Inject;
+
+public class PurgeContainerMenuItem extends MenuItemDescriptor {
+ public static class PurgeContainerAction extends RolAction {
+
+ private final ContentServiceHelper contentService;
+
+ @Inject
+ public PurgeContainerAction(final ContentServiceHelper contentService, final CoreResources res) {
+ super(AccessRolDTO.Administrator, true);
+ this.contentService = contentService;
+ this.withText(I18n.t("Delete permanently")).withIcon(res.cancel());
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ contentService.purgeContent(ActionUtils.getActionToken(event));
+ }
+
+ }
+
+ @Inject
+ public PurgeContainerMenuItem(final I18nTranslationService i18n, final PurgeContainerAction action,
+ final CoreResources res) {
+ super(action);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -41,6 +41,8 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContainerBtn;
+import cc.kune.gspace.client.actions.PurgeContainerMenuItem;
import cc.kune.gspace.client.actions.PurgeContentBtn;
import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -82,6 +84,8 @@
final Provider<CopyContentMenuItem> copyContent,
final Provider<RefreshContentMenuItem> refreshPost,
final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
+ final Provider<PurgeContainerMenuItem> purgeFolderMenuItem,
+ final Provider<PurgeContainerBtn> purgeFolderBtn,
final Provider<WriteToParticipantsMenuItem> writeToParticipants, final ListsNewMenu listNewMenu,
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelListMenuItem> delFolderMenuItem,
@@ -125,6 +129,10 @@
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeFolderBtn,
+ containersNoRoot);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeFolderMenuItem,
+ containersNoRoot);
newMenusRegistry.register(TYPE_LIST, listNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, listNewMenu.get());
newMenusRegistry.register(TYPE_POST,
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -42,6 +42,8 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContainerBtn;
+import cc.kune.gspace.client.actions.PurgeContainerMenuItem;
import cc.kune.gspace.client.actions.PurgeContentBtn;
import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
@@ -80,7 +82,9 @@
final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<AddPublicToContentMenuItem> addPublicMenuItem,
final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
- final Provider<ChatAboutContentBtn> chatAbout, final Provider<CopyContentMenuItem> copyContent,
+ final Provider<PurgeContainerMenuItem> purgeFolderMenuItem,
+ final Provider<PurgeContainerBtn> purgeFolderBtn, final Provider<ChatAboutContentBtn> chatAbout,
+ final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final TasksFolderNewMenu taskFolderNewMenu, final TasksNewMenu taskNewMenu,
final NewMenusForTypeIdsRegistry newMenusRegistry,
@@ -127,6 +131,10 @@
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeFolderBtn,
+ containersNoRoot);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeFolderMenuItem,
+ containersNoRoot);
// Currently new menu in folders has no sense (because we have buttons for
// the same contents)
// newMenusRegistry.register(TYPE_FOLDER, taskFolderNewMenu.get());
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceGetTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceGetTest.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceGetTest.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -19,6 +19,7 @@
*/
package cc.kune.core.server.integration.content;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -51,7 +52,7 @@
getSiteDefaultContent().getStateToken());
assertNotNull(response.getContentRights());
assertTrue(response.getContentRights().isEditable());
- assertTrue(response.getAccessLists().getAdmins().getList().size() == 1);
+ assertEquals(1, response.getAccessLists().getAdmins().getList().size());
}
@Before
@@ -68,15 +69,13 @@
assertNotNull(content.getContainer().getId());
assertNotNull(content.getToolName());
assertNotNull(content.getDocumentId());
- assertNotNull(content.getRateByUsers());
- assertNotNull(content.getRate());
}
@Test
public void defContentOfUserWithNoHomePage() throws Exception {
- final String userHash = doLogin().getUserHash();
- final StateAbstractDTO response = contentService.getContent(userHash, new StateToken());
- assertTrue(response.getStateToken().equals(getSiteDefaultContent().getStateToken()));
+ doLogin();
+ final StateAbstractDTO response = contentService.getContent(session.getHash(), new StateToken());
+ assertEquals(response.getStateToken(), getSiteDefaultContent().getStateToken());
}
@Test
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -131,8 +131,31 @@
}
@Test
- public void delAndPurgeContainer() throws Exception {
+ public void delAndPurgeContent() throws Exception {
doLogin();
+ final StateContainerDTO trash = getTrash();
+ final StateContainerDTO added = createNewContent();
+ final StateAbstractDTO retrievedContent = contentService.getContent(session.getHash(),
+ added.getStateToken());
+ assertNotNull(retrievedContent.getStateToken());
+ final StateContainerDTO deleledContainer = contentService.delContent(session.getHash(),
+ retrievedContent.getStateToken());
+ assertEquals(1, defaultContent.getContainer().getContents().size());
+ assertEquals(1, deleledContainer.getContainer().getContents().size());
+ final StateContentDTO deletedContent = (StateContentDTO) contentService.getContent(
+ session.getHash(),
+ retrievedContent.getStateToken().setTool(TrashToolConstants.TOOL_NAME).setFolder(
+ trash.getStateToken().getFolder()));
+ assertEquals(TrashToolConstants.TOOL_NAME, deletedContent.getToolName());
+ assertEquals(1, deletedContent.getContainer().getContents().size());
+ final StateContainerDTO trashAfterPurge = contentService.purgeContent(session.getHash(),
+ deletedContent.getStateToken());
+ assertEquals(0, trashAfterPurge.getContainer().getContents().size());
+ }
+
+ @Test
+ public void delAndyPurgeContainer() throws Exception {
+ doLogin();
final StateContainerDTO state = contentService.addFolder(session.getHash(),
defaultContent.getStateToken(), "some folder", DocsToolConstants.TYPE_FOLDER);
final ContainerDTO newFolder = state.getContainer();
@@ -149,36 +172,13 @@
session.getHash(),
newFolder.getStateToken().setTool(TrashToolConstants.TOOL_NAME).setFolder(
newFolder.getStateToken().getFolder()));
- contentService.purgeContainer(session.getHash(), deletedFolder.getStateToken());
+ contentService.purgeContent(session.getHash(), deletedFolder.getStateToken());
final StateContainerDTO trashAfterPurge = getTrash();
assertEquals(0, trashAfterPurge.getContainer().getContents().size());
assertEquals(0, trashAfterPurge.getContainer().getChilds().size());
}
@Test
- public void delAndPurgeContent() throws Exception {
- doLogin();
- final StateContainerDTO trash = getTrash();
- final StateContainerDTO added = createNewContent();
- final StateAbstractDTO retrievedContent = contentService.getContent(session.getHash(),
- added.getStateToken());
- assertNotNull(retrievedContent.getStateToken());
- final StateContainerDTO deleledContainer = contentService.delContent(session.getHash(),
- retrievedContent.getStateToken());
- assertEquals(1, defaultContent.getContainer().getContents().size());
- assertEquals(1, deleledContainer.getContainer().getContents().size());
- final StateContentDTO deletedContent = (StateContentDTO) contentService.getContent(
- session.getHash(),
- retrievedContent.getStateToken().setTool(TrashToolConstants.TOOL_NAME).setFolder(
- trash.getStateToken().getFolder()));
- assertEquals(TrashToolConstants.TOOL_NAME, deletedContent.getToolName());
- assertEquals(1, deletedContent.getContainer().getContents().size());
- final StateContainerDTO trashAfterPurge = contentService.purgeContent(session.getHash(),
- deletedContent.getStateToken());
- assertEquals(0, trashAfterPurge.getContainer().getContents().size());
- }
-
- @Test
public void folderRename() throws Exception {
doLogin();
defaultContent = getSiteDefaultContent();
Modified: trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -99,8 +99,8 @@
assertEquals(1, parentFolder.getChilds().size());
containerManager.moveContainer(folderToMove, rootFolder);
assertEquals(rootFolder, folderToMove.getParent());
+ assertEquals(2, rootFolder.getChilds().size());
assertEquals(0, parentFolder.getChilds().size());
- assertEquals(2, rootFolder.getChilds().size());
assertEquals(2, folderToMove.getAbsolutePath().size());
assertEquals(rootFolder, folderToMove.getAbsolutePath().get(0));
assertEquals(folderToMove, folderToMove.getAbsolutePath().get(1));
Modified: trunk/src/test/java/cc/kune/core/server/manager/UserManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/UserManagerDefaultTest.java 2012-03-31 19:22:39 UTC (rev 1812)
+++ trunk/src/test/java/cc/kune/core/server/manager/UserManagerDefaultTest.java 2012-03-31 21:43:21 UTC (rev 1813)
@@ -87,13 +87,6 @@
assertNotNull(result.getId());
}
- @Test(expected = InvalidStateException.class)
- public void passwdLengthIncorrect() {
- user = new User("test1", "test1 name", "test(a)example.com", "diggest".getBytes(), "salt".getBytes(),
- english, gb, getTimeZone());
- persist(user);
- }
-
/**
* This was not working:
* http://opensource.atlassian.com/projects/hibernate/browse/EJB-382
1
0
r1812 - in trunk: . debian src/main/java/cc/kune/core/server/persist src/main/java/cc/kune/core/server/properties src/main/java/cc/kune/core/server/rpc src/main/java/cc/kune/events/server/utils src/test/java/cc/kune/core/server/persist src/test/java/cc/kune/events/server/utils
by Vicente J. Ruiz Jurado 31 Mar '12
by Vicente J. Ruiz Jurado 31 Mar '12
31 Mar '12
Author: vjrj_
Date: 2012-03-31 21:22:39 +0200 (Sat, 31 Mar 2012)
New Revision: 1812
Added:
trunk/src/test/java/cc/kune/core/server/persist/CachedCollectionTest.java
trunk/src/test/java/cc/kune/events/server/utils/DateUtilsTest.java
Removed:
trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java
trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java
Modified:
trunk/TROUBLESHOOT
trunk/debian/changelog
trunk/debian/files
trunk/pom.xml
trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java
trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
Log:
Removing some compile warnings
Modified: trunk/TROUBLESHOOT
===================================================================
--- trunk/TROUBLESHOOT 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/TROUBLESHOOT 2012-03-31 19:22:39 UTC (rev 1812)
@@ -139,6 +139,17 @@
Verify that your system supports UTF8 (in debian systems check /etc/locale.gen and locale-gen)
+** Java compile errors: incompatible types
+Sometimes you get errors like this, trying to compile:
+Authorizated.java:[50,47] incompatible types
+found : cc.kune.core.shared.domain.AccessRol
+required: cc.kune.core.shared.domain.AccessRol
+seems that happens with some openjdk6 versions. Workaround to compile from eclipse or using sun-jdk or opnejdk7.
+More info:
+https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/611284
+update-java-alternatives -l
+try with:
+update-java-alternatives -s java-6-sun
** Emite troubleshooting
See:
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/debian/changelog 2012-03-31 19:22:39 UTC (rev 1812)
@@ -1,3 +1,9 @@
+kune (0.1.0+b4) oneiric; urgency=low
+
+ * Improved trash funcionality, other minor changes
+
+ -- Vicente J. Ruiz Jurado <vjrj(a)ourproject.org> Sat, 31 Mar 2012 19:42:30 +0200
+
kune (0.1.0+b3) oneiric; urgency=low
* Several changes (cache of SN and events, minor style changes, etc). See ChangeLog
Modified: trunk/debian/files
===================================================================
--- trunk/debian/files 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/debian/files 2012-03-31 19:22:39 UTC (rev 1812)
@@ -1 +1 @@
-kune_0.1.0+b3_all.deb java optional
+kune_0.1.0+b4_all.deb java optional
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/pom.xml 2012-03-31 19:22:39 UTC (rev 1812)
@@ -212,11 +212,13 @@
<groupId>org.cobogw.gwt</groupId>
<artifactId>cobogw</artifactId>
<version>1.3.1</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-all</artifactId>
<version>0.5</version>
+ <scope>provided</scope>
<!-- <version>0.6-SNAPSHOT</version> -->
<exclusions>
<exclusion>
@@ -248,6 +250,7 @@
<dependency>
<groupId>org.adamtacy</groupId>
<artifactId>gwt-fx</artifactId>
+ <scope>provided</scope>
<version>r464</version>
</dependency>
<!-- <dependency> <groupId>com.jhickman.web.gwt</groupId> <artifactId>gwt-customuibinder</artifactId>
@@ -258,16 +261,19 @@
<groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
<artifactId>gwt-log</artifactId>
<version>3.0.1</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
<artifactId>gwt-voices</artifactId>
<version>2.0.0</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
<artifactId>gwt-dnd</artifactId>
<version>3.0.1</version>
+ <scope>provided</scope>
</dependency>
<!-- utilities -->
<dependency>
@@ -285,6 +291,7 @@
<groupId>com.calclab.emite</groupId>
<artifactId>emite</artifactId>
<version>r1694</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.calclab.emite</groupId>
@@ -295,6 +302,7 @@
<groupId>com.calclab.emite</groupId>
<artifactId>hablar</artifactId>
<version>r1697</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>jivesoftware</groupId>
@@ -703,6 +711,7 @@
<groupId>com.bradrydzewski</groupId>
<artifactId>gwt-cal</artifactId>
<version>0.9.3-dndCreation</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mnode.ical4j</groupId>
Modified: trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -36,7 +36,7 @@
* @param <V>
* the value type
*/
-public class CachedCollection<K, V> implements Map<K, V> {
+public class CachedCollection<K, V> {
/** The cache. */
// private final Map<K, V> cache;
@@ -49,65 +49,53 @@
* the size of the cache
*/
public CachedCollection(final int size) {
- cache = Collections.synchronizedMap(new LRUMap(size));
+ cache = Collections.synchronizedMap(new LRUMap(size));
}
- @Override
public void clear() {
cache.clear();
}
- @Override
public boolean containsKey(final Object key) {
return cache.containsKey(key);
}
- @Override
public boolean containsValue(final Object value) {
return cache.containsKey(value);
}
- @Override
public Set<java.util.Map.Entry<K, V>> entrySet() {
return cache.entrySet();
}
- @Override
public V get(final Object key) {
return (V) cache.get(key);
}
- @Override
public boolean isEmpty() {
return cache.isEmpty();
}
- @Override
public Set<K> keySet() {
return cache.keySet();
}
- @Override
- public Object put(final Object key, final Object value) {
- return cache.put(key, value);
+ public V put(final K key, final V value) {
+ return (V) cache.put(key, value);
}
- @Override
public void putAll(final Map<? extends K, ? extends V> m) {
cache.putAll(m);
}
- @Override
public V remove(final Object key) {
return (V) cache.remove(key);
}
- @Override
public int size() {
return cache.size();
}
- @Override
public Collection<V> values() {
return cache.values();
}
Deleted: trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -1,54 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package cc.kune.core.server.persist;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class CachedCollectionTest {
-
- private CachedCollection<String, String> cache;
-
- @Before
- public void before() {
- cache = new CachedCollection<String, String>(2);
- }
-
- @Test
- public void testBasicSize() {
- assertTrue(cache.size() == 0);
- final String first = "1";
- cache.put(first, "1b");
- final String snd = "2";
- cache.put(snd, "2b");
- final String third = "3";
- cache.put(third, "3b");
- assertNull(cache.get(first));
- assertNotNull(cache.get(snd));
- assertNotNull(cache.get(third));
- assertTrue(cache.size() == 2);
- }
-
-}
Modified: trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -29,7 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import sun.misc.SignalHandler;
import cc.kune.core.server.error.ServerException;
import com.google.inject.Inject;
@@ -46,13 +45,16 @@
this.fileName = fileName;
// http://stackoverflow.com/questions/40376/handle-signals-in-the-java-virtual…
// Runtime.getRuntime().addShutdownHook() ??
- sun.misc.Signal.handle(new sun.misc.Signal("HUP"), new SignalHandler() {
- @Override
- public void handle(final sun.misc.Signal sig) {
- LOG.warn("Received SIGHUP signal. Will reload kune.properties");
- loadConfiguration();
- }
- });
+ // Gives some warning in openjdk
+ // http://stackoverflow.com/questions/5023520/sending-signals-to-a-running-jvm
+ //
+ // sun.misc.Signal.handle(new sun.misc.Signal("HUP"), new SignalHandler() {
+ // @Override
+ // public void handle(final sun.misc.Signal sig) {
+ // LOG.warn("Received SIGHUP signal. Will reload kune.properties");
+ // loadConfiguration();
+ // }
+ // });
loadConfiguration();
}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -23,7 +23,6 @@
import java.util.List;
import java.util.TimeZone;
-import sun.misc.SignalHandler;
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.client.rpcservices.SiteService;
import cc.kune.core.server.InitData;
@@ -79,12 +78,15 @@
this.countryManager = countryManager;
this.serverToolRegistry = serverToolRegistry;
this.extMediaDescManager = extMediaDescManager;
- sun.misc.Signal.handle(new sun.misc.Signal("HUP"), new SignalHandler() {
- @Override
- public void handle(final sun.misc.Signal sig) {
- loadProperties(kuneProperties);
- }
- });
+ // Gives some warning in openjdk
+ // http://stackoverflow.com/questions/5023520/sending-signals-to-a-running-jvm
+ //
+ // sun.misc.Signal.handle(new sun.misc.Signal("HUP"), new SignalHandler() {
+ // @Override
+ // public void handle(final sun.misc.Signal sig) {
+ // loadProperties(kuneProperties);
+ // }
+ // });
loadProperties(kuneProperties);
}
Deleted: trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java 2012-03-31 17:43:11 UTC (rev 1811)
+++ trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -1,42 +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.events.server.utils;
-
-import static org.junit.Assert.assertEquals;
-
-import java.text.ParseException;
-
-import org.junit.Test;
-
-public class DateUtilsTest {
-
- private static final String SAMPLE = "2012-03-05T00:00:00.000+0100";
- private static final String SAMPLE2 = "2012-03-05T00:00:00.000+01:00";
-
- @Test
- public void basicTest() throws ParseException {
-
- DateUtils.toDate(SAMPLE);
- DateUtils.toDate(SAMPLE2);
-
- // Difference from GWT timezone and SimpleDate
- assertEquals("foo+0100", "foo+01:00".replaceFirst(DateUtils.TIMEZONE_REGEXP, "$1$2"));
- }
-}
Copied: trunk/src/test/java/cc/kune/core/server/persist/CachedCollectionTest.java (from rev 1809, trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java)
===================================================================
--- trunk/src/test/java/cc/kune/core/server/persist/CachedCollectionTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/core/server/persist/CachedCollectionTest.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -0,0 +1,54 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.core.server.persist;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class CachedCollectionTest {
+
+ private CachedCollection<String, String> cache;
+
+ @Before
+ public void before() {
+ cache = new CachedCollection<String, String>(2);
+ }
+
+ @Test
+ public void testBasicSize() {
+ assertTrue(cache.size() == 0);
+ final String first = "1";
+ cache.put(first, "1b");
+ final String snd = "2";
+ cache.put(snd, "2b");
+ final String third = "3";
+ cache.put(third, "3b");
+ assertNull(cache.get(first));
+ assertNotNull(cache.get(snd));
+ assertNotNull(cache.get(third));
+ assertTrue(cache.size() == 2);
+ }
+
+}
Copied: trunk/src/test/java/cc/kune/events/server/utils/DateUtilsTest.java (from rev 1809, trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java)
===================================================================
--- trunk/src/test/java/cc/kune/events/server/utils/DateUtilsTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/events/server/utils/DateUtilsTest.java 2012-03-31 19:22:39 UTC (rev 1812)
@@ -0,0 +1,42 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.events.server.utils;
+
+import static org.junit.Assert.assertEquals;
+
+import java.text.ParseException;
+
+import org.junit.Test;
+
+public class DateUtilsTest {
+
+ private static final String SAMPLE = "2012-03-05T00:00:00.000+0100";
+ private static final String SAMPLE2 = "2012-03-05T00:00:00.000+01:00";
+
+ @Test
+ public void basicTest() throws ParseException {
+
+ DateUtils.toDate(SAMPLE);
+ DateUtils.toDate(SAMPLE2);
+
+ // Difference from GWT timezone and SimpleDate
+ assertEquals("foo+0100", "foo+01:00".replaceFirst(DateUtils.TIMEZONE_REGEXP, "$1$2"));
+ }
+}
1
0
Author: vjrj_
Date: 2012-03-31 19:43:11 +0200 (Sat, 31 Mar 2012)
New Revision: 1811
Added:
trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java
trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.java
trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.ui.xml
trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.java
trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.ui.xml
trunk/src/main/java/cc/kune/trash/server/TrashServerUtils.java
trunk/src/main/webapp/others/defuser.jpg
trunk/src/main/webapp/others/unknown.png
trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeTest.java
trunk/src/test/java/cc/kune/gspace/client/armor/
Removed:
trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java
trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml
trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeBorrarTest.java
Modified:
trunk/TODO
trunk/debian/changelog
trunk/debian/files
trunk/debian/kune.init
trunk/img/icons/from-private-to-public.svg
trunk/script/server.sh
trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java
trunk/src/main/java/cc/kune/barters/shared/BartersToolConstants.java
trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java
trunk/src/main/java/cc/kune/blogs/shared/BlogsToolConstants.java
trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java
trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java
trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java
trunk/src/main/java/cc/kune/chat/shared/ChatToolConstants.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescCollection.java
trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java
trunk/src/main/java/cc/kune/core/client/registry/AbstractContentRegistry.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
trunk/src/main/java/cc/kune/core/client/services/ClientFileDownloadUtils.java
trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java
trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java
trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
trunk/src/main/java/cc/kune/core/server/state/StateAbstract.java
trunk/src/main/java/cc/kune/core/server/state/StateContainer.java
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/cc/kune/core/server/tool/ServerToolRegistry.java
trunk/src/main/java/cc/kune/core/shared/FileConstants.java
trunk/src/main/java/cc/kune/core/shared/dto/ContainerDTO.java
trunk/src/main/java/cc/kune/core/shared/dto/ContainerSimpleDTO.java
trunk/src/main/java/cc/kune/core/shared/dto/StateAbstractDTO.java
trunk/src/main/java/cc/kune/core/shared/dto/StateContainerDTO.java
trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java
trunk/src/main/java/cc/kune/docs/shared/DocsToolConstants.java
trunk/src/main/java/cc/kune/domain/Container.java
trunk/src/main/java/cc/kune/domain/Content.java
trunk/src/main/java/cc/kune/events/client/EventsClientTool.java
trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
trunk/src/main/java/cc/kune/events/server/EventsServerTool.java
trunk/src/main/java/cc/kune/events/shared/EventsToolConstants.java
trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java
trunk/src/main/java/cc/kune/gallery/shared/GalleryToolConstants.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorEntryPoint.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java
trunk/src/main/java/cc/kune/gspace/client/actions/CopyContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java
trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java
trunk/src/main/java/cc/kune/lists/shared/ListsToolConstants.java
trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java
trunk/src/main/java/cc/kune/tasks/shared/TasksToolConstants.java
trunk/src/main/java/cc/kune/trash/client/TrashClientTool.java
trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java
trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java
trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java
trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java
trunk/src/main/java/cc/kune/wiki/shared/WikiToolConstants.java
trunk/src/main/java/com/google/wave/splash/web/template/ThreadedWaveRenderer.java
trunk/src/main/resources/wave-server-production.properties
trunk/src/main/webapp/others/unknown.jpg
trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java
trunk/src/test/java/cc/kune/core/server/TestHelper.java
trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializerTest.java
trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java
trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java
trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java
trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
trunk/src/test/java/cc/kune/docs/DocumentToolTest.java
trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java
Log:
NEW - # 222: Create a trash folder icon and improve contents delete functionality
http://kune.ourproject.org/issues/ticket/222
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/TODO 2012-03-31 17:43:11 UTC (rev 1811)
@@ -12,6 +12,10 @@
nick == assigned to
* SHORT-TERM (URGENT)
+** setui/root/port 80
+ [ ] http://wiki.eclipse.org/Jetty/Howto/Port80#Configuring_Jetty.27s_SetUID_Fea…
+ [ ] https://github.com/disconnect/apache-websocket
+ [ ] SSL + proxy normal
** tutorials
*** via btn
*** via hash (future) #tuto(token,slide)
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/debian/changelog 2012-03-31 17:43:11 UTC (rev 1811)
@@ -1,3 +1,9 @@
+kune (0.1.0+b3) oneiric; urgency=low
+
+ * Several changes (cache of SN and events, minor style changes, etc). See ChangeLog
+
+ -- Vicente J. Ruiz Jurado <vjrj(a)ourproject.org> Fri, 30 Mar 2012 20:18:19 +0200
+
kune (0.1.0+b2) unstable; urgency=low
* Perms in daemon. SIGHUP to reload. Other minor changes
Modified: trunk/debian/files
===================================================================
--- trunk/debian/files 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/debian/files 2012-03-31 17:43:11 UTC (rev 1811)
@@ -1 +1 @@
-kune_0.1.0+b2_all.deb java optional
+kune_0.1.0+b3_all.deb java optional
Modified: trunk/debian/kune.init
===================================================================
--- trunk/debian/kune.init 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/debian/kune.init 2012-03-31 17:43:11 UTC (rev 1811)
@@ -12,6 +12,7 @@
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="kune server"
NAME=kune
+USER=kune
DAEMON=/usr/share/kune/bin/server.sh
# Arguments to run the daemon with (see server.sh -h)
DAEMON_ARGS="-j /usr/share/kune/lib/kune-complete.jar -a"
@@ -51,9 +52,9 @@
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
- start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ -c $NAME:$NAME -b --exec $DAEMON --test > /dev/null \
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ -c $USER:$USER -b --exec $DAEMON --test > /dev/null \
|| return 1
- start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ -c $NAME:$NAME -b --exec $DAEMON -- \
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ -c $USER:$USER -b --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
@@ -103,7 +104,7 @@
log_daemon_msg "Reloading kune"
# Seems that dont works if the user/group is not the same:
# http://stackoverflow.com/questions/4147288/how-to-trap-a-signal-in-a-java-a…
- start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --user $NAME --group $NAME --name $NAME
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --user $USER --group $USER --name $NAME
return 0
}
Modified: trunk/img/icons/from-private-to-public.svg
===================================================================
--- trunk/img/icons/from-private-to-public.svg 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/img/icons/from-private-to-public.svg 2012-03-31 17:43:11 UTC (rev 1811)
@@ -25,7 +25,7 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="0.66041902"
+ inkscape:zoom="0.67942388"
inkscape:cx="372.04724"
inkscape:cy="526.18109"
inkscape:document-units="px"
@@ -896,5 +896,56 @@
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/webapp/others/unknown.png"
+ y="68.119125"
+ x="423.80432"
+ height="90"
+ width="90"
+ id="rect14554"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:1.40678155;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/webapp/others/unknown.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:1.48864591000000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path14558"
+ sodipodi:cx="90"
+ sodipodi:cy="32.362183"
+ sodipodi:rx="20"
+ sodipodi:ry="10"
+ d="m 110,32.362183 a 20,10 0 1 1 -40,0 20,10 0 1 1 40,0 z"
+ transform="matrix(1.9,0,0,3.8,297.80431,-9.8571688)" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:#e6e6e6;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="453.29498"
+ y="138.63554"
+ id="text14573"
+ sodipodi:linespacing="125%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/webapp/others/unknown.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan14575"
+ x="453.29498"
+ y="138.63554"
+ style="font-size:72px;font-weight:bold;fill:#333333;stroke:none">?</tspan></text>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/webapp/others/unknown.png"
+ transform="matrix(1.9,0,0,3.8,297.80431,-9.8571688)"
+ d="m 110,32.362183 a 20,10 0 1 1 -40,0 20,10 0 1 1 40,0 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
+ sodipodi:cx="90"
+ id="path14566"
+ style="color:#000000;fill:none;stroke:#999999;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
</g>
</svg>
Modified: trunk/script/server.sh
===================================================================
--- trunk/script/server.sh 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/script/server.sh 2012-03-31 17:43:11 UTC (rev 1811)
@@ -36,7 +36,7 @@
# See src/main/resources/jaas.config in svn
JAAS_CONFIG=$KUNE_HOME/jaas.config
# See src/main/resources/log4j.properties in svn
-LOGJ4_CONFIG=$KUNE_HOME/log4j.properties
+LOGJ4_CONFIG=file://$KUNE_HOME/log4j.properties
SUSPEND="n"
DEBUG=""
Modified: trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.barters.client;
-import static cc.kune.barters.shared.BartersToolConstants.NAME;
+import static cc.kune.barters.shared.BartersToolConstants.TOOL_NAME;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_BARTER;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_FOLDER;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_ROOT;
@@ -43,7 +43,7 @@
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
super(
- NAME,
+ TOOL_NAME,
i18n.t("barters"),
i18n.t("A decentralized way to offer (or ask for) services and goods to your groups or to anyone. Bartering means the exchange of goods by the agreement of two people"),
icons.barters(), AccessRolDTO.Viewer, toolSelector, cntCapRegistry, i18n, navResources);
@@ -63,7 +63,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.barters.client.actions;
+import static cc.kune.barters.shared.BartersToolConstants.TOOL_NAME;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_BARTER;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_FOLDER;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_ROOT;
@@ -37,9 +38,12 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -66,34 +70,38 @@
final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final Provider<RefreshContentMenuItem> refresh, final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newBartersBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newBartersBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
}
@Override
Modified: trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.barters.server;
-import static cc.kune.barters.shared.BartersToolConstants.NAME;
+import static cc.kune.barters.shared.BartersToolConstants.TOOL_NAME;
import static cc.kune.barters.shared.BartersToolConstants.ROOT_NAME;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_BARTER;
import static cc.kune.barters.shared.BartersToolConstants.TYPE_FOLDER;
@@ -57,7 +57,7 @@
public BarterServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_BARTER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_BARTER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER), contentManager,
containerManager, creationService, configurationManager, i18n, ServerToolTarget.forUsers);
gadgetUrl = UrlUtils.of(BARTER_GADGET);
Modified: trunk/src/main/java/cc/kune/barters/shared/BartersToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/shared/BartersToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/barters/shared/BartersToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,11 +21,11 @@
public final class BartersToolConstants {
- public static final String NAME = "barters";
+ public static final String TOOL_NAME = "barters";
public static final String ROOT_NAME = "barters";
- public static final String TYPE_BARTER = NAME + "." + "barter";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_BARTER = TOOL_NAME + "." + "barter";
+ public static final String TYPE_FOLDER = TOOL_NAME + "." + "folder";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
private BartersToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.blogs.client;
-import static cc.kune.blogs.shared.BlogsToolConstants.NAME;
+import static cc.kune.blogs.shared.BlogsToolConstants.TOOL_NAME;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_BLOG;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_POST;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_ROOT;
@@ -44,7 +44,7 @@
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
super(
- NAME,
+ TOOL_NAME,
i18n.t(BlogsToolConstants.ROOT_NAME),
i18n.t("Blogs are a chronological list of posts (ordered by date) about a specific topic. Each post can be commented by the visitors"),
icons.blogs(), AccessRolDTO.Viewer, toolSelector, cntCapRegistry, i18n, navResources);
@@ -64,7 +64,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.blogs.client.actions;
+import static cc.kune.blogs.shared.BlogsToolConstants.TOOL_NAME;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_BLOG;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_POST;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_ROOT;
@@ -41,10 +42,13 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -76,38 +80,42 @@
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelBlogMenuItem> delFolderMenuItem,
final Provider<CopyContentMenuItem> copyContent,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newPostIconBtn, noRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, blogNewMenu, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, postNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newPostItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newBlogBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newPostIconBtn, noRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, blogNewMenu, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, postNewMenu, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newPostItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newBlogBtn, TYPE_ROOT);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
newMenusRegistry.register(TYPE_BLOG, blogNewMenu.get());
newMenusRegistry.register(TYPE_POST,
(MenuDescriptor) postNewMenu.get().withText(i18n.t("Add Gadget")));
Modified: trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.blogs.server;
-import static cc.kune.blogs.shared.BlogsToolConstants.NAME;
+import static cc.kune.blogs.shared.BlogsToolConstants.TOOL_NAME;
import static cc.kune.blogs.shared.BlogsToolConstants.ROOT_NAME;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_BLOG;
import static cc.kune.blogs.shared.BlogsToolConstants.TYPE_POST;
@@ -46,7 +46,7 @@
public BlogServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_POST, TYPE_UPLOADEDFILE),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_POST, TYPE_UPLOADEDFILE),
Arrays.asList(TYPE_BLOG), Arrays.asList(TYPE_BLOG), Arrays.asList(TYPE_ROOT), contentManager,
containerManager, creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
Modified: trunk/src/main/java/cc/kune/blogs/shared/BlogsToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/shared/BlogsToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/blogs/shared/BlogsToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -23,12 +23,12 @@
public final class BlogsToolConstants {
- public static final String NAME = "blogs";
+ public static final String TOOL_NAME = "blogs";
public static final String ROOT_NAME = "blogs";
- public static final String TYPE_BLOG = NAME + "." + "blog";
- public static final String TYPE_POST = NAME + "." + "post";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
+ public static final String TYPE_BLOG = TOOL_NAME + "." + "blog";
+ public static final String TYPE_POST = TOOL_NAME + "." + "post";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = TOOL_NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
private BlogsToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.chat.client;
-import static cc.kune.chat.shared.ChatToolConstants.NAME;
+import static cc.kune.chat.shared.ChatToolConstants.TOOL_NAME;
import static cc.kune.chat.shared.ChatToolConstants.TYPE_ROOM;
import static cc.kune.chat.shared.ChatToolConstants.TYPE_ROOT;
import cc.kune.chat.client.resources.ChatResources;
@@ -45,7 +45,7 @@
final ChatResources res, final IconicResources icons) {
// FIXME: change this in ChatConstants and in db via migration
super(
- NAME,
+ TOOL_NAME,
i18n.t("chatrooms"),
i18n.t(
"A 'room' where you can have a group-chat with many users at once. Rooms can be public or private. Users can be from [%s] or other sites (compatible with gmail chat)",
@@ -58,7 +58,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.chat.client.actions;
+import static cc.kune.chat.shared.ChatToolConstants.TOOL_NAME;
import static cc.kune.chat.shared.ChatToolConstants.TYPE_ROOM;
import static cc.kune.chat.shared.ChatToolConstants.TYPE_ROOT;
import cc.kune.core.client.actions.ActionRegistryByType;
@@ -51,14 +52,14 @@
final Provider<OpenRoomBtn> openRoomBtn, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ContentViewerOptionsMenu> optionsMenuContent) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newRoomBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, openRoomBtn, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomArchiveMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newRoomBtn, TYPE_ROOT);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, openRoomBtn, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openRoomMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openRoomArchiveMenuItem, containersNoRoot);
}
@Override
Modified: trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.chat.server;
-import static cc.kune.chat.shared.ChatToolConstants.NAME;
+import static cc.kune.chat.shared.ChatToolConstants.TOOL_NAME;
import static cc.kune.chat.shared.ChatToolConstants.ROOT_NAME;
import static cc.kune.chat.shared.ChatToolConstants.TYPE_ROOM;
import static cc.kune.chat.shared.ChatToolConstants.TYPE_ROOT;
@@ -49,7 +49,7 @@
final ContentManager contentManager, final ContainerManager containerManager,
final ChatManagerDefault chatManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Collections.<String> emptyList(),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Collections.<String> emptyList(),
Collections.<String> emptyList(), Arrays.asList(TYPE_ROOM), Arrays.asList(TYPE_ROOT),
contentManager, containerManager, creationService, configurationManager, i18n,
ServerToolTarget.forGroups);
Modified: trunk/src/main/java/cc/kune/chat/shared/ChatToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/shared/ChatToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/chat/shared/ChatToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,11 +21,11 @@
public final class ChatToolConstants {
- public static final String NAME = "chats";
+ public static final String TOOL_NAME = "chats";
public static final String ROOT_NAME = "chats";
- public static final String TYPE_CHAT = NAME + "." + "chat";
- public static final String TYPE_ROOM = NAME + "." + "room";
- public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_CHAT = TOOL_NAME + "." + "chat";
+ public static final String TYPE_ROOM = TOOL_NAME + "." + "room";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
private ChatToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescCollection.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescCollection.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescCollection.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -24,6 +24,7 @@
// @PMD:REVIEWED:AtLeastOneConstructor: by vjrj on 26/05/09 12:31
public class GuiActionDescCollection extends ArrayList<GuiActionDescrip> {
+ public static final GuiActionDescCollection EMPTY = new GuiActionDescCollection();
private static final long serialVersionUID = 6759723760404227737L;
public void add(final GuiActionDescrip... descriptors) {
Modified: trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -57,12 +57,13 @@
collection.add(descrip);
}
- public void addAction(final Provider<? extends GuiActionDescrip> action) {
- addAction(GENERIC_GROUP_ACTION, action, GENERIC_TYPE_ID);
- }
+ // public void addAction(final Provider<? extends GuiActionDescrip> action) {
+ // addAction(GENERIC_GROUP_ACTION, action, GENERIC_TYPE_ID);
+ // }
- public void addAction(final String actionsGroupId, final GuiActionDescrip descrip, final String typeId) {
- addAction(actionsGroupId, new Provider<GuiActionDescrip>() {
+ public void addAction(@Nonnull final String tool, final String actionsGroupId,
+ final GuiActionDescrip descrip, final String typeId) {
+ addAction(tool, actionsGroupId, new Provider<GuiActionDescrip>() {
@Override
public GuiActionDescrip get() {
return descrip;
@@ -70,34 +71,35 @@
}, typeId);
}
- public void addAction(@Nonnull final String actionsGroupId,
+ public void addAction(@Nonnull final String tool, @Nonnull final String actionsGroupId,
final Provider<? extends GuiActionDescrip> action) {
- addAction(actionsGroupId, action, GENERIC_TYPE_ID);
+ addAction(tool, actionsGroupId, action, GENERIC_TYPE_ID);
}
- public void addAction(@Nonnull final String actionsGroupId,
+ public void addAction(@Nonnull final String tool, @Nonnull final String actionsGroupId,
final @Nonnull Provider<? extends GuiActionDescrip> action, final ContentStatus status,
@Nonnull final String... typeIds) {
for (final String typeId : typeIds) {
- addAction(actionsGroupId, action, IdGenerator.generate(typeId, status.toString()));
+ addAction(tool, actionsGroupId, action, IdGenerator.generate(typeId, status.toString()));
}
}
- public void addAction(@Nonnull final String actionsGroupId,
+ public void addAction(@Nonnull final String tool, @Nonnull final String actionsGroupId,
final @Nonnull Provider<? extends GuiActionDescrip> action, @Nonnull final String... typeIds) {
for (final String typeId : typeIds) {
- final GuiActionDescProviderCollection actionColl = getActions(actionsGroupId, typeId);
+ final GuiActionDescProviderCollection actionColl = getActions(tool, actionsGroupId, typeId);
actionColl.add(action);
- actions.put(genKey(actionsGroupId, typeId), actionColl);
+ actions.put(genKey(tool, actionsGroupId, typeId), actionColl);
}
}
- private String genKey(final String actionsGroupId, final String typeId) {
- return actionsGroupId + KEY_SEPARATOR + typeId;
+ private String genKey(final String tool, final String actionsGroupId, final String typeId) {
+ return tool + KEY_SEPARATOR + actionsGroupId + KEY_SEPARATOR + typeId;
}
- private GuiActionDescProviderCollection getActions(final String actionsGroupId, final String typeId) {
- final String key = genKey(actionsGroupId, typeId);
+ private GuiActionDescProviderCollection getActions(final String tool, final String actionsGroupId,
+ final String typeId) {
+ final String key = genKey(tool, actionsGroupId, typeId);
GuiActionDescProviderCollection actionColl = actions.get(key);
if (actionColl == null) {
actionColl = new GuiActionDescProviderCollection();
@@ -106,20 +108,22 @@
return actionColl;
}
- public GuiActionDescCollection getCurrentActions(final Object targetItem, final boolean isLogged,
- final AccessRights rights, @Nullable final String actionsGroup) {
- return getCurrentActions(targetItem, GENERIC_TYPE_ID, isLogged, rights, actionsGroup);
+ public GuiActionDescCollection getCurrentActions(final String tool, final Object targetItem,
+ final boolean isLogged, final AccessRights rights, @Nullable final String actionsGroup) {
+ return getCurrentActions(tool, targetItem, GENERIC_TYPE_ID, isLogged, rights, actionsGroup);
}
- public GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId,
- final boolean isLogged, final AccessRights rights) {
- return getCurrentActions(targetItem, typeId, isLogged, rights, null);
+ public GuiActionDescCollection getCurrentActions(@Nonnull final String tool, final Object targetItem,
+ final String typeId, final boolean isLogged, final AccessRights rights) {
+ return getCurrentActions(tool, targetItem, typeId, isLogged, rights, null);
}
- public <T> GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId,
- final boolean isLogged, final AccessRights rights, @Nullable final String actionsGroupId) {
+ public <T> GuiActionDescCollection getCurrentActions(final String tool, final Object targetItem,
+ final String typeId, final boolean isLogged, final AccessRights rights,
+ @Nullable final String actionsGroupId) {
final GuiActionDescCollection collection = new GuiActionDescCollection();
- for (final Provider<? extends GuiActionDescrip> descripProv : getActions(actionsGroupId, typeId)) {
+ for (final Provider<? extends GuiActionDescrip> descripProv : getActions(tool, actionsGroupId,
+ typeId)) {
final GuiActionDescrip descrip = descripProv.get();
final AbstractAction action = descrip.getAction();
if (action instanceof RolAction) {
@@ -133,13 +137,13 @@
return collection;
}
- public <T> GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId,
- final ContentStatus status, final boolean isLogged, final AccessRights rights,
- @Nullable final String actionsGroupId) {
+ public <T> GuiActionDescCollection getCurrentActions(@Nonnull final String tool,
+ final Object targetItem, final String typeId, final ContentStatus status, final boolean isLogged,
+ final AccessRights rights, @Nullable final String actionsGroupId) {
final GuiActionDescCollection collection = new GuiActionDescCollection();
- collection.addAll(getCurrentActions(targetItem, typeId, isLogged, rights, actionsGroupId));
- collection.addAll(getCurrentActions(targetItem, IdGenerator.generate(typeId, status.toString()),
- isLogged, rights, actionsGroupId));
+ collection.addAll(getCurrentActions(tool, targetItem, typeId, isLogged, rights, actionsGroupId));
+ collection.addAll(getCurrentActions(tool, targetItem,
+ IdGenerator.generate(typeId, status.toString()), isLogged, rights, actionsGroupId));
return collection;
}
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -98,11 +98,11 @@
}
private Provider<GuiActionDescrip> createMenuItem(final XMLGuiActionDescriptor descrip,
- final String origTypeId, final AbstractAction action) {
+ final String tool, final String origTypeId, final AbstractAction action) {
final String path = descrip.getPath();
final MenuDescriptor menu = newMenusRegistry.get(origTypeId);
assert menu != null;
- final SubMenuDescriptor submenu = getSubMenu(menu, origTypeId, path);
+ final SubMenuDescriptor submenu = getSubMenu(menu, tool, origTypeId, path);
final Provider<GuiActionDescrip> menuItemProvider = new Provider<GuiActionDescrip>() {
@Override
public GuiActionDescrip get() {
@@ -118,8 +118,8 @@
return menuItemProvider;
}
- private SubMenuDescriptor getSubMenu(final MenuDescriptor menu, final String typeId,
- final String parentS) {
+ private SubMenuDescriptor getSubMenu(final MenuDescriptor menu, final String tool,
+ final String typeId, final String parentS) {
final String[] path = parentS.split(SEP);
SubMenuDescriptor current = null;
for (int i = 0; i < path.length; i++) {
@@ -132,7 +132,7 @@
subMenuDescriptor = new SubMenuDescriptor(parent, false, i18n.t(name));
// subMenuDescriptor.setVisible(false);
submenus.put(subpathId, subMenuDescriptor);
- actionRegistry.addAction(ActionGroups.TOPBAR, subMenuDescriptor, typeId);
+ actionRegistry.addAction(tool, ActionGroups.TOPBAR, subMenuDescriptor, typeId);
}
current = subMenuDescriptor;
}
@@ -160,6 +160,7 @@
assert extension != null;
for (final XMLTypeId typeId : descrip.getTypeIds()) {
final String origTypeId = typeId.getOrigTypeId();
+ final String tool = origTypeId.split("\\.")[0];
final String contentIntro = descrip.getNewContentTextIntro();
final String destTypeId = typeId.getDestTypeId();
AbstractAction action;
@@ -175,8 +176,9 @@
extension.getExtName(), destTypeId, extension.getIconUrl(),
descrip.getNewContentTitle(), TextUtils.empty(contentIntro) ? "" : contentIntro);
}
- final Provider<GuiActionDescrip> menuItemProvider = createMenuItem(descrip, origTypeId, action);
- actionRegistry.addAction(ActionGroups.TOPBAR, menuItemProvider, origTypeId);
+ final Provider<GuiActionDescrip> menuItemProvider = createMenuItem(descrip, tool, origTypeId,
+ action);
+ actionRegistry.addAction(tool, ActionGroups.TOPBAR, menuItemProvider, origTypeId);
}
}
}
Modified: trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/dnd/FolderContainerDropController.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -104,7 +104,7 @@
} else if (getTarget() instanceof ToolSelectorItemPanel) {
destToken = new StateToken(session.getCurrentGroupShortName(),
((ToolSelectorItemPanel) getTarget()).getName());
- if (!destToken.getTool().equals(TrashToolConstants.NAME)) {
+ if (!destToken.getTool().equals(TrashToolConstants.TOOL_NAME)) {
// By now only move to trash
notImplemented();
return;
Modified: trunk/src/main/java/cc/kune/core/client/registry/AbstractContentRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/registry/AbstractContentRegistry.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/registry/AbstractContentRegistry.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -22,30 +22,34 @@
import java.util.ArrayList;
public abstract class AbstractContentRegistry {
- private final ArrayList<String> registry;
+ private final ArrayList<String> registry;
- public AbstractContentRegistry() {
- registry = new ArrayList<String>();
- }
+ public AbstractContentRegistry() {
+ registry = new ArrayList<String>();
+ }
- public boolean contains(String typeId) {
- return registry.contains(typeId);
- }
+ public String[] asArray() {
+ return registry.toArray(new String[registry.size()]);
+ }
- public void register(String... typeIds) {
- for (String typeId : typeIds) {
- registry.add(typeId);
- }
- }
+ public boolean contains(final String typeId) {
+ return registry.contains(typeId);
+ }
- @Override
- public String toString() {
- return "registry: " + registry;
+ public void register(final String... typeIds) {
+ for (final String typeId : typeIds) {
+ registry.add(typeId);
}
+ }
- public void unregister(String... typeIds) {
- for (String typeId : typeIds) {
- registry.remove(typeId);
- }
+ @Override
+ public String toString() {
+ return "registry: " + registry;
+ }
+
+ public void unregister(final String... typeIds) {
+ for (final String typeId : typeIds) {
+ registry.remove(typeId);
}
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -77,6 +77,10 @@
StateContainerDTO moveContent(String userHash, StateToken contentToken, StateToken newContainerToken)
throws DefaultException;
+ StateContainerDTO purgeContainer(String userHash, StateToken token);
+
+ StateContainerDTO purgeContent(String userHash, StateToken token);
+
RateResult rateContent(String userHash, StateToken token, Double value) throws DefaultException;
void removeAuthor(String userHash, StateToken token, String authorShortName) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -77,6 +77,10 @@
void moveContent(String userHash, StateToken contentToken, StateToken newContainerToken,
AsyncCallback<StateContainerDTO> asyncCallback);
+ void purgeContainer(String userHash, StateToken token, AsyncCallback<StateContainerDTO> callback);
+
+ void purgeContent(String userHash, StateToken token, AsyncCallback<StateContainerDTO> callback);
+
void rateContent(String userHash, StateToken token, Double value,
AsyncCallback<RateResult> asyncCallback);
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -126,4 +126,35 @@
}
});
}
+
+ public void purgeContent(final StateToken token) {
+ ConfirmAskEvent.fire(eventBus, i18n.t("Please confirm"), i18n.t("Are you sure?"), i18n.t("Yes"),
+ i18n.t("No"), null, null, new OnAcceptCallback() {
+ @Override
+ public void onSuccess() {
+ NotifyUser.showProgress();
+ contentService.get().purgeContent(session.getUserHash(), token,
+ new AsyncCallbackSimple<StateContainerDTO>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ // Should we do something with
+ // ContainerNotEmptyException?
+ super.onFailure(caught);
+ NotifyUser.hideProgress();
+ }
+
+ @Override
+ public void onSuccess(final StateContainerDTO state) {
+ final StateToken parentToken = state.getStateToken();
+ if (session.getCurrentStateToken().equals(parentToken)) {
+ stateManager.setRetrievedStateAndGo(state);
+ } else {
+ stateManager.gotoStateToken(parentToken, false);
+ }
+ NotifyUser.hideProgress();
+ }
+ });
+ }
+ });
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/services/ClientFileDownloadUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/services/ClientFileDownloadUtils.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/services/ClientFileDownloadUtils.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -32,13 +32,11 @@
public class ClientFileDownloadUtils extends SharedFileDownloadUtils {
- private final ImageUtils imageUtils;
private final Session session;
@Inject
- public ClientFileDownloadUtils(final Session session, final ImageUtils imageUtils) {
+ public ClientFileDownloadUtils(final Session session) {
this.session = session;
- this.imageUtils = imageUtils;
}
private String calculateUrl(final StateToken token, final boolean download, final boolean useHash) {
@@ -81,17 +79,6 @@
return calculateUrl(token, false, true);
}
- public String getLogoAvatarHtml(final StateToken groupToken, final boolean groupHasLogo,
- final boolean isPersonal, final int size, final int hvspace) {
- if (groupHasLogo) {
- return "<img hspace='" + hvspace + "' vspace='" + hvspace + "' align='left' style='width: " + size
- + "px; height: " + size + "px;' src='" + getLogoImageUrl(groupToken.getGroup()) + "'>";
- } else {
- return isPersonal ? imageUtils.getImageHtml(ImageDescriptor.personDef)
- : imageUtils.getImageHtml(ImageDescriptor.groupDefIcon);
- }
- }
-
public String getUrl(final StateToken token) {
return calculateUrl(token, false, false);
}
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -79,6 +79,7 @@
private final HistoryWrapper history;
private StateToken previousGroupToken;
private String previousHash;
+ private String previousTool;
/**
* When a historyChanged is interrupted (for instance because you are editing
* something), the new history token is stored here
@@ -100,6 +101,7 @@
this.history = history;
this.signIn = signIn;
this.previousGroupToken = null;
+ this.previousTool = null;
this.previousHash = null;
this.resumedHistoryToken = null;
tokenMatcher.init(GwtWaverefEncoder.INSTANCE);
@@ -154,7 +156,7 @@
GroupChangedEvent.fire(eventBus, previousGroup, newGroup);
}
final String previousToolName = getPreviousTool();
- final String newTokenTool = newState.getStateToken().getTool();
+ final String newTokenTool = newState.getToolName();
final String newToolName = newTokenTool == null ? "" : newTokenTool;
if (startingUp() || previousToolName == null || !previousToolName.equals(newToolName)) {
ToolChangedEvent.fire(eventBus, previousGroupToken, newState.getStateToken());
@@ -245,7 +247,7 @@
}
private String getPreviousTool() {
- final String previousTool = startingUp() ? "" : previousGroupToken.getTool();
+ final String previousTool = startingUp() ? "" : this.previousTool;
return previousTool;
}
@@ -545,6 +547,7 @@
StateChangedEvent.fire(eventBus, newState);
checkGroupAndToolChange(newState);
previousGroupToken = newToken.copy();
+ previousTool = newState.getToolName();
eventBus.fireEvent(new ProgressHideEvent());
}
Modified: trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,7 +21,7 @@
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.impl.StateManagerDefault;
-import cc.kune.gspace.client.armor.impl.GSpaceArmorImpl;
+import cc.kune.gspace.client.armor.GSpaceArmorDefault;
import cc.kune.gspace.client.armor.resources.GSpaceArmorResources;
import com.google.gwt.core.client.GWT;
@@ -35,7 +35,7 @@
*/
public class CoreViewImpl extends ViewImpl implements CorePresenter.CoreView {
- private final GSpaceArmorImpl armor;
+ private final GSpaceArmorDefault armor;
/**
* Instantiates a new core view.
@@ -44,7 +44,7 @@
* the body
*/
@Inject
- public CoreViewImpl(final GSpaceArmorImpl armor, final StateManagerDefault stateManager) {
+ public CoreViewImpl(final GSpaceArmorDefault armor, final StateManagerDefault stateManager) {
this.armor = armor;
GWT.<CoreResources> create(CoreResources.class).css().ensureInjected();
GWT.<GSpaceArmorResources> create(GSpaceArmorResources.class).style().ensureInjected();
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-31 17:43:11 UTC (rev 1811)
@@ -730,6 +730,7 @@
.k-publicspace-description {
font-size: 14px;
display: table-cell;
+ padding-right: 20px;
}
.k-publicspace-actions {
Modified: trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/content/ContainerManager.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -41,6 +41,8 @@
Container moveContainer(Container container, Container newContainer);
+ Container purgeContainer(Container container);
+
Container renameFolder(Group group, Container container, String newName) throws DefaultException;
SearchResult<Container> search(String search);
Modified: trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/content/ContainerManagerDefault.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -42,8 +42,10 @@
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.finders.ContainerFinder;
import cc.kune.domain.finders.ContentFinder;
+import cc.kune.trash.server.TrashServerUtils;
import cc.kune.trash.shared.TrashToolConstants;
+import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
@@ -120,16 +122,36 @@
}
if (container.isRoot()) {
// Cannot move root container
- throw new AccessViolationException();
+ throw new AccessViolationException("Trying to delete a root folder: " + container);
}
final Container oldContainer = container.getParent();
oldContainer.removeChild(container);
newContainer.addChild(container);
container.setParent(newContainer);
+ container.setToolName(newContainer.getToolName());
return persist(container);
}
@Override
+ public Container purgeContainer(final Container container) {
+ Preconditions.checkState(TrashServerUtils.inTrash(container),
+ "Trying to purge a not deleted container: " + container);
+ Preconditions.checkState(!container.isRoot(), "Trying to purge a root folder: " + container);
+ Preconditions.checkState(container.getChilds().size() == 0, "Container has folder childs");
+ Preconditions.checkState(container.getContents().size() == 0, "Container has content childs");
+ final Container parent = container.getParent();
+ parent.removeChild(container);
+ container.setParent(null);
+ persist(parent);
+ container.setOwner(null);
+ // persist(parent);
+ // merge(container);
+ // flush();
+ remove(container);
+ return parent;
+ }
+
+ @Override
public Container renameFolder(final Group group, final Container container, final String newName)
throws DefaultException {
FilenameUtils.checkBasicFilename(newName);
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -70,6 +70,8 @@
Content moveContent(Content content, Container newContainer);
+ Container purgeContent(Content content);
+
RateResult rateContent(User rater, Long contentId, Double value) throws DefaultException;
void removeAuthor(User user, Long contentId, String authorShortName) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -42,6 +42,7 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.actions.xml.XMLWaveExtension;
+import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.client.errors.I18nNotFoundException;
import cc.kune.core.client.errors.MoveOnSameContainerException;
@@ -60,7 +61,6 @@
import cc.kune.core.server.utils.FilenameUtils;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.RateResult;
-import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
@@ -75,6 +75,7 @@
import cc.kune.domain.finders.UserFinder;
import cc.kune.events.server.utils.EventsCache;
import cc.kune.events.shared.EventsToolConstants;
+import cc.kune.trash.server.TrashServerUtils;
import cc.kune.wave.server.KuneWaveServerUtils;
import cc.kune.wave.server.ParticipantUtils;
import cc.kune.wave.server.kspecific.KuneWaveService;
@@ -82,6 +83,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
+import com.google.wave.api.Participants;
@Singleton
public class ContentManagerDefault extends DefaultManager<Content, Long> implements ContentManager {
@@ -183,15 +185,11 @@
}
private void clearEventsCacheIfNecessary(final Container previousParent) {
- if (previousParent.getToolName().equals(EventsToolConstants.NAME)) {
+ if (previousParent.getToolName().equals(EventsToolConstants.TOOL_NAME)) {
eventsCache.remove(previousParent);
}
}
- private void clearEventsCacheIfNecessary(final StateToken token) {
- clearEventsCacheIfNecessary(finder.getContainer(token.getFolder()));
- }
-
@Override
public Content copyContent(final User user, final Container destination, final Content contentToCopy) {
try {
@@ -324,7 +322,31 @@
return persist(content);
}
+ /**
+ * Purge content (permanent delete)
+ *
+ * @param content
+ * the content to purge
+ */
@Override
+ public Container purgeContent(final Content content) {
+ if (!TrashServerUtils.inTrash(content)) {
+ throw new AccessViolationException("Trying to purge a not deleted content:" + content);
+ }
+ if (content.isWave()) {
+ final WaveRef waveRef = KuneWaveServerUtils.getWaveRef(content);
+ final String author = getContentAuthor(content);
+ final Participants participants = kuneWaveManager.getParticipants(waveRef, author);
+ kuneWaveManager.delParticipants(waveRef, author, participantUtils.arrayFrom(participants));
+ }
+ content.authorsClear();
+ final Container container = content.getContainer();
+ container.removeContent(content);
+ remove(content);
+ return container;
+ }
+
+ @Override
public RateResult rateContent(final User rater, final Long contentId, final Double value)
throws DefaultException {
final Content content = finder.getContent(contentId);
Modified: trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/manager/file/EntityLogoDownloadManager.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -49,6 +49,7 @@
private final InputStream groupLogo;
GroupManager groupManager;
private final InputStream personLogo;
+ private final InputStream unknownLogo;
@Inject
public EntityLogoDownloadManager((a)Named(CoreSettings.RESOURCE_BASES) final List<String> resourceBases,
@@ -58,6 +59,8 @@
FileConstants.PERSON_NO_AVATAR_IMAGE);
groupLogo = FileDownloadManagerUtils.searchFileInResourcBases(resourceBases,
FileConstants.GROUP_NO_AVATAR_IMAGE);
+ unknownLogo = FileDownloadManagerUtils.searchFileInResourcBases(resourceBases,
+ FileConstants.NO_RESULT_AVATAR_IMAGE);
}
@Override
@@ -65,14 +68,19 @@
throws ServletException, IOException {
final StateToken stateToken = new StateToken(req.getParameter(FileConstants.TOKEN));
-
+ final String onlyUserS = req.getParameter(FileConstants.ONLY_USERS);
+ final boolean onlyUsers = Boolean.parseBoolean(onlyUserS);
Group group = Group.NO_GROUP;
try {
group = groupManager.findByShortName(stateToken.getGroup());
if (group == Group.NO_GROUP) {
- throw new NoResultException("Group not found trying to get the logo");
+ unknownResult(resp);
+ return;
}
-
+ if (onlyUsers && !group.isPersonal()) {
+ unknownResult(resp);
+ return;
+ }
if (!group.hasLogo()) {
FileDownloadManagerUtils.returnFile((group.isPersonal() ? personLogo : groupLogo),
resp.getOutputStream());
@@ -87,9 +95,12 @@
resp.getOutputStream().write(logo);
}
} catch (final NoResultException e) {
- FileDownloadManagerUtils.returnNotFound404(resp);
- return;
+ unknownResult(resp);
}
}
+ private void unknownResult(final HttpServletResponse resp) throws IOException {
+ FileDownloadManagerUtils.returnFile(unknownLogo, resp.getOutputStream());
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -75,8 +75,7 @@
import cc.kune.domain.Content;
import cc.kune.domain.Group;
import cc.kune.domain.User;
-import cc.kune.events.server.utils.EventsCache;
-import cc.kune.trash.shared.TrashToolConstants;
+import cc.kune.trash.server.TrashServerUtils;
import com.google.inject.Inject;
@@ -87,7 +86,6 @@
private final ContainerManager containerManager;
private final ContentManager contentManager;
private final CreationService creationService;
- private final EventsCache eventsCache;
private final FinderService finderService;
private final GroupManager groupManager;
private final Mapper mapper;
@@ -103,8 +101,7 @@
final StateService stateService, final CreationService creationService,
final GroupManager groupManager, final ContentManager contentManager,
final ContainerManager containerManager, final TagUserContentManager tagManager,
- final Mapper mapper, final ChatManager chatManager, final KuneWaveManager waveManager,
- final EventsCache eventsCache) {
+ final Mapper mapper, final ChatManager chatManager, final KuneWaveManager waveManager) {
this.finderService = finderService;
this.userSession = userSession;
this.accessService = accessService;
@@ -118,7 +115,6 @@
this.mapper = mapper;
this.chatManager = chatManager;
this.waveManager = waveManager;
- this.eventsCache = eventsCache;
}
@Override
@@ -134,7 +130,7 @@
@Override
@Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Administrator, mustCheckMembership = false)
@KuneTransactional
public StateContentDTO addContent(final String userHash, final StateToken parentToken,
final String title, final String typeId) throws DefaultException {
@@ -407,7 +403,10 @@
public StateContainerDTO moveContent(final String userHash, final StateToken movedToken,
final StateToken newContainerToken) throws DefaultException {
final User user = getCurrentUser();
- final boolean toTrash = newContainerToken.getTool().equals(TrashToolConstants.NAME);
+ final boolean toTrash = TrashServerUtils.isTrash(newContainerToken);
+
+ // FIXME: this not should be here ... should be in the managers
+
// Search the container id (because sometimes we get only #group.tool
// tokens)
final Long newContainerId = newContainerToken.hasGroupToolAndFolder() ? ContentUtils.parseId(newContainerToken.getFolder())
@@ -453,6 +452,28 @@
@Override
@Authenticated
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Administrator)
+ @KuneTransactional
+ public StateContainerDTO purgeContainer(final String userHash, final StateToken token) {
+ final User user = getCurrentUser();
+ final Long containerId = ContentUtils.parseId(token.getFolder());
+ final Container container = containerManager.purgeContainer(finderService.getContainer(containerId));
+ return mapState(stateService.create(user, container), user);
+ }
+
+ @Override
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.content, accessRolRequired = AccessRol.Administrator)
+ @KuneTransactional
+ public StateContainerDTO purgeContent(final String userHash, final StateToken token) {
+ final User user = getCurrentUser();
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final Container container = contentManager.purgeContent(finderService.getContent(contentId));
+ return mapState(stateService.create(user, container), user);
+ }
+
+ @Override
+ @Authenticated
@Authorizated(accessRolRequired = AccessRol.Viewer)
@KuneTransactional
public RateResult rateContent(final String userHash, final StateToken token, final Double value)
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -132,6 +132,18 @@
}
@Override
+ public StateContainerDTO purgeContainer(final String userHash, final StateToken token) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public StateContainerDTO purgeContent(final String userHash, final StateToken token) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
public RateResult rateContent(final String userHash, final StateToken token, final Double value)
throws DefaultException {
// TODO Auto-generated method stub
Modified: trunk/src/main/java/cc/kune/core/server/state/StateAbstract.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateAbstract.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/state/StateAbstract.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -23,6 +23,7 @@
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.Group;
import cc.kune.domain.ParticipationData;
import cc.kune.domain.SocialNetwork;
@@ -31,74 +32,92 @@
public abstract class StateAbstract {
- private List<String> enabledTools;
- private Group group;
- private StateToken stateToken;
- private String title;
- private SocialNetworkData socialNetworkData;
+ private List<String> enabledTools;
+ private Group group;
+ private Container rootContainer;
+ private SocialNetworkData socialNetworkData;
+ private StateToken stateToken;
+ private String title;
+ private String toolName;
- public StateAbstract() {
- }
+ public StateAbstract() {
+ }
- public List<String> getEnabledTools() {
- return enabledTools;
- }
+ public List<String> getEnabledTools() {
+ return enabledTools;
+ }
- public Group getGroup() {
- return group;
- }
+ public Group getGroup() {
+ return group;
+ }
- public SocialNetwork getGroupMembers() {
- return socialNetworkData.getGroupMembers();
- }
+ public SocialNetwork getGroupMembers() {
+ return socialNetworkData.getGroupMembers();
+ }
- public AccessRights getGroupRights() {
- return socialNetworkData.getGroupRights();
- }
+ public AccessRights getGroupRights() {
+ return socialNetworkData.getGroupRights();
+ }
- public ParticipationData getParticipation() {
- return socialNetworkData.getUserParticipation();
- }
+ public ParticipationData getParticipation() {
+ return socialNetworkData.getUserParticipation();
+ }
- public SocialNetworkData getSocialNetworkData() {
- return socialNetworkData;
- }
+ public Container getRootContainer() {
+ return rootContainer;
+ }
- public StateToken getStateToken() {
- return stateToken;
- }
+ public SocialNetworkData getSocialNetworkData() {
+ return socialNetworkData;
+ }
- public String getTitle() {
- return title;
- }
+ public StateToken getStateToken() {
+ return stateToken;
+ }
- public UserBuddiesData getUserBuddies() {
- return socialNetworkData.getUserBuddies();
- }
+ public String getTitle() {
+ return title;
+ }
- public void setEnabledTools(List<String> enabledTools) {
- this.enabledTools = enabledTools;
- }
+ public String getToolName() {
+ return toolName;
+ }
- public void setGroup(Group group) {
- this.group = group;
- }
+ public UserBuddiesData getUserBuddies() {
+ return socialNetworkData.getUserBuddies();
+ }
- public void setSocialNetworkData(SocialNetworkData socialNetworkData) {
- this.socialNetworkData = socialNetworkData;
- }
+ public void setEnabledTools(final List<String> enabledTools) {
+ this.enabledTools = enabledTools;
+ }
- public void setStateToken(StateToken stateToken) {
- this.stateToken = stateToken;
- }
+ public void setGroup(final Group group) {
+ this.group = group;
+ }
- public void setTitle(String title) {
- this.title = title;
- }
+ public void setRootContainer(final Container rootContainer) {
+ this.rootContainer = rootContainer;
+ }
- @Override
- public String toString() {
- return "State[" + getStateToken() + "]";
- }
+ public void setSocialNetworkData(final SocialNetworkData socialNetworkData) {
+ this.socialNetworkData = socialNetworkData;
+ }
+ public void setStateToken(final StateToken stateToken) {
+ this.stateToken = stateToken;
+ }
+
+ public void setTitle(final String title) {
+ this.title = title;
+ }
+
+ public void setToolName(final String toolName) {
+ this.toolName = toolName;
+ }
+
+ @Override
+ public String toString() {
+ return "State[" + getStateToken() + "]";
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/server/state/StateContainer.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateContainer.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/state/StateContainer.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.server.state;
-
import cc.kune.core.shared.domain.TagCloudResult;
import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.domain.AccessLists;
@@ -29,97 +28,79 @@
public class StateContainer extends StateAbstract {
- private I18nLanguage language;
- private String typeId;
- private String toolName;
- private Container container;
- private Container rootContainer;
- private AccessRights containerRights;
- private License license;
- private TagCloudResult tagCloudResult;
- private AccessLists accessLists;
+ private AccessLists accessLists;
+ private Container container;
+ private AccessRights containerRights;
+ private I18nLanguage language;
+ private License license;
+ private TagCloudResult tagCloudResult;
+ private String typeId;
- public StateContainer() {
- }
+ public StateContainer() {
+ }
- public AccessLists getAccessLists() {
- return accessLists;
- }
+ public AccessLists getAccessLists() {
+ return accessLists;
+ }
- public Container getContainer() {
- return container;
- }
+ public Container getContainer() {
+ return container;
+ }
- public AccessRights getContainerRights() {
- return containerRights;
- }
+ public AccessRights getContainerRights() {
+ return containerRights;
+ }
- public I18nLanguage getLanguage() {
- return language;
- }
+ public I18nLanguage getLanguage() {
+ return language;
+ }
- public License getLicense() {
- return license;
- }
+ public License getLicense() {
+ return license;
+ }
- public Container getRootContainer() {
- return rootContainer;
- }
+ public TagCloudResult getTagCloudResult() {
+ return tagCloudResult;
+ }
- public TagCloudResult getTagCloudResult() {
- return tagCloudResult;
- }
+ public String getTypeId() {
+ return typeId;
+ }
- public String getToolName() {
- return toolName;
- }
+ public boolean isType(final String type) {
+ return getTypeId().equals(type);
+ }
- public String getTypeId() {
- return typeId;
- }
+ public void setAccessLists(final AccessLists accessLists) {
+ this.accessLists = accessLists;
+ }
- public boolean isType(String type) {
- return getTypeId().equals(type);
- }
+ public void setContainer(final Container container) {
+ this.container = container;
+ }
- public void setAccessLists(AccessLists accessLists) {
- this.accessLists = accessLists;
- }
+ public void setContainerRights(final AccessRights containerRights) {
+ this.containerRights = containerRights;
+ }
- public void setContainer(Container container) {
- this.container = container;
- }
+ public void setLanguage(final I18nLanguage language) {
+ this.language = language;
+ }
- public void setContainerRights(AccessRights containerRights) {
- this.containerRights = containerRights;
- }
+ public void setLicense(final License license) {
+ this.license = license;
+ }
- public void setLanguage(I18nLanguage language) {
- this.language = language;
- }
+ public void setTagCloudResult(final TagCloudResult tagCloudResult) {
+ this.tagCloudResult = tagCloudResult;
+ }
- public void setLicense(License license) {
- this.license = license;
- }
+ public void setTypeId(final String typeId) {
+ this.typeId = typeId;
+ }
- public void setRootContainer(Container rootContainer) {
- this.rootContainer = rootContainer;
- }
-
- public void setTagCloudResult(TagCloudResult tagCloudResult) {
- this.tagCloudResult = tagCloudResult;
- }
-
- public void setToolName(String toolName) {
- this.toolName = toolName;
- }
-
- public void setTypeId(String typeId) {
- this.typeId = typeId;
- }
-
- @Override
- public String toString() {
- return "State[" + getStateToken() + "/" + getTypeId() + "]";
- }
+ @Override
+ public String toString() {
+ return "State[" + getStateToken() + "/" + getTypeId() + "]";
+ }
}
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -25,7 +25,6 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.server.access.AccessRightsService;
-import cc.kune.core.server.content.ContentManager;
import cc.kune.core.server.manager.GroupManager;
import cc.kune.core.server.manager.SocialNetworkManager;
import cc.kune.core.server.manager.TagUserContentManager;
@@ -46,7 +45,6 @@
@Singleton
public class StateServiceDefault implements StateService {
public static final Log LOG = LogFactory.getLog(StateServiceDefault.class);
- private final ContentManager contentManager;
private final GroupManager groupManager;
private final I18nTranslationService i18n;
private final KuneWaveService kuneWaveManager;
@@ -56,12 +54,11 @@
@Inject
public StateServiceDefault(final GroupManager groupManager,
- final SocialNetworkManager socialNetworkManager, final ContentManager contentManager,
- final TagUserContentManager tagManager, final AccessRightsService rightsService,
- final I18nTranslationService i18n, final KuneWaveService kuneWaveManager) {
+ final SocialNetworkManager socialNetworkManager, final TagUserContentManager tagManager,
+ final AccessRightsService rightsService, final I18nTranslationService i18n,
+ final KuneWaveService kuneWaveManager) {
this.groupManager = groupManager;
this.socialNetworkManager = socialNetworkManager;
- this.contentManager = contentManager;
this.tagManager = tagManager;
this.rightsService = rightsService;
this.i18n = i18n;
@@ -80,7 +77,6 @@
state.setTypeId(container.getTypeId());
state.setLanguage(container.getLanguage());
state.setStateToken(container.getStateToken());
- state.setRootContainer(calculateRootContainer(container));
state.setLicense(container.getOwner().getDefaultLicense());
state.setAccessLists(container.getAccessLists());
final Group group = container.getOwner();
@@ -139,7 +135,7 @@
state.setTitle(revision.getTitle());
}
final Container container = content.getContainer();
- state.setRootContainer(calculateRootContainer(container));
+
final License license = content.getLicense();
final Group group = container.getOwner();
state.setLicense(license == null ? group.getDefaultLicense() : license);
@@ -173,7 +169,9 @@
private void setCommon(final StateContainer state, final User userLogged, final Group group,
final Container container) {
- state.setToolName(container.getToolName());
+ final Container root = calculateRootContainer(container);
+ state.setRootContainer(root);
+ state.setToolName(root.getToolName());
state.setGroup(group);
state.setContainer(container);
state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
Modified: trunk/src/main/java/cc/kune/core/server/tool/ServerToolRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/tool/ServerToolRegistry.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/server/tool/ServerToolRegistry.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -89,7 +89,7 @@
public void register(final ServerTool tool) {
final String name = tool.getName();
final String rootName = tool.getRootName();
- if (tool.getName().equals(TrashToolConstants.NAME)) {
+ if (tool.getName().equals(TrashToolConstants.TOOL_NAME)) {
tools.put(name, tool);
// Trash is a special tool but we don't register it fully
return;
Modified: trunk/src/main/java/cc/kune/core/shared/FileConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/FileConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/shared/FileConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -38,7 +38,9 @@
public final static int LOGO_MIN_HEIGHT = 28;
public final static int LOGO_MIN_WIDTH = 468;
public static final String LOGODOWNLOADSERVLET = ASITE_PREFIX + "servlets/EntityLogoDownloadManager";
- public final static String PERSON_NO_AVATAR_IMAGE = "others/unknown.jpg";
+ public static final String NO_RESULT_AVATAR_IMAGE = "others/unknown.jpg";
+ public final static String ONLY_USERS = "onlyusers";
+ public final static String PERSON_NO_AVATAR_IMAGE = "others/defuser.jpg";
public final static String TOKEN = "token";
public final static String TUTORIALS_PREFIX = "/tutorials/";
public final static String TYPE_ID = "typeid";
Modified: trunk/src/main/java/cc/kune/core/shared/dto/ContainerDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/ContainerDTO.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/shared/dto/ContainerDTO.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -42,10 +42,20 @@
return absolutePath;
}
+ /**
+ * Gets the child folders.
+ *
+ * @return the childs
+ */
public List<ContainerSimpleDTO> getChilds() {
return childs;
}
+ /**
+ * Gets the child contents.
+ *
+ * @return the contents
+ */
public List<ContentSimpleDTO> getContents() {
return contents;
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/ContainerSimpleDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/ContainerSimpleDTO.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/shared/dto/ContainerSimpleDTO.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,28 +19,32 @@
*/
package cc.kune.core.shared.dto;
+import cc.kune.core.shared.domain.utils.StateToken;
+
/**
* A item can be both a container or a content
*
*/
public class ContainerSimpleDTO extends AbstractContentSimpleDTO {
private String name;
- private Long parentFolderId;
+ private StateToken parentToken;
+ @Override
public String getName() {
return name;
}
- public Long getParentFolderId() {
- return parentFolderId;
+ public StateToken getParentToken() {
+ return parentToken;
}
+ @Override
public void setName(final String name) {
this.name = name;
}
- public void setParentFolderId(final Long parentFolderId) {
- this.parentFolderId = parentFolderId;
+ public void setParentToken(final StateToken parentToken) {
+ this.parentToken = parentToken;
}
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/StateAbstractDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/StateAbstractDTO.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/shared/dto/StateAbstractDTO.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -27,75 +27,92 @@
import com.google.gwt.user.client.rpc.IsSerializable;
public abstract class StateAbstractDTO implements IsSerializable {
+ private List<String> enabledTools;
+ private GroupDTO group;
+ private ContainerDTO rootContainer;
+ private SocialNetworkDataDTO socialNetworkData;
+ private StateToken stateToken;
+ private String title;
+ private String toolName;
- private List<String> enabledTools;
- private GroupDTO group;
- private StateToken stateToken;
- private String title;
- private SocialNetworkDataDTO socialNetworkData;
+ public StateAbstractDTO() {
+ }
- public StateAbstractDTO() {
- }
+ public List<String> getEnabledTools() {
+ return enabledTools;
+ }
- public List<String> getEnabledTools() {
- return enabledTools;
- }
+ public GroupDTO getGroup() {
+ return group;
+ }
- public GroupDTO getGroup() {
- return group;
- }
+ public SocialNetworkDTO getGroupMembers() {
+ return socialNetworkData.getGroupMembers();
+ }
- public SocialNetworkDTO getGroupMembers() {
- return socialNetworkData.getGroupMembers();
- }
+ public AccessRights getGroupRights() {
+ return socialNetworkData.getGroupRights();
+ }
- public AccessRights getGroupRights() {
- return socialNetworkData.getGroupRights();
- }
+ public ParticipationDataDTO getParticipation() {
+ return socialNetworkData.getUserParticipation();
+ }
- public ParticipationDataDTO getParticipation() {
- return socialNetworkData.getUserParticipation();
- }
+ public ContainerDTO getRootContainer() {
+ return rootContainer;
+ }
- public SocialNetworkDataDTO getSocialNetworkData() {
- return socialNetworkData;
- }
+ public SocialNetworkDataDTO getSocialNetworkData() {
+ return socialNetworkData;
+ }
- public StateToken getStateToken() {
- return stateToken;
- }
+ public StateToken getStateToken() {
+ return stateToken;
+ }
- public String getTitle() {
- return title;
- }
+ public String getTitle() {
+ return title;
+ }
- public UserBuddiesDataDTO getUserBuddies() {
- return socialNetworkData.getUserBuddies();
- }
+ public String getToolName() {
+ return toolName;
+ }
- public void setEnabledTools(final List<String> enabledTools) {
- this.enabledTools = enabledTools;
- }
+ public UserBuddiesDataDTO getUserBuddies() {
+ return socialNetworkData.getUserBuddies();
+ }
- public void setGroup(final GroupDTO group) {
- this.group = group;
- }
+ public void setEnabledTools(final List<String> enabledTools) {
+ this.enabledTools = enabledTools;
+ }
- public void setSocialNetworkData(final SocialNetworkDataDTO socialNetworkData) {
- this.socialNetworkData = socialNetworkData;
- }
+ public void setGroup(final GroupDTO group) {
+ this.group = group;
+ }
- public void setStateToken(final StateToken stateToken) {
- this.stateToken = stateToken;
- }
+ public void setRootContainer(final ContainerDTO rootContainer) {
+ this.rootContainer = rootContainer;
+ }
- public void setTitle(final String title) {
- this.title = title;
- }
+ public void setSocialNetworkData(final SocialNetworkDataDTO socialNetworkData) {
+ this.socialNetworkData = socialNetworkData;
+ }
- @Override
- public String toString() {
- return "StateDTO[" + getStateToken() + "]";
- }
+ public void setStateToken(final StateToken stateToken) {
+ this.stateToken = stateToken;
+ }
+ public void setTitle(final String title) {
+ this.title = title;
+ }
+
+ public void setToolName(final String toolName) {
+ this.toolName = toolName;
+ }
+
+ @Override
+ public String toString() {
+ return "StateDTO[" + getStateToken() + "]";
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/StateContainerDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/StateContainerDTO.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/shared/dto/StateContainerDTO.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -31,9 +31,7 @@
private AccessRights containerRights;
private I18nLanguageDTO language;
private LicenseDTO license;
- private ContainerDTO rootContainer;
private TagCloudResult tagCloudResult;
- private String toolName;
private String typeId;
public StateContainerDTO() {
@@ -43,6 +41,7 @@
return accessLists;
}
+ @Override
public ContainerDTO getContainer() {
return container;
}
@@ -59,18 +58,10 @@
return license;
}
- public ContainerDTO getRootContainer() {
- return rootContainer;
- }
-
public TagCloudResult getTagCloudResult() {
return tagCloudResult;
}
- public String getToolName() {
- return toolName;
- }
-
@Override
public String getTypeId() {
return typeId;
@@ -100,18 +91,10 @@
this.license = license;
}
- public void setRootContainer(final ContainerDTO rootContainer) {
- this.rootContainer = rootContainer;
- }
-
public void setTagCloudResult(final TagCloudResult tagCloudResult) {
this.tagCloudResult = tagCloudResult;
}
- public void setToolName(final String toolName) {
- this.toolName = toolName;
- }
-
@Override
public void setTypeId(final String typeId) {
this.typeId = typeId;
Modified: trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -58,7 +58,8 @@
public String getLogoImageUrl(final String groupName) {
return prefix
- + new Url(FileConstants.LOGODOWNLOADSERVLET, new UrlParam(FileConstants.TOKEN, groupName)).toString();
+ + new Url(FileConstants.LOGODOWNLOADSERVLET, new UrlParam(FileConstants.TOKEN, groupName),
+ new UrlParam(FileConstants.ONLY_USERS, false)).toString();
}
public String getPrefix() {
@@ -71,7 +72,8 @@
public String getUserAvatar(final String username) {
return prefix
- + new Url(FileConstants.LOGODOWNLOADSERVLET, new UrlParam(FileConstants.TOKEN, username)).toString();
+ + new Url(FileConstants.LOGODOWNLOADSERVLET, new UrlParam(FileConstants.TOKEN, username),
+ new UrlParam(FileConstants.ONLY_USERS, true)).toString();
}
public String getUserAvatar(final UserSimpleDTO user) {
Modified: trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.docs.client;
-import static cc.kune.docs.shared.DocsToolConstants.NAME;
+import static cc.kune.docs.shared.DocsToolConstants.TOOL_NAME;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_DOCUMENT;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_FOLDER;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_ROOT;
@@ -45,7 +45,7 @@
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
super(
- NAME,
+ TOOL_NAME,
i18n.t(DocsToolConstants.ROOT_NAME),
i18n.t("Here you can create or upload your personal, group or public documents. These documents can be edited and commented collaboratively and simultaneously. These docs can be static pages in your web page if you publish them"),
icons.docs(), AccessRolDTO.Viewer, toolSelector, cntCapRegistry, i18n, navResources);
@@ -65,7 +65,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.docs.client.actions;
+import static cc.kune.docs.shared.DocsToolConstants.TOOL_NAME;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_DOCUMENT;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_FOLDER;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_ROOT;
@@ -41,10 +42,13 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -78,40 +82,44 @@
final Provider<SetAsHomePageMenuItem> setAsHomePage,
final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu foldersNewMenu,
final DocsNewMenu docsNewMenu) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newDocIconBtn, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, foldersNewMenu, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, docsNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newDocMenuItem, containers);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderMenuItem, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newDocIconBtn, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, foldersNewMenu, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, docsNewMenu, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newDocMenuItem, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newFolderMenuItem, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, setAsHomePage, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
newMenusRegistry.register(TYPE_FOLDER, foldersNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, foldersNewMenu.get());
newMenusRegistry.register(TYPE_DOCUMENT,
Modified: trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.docs.server;
-import static cc.kune.docs.shared.DocsToolConstants.NAME;
+import static cc.kune.docs.shared.DocsToolConstants.TOOL_NAME;
import static cc.kune.docs.shared.DocsToolConstants.ROOT_NAME;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_DOCUMENT;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_FOLDER;
@@ -49,7 +49,7 @@
public DocumentServerTool(final ContentManager contentManager,
final ContainerManager containerManager, final ToolConfigurationManager configurationManager,
final I18nTranslationService i18n, final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_DOCUMENT, TYPE_UPLOADEDFILE), Arrays.asList(
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_DOCUMENT, TYPE_UPLOADEDFILE), Arrays.asList(
TYPE_ROOT, TYPE_FOLDER), Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
contentManager, containerManager, creationService, configurationManager, i18n,
ServerToolTarget.forBoth);
Modified: trunk/src/main/java/cc/kune/docs/shared/DocsToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/shared/DocsToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/docs/shared/DocsToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -23,12 +23,12 @@
public final class DocsToolConstants {
- public static final String NAME = "docs";
+ public static final String TOOL_NAME = "docs";
public static final String ROOT_NAME = "documents";
- public static final String TYPE_DOCUMENT = NAME + "." + "doc";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
+ public static final String TYPE_DOCUMENT = TOOL_NAME + "." + "doc";
+ public static final String TYPE_FOLDER = TOOL_NAME + "." + "folder";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = TOOL_NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
private DocsToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/domain/Container.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Container.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/domain/Container.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -99,7 +99,7 @@
private String name;
@IndexedEmbedded(depth = 1, prefix = "owner_")
- @OneToOne(cascade = CascadeType.ALL)
+ @OneToOne
private Group owner;
// Parent/Child pattern:
@@ -271,8 +271,9 @@
}
public void removeChild(final Container child) {
- child.setParent(null);
+ childs.size();
childs.remove(child);
+ // child.setParent(null);
}
public void removeContent(final Content content) {
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -168,6 +168,10 @@
}
}
+ public void authorsClear() {
+ authors.clear();
+ }
+
@Transient
public AccessLists getAccessLists() {
return hasAccessList() ? accessLists : getContainer().getAccessLists();
Modified: trunk/src/main/java/cc/kune/events/client/EventsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/EventsClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/events/client/EventsClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.events.client;
-import static cc.kune.events.shared.EventsToolConstants.NAME;
+import static cc.kune.events.shared.EventsToolConstants.TOOL_NAME;
import static cc.kune.events.shared.EventsToolConstants.ROOT_NAME;
import static cc.kune.events.shared.EventsToolConstants.TYPE_MEETING;
import static cc.kune.events.shared.EventsToolConstants.TYPE_ROOT;
@@ -41,7 +41,7 @@
public EventsClientTool(final I18nTranslationService i18n, final ToolSelector toolSelector,
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
- super(NAME, i18n.t(ROOT_NAME), i18n.t("A calendar to schedule activities and events"),
+ super(TOOL_NAME, i18n.t(ROOT_NAME), i18n.t("A calendar to schedule activities and events"),
icons.events(), AccessRolDTO.Viewer, toolSelector, cntCapRegistry, i18n, navResources);
this.icons = icons;
@@ -60,7 +60,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.events.client.actions;
+import static cc.kune.events.shared.EventsToolConstants.TOOL_NAME;
import static cc.kune.events.shared.EventsToolConstants.TYPE_MEETING;
import static cc.kune.events.shared.EventsToolConstants.TYPE_ROOT;
import cc.kune.core.client.actions.ActionRegistryByType;
@@ -36,9 +37,12 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -71,45 +75,52 @@
final Provider<EventRemoveMenuItem> eventRemoveMenuItem,
final Provider<CopyContentMenuItem> copyContent, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final Provider<ExportCalendarMenuItem> export, final Provider<CalendarGoNextBtn> calNextBtn,
final CalendarOnOverMenu onOverMenu, final Provider<CalendarGoTodayBtn> goToday,
final Provider<RefreshContentMenuItem> refresh) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, goToday, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, calPrevBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, cal1DayBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, cal3DaysBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, cal7DaysBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, calMonthBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, calNextBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, export, all);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, goToday, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, calPrevBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, cal1DayBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, cal3DaysBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, cal7DaysBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, calMonthBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, calNextBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, export, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
// On over calendar menu
- actionsRegistry.addAction(ActionGroups.TOPBAR, onOverMenu, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, onOverMenu, containers);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
eventOpenMenuItem.get();
eventAddMenuItem.get();
eventRemoveMenuItem.get();
- actionsRegistry.addAction(ActionGroups.TOPBAR, newEventBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newEventBtn, containers);
// For now, commented:
- // actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem,
+ // actionsRegistry.addAction(NAME, ActionGroups.ITEM_MENU,
+ // openContentMenuItem,
// contents);
- // actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem,
+ // actionsRegistry.addAction(NAME, ActionGroups.ITEM_MENU,
+ // openContentMenuItem,
// containersNoRoot);
- // actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem,
+ // actionsRegistry.addAction(NAME, ActionGroups.ITEM_MENU,
+ // delContentMenuItem,
// contents);
}
Modified: trunk/src/main/java/cc/kune/events/server/EventsServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/EventsServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/events/server/EventsServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.events.server;
-import static cc.kune.events.shared.EventsToolConstants.NAME;
+import static cc.kune.events.shared.EventsToolConstants.TOOL_NAME;
import static cc.kune.events.shared.EventsToolConstants.ROOT_NAME;
import static cc.kune.events.shared.EventsToolConstants.TYPE_MEETING;
import static cc.kune.events.shared.EventsToolConstants.TYPE_ROOT;
@@ -59,7 +59,7 @@
public EventsServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService, final EventsCache eventsCache) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_MEETING), Arrays.asList(TYPE_ROOT),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_MEETING), Arrays.asList(TYPE_ROOT),
Collections.<String> emptyList(), Arrays.asList(TYPE_ROOT), contentManager, containerManager,
creationService, configurationManager, i18n, ServerToolTarget.forBoth);
this.eventsCache = eventsCache;
Modified: trunk/src/main/java/cc/kune/events/shared/EventsToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/events/shared/EventsToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/events/shared/EventsToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,11 +21,11 @@
public final class EventsToolConstants {
- public static final String NAME = "events";
+ public static final String TOOL_NAME = "events";
public static final String ROOT_NAME = "events";
- public static final String TYPE_MEETING = NAME + "." + "meeting";
+ public static final String TYPE_MEETING = TOOL_NAME + "." + "meeting";
public static final String TYPE_MEETING_DEF_GADGETNAME = "massmob";
- public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
private EventsToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.gallery.server;
-import static cc.kune.gallery.shared.GalleryToolConstants.NAME;
+import static cc.kune.gallery.shared.GalleryToolConstants.TOOL_NAME;
import static cc.kune.gallery.shared.GalleryToolConstants.ROOT_NAME;
import static cc.kune.gallery.shared.GalleryToolConstants.TYPE_ALBUM;
import static cc.kune.gallery.shared.GalleryToolConstants.TYPE_ROOT;
@@ -46,7 +46,7 @@
public GalleryServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_UPLOADEDFILE), Arrays.asList(TYPE_ROOT,
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_UPLOADEDFILE), Arrays.asList(TYPE_ROOT,
TYPE_ALBUM), Arrays.asList(TYPE_ALBUM), Arrays.asList(TYPE_ROOT, TYPE_ALBUM), contentManager,
containerManager, creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
Modified: trunk/src/main/java/cc/kune/gallery/shared/GalleryToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/gallery/shared/GalleryToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gallery/shared/GalleryToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -22,11 +22,11 @@
import cc.kune.core.shared.ToolConstants;
public final class GalleryToolConstants {
- public static final String NAME = "gallery";
+ public static final String TOOL_NAME = "gallery";
public static final String ROOT_NAME = "gallery";
- public static final String TYPE_ALBUM = NAME + "." + "album";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
+ public static final String TYPE_ALBUM = TOOL_NAME + "." + "album";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = TOOL_NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
private GalleryToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorEntryPoint.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorEntryPoint.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.gspace.client;
-import cc.kune.gspace.client.armor.impl.GSpaceArmorImpl;
+import cc.kune.gspace.client.armor.GSpaceArmorDefault;
import cc.kune.gspace.client.armor.resources.GSpaceArmorResources;
import com.google.gwt.core.client.EntryPoint;
@@ -35,7 +35,7 @@
resources.style().ensureInjected();
final RootLayoutPanel rootPanel = RootLayoutPanel.get();
- final GSpaceArmorImpl armor = new GSpaceArmorImpl(null);
+ final GSpaceArmorDefault armor = new GSpaceArmorDefault(null);
final InlineLabel icons = new InlineLabel("Icons");
final InlineLabel login = new InlineLabel("Login");
final InlineLabel logo = new InlineLabel("Logo");
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -26,13 +26,14 @@
import cc.kune.core.client.sn.AllMembersGroupSNDropController;
import cc.kune.core.client.sn.CollabsGroupSNDropController;
import cc.kune.core.client.sn.actions.WriteToBuddyHeaderButton;
+import cc.kune.gspace.client.actions.ActionUtils;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ContentViewerOptionsShareSubMenu;
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.GiveUsFeedbackBtn;
import cc.kune.gspace.client.actions.RenameAction;
import cc.kune.gspace.client.armor.GSpaceArmor;
-import cc.kune.gspace.client.armor.impl.GSpaceArmorImpl;
+import cc.kune.gspace.client.armor.GSpaceArmorDefault;
import cc.kune.gspace.client.i18n.I18nTranslator;
import cc.kune.gspace.client.i18n.I18nTranslatorPanel;
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
@@ -141,6 +142,7 @@
*/
@Override
protected void configure() {
+ requestStaticInjection(ActionUtils.class);
s(PathToolbarUtils.class);
s(FolderViewerUtils.class);
s(ContentDropController.class);
@@ -151,8 +153,8 @@
EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class,
TagsSummaryPanel.class, TagsSummaryPresenter.TagsSummaryProxy.class);
- bind(GSpaceArmorImpl.class).in(Singleton.class);
- bind(GSpaceArmor.class).to(GSpaceArmorImpl.class).in(Singleton.class);
+ bind(GSpaceArmorDefault.class).in(Singleton.class);
+ bind(GSpaceArmor.class).to(GSpaceArmorDefault.class).in(Singleton.class);
bind(GSpaceParts.class).asEagerSingleton();
bindPresenter(ToolSelectorPresenter.class, ToolSelectorPresenter.ToolSelectorView.class,
ToolSelectorPanel.class, ToolSelectorPresenter.ToolSelectorProxy.class);
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,14 +21,28 @@
/**
* A group of actions that must be grouped and showed in some perspective (on
- * edit, etc)
+ * edit, etc).
*/
public final class ActionGroups {
+
+ /**
+ * The Constant BOTTOMBAR identifies actions in the bottom bar, below the
+ * content.
+ */
public final static String BOTTOMBAR = "bottombar";
- public final static String EDIT = "edit";
+
+ /**
+ * The Constant ITEM_MENU identifies actions in the menu of each item of a
+ * folder list.
+ */
public final static String ITEM_MENU = "menu-item";
+
+ /** The Constant TOPBAR identifies actions in the top bar, above the content. */
public final static String TOPBAR = "topbar";
+ /**
+ * Instantiates a new action groups.
+ */
private ActionGroups() {
}
}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ActionUtils.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,42 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.AbstractContentSimpleDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class ActionUtils {
+ @Inject
+ private static Session session;
+
+ public static StateToken getActionToken(final ActionEvent event) {
+ final boolean inContent = session.getCurrentStateToken().hasAll();
+ final StateToken token = inContent ? session.getCurrentStateToken()
+ : ((AbstractContentSimpleDTO) event.getTarget()).getStateToken();
+ return token;
+ }
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/CopyContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/CopyContentMenuItem.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/CopyContentMenuItem.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -30,7 +30,6 @@
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.AbstractContentSimpleDTO;
import cc.kune.core.shared.dto.AccessRolDTO;
import cc.kune.core.shared.dto.StateContentDTO;
@@ -58,9 +57,8 @@
@Override
public void actionPerformed(final ActionEvent event) {
NotifyUser.showProgress(i18n.t("Copying"));
+ final StateToken token = ActionUtils.getActionToken(event);
final boolean inContent = session.getCurrentStateToken().hasAll();
- final StateToken token = inContent ? session.getCurrentStateToken()
- : ((AbstractContentSimpleDTO) event.getTarget()).getStateToken();
final StateToken parentToken = inContent ? session.getContentState().getContainer().getStateToken()
: session.getCurrentStateToken();
contentService.copyContent(session.getUserHash(), parentToken, token,
Added: trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentBtn.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,57 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.ContentServiceHelper;
+import cc.kune.core.shared.dto.AccessRolDTO;
+
+import com.google.inject.Inject;
+
+public class PurgeContentBtn extends ButtonDescriptor {
+
+ public static class PurgeContentAction extends RolAction {
+
+ private final ContentServiceHelper contentService;
+
+ @Inject
+ public PurgeContentAction(final ContentServiceHelper contentService, final CoreResources res) {
+ super(AccessRolDTO.Administrator, true);
+ this.contentService = contentService;
+ this.withText(I18n.t("Delete permanently")).withIcon(res.cancel());
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ contentService.purgeContent(ActionUtils.getActionToken(event));
+ }
+
+ }
+
+ @Inject
+ public PurgeContentBtn(final PurgeContentAction action) {
+ super(action);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/PurgeContentMenuItem.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,37 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.gspace.client.actions.PurgeContentBtn.PurgeContentAction;
+
+import com.google.inject.Inject;
+
+public class PurgeContentMenuItem extends MenuItemDescriptor {
+
+ @Inject
+ public PurgeContentMenuItem(final I18nTranslationService i18n, final PurgeContentAction action,
+ final CoreResources res) {
+ super(action);
+ }
+
+}
Copied: trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.java (from rev 1806, trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,314 @@
+/*
+ *
+ * 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.armor;
+
+import org.cobogw.gwt.user.client.CSS;
+
+import cc.kune.common.client.actions.ui.ActionFlowPanel;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
+import cc.kune.common.shared.utils.Pair;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Style.Overflow;
+import com.google.gwt.dom.client.Style.Position;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
+import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.SplitLayoutPanel;
+import com.google.gwt.user.client.ui.TabLayoutPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class GSpaceArmorDefault extends Composite implements GSpaceArmor {
+
+ interface GSpaceArmorDefaultUiBinder extends UiBinder<Widget, GSpaceArmorDefault> {
+ }
+ private static final int CENTER_NORTH_HEIGHT = 153;
+ private static final int CENTER_SOUTH_HEIGHT = 36;
+ private static final int EAST_WIDTH = 220;
+
+ private static GSpaceArmorDefaultUiBinder uiBinder = GWT.create(GSpaceArmorDefaultUiBinder.class);
+
+ @UiField
+ VerticalPanel centerNorth;
+ @UiField
+ ScrollPanel centerScroll;
+ @UiField
+ FlowPanel docContainer;
+ @UiField
+ DockLayoutPanel docContainerParent;
+ @UiField
+ FlowPanel docFooter;
+ private final ActionFlowPanel docFooterToolbar;
+ @UiField
+ FlowPanel docHeader;
+ @UiField
+ FlowPanel docSubheader;
+ @UiField
+ FlowPanel entityFooter;
+ private final ActionFlowPanel entityFooterToolbar;
+ @UiField
+ FlowPanel entityHeader;
+ @UiField
+ FlowPanel entityToolsCenter;
+ @UiField
+ FlowPanel entityToolsContainer;
+ @UiField
+ FlowPanel entityToolsNorth;
+ @UiField
+ FlowPanel entityToolsSouth;
+ @UiField
+ SplitLayoutPanel groupSpace;
+ @UiField
+ SimplePanel groupSpaceWrapper;
+ private final ActionFlowPanel headerToolbar;
+ @UiField
+ SimplePanel homeSpace;
+ @UiField
+ DockLayoutPanel mainpanel;
+ @UiField
+ SimplePanel publicSpace;
+ @UiField
+ FlowPanel sitebar;
+ @UiField
+ DockLayoutPanel splitCenter;
+ @UiField
+ DockLayoutPanel splitEast;
+ private final ActionFlowPanel subheaderToolbar;
+ @UiField
+ TabLayoutPanel tabs;
+ private final ActionFlowPanel toolsSouthToolbar;
+ @UiField
+ FlowPanel userSpace;
+
+ @Inject
+ public GSpaceArmorDefault(final Provider<ActionFlowPanel> toolbarProv) {
+ initWidget(uiBinder.createAndBindUi(this));
+ groupSpace.setWidgetMinSize(splitEast, 150);
+ DOM.setStyleAttribute((Element) groupSpace.getWidgetContainerElement(splitEast), "overflow",
+ "visible");
+ DOM.setStyleAttribute((Element) splitEast.getWidgetContainerElement(entityToolsContainer),
+ "overflow", "visible");
+ docFooterToolbar = toolbarProv.get();
+ headerToolbar = toolbarProv.get();
+ subheaderToolbar = toolbarProv.get();
+ toolsSouthToolbar = toolbarProv.get();
+ entityFooterToolbar = toolbarProv.get();
+ getDocHeader().add(headerToolbar);
+ getDocSubheader().add(subheaderToolbar);
+ getDocFooter().add(docFooterToolbar);
+ getEntityToolsSouth().add(toolsSouthToolbar);
+ getEntityFooter().add(entityFooterToolbar);
+ entityToolsNorth.getElement().getStyle().setPosition(Position.RELATIVE);
+ // entityToolsSouth.setVisible(false);
+ mainpanel.getWidgetContainerElement(tabs).addClassName("k-spaces");
+ enableCenterScroll(true);
+ }
+
+ @Override
+ public void clearBackImage() {
+ final String bodyProp = "#FFFFFF";
+ DOM.setStyleAttribute(groupSpaceWrapper.getElement(), CSS.A.BACKGROUND, bodyProp);
+ }
+
+ @Override
+ public void enableCenterScroll(final boolean enable) {
+ // TODO use here Element.getStyle()...
+ if (enable) {
+ centerScroll.setAlwaysShowScrollBars(false);
+ DOM.setStyleAttribute(centerScroll.getElement(), "position", "absolute");
+ DOM.setStyleAttribute((Element) centerScroll.getElement().getFirstChildElement(), "position",
+ "relative");
+ } else {
+ centerScroll.getElement().getStyle().setOverflow(Overflow.HIDDEN);
+ DOM.setStyleAttribute(centerScroll.getElement(), "position", "");
+ DOM.setStyleAttribute((Element) centerScroll.getElement().getFirstChildElement(), "position", "");
+ }
+ }
+
+ @Override
+ public ForIsWidget getDocContainer() {
+ return docContainer;
+ }
+
+ @Override
+ public Pair<Integer, Integer> getDocContainerSize() {
+ return Pair.create(centerScroll.getOffsetHeight(), centerScroll.getOffsetWidth());
+ }
+
+ @Override
+ public ForIsWidget getDocFooter() {
+ return docFooter;
+ }
+
+ @Override
+ public IsActionExtensible getDocFooterToolbar() {
+ return docFooterToolbar;
+ }
+
+ @Override
+ public ForIsWidget getDocHeader() {
+ return docHeader;
+ }
+
+ @Override
+ public ForIsWidget getDocSubheader() {
+ return docSubheader;
+ }
+
+ @Override
+ public ForIsWidget getEntityFooter() {
+ return entityFooter;
+ }
+
+ @Override
+ public IsActionExtensible getEntityFooterToolbar() {
+ return entityFooterToolbar;
+ }
+
+ @Override
+ public ForIsWidget getEntityHeader() {
+ return entityHeader;
+ }
+
+ @Override
+ public ForIsWidget getEntityToolsCenter() {
+ return entityToolsCenter;
+ }
+
+ @Override
+ public ForIsWidget getEntityToolsNorth() {
+ return entityToolsNorth;
+ }
+
+ @Override
+ public ForIsWidget getEntityToolsSouth() {
+ return entityToolsSouth;
+ }
+
+ @Override
+ public IsActionExtensible getHeaderToolbar() {
+ return headerToolbar;
+ }
+
+ @Override
+ public SimplePanel getHomeSpace() {
+ return homeSpace;
+ }
+
+ @Override
+ public IsWidget getMainpanel() {
+ return mainpanel;
+ }
+
+ @Override
+ public SimplePanel getPublicSpace() {
+ return publicSpace;
+ }
+
+ @Override
+ public ForIsWidget getSitebar() {
+ return sitebar;
+ }
+
+ @Override
+ public IsActionExtensible getSubheaderToolbar() {
+ return subheaderToolbar;
+ }
+
+ @Override
+ public IsActionExtensible getToolsSouthToolbar() {
+ return toolsSouthToolbar;
+ }
+
+ @Override
+ public ForIsWidget getUserSpace() {
+ return userSpace;
+ }
+
+ @Override
+ public void selectGroupSpace() {
+ tabs.selectTab(groupSpaceWrapper);
+ }
+
+ @Override
+ public void selectHomeSpace() {
+ tabs.selectTab(homeSpace);
+ }
+
+ @Override
+ public void selectPublicSpace() {
+ tabs.selectTab(publicSpace);
+ }
+
+ @Override
+ public void selectUserSpace() {
+ tabs.selectTab(userSpace);
+ }
+
+ @Override
+ public void setBackImage(final String url) {
+ final String bodyProp = "#FFFFFF url('" + url + "') fixed top left";
+ DOM.setStyleAttribute(groupSpaceWrapper.getElement(), CSS.A.BACKGROUND, bodyProp);
+ }
+
+ @Override
+ public void setMaximized(final boolean maximized) {
+ // setMaximized(docFooter.getParent(), maximized);
+ // setMaximized(entityFooter.getParent(), maximized);
+ // setMaximized(entityHeader.getParent(), maximized);
+ // setMaximized(entityToolsContainer, maximized);
+ // splitCenter.setWidgetSize(centerScroll, getAbsoluteLeft())
+ // setMaximized(splitCenter.getWidget(0), maximized);
+ // setMaximized(splitCenter.getWidget(2), maximized);
+ // setMaximized(splitEast, maximized);
+ groupSpace.setWidgetSize(splitEast, maximized ? 0 : EAST_WIDTH);
+ splitCenter.setWidgetSize(centerNorth, maximized ? 7 : CENTER_NORTH_HEIGHT);
+ splitCenter.setWidgetSize(entityFooter, maximized ? 7 : CENTER_SOUTH_HEIGHT);
+ }
+
+ private void setMaximized(final Widget widget, final boolean maximized) {
+ widget.setVisible(!maximized);
+ if (maximized) {
+ // // $((Widget) gsArmor.getHeaderToolbar()).as(Effects).
+ // $(widget).as(Effects).slideDown(new Function() {
+ // @Override
+ // public void f() {
+ // }
+ // });
+ } else {
+ // $(widget).parent().as(Effects).slideUp(new Function() {
+ // @Override
+ // public void f() {
+ // }
+ // });
+ }
+ }
+}
Copied: trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.ui.xml (from rev 1806, trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmorDefault.ui.xml 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,126 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:co="urn:import:cc.kune.core.client" xmlns:kp="urn:import:cc.kune.pspace.client"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:with field='res'
+ type='cc.kune.gspace.client.armor.resources.GSpaceArmorResources'/>
+ <ui:style>
+ .frame {
+ border: 0px;
+ margin: 0px;
+ }
+ </ui:style>
+ <g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
+ unit="PX">
+ <g:north size="23">
+ <g:FlowPanel ui:field="sitebar" height="23px"
+ styleName='{res.style.siteBar}'>
+ </g:FlowPanel>
+ </g:north>
+ <g:center>
+ <g:TabLayoutPanel width="100%" height="100%"
+ barUnit='PX' barHeight='0' ui:field="tabs">
+ <g:tab>
+ <g:header size='0'/>
+ <g:SimplePanel styleName="k-space" ui:field="homeSpace"
+ width="100%" height="100%"></g:SimplePanel>
+ </g:tab>
+ <g:tab>
+ <g:header size='0'/>
+ <g:FlowPanel ui:field="userSpace" styleName="k-space"
+ width="100%" height="100%">
+ <!-- <g:Frame url="/" styleName="{style.frame}" -->
+ <!-- ui:field="frame" width="100%" height="100%" /> -->
+ </g:FlowPanel>
+ </g:tab>
+ <g:tab>
+ <g:header size='0'/>
+ <g:SimplePanel ui:field="groupSpaceWrapper"
+ styleName="k-group-space">
+ <g:SplitLayoutPanel width="100%" height="100%"
+ styleName="k-space" ui:field="groupSpace">
+ <g:center size="1.0">
+ <g:DockLayoutPanel unit="PX" ui:field="splitCenter"
+ styleName="{res.style.entityCentralContainer}">
+ <g:north size="153">
+ <g:VerticalPanel width="100%" ui:field="centerNorth"
+ height="153px">
+ <g:FlowPanel height="70px" width="100%"
+ styleName="{res.style.entityHeader}" ui:field="entityHeader">
+ <!--<g:RichTextArea width="100%" height="70px" /> -->
+ </g:FlowPanel>
+ <g:FlowPanel width="100%" height="38px"
+ styleName="{res.style.docHeader}" ui:field="docHeader">
+ </g:FlowPanel>
+ <g:HTMLPanel ui:field="arrow"
+ styleName="{res.style.docSubheaderArrow}"/>
+ <g:FlowPanel width="100%" height="45px"
+ styleName="{res.style.docSubheader}" ui:field="docSubheader">
+ </g:FlowPanel>
+ </g:VerticalPanel>
+ </g:north>
+ <g:center>
+ <g:DockLayoutPanel unit="PX"
+ styleName="{res.style.docEditorMargin}" ui:field="docContainerParent">
+ <g:west size="10">
+ <g:SimplePanel/>
+ </g:west>
+ <g:east size="10">
+ <g:SimplePanel/>
+ </g:east>
+ <g:center>
+ <g:ScrollPanel ui:field="centerScroll"
+ styleName="{res.style.docEditor}">
+ <g:FlowPanel width="auto" height="auto"
+ styleName="{res.style.docEditorContainer}"
+ ui:field="docContainer"/>
+ </g:ScrollPanel>
+ </g:center>
+ <g:south size="33.0">
+ <g:VerticalPanel height="33px"
+ width="100%" styleName="{res.style.docFooter}">
+ <g:FlowPanel width="100%" height="33"
+ ui:field="docFooter">
+ </g:FlowPanel>
+ </g:VerticalPanel>
+ </g:south>
+ </g:DockLayoutPanel>
+ </g:center>
+ <g:south size="36">
+ <g:FlowPanel height="36px" width="100%"
+ styleName="{res.style.entityFooter}" ui:field="entityFooter">
+ </g:FlowPanel>
+ </g:south>
+ </g:DockLayoutPanel>
+ </g:center>
+ <!-- east to RTL (plus css changes in corners and menus) -->
+ <g:west size="202.0">
+ <g:DockLayoutPanel unit="PX"
+ styleName="{res.style.entityTools}" ui:field="splitEast">
+ <g:center>
+ <g:FlowPanel ui:field="entityToolsContainer">
+ <g:FlowPanel width="100%" ui:field="entityToolsNorth"
+ styleName="{res.style.entityToolsNorth}"></g:FlowPanel>
+ <g:FlowPanel width="100%" ui:field="entityToolsCenter"
+ styleName="{res.style.entityToolsCenter}">
+ </g:FlowPanel>
+ </g:FlowPanel>
+ </g:center>
+ <g:south size="98">
+ <g:FlowPanel styleName="{res.style.entityToolsSouth}"
+ ui:field="entityToolsSouth" width="100%"/>
+ </g:south>
+ </g:DockLayoutPanel>
+ </g:west>
+ </g:SplitLayoutPanel>
+ </g:SimplePanel>
+ </g:tab>
+ <g:tab>
+ <g:header size='0'/>
+ <g:SimplePanel ui:field="publicSpace" width="100%"
+ styleName="k-space" height="100%"></g:SimplePanel>
+ </g:tab>
+ </g:TabLayoutPanel>
+ </g:center>
+ </g:DockLayoutPanel>
+</ui:UiBinder>
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,69 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.gspace.client.armor;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Style.Overflow;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DeckPanel;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Singleton;
+
+@Singleton
+public class GSpaceCenterPanel extends Composite {
+
+ interface GSpaceCenterPanelUiBinder extends UiBinder<Widget, GSpaceCenterPanel> {
+ }
+ private static GSpaceCenterPanelUiBinder uiBinder = GWT.create(GSpaceCenterPanelUiBinder.class);
+ @UiField
+ ScrollPanel centerScroll;
+ @UiField
+ DeckPanel deck;
+ @UiField
+ FlowPanel infoPanel;
+ @UiField
+ FlowPanel mainPanel;
+
+ public GSpaceCenterPanel() {
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ public void enableCenterScroll(final boolean enable) {
+ // TODO use here Element.getStyle()...
+ if (enable) {
+ // Move up???
+ centerScroll.setAlwaysShowScrollBars(false);
+ DOM.setStyleAttribute(centerScroll.getElement(), "position", "absolute");
+ DOM.setStyleAttribute((Element) centerScroll.getElement().getFirstChildElement(), "position",
+ "relative");
+ } else {
+ centerScroll.getElement().getStyle().setOverflow(Overflow.HIDDEN);
+ DOM.setStyleAttribute(centerScroll.getElement(), "position", "");
+ DOM.setStyleAttribute((Element) centerScroll.getElement().getFirstChildElement(), "position", "");
+ }
+ }
+}
Added: trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceCenterPanel.ui.xml 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,16 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:with field='res'
+ type='cc.kune.gspace.client.armor.resources.GSpaceArmorResources'/>
+ <ui:style>
+ </ui:style>
+ <g:ScrollPanel ui:field="centerScroll" styleName="{res.style.docEditor}">
+ <g:DeckPanel ui:field="deck" width="auto" height="auto">
+ <g:FlowPanel width="auto" height="auto"
+ styleName="{res.style.docEditorContainer}" ui:field="infoPanel"/>
+ <g:FlowPanel width="auto" height="auto"
+ styleName="{res.style.docEditorContainer}" ui:field="mainPanel"/>
+ </g:DeckPanel>
+ </g:ScrollPanel>
+</ui:UiBinder>
\ No newline at end of file
Deleted: trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -1,315 +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.armor.impl;
-
-import org.cobogw.gwt.user.client.CSS;
-
-import cc.kune.common.client.actions.ui.ActionFlowPanel;
-import cc.kune.common.client.actions.ui.IsActionExtensible;
-import cc.kune.common.shared.utils.Pair;
-import cc.kune.gspace.client.armor.GSpaceArmor;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.dom.client.Style.Overflow;
-import com.google.gwt.dom.client.Style.Position;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.Element;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
-import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
-import com.google.gwt.user.client.ui.IsWidget;
-import com.google.gwt.user.client.ui.ScrollPanel;
-import com.google.gwt.user.client.ui.SimplePanel;
-import com.google.gwt.user.client.ui.SplitLayoutPanel;
-import com.google.gwt.user.client.ui.TabLayoutPanel;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class GSpaceArmorImpl extends Composite implements GSpaceArmor {
-
- interface WsArmorImplUiBinder extends UiBinder<Widget, GSpaceArmorImpl> {
- }
- private static final int CENTER_NORTH_HEIGHT = 153;
- private static final int CENTER_SOUTH_HEIGHT = 36;
- private static final int EAST_WIDTH = 220;
-
- private static WsArmorImplUiBinder uiBinder = GWT.create(WsArmorImplUiBinder.class);
-
- @UiField
- VerticalPanel centerNorth;
- @UiField
- ScrollPanel centerScroll;
- @UiField
- FlowPanel docContainer;
- @UiField
- DockLayoutPanel docContainerParent;
- @UiField
- FlowPanel docFooter;
- private final ActionFlowPanel docFooterToolbar;
- @UiField
- FlowPanel docHeader;
- @UiField
- FlowPanel docSubheader;
- @UiField
- FlowPanel entityFooter;
- private final ActionFlowPanel entityFooterToolbar;
- @UiField
- FlowPanel entityHeader;
- @UiField
- FlowPanel entityToolsCenter;
- @UiField
- FlowPanel entityToolsContainer;
- @UiField
- FlowPanel entityToolsNorth;
- @UiField
- FlowPanel entityToolsSouth;
- @UiField
- SplitLayoutPanel groupSpace;
- @UiField
- SimplePanel groupSpaceWrapper;
- private final ActionFlowPanel headerToolbar;
- @UiField
- SimplePanel homeSpace;
- @UiField
- DockLayoutPanel mainpanel;
- @UiField
- SimplePanel publicSpace;
- @UiField
- FlowPanel sitebar;
- @UiField
- DockLayoutPanel splitCenter;
- @UiField
- DockLayoutPanel splitEast;
- private final ActionFlowPanel subheaderToolbar;
- @UiField
- TabLayoutPanel tabs;
- private final ActionFlowPanel toolsSouthToolbar;
- @UiField
- FlowPanel userSpace;
-
- @Inject
- public GSpaceArmorImpl(final Provider<ActionFlowPanel> toolbarProv) {
- initWidget(uiBinder.createAndBindUi(this));
- groupSpace.setWidgetMinSize(splitEast, 150);
- DOM.setStyleAttribute((Element) groupSpace.getWidgetContainerElement(splitEast), "overflow",
- "visible");
- DOM.setStyleAttribute((Element) splitEast.getWidgetContainerElement(entityToolsContainer),
- "overflow", "visible");
- docFooterToolbar = toolbarProv.get();
- headerToolbar = toolbarProv.get();
- subheaderToolbar = toolbarProv.get();
- toolsSouthToolbar = toolbarProv.get();
- entityFooterToolbar = toolbarProv.get();
- getDocHeader().add(headerToolbar);
- getDocSubheader().add(subheaderToolbar);
- getDocFooter().add(docFooterToolbar);
- getEntityToolsSouth().add(toolsSouthToolbar);
- getEntityFooter().add(entityFooterToolbar);
- entityToolsNorth.getElement().getStyle().setPosition(Position.RELATIVE);
- // entityToolsSouth.setVisible(false);
- mainpanel.getWidgetContainerElement(tabs).addClassName("k-spaces");
- enableCenterScroll(true);
- }
-
- @Override
- public void clearBackImage() {
- final String bodyProp = "#FFFFFF";
- DOM.setStyleAttribute(groupSpaceWrapper.getElement(), CSS.A.BACKGROUND, bodyProp);
- }
-
- @Override
- public void enableCenterScroll(final boolean enable) {
- // TODO use here Element.getStyle()...
- if (enable) {
- centerScroll.setAlwaysShowScrollBars(false);
- DOM.setStyleAttribute(centerScroll.getElement(), "position", "absolute");
- DOM.setStyleAttribute((Element) centerScroll.getElement().getFirstChildElement(), "position",
- "relative");
- } else {
- centerScroll.getElement().getStyle().setOverflow(Overflow.HIDDEN);
- DOM.setStyleAttribute(centerScroll.getElement(), "position", "");
- DOM.setStyleAttribute((Element) centerScroll.getElement().getFirstChildElement(), "position", "");
- }
- }
-
- @Override
- public ForIsWidget getDocContainer() {
- return docContainer;
- }
-
- @Override
- public Pair<Integer, Integer> getDocContainerSize() {
- return Pair.create(centerScroll.getOffsetHeight(), centerScroll.getOffsetWidth());
- }
-
- @Override
- public ForIsWidget getDocFooter() {
- return docFooter;
- }
-
- @Override
- public IsActionExtensible getDocFooterToolbar() {
- return docFooterToolbar;
- }
-
- @Override
- public ForIsWidget getDocHeader() {
- return docHeader;
- }
-
- @Override
- public ForIsWidget getDocSubheader() {
- return docSubheader;
- }
-
- @Override
- public ForIsWidget getEntityFooter() {
- return entityFooter;
- }
-
- @Override
- public IsActionExtensible getEntityFooterToolbar() {
- return entityFooterToolbar;
- }
-
- @Override
- public ForIsWidget getEntityHeader() {
- return entityHeader;
- }
-
- @Override
- public ForIsWidget getEntityToolsCenter() {
- return entityToolsCenter;
- }
-
- @Override
- public ForIsWidget getEntityToolsNorth() {
- return entityToolsNorth;
- }
-
- @Override
- public ForIsWidget getEntityToolsSouth() {
- return entityToolsSouth;
- }
-
- @Override
- public IsActionExtensible getHeaderToolbar() {
- return headerToolbar;
- }
-
- @Override
- public SimplePanel getHomeSpace() {
- return homeSpace;
- }
-
- @Override
- public IsWidget getMainpanel() {
- return mainpanel;
- }
-
- @Override
- public SimplePanel getPublicSpace() {
- return publicSpace;
- }
-
- @Override
- public ForIsWidget getSitebar() {
- return sitebar;
- }
-
- @Override
- public IsActionExtensible getSubheaderToolbar() {
- return subheaderToolbar;
- }
-
- @Override
- public IsActionExtensible getToolsSouthToolbar() {
- return toolsSouthToolbar;
- }
-
- @Override
- public ForIsWidget getUserSpace() {
- return userSpace;
- }
-
- @Override
- public void selectGroupSpace() {
- tabs.selectTab(groupSpaceWrapper);
- }
-
- @Override
- public void selectHomeSpace() {
- tabs.selectTab(homeSpace);
- }
-
- @Override
- public void selectPublicSpace() {
- tabs.selectTab(publicSpace);
- }
-
- @Override
- public void selectUserSpace() {
- tabs.selectTab(userSpace);
- }
-
- @Override
- public void setBackImage(final String url) {
- final String bodyProp = "#FFFFFF url('" + url + "') fixed top left";
- DOM.setStyleAttribute(groupSpaceWrapper.getElement(), CSS.A.BACKGROUND, bodyProp);
- }
-
- @Override
- public void setMaximized(final boolean maximized) {
- // setMaximized(docFooter.getParent(), maximized);
- // setMaximized(entityFooter.getParent(), maximized);
- // setMaximized(entityHeader.getParent(), maximized);
- // setMaximized(entityToolsContainer, maximized);
- // splitCenter.setWidgetSize(centerScroll, getAbsoluteLeft())
- // setMaximized(splitCenter.getWidget(0), maximized);
- // setMaximized(splitCenter.getWidget(2), maximized);
- // setMaximized(splitEast, maximized);
- groupSpace.setWidgetSize(splitEast, maximized ? 0 : EAST_WIDTH);
- splitCenter.setWidgetSize(centerNorth, maximized ? 7 : CENTER_NORTH_HEIGHT);
- splitCenter.setWidgetSize(entityFooter, maximized ? 7 : CENTER_SOUTH_HEIGHT);
- }
-
- private void setMaximized(final Widget widget, final boolean maximized) {
- widget.setVisible(!maximized);
- if (maximized) {
- // // $((Widget) gsArmor.getHeaderToolbar()).as(Effects).
- // $(widget).as(Effects).slideDown(new Function() {
- // @Override
- // public void f() {
- // }
- // });
- } else {
- // $(widget).parent().as(Effects).slideUp(new Function() {
- // @Override
- // public void f() {
- // }
- // });
- }
- }
-}
Deleted: trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml 2012-03-31 17:43:11 UTC (rev 1811)
@@ -1,126 +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:co="urn:import:cc.kune.core.client" xmlns:kp="urn:import:cc.kune.pspace.client"
- xmlns:g="urn:import:com.google.gwt.user.client.ui">
- <ui:with field='res'
- type='cc.kune.gspace.client.armor.resources.GSpaceArmorResources'/>
- <ui:style>
- .frame {
- border: 0px;
- margin: 0px;
- }
- </ui:style>
- <g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
- unit="PX">
- <g:north size="23">
- <g:FlowPanel ui:field="sitebar" height="23px"
- styleName='{res.style.siteBar}'>
- </g:FlowPanel>
- </g:north>
- <g:center>
- <g:TabLayoutPanel width="100%" height="100%"
- barUnit='PX' barHeight='0' ui:field="tabs">
- <g:tab>
- <g:header size='0'/>
- <g:SimplePanel styleName="k-space" ui:field="homeSpace"
- width="100%" height="100%"></g:SimplePanel>
- </g:tab>
- <g:tab>
- <g:header size='0'/>
- <g:FlowPanel ui:field="userSpace" styleName="k-space"
- width="100%" height="100%">
- <!-- <g:Frame url="/" styleName="{style.frame}" -->
- <!-- ui:field="frame" width="100%" height="100%" /> -->
- </g:FlowPanel>
- </g:tab>
- <g:tab>
- <g:header size='0'/>
- <g:SimplePanel ui:field="groupSpaceWrapper"
- styleName="k-group-space">
- <g:SplitLayoutPanel width="100%" height="100%"
- styleName="k-space" ui:field="groupSpace">
- <g:center size="1.0">
- <g:DockLayoutPanel unit="PX" ui:field="splitCenter"
- styleName="{res.style.entityCentralContainer}">
- <g:north size="153">
- <g:VerticalPanel width="100%" ui:field="centerNorth"
- height="153px">
- <g:FlowPanel height="70px" width="100%"
- styleName="{res.style.entityHeader}" ui:field="entityHeader">
- <!--<g:RichTextArea width="100%" height="70px" /> -->
- </g:FlowPanel>
- <g:FlowPanel width="100%" height="38px"
- styleName="{res.style.docHeader}" ui:field="docHeader">
- </g:FlowPanel>
- <g:HTMLPanel ui:field="arrow"
- styleName="{res.style.docSubheaderArrow}"/>
- <g:FlowPanel width="100%" height="45px"
- styleName="{res.style.docSubheader}" ui:field="docSubheader">
- </g:FlowPanel>
- </g:VerticalPanel>
- </g:north>
- <g:center>
- <g:DockLayoutPanel unit="PX"
- styleName="{res.style.docEditorMargin}" ui:field="docContainerParent">
- <g:west size="10">
- <g:SimplePanel/>
- </g:west>
- <g:east size="10">
- <g:SimplePanel/>
- </g:east>
- <g:center>
- <g:ScrollPanel ui:field="centerScroll"
- styleName="{res.style.docEditor}">
- <g:FlowPanel width="auto" height="auto"
- styleName="{res.style.docEditorContainer}"
- ui:field="docContainer"/>
- </g:ScrollPanel>
- </g:center>
- <g:south size="33.0">
- <g:VerticalPanel height="33px"
- width="100%" styleName="{res.style.docFooter}">
- <g:FlowPanel width="100%" height="33"
- ui:field="docFooter">
- </g:FlowPanel>
- </g:VerticalPanel>
- </g:south>
- </g:DockLayoutPanel>
- </g:center>
- <g:south size="36">
- <g:FlowPanel height="36px" width="100%"
- styleName="{res.style.entityFooter}" ui:field="entityFooter">
- </g:FlowPanel>
- </g:south>
- </g:DockLayoutPanel>
- </g:center>
- <!-- east to RTL (plus css changes in corners and menus) -->
- <g:west size="202.0">
- <g:DockLayoutPanel unit="PX"
- styleName="{res.style.entityTools}" ui:field="splitEast">
- <g:center>
- <g:FlowPanel ui:field="entityToolsContainer">
- <g:FlowPanel width="100%" ui:field="entityToolsNorth"
- styleName="{res.style.entityToolsNorth}"></g:FlowPanel>
- <g:FlowPanel width="100%" ui:field="entityToolsCenter"
- styleName="{res.style.entityToolsCenter}">
- </g:FlowPanel>
- </g:FlowPanel>
- </g:center>
- <g:south size="98">
- <g:FlowPanel styleName="{res.style.entityToolsSouth}"
- ui:field="entityToolsSouth" width="100%"/>
- </g:south>
- </g:DockLayoutPanel>
- </g:west>
- </g:SplitLayoutPanel>
- </g:SimplePanel>
- </g:tab>
- <g:tab>
- <g:header size='0'/>
- <g:SimplePanel ui:field="publicSpace" width="100%"
- styleName="k-space" height="100%"></g:SimplePanel>
- </g:tab>
- </g:TabLayoutPanel>
- </g:center>
- </g:DockLayoutPanel>
-</ui:UiBinder>
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -199,11 +199,11 @@
}
}
final GuiActionDescCollection topActions = actionsRegistry.getCurrentActions(
- stateContent.getGroup(), stateContent.getTypeId(), session.isLogged(), rights,
- ActionGroups.TOPBAR);
+ stateContent.getToolName(), stateContent.getGroup(), stateContent.getTypeId(),
+ session.isLogged(), rights, ActionGroups.TOPBAR);
final GuiActionDescCollection bottomActions = actionsRegistry.getCurrentActions(
- stateContent.getGroup(), stateContent.getTypeId(), session.isLogged(), rights,
- ActionGroups.BOTTOMBAR);
+ stateContent.getToolName(), stateContent.getGroup(), stateContent.getTypeId(),
+ session.isLogged(), rights, ActionGroups.BOTTOMBAR);
final GuiActionDescCollection pathActions = pathToolbarUtils.createPath(stateContent.getContainer(),
true);
bottomActions.addAll(pathActions);
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -93,9 +93,9 @@
});
}
- private void addItem(final AbstractContentSimpleDTO content, final BasicMimeTypeDTO mimeType,
- final ContentStatus status, final StateToken parentStateToken, final AccessRights rights,
- final long modifiedOn, final boolean isContainer) {
+ private void addItem(final String tool, final AbstractContentSimpleDTO content,
+ final BasicMimeTypeDTO mimeType, final ContentStatus status, final StateToken parentStateToken,
+ final AccessRights rights, final long modifiedOn, final boolean isContainer) {
final StateToken stateToken = content.getStateToken();
final String typeId = content.getTypeId();
final String name = content.getName();
@@ -104,18 +104,19 @@
final String tooltip = getTooltip(stateToken, mimeType,
capabReg.isDragable(typeId) && rights.isAdministrable());
final boolean thisTypeShouldShowDelete = capabReg.showDeleted(typeId)
- || parentStateToken.getTool().equals(TrashToolConstants.NAME);
+ || parentStateToken.getTool().equals(TrashToolConstants.TOOL_NAME);
final boolean showAllDeleted = session.getShowDeletedContent();
if (status.equals(ContentStatus.inTheDustbin) && !(thisTypeShouldShowDelete || showAllDeleted)) {
// Don't show
// NotifyUser.info("Deleted, don't show: " + parentStateToken + " " +
// thisTypeShouldShowDelete);
} else {
+ final GuiActionDescCollection currentActions = actionsRegistry.getCurrentActions(tool, content,
+ typeId, status, session.isLogged(), rights, ActionGroups.ITEM_MENU);
final FolderItemDescriptor item = new FolderItemDescriptor(genId(stateToken),
genId(parentStateToken), icon, name, tooltip, status, stateToken, modifiedOn,
capabReg.isDragable(typeId) && rights.isAdministrable(), capabReg.isDropable(typeId)
- && rights.isAdministrable(), actionsRegistry.getCurrentActions(content, typeId, status,
- session.isLogged(), rights, ActionGroups.ITEM_MENU), isContainer);
+ && rights.isAdministrable(), currentActions, isContainer);
getView().addItem(item, new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
@@ -148,16 +149,16 @@
} else {
// Folders
for (final ContainerSimpleDTO childFolder : container.getChilds()) {
- addItem(childFolder, null, ContentStatus.publishedOnline,
- childFolder.getStateToken().copy().setFolder(childFolder.getParentFolderId()),
- containerRights, FolderViewerView.NO_DATE, true);
+ addItem(container.getAbsolutePath()[0].getStateToken().getTool(), childFolder, null,
+ ContentStatus.publishedOnline, childFolder.getParentToken(), containerRights,
+ FolderViewerView.NO_DATE, true);
}
// Other contents (docs, etc)
for (final ContentSimpleDTO content : container.getContents()) {
assert content != null;
- addItem(content, content.getMimeType(), content.getStatus(),
- content.getStateToken().copy().clearDocument(), content.getRights(),
- content.getModifiedOn(), false);
+ addItem(container.getAbsolutePath()[0].getStateToken().getTool(), content,
+ content.getMimeType(), content.getStatus(), content.getStateToken().copy().clearDocument(),
+ content.getRights(), content.getModifiedOn(), false);
}
}
}
@@ -202,11 +203,11 @@
final AccessRights rights = stateContainer.getContainerRights();
// NotifyUser.info("Rights: " + rights, true);
final GuiActionDescCollection topActions = actionsRegistry.getCurrentActions(
- stateContainer.getGroup(), stateContainer.getTypeId(), session.isLogged(), rights,
- ActionGroups.TOPBAR);
+ stateContainer.getToolName(), stateContainer.getGroup(), stateContainer.getTypeId(),
+ session.isLogged(), rights, ActionGroups.TOPBAR);
final GuiActionDescCollection bottomActions = actionsRegistry.getCurrentActions(
- stateContainer.getGroup(), stateContainer.getTypeId(), session.isLogged(), rights,
- ActionGroups.BOTTOMBAR);
+ stateContainer.getToolName(), stateContainer.getGroup(), stateContainer.getTypeId(),
+ session.isLogged(), rights, ActionGroups.BOTTOMBAR);
final ContainerDTO container = stateContainer.getContainer();
final GuiActionDescCollection pathActions = pathToolbarUtils.createPath(container, true);
bottomActions.addAll(pathActions);
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -28,6 +28,7 @@
import cc.kune.core.shared.FileConstants;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
@@ -60,6 +61,10 @@
initWidget(uiBinder.createAndBindUi(this));
}
+ public HasClickHandlers getCloseBtn() {
+ return closeBtn;
+ }
+
private String getTutorialLang() {
if (langs == null) {
langs = session.getInitData().getTutorialLanguages();
@@ -76,7 +81,7 @@
final String he = (height - FOOTBAR) + "px";
frame.setWidth("100%");
frame.setHeight(he);
- Log.info("Resizing to: " + height);
+ Log.debug("Resizing to: " + height);
}
}
Modified: trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/lists/client/ListsClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.lists.client;
-import static cc.kune.lists.shared.ListsToolConstants.NAME;
+import static cc.kune.lists.shared.ListsToolConstants.TOOL_NAME;
import static cc.kune.lists.shared.ListsToolConstants.ROOT_NAME;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_LIST;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_POST;
@@ -43,7 +43,7 @@
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
super(
- NAME,
+ TOOL_NAME,
i18n.t(ROOT_NAME),
i18n.t("Lists behave like a mailing list or a forum. You can subscribe and discuss about specific topics"),
icons.lists(), AccessRolDTO.Viewer, toolSelector, cntCapRegistry, i18n, navResources);
@@ -63,7 +63,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.lists.client.actions;
+import static cc.kune.lists.shared.ListsToolConstants.TOOL_NAME;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_LIST;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_POST;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_ROOT;
@@ -40,10 +41,13 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -77,46 +81,50 @@
final Provider<ParticipateInContentBtn> participateBtn,
final Provider<CopyContentMenuItem> copyContent,
final Provider<RefreshContentMenuItem> refreshPost,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final Provider<WriteToParticipantsMenuItem> writeToParticipants, final ListsNewMenu listNewMenu,
final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelListMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContainer, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newPostIconBtn, noRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newListBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.TOPBAR, listNewMenu, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, postNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, subscribeBtn, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refreshList, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refreshPost, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, listOpenessMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newPostItem, containersNoRoot);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, newListMenuItem,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContainer, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newPostIconBtn, noRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newListBtn, TYPE_ROOT);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, listNewMenu, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, postNewMenu, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, subscribeBtn, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refreshList, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refreshPost, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, listOpenessMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newPostItem, containersNoRoot);
+ // actionsRegistry.addAction(NAME, ActionGroups.TOOLBAR, newListMenuItem,
// TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, subscribersCount, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, subscribersCount, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
newMenusRegistry.register(TYPE_LIST, listNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, listNewMenu.get());
newMenusRegistry.register(TYPE_POST,
Modified: trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.lists.server;
-import static cc.kune.lists.shared.ListsToolConstants.NAME;
+import static cc.kune.lists.shared.ListsToolConstants.TOOL_NAME;
import static cc.kune.lists.shared.ListsToolConstants.ROOT_NAME;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_LIST;
import static cc.kune.lists.shared.ListsToolConstants.TYPE_POST;
@@ -59,7 +59,7 @@
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final UserSessionManager userSessionManager, final KuneWaveService waveManager,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_POST), Arrays.asList(TYPE_LIST),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_POST), Arrays.asList(TYPE_LIST),
Arrays.asList(TYPE_LIST), Arrays.asList(TYPE_ROOT), contentManager, containerManager,
creationService, configurationManager, i18n, ServerToolTarget.forGroups);
this.userSessionManager = userSessionManager;
Modified: trunk/src/main/java/cc/kune/lists/shared/ListsToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/shared/ListsToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/lists/shared/ListsToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,11 +21,11 @@
public final class ListsToolConstants {
- public static final String NAME = "lists";
+ public static final String TOOL_NAME = "lists";
public static final String ROOT_NAME = "lists";
- public static final String TYPE_LIST = NAME + "." + "list";
- public static final String TYPE_POST = NAME + "." + "post";
- public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_LIST = TOOL_NAME + "." + "list";
+ public static final String TYPE_POST = TOOL_NAME + "." + "post";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
private ListsToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/tasks/client/TasksClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.tasks.client;
-import static cc.kune.tasks.shared.TasksToolConstants.NAME;
+import static cc.kune.tasks.shared.TasksToolConstants.TOOL_NAME;
import static cc.kune.tasks.shared.TasksToolConstants.ROOT_NAME;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_FOLDER;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_ROOT;
@@ -45,7 +45,7 @@
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
super(
- NAME,
+ TOOL_NAME,
i18n.t(ROOT_NAME),
i18n.t("A collaborative TO-DO list for the group. Any group-member can participate in any proposed task, add others to a task, comment them, add info, etc"),
icons.tasks(), AccessRolDTO.Viewer, toolSelector, cntCapRegistry, i18n, navResources);
@@ -65,7 +65,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.tasks.client.actions;
+import static cc.kune.tasks.shared.TasksToolConstants.TOOL_NAME;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_FOLDER;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_ROOT;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_TASK;
@@ -41,10 +42,13 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -75,6 +79,7 @@
final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<AddPublicToContentMenuItem> addPublicMenuItem,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final TasksFolderNewMenu taskFolderNewMenu, final TasksNewMenu taskNewMenu,
@@ -82,42 +87,46 @@
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newTaskIconBtn, all);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, taskFolderNewMenu,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newTaskIconBtn, all);
+ // actionsRegistry.addAction(NAME, ActionGroups.TOOLBAR, taskFolderNewMenu,
// containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, taskNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskItem, containers);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, marksAsDoneMenuItem,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, taskNewMenu, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newFolderBtn, containers);
+ // actionsRegistry.addAction(NAME, ActionGroups.TOOLBAR, newTaskItem,
+ // containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, marksAsDoneMenuItem,
ContentStatus.publishedOnline, TYPE_TASK);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, marksAsDoneMenuItem,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, marksAsDoneMenuItem,
ContentStatus.editingInProgress, TYPE_TASK);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, marksAsNotDoneMenuItem,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, marksAsNotDoneMenuItem,
ContentStatus.inTheDustbin, TYPE_TASK);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
// Currently new menu in folders has no sense (because we have buttons for
// the same contents)
// newMenusRegistry.register(TYPE_FOLDER, taskFolderNewMenu.get());
Modified: trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.tasks.server;
-import static cc.kune.tasks.shared.TasksToolConstants.NAME;
+import static cc.kune.tasks.shared.TasksToolConstants.TOOL_NAME;
import static cc.kune.tasks.shared.TasksToolConstants.ROOT_NAME;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_FOLDER;
import static cc.kune.tasks.shared.TasksToolConstants.TYPE_ROOT;
@@ -50,7 +50,7 @@
public TaskServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_TASK), Arrays.asList(TYPE_FOLDER, TYPE_ROOT),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_TASK), Arrays.asList(TYPE_FOLDER, TYPE_ROOT),
Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER), contentManager,
containerManager, creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
Modified: trunk/src/main/java/cc/kune/tasks/shared/TasksToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/shared/TasksToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/tasks/shared/TasksToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,11 +21,11 @@
public final class TasksToolConstants {
- public static final String NAME = "tasks";
+ public static final String TOOL_NAME = "tasks";
public static final String ROOT_NAME = "tasks";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_TASK = NAME + "." + "task";
+ public static final String TYPE_FOLDER = TOOL_NAME + "." + "folder";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
+ public static final String TYPE_TASK = TOOL_NAME + "." + "task";
private TasksToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/trash/client/TrashClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/client/TrashClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/trash/client/TrashClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.trash.client;
-import static cc.kune.trash.shared.TrashToolConstants.NAME;
+import static cc.kune.trash.shared.TrashToolConstants.TOOL_NAME;
import static cc.kune.trash.shared.TrashToolConstants.ROOT_NAME;
import static cc.kune.trash.shared.TrashToolConstants.TYPE_ROOT;
import cc.kune.common.shared.i18n.I18nTranslationService;
@@ -41,7 +41,7 @@
public TrashClientTool(final I18nTranslationService i18n, final ToolSelector toolSelector,
final ContentCapabilitiesRegistry cntCapRegistry, final CoreResources res,
final NavResources navResources) {
- super(NAME, i18n.t(ROOT_NAME), i18n.t("You can drop here contents to delete then"),
+ super(TOOL_NAME, i18n.t(ROOT_NAME), i18n.t("You can drop here contents to delete then"),
res.trashWhite(), AccessRolDTO.Editor, toolSelector, cntCapRegistry, i18n, navResources);
this.res = res;
@@ -59,7 +59,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
*/
package cc.kune.trash.client.actions;
+import static cc.kune.trash.shared.TrashToolConstants.TOOL_NAME;
import static cc.kune.trash.shared.TrashToolConstants.TYPE_ROOT;
import cc.kune.chat.client.actions.GoParentChatBtn;
import cc.kune.core.client.actions.ActionRegistryByType;
@@ -39,7 +40,6 @@
final String[] all = { TYPE_ROOT };
final String[] containers = { TYPE_ROOT };
final String[] containersNoRoot = {};
- final String[] contents = {};
@Inject
public TrashClientActions(final I18nUITranslationService i18n, final Session session,
@@ -47,12 +47,8 @@
final Provider<RefreshContentMenuItem> refresh, final Provider<GoParentChatBtn> folderGoUp,
final Provider<ContentViewerOptionsMenu> optionsMenuContent) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp,
- // DocsToolConstants.TYPE_DOCUMENT);
- // actionsRegistry.addAction(ActionGroups.ITEM_MENU, action,
- // containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
}
@Override
Modified: trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.trash.server;
-import static cc.kune.trash.shared.TrashToolConstants.NAME;
+import static cc.kune.trash.shared.TrashToolConstants.TOOL_NAME;
import static cc.kune.trash.shared.TrashToolConstants.ROOT_NAME;
import static cc.kune.trash.shared.TrashToolConstants.TYPE_ROOT;
@@ -49,7 +49,7 @@
public TrashServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Collections.<String> emptyList(), Arrays.asList(TYPE_ROOT),
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Collections.<String> emptyList(), Arrays.asList(TYPE_ROOT),
Collections.<String> emptyList(), Arrays.asList(TYPE_ROOT), contentManager, containerManager,
creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
Added: trunk/src/main/java/cc/kune/trash/server/TrashServerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/server/TrashServerUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/trash/server/TrashServerUtils.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,42 @@
+/*
+ *
+ * Copyright (C) 2007-2012 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package cc.kune.trash.server;
+
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.domain.Container;
+import cc.kune.domain.Content;
+import cc.kune.trash.shared.TrashToolConstants;
+
+public class TrashServerUtils {
+
+ public static boolean inTrash(final Container container) {
+ return isTrash(container.getStateToken());
+ }
+
+ public static boolean inTrash(final Content content) {
+ return inTrash(content.getContainer());
+ }
+
+ public static boolean isTrash(final StateToken token) {
+ return token.getTool().equals(TrashToolConstants.TOOL_NAME);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -21,9 +21,9 @@
public final class TrashToolConstants {
- public static final String NAME = "trash";
+ public static final String TOOL_NAME = "trash";
public static final String ROOT_NAME = "trash";
- public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
private TrashToolConstants() {
}
Modified: trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
*/
package cc.kune.wave.server;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -34,6 +35,7 @@
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
+import com.google.wave.api.Participants;
@Singleton
public class ParticipantUtils {
@@ -49,6 +51,12 @@
superAdmin = ofImpl(databaseProperties.getAdminShortName());
}
+ public String[] arrayFrom(final Participants parts) {
+ final List<String> list = new ArrayList<String>();
+ // From the first in the list
+ return parts.toArray(new String[parts.size()]);
+ }
+
public String getAddressName(final String address) {
return address.contains(ParticipantId.DOMAIN_PREFIX) ? address.split(ParticipantId.DOMAIN_PREFIX)[0]
: address;
Modified: trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.wiki.client;
-import static cc.kune.wiki.shared.WikiToolConstants.NAME;
+import static cc.kune.wiki.shared.WikiToolConstants.TOOL_NAME;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_FOLDER;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_ROOT;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_UPLOADEDFILE;
@@ -44,7 +44,7 @@
final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources,
final IconicResources icons) {
super(
- NAME,
+ TOOL_NAME,
i18n.t("wiki"),
i18n.t(
"Wiki-pages are Documents that can be edited by any visitor (in [%s]), instead of only by the group. This accelerates updating and construction",
@@ -65,7 +65,7 @@
@Override
public String getName() {
- return NAME;
+ return TOOL_NAME;
}
private void registerIcons() {
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
\*/
package cc.kune.wiki.client.actions;
+import static cc.kune.wiki.shared.WikiToolConstants.TOOL_NAME;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_FOLDER;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_ROOT;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_UPLOADEDFILE;
@@ -41,10 +42,13 @@
import cc.kune.gspace.client.actions.ContentViewerShareMenu;
import cc.kune.gspace.client.actions.CopyContentMenuItem;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentBtn;
+import cc.kune.gspace.client.actions.PurgeContentMenuItem;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import cc.kune.gspace.client.actions.TutorialContainerBtn;
import cc.kune.gspace.client.actions.WriteToParticipantsMenuItem;
+import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -72,6 +76,7 @@
final Provider<AddAdminMembersToContentMenuItem> addAdminMembersMenuItem,
final Provider<AddCollabMembersToContentMenuItem> addCollabMembersMenuItem,
final Provider<AddPublicToContentMenuItem> addPublicMenuItem,
+ final Provider<PurgeContentMenuItem> purgeMenuItem, final Provider<PurgeContentBtn> purgeBtn,
final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
@@ -80,40 +85,43 @@
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final WikiPageNewMenu wikipageNewMenu) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newWikiIconBtn, all);
- actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newWikiIconBtn, all);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, newFolderBtn, containers);
+ // actionsRegistry.addAction(NAME, ActionGroups.TOOLBAR, folderNewMenu,
// containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, wikipageNewMenu, contents);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiMenuItem,
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, wikipageNewMenu, contents);
+ // actionsRegistry.addAction(NAME, ActionGroups.TOOLBAR, newWikiMenuItem,
// containers);
- // actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem,
+ // actionsRegistry.addAction(NAME, ActionGroups.TOOLBAR, newFolderMenuItem,
// containers);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.TOPBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delContentMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, setAsHomePage, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAllMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, addPublicMenuItem, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, copyContent, contents);
+ actionsRegistry.addAction(TOOL_NAME, ActionGroups.ITEM_MENU, writeToParticipants, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.TOPBAR, purgeBtn, contents);
+ actionsRegistry.addAction(TrashToolConstants.TOOL_NAME, ActionGroups.ITEM_MENU, purgeMenuItem,
+ contents);
// Currently new menu in folders has no sense (because we have buttons for
// the same contents)
// newMenusRegistry.register(TYPE_FOLDER, folderNewMenu.get());
Modified: trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.wiki.server;
-import static cc.kune.wiki.shared.WikiToolConstants.NAME;
+import static cc.kune.wiki.shared.WikiToolConstants.TOOL_NAME;
import static cc.kune.wiki.shared.WikiToolConstants.ROOT_NAME;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_FOLDER;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_ROOT;
@@ -52,7 +52,7 @@
public WikiServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
final CreationService creationService) {
- super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE), Arrays.asList(
+ super(TOOL_NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE), Arrays.asList(
TYPE_ROOT, TYPE_FOLDER), Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
contentManager, containerManager, creationService, configurationManager, i18n,
ServerToolTarget.forBoth);
Modified: trunk/src/main/java/cc/kune/wiki/shared/WikiToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/shared/WikiToolConstants.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/cc/kune/wiki/shared/WikiToolConstants.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -23,12 +23,12 @@
public final class WikiToolConstants {
- public static final String NAME = "wiki";
+ public static final String TOOL_NAME = "wiki";
public static final String ROOT_NAME = "wiki";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
- public static final String TYPE_WIKIPAGE = NAME + "." + "wikipage";
+ public static final String TYPE_FOLDER = TOOL_NAME + "." + "folder";
+ public static final String TYPE_ROOT = TOOL_NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = TOOL_NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
+ public static final String TYPE_WIKIPAGE = TOOL_NAME + "." + "wikipage";
private WikiToolConstants() {
}
Modified: trunk/src/main/java/com/google/wave/splash/web/template/ThreadedWaveRenderer.java
===================================================================
--- trunk/src/main/java/com/google/wave/splash/web/template/ThreadedWaveRenderer.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/java/com/google/wave/splash/web/template/ThreadedWaveRenderer.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -151,7 +151,7 @@
String avatar = "";
if (address.contains(domain)) {
avatar = new Url(FileConstants.LOGODOWNLOADSERVLET, new UrlParam(FileConstants.TOKEN,
- address.split("@")[0])).toString();
+ address.split("@")[0]), new UrlParam(FileConstants.ONLY_USERS, true)).toString();
} else {
avatar = FileConstants.PERSON_NO_AVATAR_IMAGE;
}
Modified: trunk/src/main/resources/wave-server-production.properties
===================================================================
--- trunk/src/main/resources/wave-server-production.properties 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/main/resources/wave-server-production.properties 2012-03-31 17:43:11 UTC (rev 1811)
@@ -108,10 +108,10 @@
enable_ssl = false
# Path to keystore containg the ssl certificates to server
-ssl_keystore_path = src/main/resources/wiab.ks
+ssl_keystore_path = /etc/kune/kune.ks
#Password to the keystore
-ssl_keystore_password = fafafa
+ssl_keystore_password = change_me
# Enable import of waves via /import URL. Default value: false
enable_import = false
Added: trunk/src/main/webapp/others/defuser.jpg
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/webapp/others/defuser.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/webapp/others/unknown.jpg
===================================================================
(Binary files differ)
Added: trunk/src/main/webapp/others/unknown.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/webapp/others/unknown.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeBorrarTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeBorrarTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeBorrarTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -1,64 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.client.actions;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-import cc.kune.core.shared.domain.utils.AccessRights;
-
-import com.google.inject.Provider;
-
-public class ActionRegistryByTypeBorrarTest {
-
- private static final String OTHERACTIONGROUP = "otheractiongroup";
- private static final String SOMEACTIONGROUP = "someactiongroup";
- private GuiActionDescrip action;
- private ActionRegistryByType actionRegistryByType;
- private AccessRights allRights;
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @Before
- public void before() {
- actionRegistryByType = new ActionRegistryByType();
- action = Mockito.mock(GuiActionDescrip.class);
- allRights = new AccessRights(true, true, true);
- actionRegistryByType.addAction(SOMEACTIONGROUP, new Provider() {
- @Override
- public Object get() {
- return action;
- }
- });
- }
-
- @Test
- public void testDontGetCurrentActionsOfOtherGroup() {
- assertEquals(0, actionRegistryByType.getCurrentActions(null, false, allRights, OTHERACTIONGROUP).size());
- }
-
- @Test
- public void testGetCurrentActionsOfGroup() {
- assertEquals(1, actionRegistryByType.getCurrentActions(null, false, allRights, SOMEACTIONGROUP).size());
- }
-}
Copied: trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeTest.java (from rev 1809, trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeBorrarTest.java)
===================================================================
--- trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/core/client/actions/ActionRegistryByTypeTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -0,0 +1,70 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.actions;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.core.shared.domain.utils.AccessRights;
+
+import com.google.inject.Provider;
+
+public class ActionRegistryByTypeTest {
+
+ private static final String OTHERACTIONGROUP = "otheractiongroup";
+ private static final String SOMEACTIONGROUP = "someactiongroup";
+ private static final String TOOL = "tool";
+ private GuiActionDescrip action;
+ private ActionRegistryByType actionRegistryByType;
+ private AccessRights allRights;
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Before
+ public void before() {
+ actionRegistryByType = new ActionRegistryByType();
+ action = Mockito.mock(GuiActionDescrip.class);
+ allRights = new AccessRights(true, true, true);
+ actionRegistryByType.addAction(TOOL, SOMEACTIONGROUP, new Provider() {
+ @Override
+ public Object get() {
+ return action;
+ }
+ });
+ }
+
+ @Test
+ public void testDontGetCurrentActionsOfOtherGroup() {
+ assertEquals(0,
+ actionRegistryByType.getCurrentActions(TOOL, null, false, allRights, OTHERACTIONGROUP).size());
+ assertEquals(
+ 0,
+ actionRegistryByType.getCurrentActions(TOOL + "other", null, false, allRights, OTHERACTIONGROUP).size());
+ }
+
+ @Test
+ public void testGetCurrentActionsOfGroup() {
+ assertEquals(1,
+ actionRegistryByType.getCurrentActions(TOOL, null, false, allRights, SOMEACTIONGROUP).size());
+ }
+}
Modified: trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,6 +19,7 @@
*/
package cc.kune.core.server;
+import static cc.kune.docs.shared.DocsToolConstants.TOOL_NAME;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_FOLDER;
import static org.junit.Assert.assertEquals;
@@ -121,9 +122,11 @@
contentManager.persist(content);
container = new Container();
container.setTypeId(TYPE_FOLDER);
+ container.setToolName(TOOL_NAME);
containerManager.persist(container);
otherContainer = new Container();
otherContainer.setTypeId(TYPE_FOLDER);
+ otherContainer.setToolName(TOOL_NAME);
containerManager.persist(otherContainer);
}
}
Modified: trunk/src/test/java/cc/kune/core/server/TestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/TestHelper.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/TestHelper.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -33,9 +33,18 @@
import org.waveprotocol.box.server.waveserver.WaveServerImpl;
import org.waveprotocol.wave.federation.noop.NoOpFederationModule;
+import cc.kune.barters.server.BarterServerModule;
+import cc.kune.chat.server.ChatServerModule;
import cc.kune.core.server.integration.HttpServletRequestMocked;
import cc.kune.core.server.persist.DataSourceKunePersistModule;
+import cc.kune.core.server.persist.DataSourceOpenfirePersistModule;
+import cc.kune.docs.server.DocumentServerModule;
+import cc.kune.events.server.EventsServerModule;
+import cc.kune.lists.server.ListsServerModule;
+import cc.kune.tasks.server.TaskServerModule;
+import cc.kune.trash.server.TrashServerModule;
import cc.kune.wave.server.CustomSettingsBinder;
+import cc.kune.wiki.server.WikiServerModule;
import com.google.inject.Binder;
import com.google.inject.Guice;
@@ -55,18 +64,23 @@
TestConstants.WAVE_TEST_PROPFILE, CoreSettings.class));
final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
final NoOpFederationModule federationModule = injector.getInstance(NoOpFederationModule.class);
+ final DataSourceKunePersistModule kuneDataSource = new DataSourceKunePersistModule(
+ "kune.properties", TestConstants.PERSISTENCE_UNIT);
final Injector childInjector = injector.createChildInjector(wavePersistModule, new ServerModule(
- false, 1, 2, 2), new RobotApiModule(), federationModule, new DataSourceKunePersistModule(
- "kune.properties", TestConstants.PERSISTENCE_UNIT), module, new Module() {
- @Override
- public void configure(final Binder binder) {
- binder.bindScope(SessionScoped.class, Scopes.SINGLETON);
- binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
- // binder.bind(KuneProperties.class).toInstance(new
- // KunePropertiesDefault(propetiesFileName));
- binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
- }
- });
+ false, 1, 2, 2), new RobotApiModule(), federationModule, new ListsServerModule(),
+ new DocumentServerModule(), new ChatServerModule(), federationModule,
+ new WikiServerModule(), new TaskServerModule(), new BarterServerModule(),
+ new EventsServerModule(), new TrashServerModule(), kuneDataSource,
+ new DataSourceOpenfirePersistModule(kuneDataSource.getKuneProperties()), module, new Module() {
+ @Override
+ public void configure(final Binder binder) {
+ binder.bindScope(SessionScoped.class, Scopes.SINGLETON);
+ binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
+ // binder.bind(KuneProperties.class).toInstance(new
+ // KunePropertiesDefault(propetiesFileName));
+ binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
+ }
+ });
try {
childInjector.getInstance(WaveServerImpl.class).initialize();
} catch (final WaveServerException e) {
Modified: trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializerTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializerTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializerTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.core.server.integration;
-import static cc.kune.docs.shared.DocsToolConstants.NAME;
+import static cc.kune.docs.shared.DocsToolConstants.TOOL_NAME;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_DOCUMENT;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -94,7 +94,7 @@
@Test
public void testToolConfiguration() {
assertNotNull(defaultGroup);
- final ToolConfiguration docToolConfig = defaultGroup.getToolConfiguration(NAME);
+ final ToolConfiguration docToolConfig = defaultGroup.getToolConfiguration(TOOL_NAME);
assertNotNull(docToolConfig);
assertTrue(docToolConfig.isEnabled());
// final ToolConfiguration chatToolConfig =
Modified: trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -84,11 +84,7 @@
kuneDataSource.getTransactionInterceptor());
install(kuneDataSource);
}
- },
-
- // new MyDataSourceTwoPersistModule(),
-
- new ListsServerModule(), new RobotApiModule(), new PlatformServerModule(),
+ }, new ListsServerModule(), new RobotApiModule(), new PlatformServerModule(),
new DocumentServerModule(), new ChatServerModule(), new ServerModule(false, 1, 2, 2),
federationModule, new WikiServerModule(), new TaskServerModule(), new BarterServerModule(),
new EventsServerModule(), new TrashServerModule());
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -20,7 +20,7 @@
package cc.kune.core.server.integration.content;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_DOCUMENT;
-import static cc.kune.wiki.shared.WikiToolConstants.NAME;
+import static cc.kune.wiki.shared.WikiToolConstants.TOOL_NAME;
import static cc.kune.wiki.shared.WikiToolConstants.TYPE_WIKIPAGE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -106,7 +106,7 @@
final ContainerDTO parentAgain = getSiteDefaultContent().getContainer();
final ContainerSimpleDTO child = parentAgain.getChilds().get(0);
- assertEquals(parent.getId(), child.getParentFolderId());
+ assertEquals(parent.getStateToken().getFolder(), child.getParentToken().getFolder());
assertEquals(parent.getId(), parentAgain.getId());
assertEquals(1, parentAgain.getChilds().size());
@@ -147,7 +147,7 @@
public void testAddWikiContent() throws Exception {
doLogin();
- final StateToken wikiToken = new StateToken(super.getDefSiteShortName(), NAME);
+ final StateToken wikiToken = new StateToken(super.getDefSiteShortName(), TOOL_NAME);
final StateContainerDTO wiki = (StateContainerDTO) contentService.getContent(session.getHash(),
wikiToken);
@@ -158,7 +158,7 @@
final ContainerDTO wikiContainer = added.getContainer();
final List<ContentSimpleDTO> contents = wikiContainer.getContents();
assertEquals(title, added.getTitle());
- assertEquals(2, contents.size());
+ assertEquals(1, contents.size());
doLogout();
doLoginWithDummyUser();
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -32,6 +32,7 @@
import org.junit.Test;
import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.client.errors.CannotDeleteDefaultContentException;
import cc.kune.core.server.integration.IntegrationTestHelper;
import cc.kune.core.shared.domain.TagCloudResult;
import cc.kune.core.shared.domain.TagCount;
@@ -43,6 +44,7 @@
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.core.shared.dto.UserSimpleDTO;
import cc.kune.docs.shared.DocsToolConstants;
+import cc.kune.trash.shared.TrashToolConstants;
public class ContentServiceVariousTest extends ContentServiceIntegrationTest {
@@ -85,6 +87,7 @@
assertEquals(1, (long) tagResult.getCount());
}
+ @Ignore
@Test
public void contentRateAndRetrieve() throws Exception {
contentService.rateContent(getHash(), defaultContent.getStateToken(), 4.5);
@@ -103,6 +106,13 @@
assertEquals("es", contentRetrieved.getLanguage().getCode());
}
+ private StateContainerDTO createNewContent() {
+ final StateContainerDTO added = contentService.addContent(session.getHash(),
+ defaultContent.getStateToken(), "New Content Title", TYPE_DOCUMENT);
+ assertNotNull(added);
+ return added;
+ }
+
@Ignore
// FIXME: when State refactor do this test (with noLogin and without)
public void defAdminDontShowAsParticipation() throws Exception {
@@ -113,13 +123,68 @@
assertEquals(1, content.getParticipation().getGroupsIsAdmin().size());
}
+ @Test(expected = CannotDeleteDefaultContentException.class)
+ public void defContentRemove() throws Exception {
+ doLogin();
+ defaultContent = getSiteDefaultContent();
+ contentService.delContent(session.getHash(), defaultContent.getStateToken());
+ }
+
@Test
+ public void delAndPurgeContainer() throws Exception {
+ doLogin();
+ final StateContainerDTO state = contentService.addFolder(session.getHash(),
+ defaultContent.getStateToken(), "some folder", DocsToolConstants.TYPE_FOLDER);
+ final ContainerDTO newFolder = state.getContainer();
+
+ final StateContainerDTO trash = getTrash();
+ assertEquals(0, trash.getContainer().getContents().size());
+ assertEquals(0, trash.getContainer().getChilds().size());
+ contentService.delContent(session.getHash(), newFolder.getStateToken());
+
+ final StateContainerDTO trashAfterDel = getTrash();
+ assertEquals(0, trashAfterDel.getContainer().getContents().size());
+ assertEquals(1, trashAfterDel.getContainer().getChilds().size());
+ final StateContainerDTO deletedFolder = (StateContainerDTO) contentService.getContent(
+ session.getHash(),
+ newFolder.getStateToken().setTool(TrashToolConstants.TOOL_NAME).setFolder(
+ newFolder.getStateToken().getFolder()));
+ contentService.purgeContainer(session.getHash(), deletedFolder.getStateToken());
+ final StateContainerDTO trashAfterPurge = getTrash();
+ assertEquals(0, trashAfterPurge.getContainer().getContents().size());
+ assertEquals(0, trashAfterPurge.getContainer().getChilds().size());
+ }
+
+ @Test
+ public void delAndPurgeContent() throws Exception {
+ doLogin();
+ final StateContainerDTO trash = getTrash();
+ final StateContainerDTO added = createNewContent();
+ final StateAbstractDTO retrievedContent = contentService.getContent(session.getHash(),
+ added.getStateToken());
+ assertNotNull(retrievedContent.getStateToken());
+ final StateContainerDTO deleledContainer = contentService.delContent(session.getHash(),
+ retrievedContent.getStateToken());
+ assertEquals(1, defaultContent.getContainer().getContents().size());
+ assertEquals(1, deleledContainer.getContainer().getContents().size());
+ final StateContentDTO deletedContent = (StateContentDTO) contentService.getContent(
+ session.getHash(),
+ retrievedContent.getStateToken().setTool(TrashToolConstants.TOOL_NAME).setFolder(
+ trash.getStateToken().getFolder()));
+ assertEquals(TrashToolConstants.TOOL_NAME, deletedContent.getToolName());
+ assertEquals(1, deletedContent.getContainer().getContents().size());
+ final StateContainerDTO trashAfterPurge = contentService.purgeContent(session.getHash(),
+ deletedContent.getStateToken());
+ assertEquals(0, trashAfterPurge.getContainer().getContents().size());
+ }
+
+ @Test
public void folderRename() throws Exception {
doLogin();
defaultContent = getSiteDefaultContent();
+ String newTitle = "folder new name";
final String oldTitle = "some title";
- String newTitle = "folder new name";
final StateContainerDTO newState = contentService.addFolder(session.getHash(),
defaultContent.getStateToken(), oldTitle, DocsToolConstants.TYPE_FOLDER);
@@ -179,6 +244,14 @@
assertEquals(newTitle, folderAgain.getName());
}
+ private StateContainerDTO getTrash() {
+ final StateAbstractDTO trash = contentService.getContent(
+ session.getHash(),
+ defaultContent.getStateToken().copy().clearDocument().clearFolder().setTool(
+ TrashToolConstants.TOOL_NAME));
+ return (StateContainerDTO) trash;
+ }
+
@Before
public void init() throws Exception {
new IntegrationTestHelper(this);
@@ -209,9 +282,7 @@
doLogin();
defaultContent = getSiteDefaultContent();
- final StateContainerDTO added = contentService.addContent(session.getHash(),
- defaultContent.getStateToken(), "New Content Title", TYPE_DOCUMENT);
- assertNotNull(added);
+ final StateContainerDTO added = createNewContent();
final ContentSimpleDTO newDefContent = contentService.setAsDefaultContent(session.getHash(),
added.getStateToken());
Modified: trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/manager/ContainerManagerDefaultTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -39,7 +39,7 @@
@Before
public void before() {
- rootFolder = containerManager.createRootFolder(user.getUserGroup(), DocsToolConstants.NAME,
+ rootFolder = containerManager.createRootFolder(user.getUserGroup(), DocsToolConstants.TOOL_NAME,
DocsToolConstants.ROOT_NAME, TYPE_FOLDER);
}
Modified: trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -110,14 +110,22 @@
}
private Container createDefContainer(final Group group) {
+ return createDefContainer(group, 0);
+ }
+
+ private Container createDefContainer(final Group group, final int increment) {
final Container container = new Container();
- container.setId(1L);
+ container.setId(1L + increment);
container.setToolName(TESTTOOL);
container.setOwner(group);
container.setName("folder");
return container;
}
+ private Container createDefContainer(final int increment) {
+ return createDefContainer(createDeGroup(), increment);
+ }
+
private Content createDefContent() {
final Container container = createDefContainer(createDeGroup());
final Content d = new Content();
@@ -242,8 +250,8 @@
final Container container = createDefContainer();
final StateToken expectedToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, 1L);
assertEquals(expectedToken, container.getStateToken());
- container.addChild(createDefContainer());
- container.addChild(createDefContainer());
+ container.addChild(createDefContainer(1));
+ container.addChild(createDefContainer(2));
container.addContent(createDefContent());
container.addContent(createDefContent());
container.addContent(createDefContent());
@@ -256,6 +264,7 @@
assertEquals(3, dto.getChilds().size());
assertEquals(3, dto.getContents().size());
assertTrue(dto.getContents().get(0) instanceof ContentSimpleDTO);
+ assertNotNull(dto.getContents().get(0).getStateToken());
assertTrue(dto.getChilds().get(0) instanceof ContainerSimpleDTO);
assertEquals(new StateToken(TESTGROUPSHORTNAME, TESTTOOL),
dto.getChilds().get(0).getStateToken().copy().clearFolder());
Modified: trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -55,13 +55,13 @@
assertTrue(
util.getLogoAvatarHtml(GROUP, false, true, 50, 5),
util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains(
- "http://example.org/others/unknown.jpg"));
+ "http://example.org/others/defuser.jpg"));
assertTrue(utilNoPrefix.getLogoAvatarHtml(GROUP, false, true, 50, 5),
- util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains("/others/unknown.jpg"));
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains("/others/defuser.jpg"));
assertTrue(
util.getLogoAvatarHtml(GROUP, true, false, 50, 5),
util.getLogoAvatarHtml(GROUP, true, false, 50, 5).contains(
- "'http://example.org/ws/servlets/EntityLogoDownloadManager?token=groupname"));
+ "'http://example.org/ws/servlets/EntityLogoDownloadManager?token=groupname&on…"));
}
assertTrue(
@@ -73,12 +73,11 @@
@Test
public void testUserAvatar() {
- assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
- utilPrefix.getUserAvatar(GROUP));
- assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
- utilPrefixWithSlash.getUserAvatar(GROUP));
- assertEquals(FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET
+ + "?token=groupname&onlyusers=true", utilPrefix.getUserAvatar(GROUP));
+ assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET
+ + "?token=groupname&onlyusers=true", utilPrefixWithSlash.getUserAvatar(GROUP));
+ assertEquals(FileConstants.LOGODOWNLOADSERVLET + "?token=groupname&onlyusers=true",
utilNoPrefix.getUserAvatar(GROUP));
}
-
}
Modified: trunk/src/test/java/cc/kune/docs/DocumentToolTest.java
===================================================================
--- trunk/src/test/java/cc/kune/docs/DocumentToolTest.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/docs/DocumentToolTest.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -19,7 +19,7 @@
*/
package cc.kune.docs;
-import static cc.kune.docs.shared.DocsToolConstants.NAME;
+import static cc.kune.docs.shared.DocsToolConstants.TOOL_NAME;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_DOCUMENT;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_FOLDER;
import static cc.kune.docs.shared.DocsToolConstants.TYPE_ROOT;
@@ -33,7 +33,7 @@
@Test
public void clientAndServerSync() {
- assertEquals(NAME, DocsToolConstants.NAME);
+ assertEquals(TOOL_NAME, DocsToolConstants.TOOL_NAME);
assertEquals(TYPE_ROOT, DocsToolConstants.TYPE_ROOT);
assertEquals(TYPE_FOLDER, DocsToolConstants.TYPE_FOLDER);
assertEquals(TYPE_DOCUMENT, DocsToolConstants.TYPE_DOCUMENT);
Modified: trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java 2012-03-31 00:46:37 UTC (rev 1810)
+++ trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java 2012-03-31 17:43:11 UTC (rev 1811)
@@ -62,17 +62,17 @@
public WebElement addNewBuddieTextBox;
@FindBy(id = SeleniumConstants.GWTDEV + AddEntityToThisGroupAction.ADD_NEW_MEMBER_TEXTBOX)
public WebElement addNewMemberTextBox;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + BlogsToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + BlogsToolConstants.TOOL_NAME)
public WebElement blogTool;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + ChatToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + ChatToolConstants.TOOL_NAME)
public WebElement chatTool;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + DocsToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + DocsToolConstants.TOOL_NAME)
public WebElement docTool;
@FindBy(xpath = "//div[@id='gwt-debug-k-cnt-title-id']/div/span")
public WebElement entityTitle;
@FindBy(xpath = "//div[@id='gwt-debug-k-cnt-title-id']/div/input")
public WebElement entityTitleTextarea;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + EventsToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + EventsToolConstants.TOOL_NAME)
public WebElement eventTool;
@FindBy(xpath = "//td/img")
public WebElement firstAvatarOfGroup;
@@ -98,7 +98,7 @@
public WebElement groupOptionsTools;
@FindBy(id = SeleniumConstants.GWTDEV + SubscribeToListBtn.ID)
public WebElement listSubscribeBtn;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + ListsToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + ListsToolConstants.TOOL_NAME)
public WebElement listTool;
@FindBy(id = SeleniumConstants.GWTDEV + NewContainerBtn.BTN_ID)
public WebElement newContainerBtn;
@@ -120,9 +120,9 @@
public WebElement searchEntitiesOk;
@FindBy(xpath = "//div[3]/div/button")
public WebElement socialNetOptions;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + TasksToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + TasksToolConstants.TOOL_NAME)
public WebElement taskTool;
- @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + WikiToolConstants.NAME)
+ @FindBy(id = SeleniumConstants.GWTDEV + ToolSelectorItemPanel.TOOL_ID_PREFIX + WikiToolConstants.TOOL_NAME)
public WebElement wikiTool;
public void openFirtsContent() {
1
0
Author: vjrj_
Date: 2012-03-31 02:46:37 +0200 (Sat, 31 Mar 2012)
New Revision: 1810
Added:
Makefile
Log:
deb repo
Added: Makefile
===================================================================
--- Makefile (rev 0)
+++ Makefile 2012-03-31 00:46:37 UTC (rev 1810)
@@ -0,0 +1,46 @@
+export DEVDIR=~/proyectos/dev/kune/trunk
+
+all: kune
+
+kune:
+ @echo "Creating kune package..."
+ (cd ${DEVDIR}; debuild -us -uc)
+ @${MAKE} clean-kune
+
+clean-kune:
+ @echo "Cleaning kune..."
+ (cd trunk; debuild clean)
+
+clean-pkg:
+ @echo "Cleaning..."
+ @for ext in dsc asc build changes gz; do \
+ mv *.$${ext} ~/tmp/archive 2>/dev/null || true ; \
+ done
+
+clean-pkgall:
+ @echo "Cleaning..."
+ @for ext in deb dsc asc build changes gz; do \
+ mv *.$${ext} ~/tmp/archive 2>/dev/null || true ; \
+ done
+
+update-repo-stable:
+ @cp *.deb debian/stable
+
+repo-stable:
+ (cd debian; apt-ftparchive packages stable > stable/Packages)
+ gzip -c debian/stable/Packages > debian/stable/Packages.gz
+ (cd debian; apt-ftparchive release stable/ > stable/Release)
+
+update-repo-unstable:
+ @cp *.deb debian/unstable/
+
+repo-unstable:
+ (cd debian; apt-ftparchive packages unstable/ > unstable/Packages)
+ gzip -c debian/unstable/Packages > debian/unstable/Packages.gz
+ (cd debian; apt-ftparchive release unstable/ > unstable/Release)
+
+rsync:
+ @rsync --progress --partial -r debian/ [email protected]:/var/lib/gforge/chroot/ftproot/pub/kune/debian/
+
+#deb ftp://ftp.ourproject.org/pub/kune/debian/ stable/
+#deb ftp://ftp.ourproject.org/pub/kune/debian/ unstable/
\ No newline at end of file
1
0
r1809 - in trunk/src/main/java/cc/kune: core/client/groups/newgroup core/client/ui core/server/manager/impl core/shared/domain gspace/client/options/general
by Vicente J. Ruiz Jurado 30 Mar '12
by Vicente J. Ruiz Jurado 30 Mar '12
30 Mar '12
Author: vjrj_
Date: 2012-03-30 18:38:51 +0200 (Fri, 30 Mar 2012)
New Revision: 1809
Modified:
trunk/src/main/java/cc/kune/core/client/groups/newgroup/GroupFieldFactory.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/ui/DefaultFormUtils.java
trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
trunk/src/main/java/cc/kune/core/shared/domain/GroupListMode.java
trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralView.java
trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java
Log:
CLOSED - # 229: Change between group types (open->closed, mainly)
http://kune.ourproject.org/issues/ticket/229
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/GroupFieldFactory.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/GroupFieldFactory.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/GroupFieldFactory.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -22,7 +22,10 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ui.DefaultForm;
+import cc.kune.core.client.ui.DefaultFormUtils;
+import com.extjs.gxt.ui.client.widget.form.FieldSet;
+import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -37,7 +40,28 @@
this.i18n = i18n;
}
- public TextField<String> createUserLongName(final String fieldId) {
+ public Radio createClosedRadio(final FieldSet fieldSet, final String fieldSetId, final String radioId) {
+ final Radio radio = DefaultFormUtils.createRadio(
+ fieldSet,
+ i18n.t("Closed"),
+ fieldSetId,
+ i18n.t("A Closed group is a private project, which contents are only accessible to its members (by default)."),
+ radioId);
+ return radio;
+ }
+
+ public Radio createCommunityRadio(final FieldSet fieldSet, final String fieldSetId,
+ final String radioId) {
+ final Radio radio = DefaultFormUtils.createRadio(
+ fieldSet,
+ i18n.t("Community"),
+ fieldSetId,
+ i18n.t("A community is a group of users with shared interests (for instance the environmental community or the LGBT community). It is open to any new member to join freely without the moderation of the administrators."),
+ radioId);
+ return radio;
+ }
+
+ public TextField<String> createLongName(final String fieldId) {
final TextField<String> field = new TextField<String>();
field.setFieldLabel(i18n.t("Long name"));
field.setName(fieldId);
@@ -50,6 +74,23 @@
return field;
}
+ public Radio createOrgRadio(final FieldSet fieldSet, final String fieldSetId, final String radioId) {
+ final Radio radio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Organization"), fieldSetId,
+ i18n.t("An organization works the same way as a project, "
+ + "except that it must be a legal entity."), radioId);
+ return radio;
+ }
+
+ public Radio createProjectRadio(final FieldSet fieldSet, final String fieldSetId, final String radioId) {
+ final Radio radio = DefaultFormUtils.createRadio(
+ fieldSet,
+ i18n.t("Project"),
+ fieldSetId,
+ i18n.t("A project is a kind of group in which the joining of new members is moderated by the project administrators."),
+ radioId);
+ return radio;
+ }
+
public TextField<String> createUserShortName(final String fieldId) {
final String minMaxText = i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15);
final TextField<String> field = new TextField<String>();
@@ -67,4 +108,5 @@
field.setValidationDelay(1000);
return field;
}
+
}
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 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -132,7 +132,7 @@
shortNameField.setTabIndex(1);
form.add(shortNameField);
- longNameField = groupFieldFactory.createUserLongName(LONGNAME_FIELD);
+ longNameField = groupFieldFactory.createLongName(LONGNAME_FIELD);
longNameField.setTabIndex(2);
form.add(longNameField);
@@ -153,42 +153,23 @@
// form.add(createTagField(tag2));
// form.add(createTagField(tag3));
- final FieldSet groupTypeFieldSet = new FieldSet();
- groupTypeFieldSet.setHeading(i18n.t("Group type"));
- groupTypeFieldSet.addStyleName("k-form-fieldset");
- groupTypeFieldSet.setCollapsible(true);
+ final FieldSet groupTypeFieldSet = DefaultFormUtils.createFieldSet(i18n.t("Group type"), "210px");
groupTypeFieldSet.setWidth("210px");
- groupTypeFieldSet.setAutoHeight(true);
-
form.add(groupTypeFieldSet);
- projectRadio = DefaultFormUtils.createRadio(
- groupTypeFieldSet,
- i18n.t("Project"),
- TYPEOFGROUP_FIELD,
- i18n.t("A project is a kind of group in which the joining of new members is moderated by the project administrators."),
+ projectRadio = groupFieldFactory.createProjectRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD,
PROJ_GROUP_TYPE_ID);
projectRadio.setTabIndex(6);
projectRadio.setValue(true);
- orgRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Organization"),
- TYPEOFGROUP_FIELD, i18n.t("An organization works the same way as a project, "
- + "except that it must be a legal entity."), ORG_GROUP_TYPE_ID);
+ orgRadio = groupFieldFactory.createOrgRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD, ORG_GROUP_TYPE_ID);
orgRadio.setTabIndex(7);
- closedRadio = DefaultFormUtils.createRadio(
- groupTypeFieldSet,
- i18n.t("Closed"),
- TYPEOFGROUP_FIELD,
- i18n.t("A Closed group is a private project, which contents are only accessible to its members (by default)."),
+ closedRadio = groupFieldFactory.createClosedRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD,
CLOSED_GROUP_TYPE_ID);
closedRadio.setTabIndex(8);
- communityRadio = DefaultFormUtils.createRadio(
- groupTypeFieldSet,
- i18n.t("Community"),
- TYPEOFGROUP_FIELD,
- i18n.t("A community is a group of users with shared interests (for instance the environmental community or the LGBT community). It is open to any new member to join freely without the moderation of the administrators."),
+ communityRadio = groupFieldFactory.createCommunityRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD,
COMM_GROUP_TYPE_ID);
communityRadio.setTabIndex(9);
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 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -110,6 +110,7 @@
}
private GroupType getTypeOfGroup() {
+ // Duplicate in GroupOptGeneralPanel
if (getView().isProject()) {
return GroupType.PROJECT;
} else if (getView().isOrganization()) {
Modified: trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/core/client/ui/DefaultFormUtils.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -28,6 +28,23 @@
import com.extjs.gxt.ui.client.widget.form.Radio;
public class DefaultFormUtils {
+
+ public static final String BIG_FIELD_SIZE = "310px";
+
+ public static FieldSet createFieldSet(final String heading) {
+ return createFieldSet(heading, BIG_FIELD_SIZE);
+ }
+
+ public static FieldSet createFieldSet(final String heading, final String width) {
+ final FieldSet fieldSet = new FieldSet();
+ fieldSet.setHeading(heading);
+ fieldSet.addStyleName("k-form-fieldset");
+ fieldSet.setCollapsible(false);
+ fieldSet.setWidth(width);
+ fieldSet.setAutoHeight(true);
+ return fieldSet;
+ }
+
public static Radio createRadio(final FieldSet fieldSet, final String radioLabel,
final String radioFieldName, final String radioTip, final String id) {
final Radio radio = new Radio();
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -82,6 +82,7 @@
private final LicenseManager licenseManager;
private final KuneBasicProperties properties;
private final ServerToolRegistry serverToolRegistry;
+ private final SocialNetworkCache snCache;
private final Provider<TrashServerTool> trashTool;
private final UserFinder userFinder;
@@ -91,7 +92,7 @@
final KuneBasicProperties properties, final LicenseManager licenseManager,
final LicenseFinder licenseFinder, final FileManager fileManager,
final ServerToolRegistry serverToolRegistry, final Provider<TrashServerTool> trashTool,
- final I18nTranslationService i18n) {
+ final I18nTranslationService i18n, final SocialNetworkCache snCache) {
super(provider, Group.class);
this.finder = finder;
this.userFinder = userFinder;
@@ -103,6 +104,7 @@
this.serverToolRegistry = serverToolRegistry;
this.trashTool = trashTool;
this.i18n = i18n;
+ this.snCache = snCache;
}
@Override
@@ -157,26 +159,14 @@
checkIfLongNameAreInUse(group.getLongName());
final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
if (User.isKnownUser(user)) {
- GroupListMode publicVisibility = GroupListMode.EVERYONE;
- SocialNetworkVisibility snVisibility = SocialNetworkVisibility.anyone;
- if (group.getGroupType().equals(GroupType.COMMUNITY)) {
- group.setAdmissionType(AdmissionType.Open);
- } else if (group.getGroupType().equals(GroupType.CLOSED)) {
- group.setAdmissionType(AdmissionType.Closed);
- publicVisibility = GroupListMode.NORMAL;
- snVisibility = SocialNetworkVisibility.onlymembers;
- } else if (group.getGroupType().equals(GroupType.ORGANIZATION)) {
- group.setAdmissionType(AdmissionType.Moderated);
- } else if (group.getGroupType().equals(GroupType.PROJECT)) {
- group.setAdmissionType(AdmissionType.Moderated);
- } else if (group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
- group.setAdmissionType(AdmissionType.Open);
- }
+ setAdmissionType(group);
final String licName = group.getDefaultLicense().getShortName();
final License license = licenseFinder.findByShortName(licName);
group.setDefaultLicense(license);
group.setWorkspaceTheme(defaultSiteWorkspaceTheme);
- initSocialNetwork(group, user.getUserGroup(), publicVisibility, snVisibility);
+ final boolean isClosed = group.getGroupType().equals(GroupType.CLOSED);
+ initSocialNetwork(group, user.getUserGroup(), getDefGroupMode(isClosed),
+ getDefSNVisibility(isClosed));
final String title = i18n.t("About [%s]", group.getLongName());
initGroup(user, group, serverToolRegistry.getToolsRegisEnabledForGroups(), title, publicDescrip);
return group;
@@ -249,6 +239,14 @@
return finder.findEnabledTools(id);
}
+ private GroupListMode getDefGroupMode(final boolean isClosed) {
+ return isClosed ? GroupListMode.NORMAL : GroupListMode.EVERYONE;
+ }
+
+ private SocialNetworkVisibility getDefSNVisibility(final boolean isClosed) {
+ return isClosed ? SocialNetworkVisibility.onlymembers : SocialNetworkVisibility.anyone;
+ }
+
@Override
public Group getGroupOfUserWithId(final Long userId) {
return userId != null ? find(User.class, userId).getUserGroup() : null;
@@ -283,14 +281,10 @@
private void initSocialNetwork(final Group group, final Group userGroup,
final GroupListMode publicVisibility, final SocialNetworkVisibility snVisibility) {
- final SocialNetwork network = group.getSocialNetwork();
- final AccessLists lists = network.getAccessLists();
- lists.getEditors().setMode(GroupListMode.NOBODY);
- lists.getViewers().setMode(publicVisibility);
+ final SocialNetwork network = setSocialNetwork(group, publicVisibility, snVisibility);
if (!group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
network.addAdmin(userGroup);
}
- network.setVisibility(snVisibility);
}
@Override
@@ -317,6 +311,23 @@
return super.search(query, firstResult, maxResults);
}
+ private void setAdmissionType(final Group group) {
+ final GroupType groupType = group.getGroupType();
+ if (groupType.equals(GroupType.COMMUNITY)) {
+ group.setAdmissionType(AdmissionType.Open);
+ } else {
+ if (groupType.equals(GroupType.CLOSED)) {
+ group.setAdmissionType(AdmissionType.Closed);
+ } else if (groupType.equals(GroupType.ORGANIZATION)) {
+ group.setAdmissionType(AdmissionType.Moderated);
+ } else if (groupType.equals(GroupType.PROJECT)) {
+ group.setAdmissionType(AdmissionType.Moderated);
+ } else if (groupType.equals(GroupType.ORPHANED_PROJECT)) {
+ group.setAdmissionType(AdmissionType.Open);
+ }
+ }
+ }
+
@Override
public void setDefaultContent(final String groupShortName, final Content content) {
final Group group = findByShortName(groupShortName);
@@ -331,6 +342,16 @@
group.setBackgroundMime(mime);
}
+ private SocialNetwork setSocialNetwork(final Group group, final GroupListMode publicVisibility,
+ final SocialNetworkVisibility snVisibility) {
+ final SocialNetwork network = group.getSocialNetwork();
+ final AccessLists lists = network.getAccessLists();
+ lists.getEditors().setMode(GroupListMode.NOBODY);
+ lists.getViewers().setMode(publicVisibility);
+ network.setVisibility(snVisibility);
+ return network;
+ }
+
@Override
public void setToolEnabled(final User userLogged, final String groupShortName, final String tool,
final boolean enabled) {
@@ -366,7 +387,12 @@
}
group.setShortName(shortName);
}
+ group.setGroupType(groupDTO.getGroupType());
+ setAdmissionType(group);
+ final boolean isClosed = group.getGroupType().equals(GroupType.CLOSED);
+ setSocialNetwork(group, getDefGroupMode(isClosed), getDefSNVisibility(isClosed));
persist(group);
+ snCache.expire(group);
return group;
}
Modified: trunk/src/main/java/cc/kune/core/shared/domain/GroupListMode.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/domain/GroupListMode.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/core/shared/domain/GroupListMode.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -21,6 +21,15 @@
import com.google.gwt.user.client.rpc.IsSerializable;
+/**
+ * The Enum GroupListMode describe the group list behavior
+ */
public enum GroupListMode implements IsSerializable {
- NORMAL, NOBODY, EVERYONE;
+
+ /** EVERYONE: means that everybody is allowed */
+ EVERYONE,
+ /** NOBODY: means that nobody is allowed */
+ NOBODY,
+ /** NORMAL means that that only groups in this list are allowed */
+ NORMAL;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPanel.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -23,15 +23,30 @@
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.groups.newgroup.GroupFieldFactory;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.ui.DefaultFormUtils;
+import cc.kune.core.shared.dto.GroupType;
+import com.extjs.gxt.ui.client.widget.form.FieldSet;
+import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.google.inject.Inject;
public class GroupOptGeneralPanel extends EntityOptGeneralPanel implements GroupOptGeneralView {
+ public static final String CLOSED_GROUP_TYPE_ID = "k-gogp-type_of_group_closed";
+ public static final String COMM_GROUP_TYPE_ID = "k-gopg-type_of_group_comm";
private static final String LONG_NAME_FIELD = "k-gogp-longname";
+ public static final String ORG_GROUP_TYPE_ID = "k-gopg-type_of_group_org";
+
+ public static final String PROJ_GROUP_TYPE_ID = "k-gopg-type_of_group_proj";
+
private static final String SHORT_NAME_FIELD = "k-gogp-shortname";
+ public static final String TYPEOFGROUP_FIELD = "k-gogp-type_of_group";
+ private final Radio closedRadio;
+ private final Radio communityRadio;
private final TextField<String> longName;
+ private final Radio orgRadio;
+ private final Radio projectRadio;
private final TextField<String> shortName;
@Inject
@@ -39,12 +54,45 @@
final MaskWidget maskWidget, final GroupFieldFactory groupFieldFactory) {
super(maskWidget, res.emblemSystem(), i18n.t("General"), i18n.t("Change this values:"));
shortName = groupFieldFactory.createUserShortName(SHORT_NAME_FIELD);
- longName = groupFieldFactory.createUserLongName(LONG_NAME_FIELD);
+ longName = groupFieldFactory.createLongName(LONG_NAME_FIELD);
add(shortName);
add(longName);
+
+ final FieldSet groupTypeFieldSet = DefaultFormUtils.createFieldSet(i18n.t("Group type"), "210px");
+ groupTypeFieldSet.setWidth("210px");
+ add(groupTypeFieldSet);
+
+ projectRadio = groupFieldFactory.createProjectRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD,
+ PROJ_GROUP_TYPE_ID);
+ projectRadio.setTabIndex(3);
+ projectRadio.setValue(true);
+
+ orgRadio = groupFieldFactory.createOrgRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD, ORG_GROUP_TYPE_ID);
+ orgRadio.setTabIndex(4);
+
+ closedRadio = groupFieldFactory.createClosedRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD,
+ CLOSED_GROUP_TYPE_ID);
+ closedRadio.setTabIndex(5);
+
+ communityRadio = groupFieldFactory.createCommunityRadio(groupTypeFieldSet, TYPEOFGROUP_FIELD,
+ COMM_GROUP_TYPE_ID);
+ communityRadio.setTabIndex(6);
}
@Override
+ public GroupType getGroupType() {
+ if (projectRadio.getValue()) {
+ return GroupType.PROJECT;
+ } else if (orgRadio.getValue()) {
+ return GroupType.ORGANIZATION;
+ } else if (closedRadio.getValue()) {
+ return GroupType.CLOSED;
+ } else {
+ return GroupType.COMMUNITY;
+ }
+ }
+
+ @Override
public String getLongName() {
return longName.getValue();
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPresenter.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralPresenter.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -78,12 +78,13 @@
@Override
protected void updateInServer() {
if (view.isValid()) {
- NotifyUser.showProgress();
+ NotifyUser.showProgress(i18n.t("Saving"));
final GroupDTO group = session.getCurrentState().getGroup();
final String previousGroupName = group.getShortName();
final StateToken token = group.getStateToken().copy();
group.setShortName(groupView.getShortName());
group.setLongName(groupView.getLongName());
+ group.setGroupType(groupView.getGroupType());
groupService.get().updateGroup(session.getUserHash(), token, group,
new AsyncCallbackSimple<StateAbstractDTO>() {
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralView.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/GroupOptGeneralView.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -19,8 +19,12 @@
*/
package cc.kune.gspace.client.options.general;
+import cc.kune.core.shared.dto.GroupType;
+
public interface GroupOptGeneralView extends EntityOptGeneralView {
+ GroupType getGroupType();
+
String getLongName();
String getShortName();
Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2012-03-30 13:12:37 UTC (rev 1808)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2012-03-30 16:38:51 UTC (rev 1809)
@@ -40,8 +40,6 @@
public class UserOptGeneralPanel extends EntityOptGeneralPanel implements UserOptGeneralView {
- private static final String BIG_FIELD_SIZE = "310px";
-
public static final String DAILY_TYPE_ID = "k-ngp-type_daily";
public static final String EMAIL_FIELD = "k-ngp-emial";
public static final String HOURLY_TYPE_ID = "k-ngp-type_hourly";
@@ -78,12 +76,7 @@
email = userFieldFactory.createUserEmail(EMAIL_FIELD);
add(email);
- emailNotifTypeFieldSet = new FieldSet();
- emailNotifTypeFieldSet.setHeading(i18n.t("How often do you want to receive email notifications?"));
- emailNotifTypeFieldSet.addStyleName("k-form-fieldset");
- emailNotifTypeFieldSet.setCollapsible(false);
- emailNotifTypeFieldSet.setWidth(BIG_FIELD_SIZE);
- emailNotifTypeFieldSet.setAutoHeight(true);
+ emailNotifTypeFieldSet = DefaultFormUtils.createFieldSet(i18n.t("How often do you want to receive email notifications?"));
immediateRadio = DefaultFormUtils.createRadio(emailNotifTypeFieldSet, i18n.t("almost immediately"),
TYPEOFEMAILNOTIF_FIELD, i18n.t(
@@ -122,7 +115,7 @@
notVerified.addStyleName("k-3corners");
notVerifLabelAdapter = new AdapterField(notVerified);
notVerifLabelAdapter.setLabelSeparator("");
- notVerifLabelAdapter.setWidth(BIG_FIELD_SIZE);
+ notVerifLabelAdapter.setWidth(DefaultFormUtils.BIG_FIELD_SIZE);
super.add(notVerifLabelAdapter);
resendEmailVerifBtn = new Button(i18n.t("Resend verification email"));
@@ -130,7 +123,7 @@
resendEmailVerifAdapter = new AdapterField(resendEmailVerifBtn);
resendEmailVerifAdapter.setValidateOnBlur(false);
resendEmailVerifAdapter.setLabelSeparator("");
- resendEmailVerifAdapter.setWidth(BIG_FIELD_SIZE);
+ resendEmailVerifAdapter.setWidth(DefaultFormUtils.BIG_FIELD_SIZE);
// resendEmailVerifAdapter.setFieldLabel(i18n.t("Maybe you want receive again our verification email"));
add(resendEmailVerifAdapter);
}
1
0