r1300 - in trunk: . script src/main/java/cc/kune src/main/java/cc/kune/chat/client/actions src/main/java/cc/kune/client src/main/java/cc/kune/common/client/actions/gwtui src/main/java/cc/kune/common/client/actions/ui/descrip src/main/java/cc/kune/common/public src/main/java/cc/kune/core/client src/main/java/cc/kune/core/client/actions src/main/java/cc/kune/core/client/registry src/main/java/cc/kune/core/client/sn src/main/java/cc/kune/core/client/sn/actions src/main/java/cc/kune/core/client/s
Author: vjrj_ Date: 2011-03-30 16:56:20 +0200 (Wed, 30 Mar 2011) New Revision: 1300 Added: trunk/bin trunk/src/main/java/cc/kune/client/KuneGinModule.java trunk/src/main/java/cc/kune/client/OnAppStartFactory.java trunk/src/main/java/cc/kune/core/client/actions/ trunk/src/main/java/cc/kune/core/client/actions/ActionRegistries.java trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java trunk/src/main/java/cc/kune/core/client/actions/RolAction.java trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java trunk/src/main/java/cc/kune/docs/ trunk/src/main/java/cc/kune/docs/KuneDocs.gwt.xml trunk/src/main/java/cc/kune/docs/client/ trunk/src/main/java/cc/kune/docs/client/AbstractFoldableContentActions.java trunk/src/main/java/cc/kune/docs/client/ContentRenameAction.java trunk/src/main/java/cc/kune/docs/client/DocumentClientActions.java trunk/src/main/java/cc/kune/docs/client/DocumentClientTool.java trunk/src/main/java/cc/kune/docs/client/DocumentGinModule.java trunk/src/main/java/cc/kune/docs/client/cnt/ trunk/src/main/java/cc/kune/docs/client/ctx/ trunk/src/main/java/cc/kune/docs/server/ trunk/src/main/java/org/ourproject/kune/workspace/client/OldAbstractFoldableContentActions.java trunk/src/test/java/cc/kune/docs/ trunk/src/test/java/cc/kune/docs/DocumentToolTest.java trunk/src/test/java/cc/kune/docs/server/ Removed: trunk/src/main/java/cc/kune/core/client/sn/actions/RolAction.java trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml trunk/src/main/java/org/ourproject/kune/docs/client/DocsMessages.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java trunk/src/main/java/org/ourproject/kune/docs/client/cnt/ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/ trunk/src/main/java/org/ourproject/kune/docs/public/ trunk/src/main/java/org/ourproject/kune/docs/server/ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java trunk/src/test/java/org/ourproject/kune/docs/DocumentToolTest.java trunk/src/test/java/org/ourproject/kune/docs/server/ Modified: trunk/ trunk/.classpath trunk/.project trunk/TODO trunk/pom.xml trunk/script/css-update.sh trunk/script/mvn-eclipse.sh trunk/src/main/java/cc/kune/Kune.gwt.xml trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java trunk/src/main/java/cc/kune/client/KuneEntryPoint.java trunk/src/main/java/cc/kune/client/KuneGinjector.java trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescProviderCollection.java trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java trunk/src/main/java/cc/kune/common/public/kune-common.css trunk/src/main/java/cc/kune/core/client/CoreGinModule.java trunk/src/main/java/cc/kune/core/client/registry/ContentCapabilitiesRegistry.java trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java trunk/src/main/java/cc/kune/core/public/ws.css trunk/src/main/java/cc/kune/core/server/KuneRackModule.java trunk/src/main/java/cc/kune/core/server/NotInObject.java trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContent.java trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentPanel.java trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentPresenter.java trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentView.java trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewer.java trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerPanel.java trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerPresenter.java trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerView.java trunk/src/main/java/cc/kune/docs/client/ctx/DocumentContext.java trunk/src/main/java/cc/kune/docs/client/ctx/DocumentContextPresenter.java trunk/src/main/java/cc/kune/docs/server/DocumentServerModule.java trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorItemPanel.ui.xml trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPanel.java trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPresenter.java trunk/src/main/java/cc/kune/pspace/client/PSpacePanel.java trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml trunk/src/main/java/cc/kune/wave/client/WebClient.java trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml trunk/src/main/java/cc/kune/wave/server/CustomUserRegistrationServlet.java trunk/src/main/java/cc/kune/wave/server/WaveMain.java trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/ActionCntCtxToolbarPanel.java trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializationTest.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/ContentManagerTest.java trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java trunk/src/test/java/testsuites/OthersTestSuite.java Log: WIAB and tools updated Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - pmd-eclipse.log .pmd www-test screenlog.0 bin client public target target-local Main-compile bin .settings .gwt-cache repository derby.log star-yellow-grey.png run.sh tomcat gwt-out synccss.sh .externalToolBuilders .wtpmodules www testRepository kune-OLD-jcr KuneApp.launch KuneApp NOSERVER.launch old_src org.ourproject.kune.app.Kune org.ourproject.kune.iml org.ourproject.kune.ipr org.ourproject.kune.iws nbproject hibernate.reveng.xml .gwt-tmp target-eclipse .checkstyle .classpath-bien pom.xml.* .gwt .jdee_sources .jdee_classpath prj.el .factorypath .apt_generated target.old _accounts _certificates + pmd-eclipse.log .pmd www-test screenlog.0 client public target target-local Main-compile .settings .gwt-cache repository derby.log star-yellow-grey.png run.sh tomcat gwt-out synccss.sh .externalToolBuilders .wtpmodules www testRepository kune-OLD-jcr KuneApp.launch KuneApp NOSERVER.launch old_src org.ourproject.kune.app.Kune org.ourproject.kune.iml org.ourproject.kune.ipr org.ourproject.kune.iws nbproject hibernate.reveng.xml .gwt-tmp target-eclipse .checkstyle .classpath-bien pom.xml.* .gwt .jdee_sources .jdee_classpath prj.el .factorypath .apt_generated target.old _accounts _certificates Modified: trunk/.classpath =================================================================== --- trunk/.classpath 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/.classpath 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,126 +1,122 @@ -<?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/> - <classpathentry including="**/*.java" kind="src" path="src/main/java"/> - <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/> - <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/> - <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/> - <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/> - <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/> - <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/> - <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/> - <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/> - <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0/gwt-util-src-0.3.0.jar"/> - <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/> - <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/> - <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/> - <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/> - <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/> - <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/> - <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/> - <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-gwt/0.3.7/proto-gwt-0.3.7.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-custom/0.3.7/waveinabox-server-custom-0.3.7.jar"/> - <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/> - <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-user.jar"> - <attributes> - <attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/> - </attributes> - </classpathentry> - <classpathentry kind="lib" path="/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/gwt-dev.jar"> - <attributes> - <attribute name="javadoc_location" value="file:/home/vjrj/bin/eclipse64-hel-new/plugins/com.google.gwt.eclipse.sdkbundle.2.1.1_2.1.1.v201012170127/gwt-2.1.1/doc/javadoc/"/> - </attributes> - </classpathentry> - <classpathentry kind="src" path=".apt_generated"> - <attributes> - <attribute name="optional" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/> -</classpath> + <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> + <classpathentry kind="src" path="src/main/java" including="**/*.java"/> + <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> + <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/> + <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box-src/0.3.0-SNAPSHOT/box-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/> + <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common-src/0.3.0-SNAPSHOT/client-common-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.0-SNAPSHOT/client-scheduler-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.0-SNAPSHOT/client-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/common-src/0.3.0-SNAPSHOT/common-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/communication-src/0.3.0-SNAPSHOT/communication-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.0-SNAPSHOT/concurrencycontrol-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/> + <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/> + <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r07/guava-gwt-r07.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0-rc2/guice-3.0-rc2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0-rc2/guice-persist-3.0-rc2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0-rc2/guice-servlet-3.0-rc2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/> + <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.0-SNAPSHOT/gwt-util-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/1.6.0/gwt-voices-1.6.0.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/> + <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar" sourcepath="M2_REPO/junit/junit/4.8.1/junit-4.8.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/> + <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/media-src/0.3.0-SNAPSHOT/media-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.0-SNAPSHOT/model-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/> + <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.0-SNAPSHOT/proto-msg-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.0-SNAPSHOT/util-src-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-0.3/0.3.0-SNAPSHOT/waveinabox-server-0.3-0.3.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/> + <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/> +</classpath> \ No newline at end of file Modified: trunk/.project =================================================================== --- trunk/.project 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/.project 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,54 +1,38 @@ -<?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>kune</name> - <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>com.google.gdt.eclipse.core.webAppProjectValidator</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.common.project.facet.core.builder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.validation.validationbuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.wst.common.project.facet.core.nature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> - <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> - <nature>org.eclipse.ajdt.ui.ajnature</nature> - <nature>com.google.gwt.eclipse.core.gwtNature</nature> - <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature> - <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature> - </natures> -</projectDescription> + <name>kune</name> + <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> + <projects/> + <buildSpec> + <buildCommand> + <name>com.google.gdt.eclipse.core.webAppProjectValidator</name> + </buildCommand> + <buildCommand> + <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + </buildCommand> + <buildCommand> + <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name> + </buildCommand> + <buildCommand> + <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.ajdt.ui.ajnature</nature> + <nature>com.google.gwt.eclipse.core.gwtNature</nature> + <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature> + <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature> + </natures> +</projectDescription> \ No newline at end of file Modified: trunk/TODO =================================================================== --- trunk/TODO 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/TODO 2011-03-30 14:56:20 UTC (rev 1300) @@ -383,6 +383,12 @@ http://vafer.org/blog/20070918215154 Related info: http://java.debian.net/building.html +*** steps +**** create user kune +**** create /var/lib/kune/uploads and give permissions +**** create /var/lib/kune/lucene +**** deps: libjmagick6-jni, csstidy +**** cp -a $EXTSRC/source/locale/ src/main/java/org/ourproject/kune/app/public/js/ext/source/ ** <v> implement pubsub in emite http://xmpp.org/extensions/attic/jep-0060-1.6.html see: svn checkout svn://anonsvn.it.su.se/su-smack su-smack Added: trunk/bin =================================================================== --- trunk/bin (rev 0) +++ trunk/bin 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1 @@ +link script/ \ No newline at end of file Property changes on: trunk/bin ___________________________________________________________________ Name: svn:special + * Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/pom.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -527,18 +527,18 @@ <!-- wave --> <dependency> <groupId>org.waveprotocol</groupId> - <artifactId>waveinabox-server-custom</artifactId> - <version>0.3.7</version> + <artifactId>waveinabox-server-0.3</artifactId> + <version>0.3.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.waveprotocol</groupId> - <artifactId>proto-gwt</artifactId> - <version>0.3.7</version> + <artifactId>proto-msg</artifactId> + <version>0.3.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.waveprotocol</groupId> <artifactId>gwt-util-src</artifactId> - <version>0.3.0</version> + <version>0.3.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.google.guava</groupId> @@ -546,51 +546,56 @@ <version>r07</version> </dependency> <!-- From here necessary as .java not included in waveinabox-serve.jar --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>box-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>model-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>client-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>client-common-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>common-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>util-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>concurrencycontrol-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>client-scheduler-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> - <!-- <dependency> --> - <!-- <groupId>org.waveprotocol</groupId> --> - <!-- <artifactId>media-src</artifactId> --> - <!-- <version>0.3.0</version> --> - <!-- </dependency> --> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>box-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>model-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>client-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>client-common-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>common-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>util-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>concurrencycontrol-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>client-scheduler-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>media-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.waveprotocol</groupId> + <artifactId>communication-src</artifactId> + <version>0.3.0-SNAPSHOT</version> + </dependency> <!-- to here --> <dependency> <groupId>net.sourceforge.findbugs</groupId> @@ -732,7 +737,8 @@ <value>true</value> </systemProperty> <systemProperty> - <key>org.eclipse.jetty.util.log.DEBUG</key> + <!-- <key>org.eclipse.jetty.util.log.DEBUG</key> --> + <key>org.eclipse.jetty.util.log.INFO</key> <value>true</value> </systemProperty> </systemProperties> Modified: trunk/script/css-update.sh =================================================================== --- trunk/script/css-update.sh 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/script/css-update.sh 2011-03-30 14:56:20 UTC (rev 1300) @@ -15,6 +15,6 @@ cp src/main/java/cc/kune/common/public/kune-common.css target/kune-0.0.7/ws/ cp src/main/java/cc/kune/core/public/ws.css target/kune-0.0.7/ws/ cp src/main/java/cc/kune/core/public/ws.html target/kune-0.0.7/ws/ -cp src/main/webapp/templates/basic/basic.css target/kune-0.0.7/templates/basic/basic.css -cp src/main/webapp/templates/basic/docs.liquid.html target/kune-0.0.7/templates/basic/ +#cp src/main/webapp/templates/basic/basic.css target/kune-0.0.7/templates/basic/basic.css +#cp src/main/webapp/templates/basic/docs.liquid.html target/kune-0.0.7/templates/basic/ cp src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css target/kune-0.0.7/ws/gxt-custom/css/gxt-op-common.css Modified: trunk/script/mvn-eclipse.sh =================================================================== --- trunk/script/mvn-eclipse.sh 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/script/mvn-eclipse.sh 2011-03-30 14:56:20 UTC (rev 1300) @@ -2,6 +2,6 @@ perl -p -i -e 's/<\/classpath>//g' .classpath perl -p -i -e 's/\/home\/vjrj\/nfsdev\///g' .classpath -echo -en " <classpathentry kind=\"src\" path=\"target/generated-sources/apt\" including=\"**/*.java\"/>" >> .classpath +#echo -en " <classpathentry kind=\"src\" path=\"target/generated-sources/apt\" including=\"**/*.java\"/>" >> .classpath echo -en " <classpathentry kind=\"con\" path=\"com.google.gwt.eclipse.core.GWT_CONTAINER\"/>\n</classpath>" >> .classpath Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml =================================================================== --- trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -6,6 +6,7 @@ <inherits name="cc.kune.core.Core" /> <inherits name="cc.kune.wave.KuneWave" /> <inherits name="cc.kune.chat.Chat" /> + <inherits name="cc.kune.docs.KuneDocs" /> <inherits name="cc.kune.pspace.PSpace" /> <inherits name="com.calclab.suco.Suco" /> <inherits name="org.adamtacy.GWTEffects"></inherits> @@ -45,11 +46,11 @@ <inherits name="com.google.gwt.user.Debug" /> <!-- Hardcoded locale (to override emite italian support) ===== --> <extend-property name="locale" values="en" /> - <set-property 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" />--> + <!-- <set-property name="loglevel" value="debug" /> --> <!-- Entrypoint =============================================== --> <entry-point class="cc.kune.client.KuneEntryPoint" /> <!-- <entry-point class="cc.kune.common.client.SampleEntryPoint" /> --> Modified: trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/chat/client/actions/OpenGroupPublicChatRoomAction.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -7,7 +7,7 @@ import cc.kune.chat.client.resources.ChatResources; import cc.kune.common.client.actions.Action; import cc.kune.common.client.actions.ActionEvent; -import cc.kune.core.client.sn.actions.RolAction; +import cc.kune.core.client.actions.RolActionAutoUpdated; import cc.kune.core.client.state.AccessRightsClientManager; import cc.kune.core.client.state.Session; import cc.kune.core.client.state.StateChangedEvent; @@ -27,7 +27,7 @@ import com.calclab.suco.client.Suco; import com.google.inject.Inject; -public class OpenGroupPublicChatRoomAction extends RolAction { +public class OpenGroupPublicChatRoomAction extends RolActionAutoUpdated { private final ChatClient chatClient; private final I18nTranslationService i18n; Modified: trunk/src/main/java/cc/kune/client/KuneEntryPoint.java =================================================================== --- trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -69,6 +69,7 @@ ginjector.getEventLogger(); NotifyUser.init(ginjector.getEventBus(), ginjector.getI18n()); ginjector.getCorePresenter().get().forceReveal(); + ginjector.getOnAppStartFactory(); ginjector.getStateManager(); ginjector.getSiteTokenListeners(); ginjector.getGwtGuiProvider(); @@ -79,6 +80,6 @@ ginjector.getSpacesTabPresenter(); ginjector.getChatClient(); ginjector.getCoreParts(); - ginjector.getPSpacePresenter(); + ginjector.getPSpaceParts(); } } Added: trunk/src/main/java/cc/kune/client/KuneGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/client/KuneGinModule.java (rev 0) +++ trunk/src/main/java/cc/kune/client/KuneGinModule.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,12 @@ +package cc.kune.client; + +import com.gwtplatform.mvp.client.gin.AbstractPresenterModule; + +public class KuneGinModule extends AbstractPresenterModule { + + @Override + protected void configure() { + bind(OnAppStartFactory.class).asEagerSingleton(); + } + +} Property changes on: trunk/src/main/java/cc/kune/client/KuneGinModule.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java =================================================================== --- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -47,10 +47,12 @@ import cc.kune.core.client.ws.CorePresenter; import cc.kune.core.client.ws.entheader.EntityHeaderPresenter; import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.docs.client.DocumentGinModule; import cc.kune.gspace.client.tags.TagsSummaryPresenter; import cc.kune.gspace.client.tool.ToolSelectorPresenter; import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter; import cc.kune.pspace.client.PSpaceGinModule; +import cc.kune.pspace.client.PSpaceParts; import cc.kune.pspace.client.PSpacePresenter; import cc.kune.wave.client.WaveGinModule; import cc.kune.wave.client.WaveParts; @@ -62,7 +64,8 @@ import com.google.inject.Provider; import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler; -@GinModules({ CoreGinModule.class, ChatGinModule.class, WaveGinModule.class, PSpaceGinModule.class }) +@GinModules({ KuneGinModule.class, CoreGinModule.class, ChatGinModule.class, WaveGinModule.class, + PSpaceGinModule.class, DocumentGinModule.class }) public interface KuneGinjector extends Ginjector { /* @@ -106,8 +109,12 @@ AsyncProvider<NewGroupPresenter> getNewGroupPresenter(); + OnAppStartFactory getOnAppStartFactory(); + ProxyFailureHandler getProxyFailureHandler(); + PSpaceParts getPSpaceParts(); + AsyncProvider<PSpacePresenter> getPSpacePresenter(); AsyncProvider<RegisterPresenter> getRegisterPresenter(); Added: trunk/src/main/java/cc/kune/client/OnAppStartFactory.java =================================================================== --- trunk/src/main/java/cc/kune/client/OnAppStartFactory.java (rev 0) +++ trunk/src/main/java/cc/kune/client/OnAppStartFactory.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,22 @@ +package cc.kune.client; + +import cc.kune.core.client.init.AppStartEvent; +import cc.kune.core.client.init.AppStartEvent.AppStartHandler; +import cc.kune.core.client.state.Session; +import cc.kune.docs.client.DocumentClientTool; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +public class OnAppStartFactory { + + @Inject + public OnAppStartFactory(final Session session, final Provider<DocumentClientTool> docClientTool) { + session.onInitDataReceived(true, new AppStartHandler() { + @Override + public void onAppStart(final AppStartEvent event) { + docClientTool.get(); + } + }); + } +} Property changes on: trunk/src/main/java/cc/kune/client/OnAppStartFactory.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -41,6 +41,7 @@ protected void addStyle(final String style) { if (notStandAlone) { iconLabel.addStyleName(style); + button.addStyleName(style); layout(); } } Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescProviderCollection.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescProviderCollection.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescProviderCollection.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -23,7 +23,6 @@ import com.google.inject.Provider; -@Deprecated public class GuiActionDescProviderCollection extends ArrayList<Provider<GuiActionDescrip>> { private static final long serialVersionUID = -7933642706229301169L; Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -86,5 +86,4 @@ GuiActionDescrip withText(String text); GuiActionDescrip withToolTip(String tooltip); - } Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css =================================================================== --- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-03-30 14:56:20 UTC (rev 1300) @@ -21,21 +21,21 @@ } .k-opacity80 { - kfilter: alpha(opacity = 80); + kfilter: alpha(opacity = 80); -moz-opacity: 0.80; -khtml-opacity: 0.80; opacity: 0.80; } .k-opacity90 { - kfilter: alpha(opacity = 90); + kfilter: alpha(opacity = 90); -moz-opacity: 0.90; -khtml-opacity: 0.90; opacity: 0.90; } .k-opacity95 { - kfilter: alpha(opacity = 95); + kfilter: alpha(opacity = 95); -moz-opacity: 0.95; -khtml-opacity: 0.95; opacity: 0.95; @@ -43,7 +43,8 @@ .gwt-PopupPanelGlass { background-color: #f7ebe3 !important; - kfilter: alpha(opacity = 68) !important; + kfilter: alpha(opacity = 68) + !important; -moz-opacity: 0.68 !important; -khtml-opacity: 0.68 !important; opacity: 0.68 !important; @@ -248,7 +249,7 @@ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); border: 1 px solid #BBBBBB; font: 16px 'Ubuntu', arial; - font-weight: bold; + /* font-weight: bold; */ -webkit-border-bottom-right-radius: 5px; -moz-border-radius-bottomright: 5px; border-bottom-right-radius: 5px; @@ -263,17 +264,22 @@ background-color: #280b0b; } -.oc-menu .gwt-MenuBar-vertical, .gwt-MenuBar-vertical { +.oc-menu .gwt-MenuBar-vertical,.gwt-MenuBar-vertical { background-color: #280b0b; border: 2px solid #552200; padding: 3px; + font: 16px 'Ubuntu', arial; + color: white; + -webkit-border-top-right-radius: 5px; + -moz-border-radius-topright: 5px; + border-top-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; -moz-border-radius-bottomright: 5px; border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px; border-bottom-left-radius: 5px; - kfilter: alpha(opacity = 90); + kfilter: alpha(opacity = 90); -moz-opacity: 0.90; -khtml-opacity: 0.90; opacity: 0.90; @@ -291,7 +297,7 @@ } .oc-menu .gwt-MenuItem { - cursor: default; + cursor: pointer; -moz-user-select: none; -khtml-user-select: none; /* background-color: #c87137; */ @@ -416,6 +422,14 @@ background-image: none; } +.k-nobackcolor { + background-color: transparent !important; +} + +.k-noborder { + border: 0px !important; +} + .k-space-nowrap { white-space: nowrap; } @@ -429,7 +443,7 @@ .k-menuimtem-title { color: white; font-size: 15px; - font-style: italic; + font-weight: bold; padding: 2px 3px 2px 0; } @@ -445,7 +459,7 @@ .k-iconlabel-right { float: left; - /* margin-left: 5px; */ + /* margin-left: 5px; */ } .gwt-MenuBar-vertical .subMenuIcon-selected { Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -28,6 +28,7 @@ import cc.kune.common.client.shortcuts.GlobalShortcutRegister; import cc.kune.common.client.ui.MaskWidget; import cc.kune.common.client.ui.MaskWidgetView; +import cc.kune.core.client.actions.ActionRegistries; import cc.kune.core.client.auth.Register; import cc.kune.core.client.auth.RegisterPanel; import cc.kune.core.client.auth.RegisterPresenter; @@ -201,6 +202,7 @@ bind(CookiesManager.class).to(CookiesManagerImpl.class).in(Singleton.class); bind(BeforeSignOut.class).in(Singleton.class); bind(SiteTokenListeners.class).asEagerSingleton(); + bind(ActionRegistries.class).in(Singleton.class); bind(CoreParts.class).asEagerSingleton(); // SN Added: trunk/src/main/java/cc/kune/core/client/actions/ActionRegistries.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/ActionRegistries.java (rev 0) +++ trunk/src/main/java/cc/kune/core/client/actions/ActionRegistries.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,18 @@ +package cc.kune.core.client.actions; + + +public class ActionRegistries { + + ActionRegistryByType contentFooterActions; + ActionRegistryByType contentHeaderActions; + ActionRegistryByType contentItemMenu; + ActionRegistryByType contentSubHeaderActions; + + public ActionRegistries() { + contentSubHeaderActions = new ActionRegistryByType(); + contentHeaderActions = new ActionRegistryByType(); + contentFooterActions = new ActionRegistryByType(); + contentItemMenu = new ActionRegistryByType(); + } + +} Property changes on: trunk/src/main/java/cc/kune/core/client/actions/ActionRegistries.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java (rev 0) +++ trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,86 @@ +package cc.kune.core.client.actions; + +import java.util.HashMap; + +import cc.kune.common.client.actions.AbstractAction; +import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection; +import cc.kune.common.client.actions.ui.descrip.GuiActionDescProviderCollection; +import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip; +import cc.kune.core.shared.domain.utils.AccessRights; + +import com.google.inject.Provider; + +/** + * A registry of actions by content type (doc, post, etc) + * + */ +public class ActionRegistryByType { + private static final String GENERIC = "kgenacts"; + + private final HashMap<String, GuiActionDescProviderCollection> actions; + + public ActionRegistryByType() { + actions = new HashMap<String, GuiActionDescProviderCollection>(); + } + + private void add(final GuiActionDescCollection collection, final GuiActionDescrip descrip, final Object targetItem) { + descrip.setTarget(targetItem); + collection.add(descrip); + } + + public void addAction(final Provider<GuiActionDescrip> action) { + addAction(action, GENERIC); + } + + public void addAction(final Provider<GuiActionDescrip> action, final String... typeIds) { + assert action != null; + for (final String typeId : typeIds) { + final GuiActionDescProviderCollection actionColl = getActions(typeId); + actionColl.add(action); + } + } + + private GuiActionDescProviderCollection getActions(final String typeId) { + GuiActionDescProviderCollection actionColl = actions.get(typeId); + if (actionColl == null) { + actionColl = new GuiActionDescProviderCollection(); + actions.put(typeId, actionColl); + } + return actionColl; + } + + public GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId, + final boolean isLogged, final AccessRights rights) { + final GuiActionDescCollection collection = new GuiActionDescCollection(); + + for (final Provider<GuiActionDescrip> descripProv : getActions(typeId)) { + final GuiActionDescrip descrip = descripProv.get(); + final AbstractAction action = descrip.getAction(); + if (action instanceof RolAction) { + if (mustAdd((RolAction) action, isLogged, rights)) { + add(collection, descrip, targetItem); + } + } else { + add(collection, descrip, targetItem); + } + } + return collection; + } + + private boolean mustAdd(final RolAction action, final boolean isLogged, final AccessRights rights) { + if (action.isAuthNeed()) { + if (!isLogged) { + return false; + } + } + switch (action.getRolRequired()) { + case Administrator: + return rights.isAdministrable(); + case Editor: + return rights.isEditable(); + case Viewer: + default: + return rights.isVisible(); + } + } +} Property changes on: trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/core/client/actions/RolAction.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/RolAction.java (rev 0) +++ trunk/src/main/java/cc/kune/core/client/actions/RolAction.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,33 @@ +package cc.kune.core.client.actions; + +import cc.kune.common.client.actions.AbstractExtendedAction; +import cc.kune.core.shared.dto.AccessRolDTO; + +import com.google.inject.Inject; + +public abstract class RolAction extends AbstractExtendedAction { + + private final boolean authNeed; + private final AccessRolDTO rolRequired; + + /** + * @param rolRequired + * the Rol required to allow this action + * @param authNeed + * if we need to be authenticated to execute this action + */ + @Inject + public RolAction(final AccessRolDTO rolRequired, final boolean authNeed) { + this.rolRequired = rolRequired; + this.authNeed = authNeed; + } + + public AccessRolDTO getRolRequired() { + return rolRequired; + } + + public boolean isAuthNeed() { + return authNeed; + } + +} Property changes on: trunk/src/main/java/cc/kune/core/client/actions/RolAction.java ___________________________________________________________________ Name: svn:mime-type + text/plain Copied: trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java (from rev 1295, trunk/src/main/java/cc/kune/core/client/sn/actions/RolAction.java) =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java (rev 0) +++ trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,63 @@ +package cc.kune.core.client.actions; + +import cc.kune.common.client.actions.AbstractExtendedAction; +import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip; +import cc.kune.core.client.sn.actions.RolComparator; +import cc.kune.core.client.state.AccessRightsChangedEvent; +import cc.kune.core.client.state.AccessRightsChangedEvent.AccessRightsChangedHandler; +import cc.kune.core.client.state.AccessRightsClientManager; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; +import cc.kune.core.shared.domain.utils.AccessRights; +import cc.kune.core.shared.dto.AccessRolDTO; + +import com.google.inject.Inject; + +/** + * This is a RolAction (a Action that store which permissions are needed to + * permit its execution) but that auto refresh its status depending on the state + * of the application (if we are authenticated, and so on) + * + */ +public abstract class RolActionAutoUpdated extends AbstractExtendedAction { + protected final Session session; + protected final StateManager stateManager; + + @Inject + public RolActionAutoUpdated(final StateManager stateManager, final Session session, + final AccessRightsClientManager rightsManager, final AccessRolDTO rolRequired, final boolean authNeed, + final boolean visibleForNonMemb, final boolean visibleForMembers) { + this.stateManager = stateManager; + this.session = session; + rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() { + @Override + public void onAccessRightsChanged(final AccessRightsChangedEvent event) { + refreshStatus(rolRequired, authNeed, session.isLogged(), visibleForMembers, visibleForNonMemb, + event.getCurrentRights()); + + } + }); + } + + public void refreshStatus(final AccessRolDTO rolRequired, final boolean authNeed, final boolean isLogged, + final boolean visibleForMembers, final boolean visibleForNonMemb, final AccessRights newRights) { + boolean newVisibility = false; + boolean newEnabled = false; + if (authNeed && !isLogged) { + newVisibility = newEnabled = false; + } else { + // Auth ok + newEnabled = RolComparator.isEnabled(rolRequired, newRights); + if (newEnabled) { + final boolean isMember = RolComparator.isMember(newRights); + newEnabled = newVisibility = isMember && visibleForMembers || !isMember && visibleForNonMemb; + } else { + newVisibility = false; + } + } + setEnabled(newEnabled); + putValue(GuiActionDescrip.VISIBLE, newVisibility); + // NotifyUser.info("Set '" + getValue(Action.NAME) + "' visible: " + + // newVisibility, true); + } +} Property changes on: trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/core/client/registry/ContentCapabilitiesRegistry.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/registry/ContentCapabilitiesRegistry.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/registry/ContentCapabilitiesRegistry.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -19,6 +19,7 @@ */ package cc.kune.core.client.registry; +import com.google.inject.Inject; public class ContentCapabilitiesRegistry { @@ -40,6 +41,7 @@ private final XmppComentableRegistry xmppComentable; private final XmppNotifyCapableRegistry xmppNotifyCapable; + @Inject public ContentCapabilitiesRegistry(final AuthorableRegistry authorableRegistry, final AclEditableRegistry aclEditableRegistry, final ContentIconsRegistry iconsRegistry, final CanBeHomepageRegistry canBeHomepage, final ComentableRegistry comentable, Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -30,6 +30,8 @@ interface AbstractSNPanelUiBinder extends UiBinder<Widget, AbstractSNPanel> { } + private static final String CATEG_HEIGHT = "80px"; + private static AbstractSNPanelUiBinder uiBinder = GWT.create(AbstractSNPanelUiBinder.class); protected final ActionSimplePanel actions; int AVATARLABELMAXSIZE = 4; @@ -124,4 +126,19 @@ public IsActionExtensible getBottomToolbar() { return bottomActionsToolbar; } + + public void setFirstCategoryVisible(final boolean visible) { + firstCategoryPanel.setVisible(visible); + firstCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px"); + } + + public void setSndCategoryVisible(final boolean visible) { + sndCategoryPanel.setVisible(visible); + sndCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px"); + } + + public void setTrdCategoryVisible(final boolean visible) { + trdCategoryPanel.setVisible(visible); + trdCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px"); + } } Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -67,7 +67,7 @@ @Override public void setCollabsVisible(final boolean visible) { - sndCategoryPanel.setVisible(visible); + super.setSndCategoryVisible(visible); } @Override @@ -77,7 +77,7 @@ @Override public void setPendingVisible(final boolean visible) { - trdCategoryPanel.setVisible(visible); + super.setTrdCategoryVisible(visible); } @Override Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -28,7 +28,7 @@ firstDeckLabel.setText(i18n.t(CoreMessages.BUDDIES_NOT_PUBLIC)); trdCategoryLabel.setText("NOT USED"); trdCategoryLabel.setTitle("NOT USED"); - trdCategoryPanel.setVisible(false); + super.setTrdCategoryVisible(false); sndDeckLabel.setText("NOT USED"); bottomActionsToolbar = new ActionFlowPanel(guiProvider); bottomPanel.add(bottomActionsToolbar); @@ -61,7 +61,7 @@ @Override public void setBuddiesVisible(final boolean visible) { - firstCategoryPanel.setVisible(visible); + super.setFirstCategoryVisible(visible); } @Override @@ -71,7 +71,7 @@ @Override public void setParticipationVisible(final boolean visible) { - sndCategoryPanel.setVisible(visible); + super.setSndCategoryVisible(visible); } @Override Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/RolAction.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/actions/RolAction.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/sn/actions/RolAction.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,56 +0,0 @@ -package cc.kune.core.client.sn.actions; - -import cc.kune.common.client.actions.AbstractExtendedAction; -import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip; -import cc.kune.core.client.state.AccessRightsChangedEvent; -import cc.kune.core.client.state.AccessRightsChangedEvent.AccessRightsChangedHandler; -import cc.kune.core.client.state.AccessRightsClientManager; -import cc.kune.core.client.state.Session; -import cc.kune.core.client.state.StateManager; -import cc.kune.core.shared.domain.utils.AccessRights; -import cc.kune.core.shared.dto.AccessRolDTO; - -import com.google.inject.Inject; - -public abstract class RolAction extends AbstractExtendedAction { - protected final Session session; - protected final StateManager stateManager; - - @Inject - public RolAction(final StateManager stateManager, final Session session, - final AccessRightsClientManager rightsManager, final AccessRolDTO rolRequired, final boolean authNeed, - final boolean visibleForNonMemb, final boolean visibleForMembers) { - this.stateManager = stateManager; - this.session = session; - rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() { - @Override - public void onAccessRightsChanged(final AccessRightsChangedEvent event) { - refreshStatus(rolRequired, authNeed, session.isLogged(), visibleForMembers, visibleForNonMemb, - event.getCurrentRights()); - - } - }); - } - - public void refreshStatus(final AccessRolDTO rolRequired, final boolean authNeed, final boolean isLogged, - final boolean visibleForMembers, final boolean visibleForNonMemb, final AccessRights newRights) { - boolean newVisibility = false; - boolean newEnabled = false; - if (authNeed && !isLogged) { - newVisibility = newEnabled = false; - } else { - // Auth ok - newEnabled = RolComparator.isEnabled(rolRequired, newRights); - if (newEnabled) { - final boolean isMember = RolComparator.isMember(newRights); - newEnabled = newVisibility = isMember && visibleForMembers || !isMember && visibleForNonMemb; - } else { - newVisibility = false; - } - } - setEnabled(newEnabled); - putValue(GuiActionDescrip.VISIBLE, newVisibility); - // NotifyUser.info("Set '" + getValue(Action.NAME) + "' visible: " + - // newVisibility, true); - } -} Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/sn/actions/SNRolAction.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,5 +1,6 @@ package cc.kune.core.client.sn.actions; +import cc.kune.core.client.actions.RolActionAutoUpdated; import cc.kune.core.client.resources.CoreResources; import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync; import cc.kune.core.client.state.AccessRightsClientManager; @@ -11,7 +12,7 @@ import com.google.inject.Inject; import com.google.inject.Provider; -public abstract class SNRolAction extends RolAction { +public abstract class SNRolAction extends RolActionAutoUpdated { protected final I18nTranslationService i18n; protected final Provider<SocialNetworkServiceAsync> snServiceProvider; Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -39,7 +39,8 @@ final Provider<MembersModerationMenuItem> membersModeration, final CoreResources res, final IsLoggedCondition isLoggedCondition, final JoinGroupAction joinGroupAction, final IsGroupCondition isGroupCondition, final UnJoinGroupAction unJoinGroupAction) { - OPTIONS_MENU.withToolTip(i18n.t("Options")).withIcon(res.arrowDownSitebar()).withStyles("k-sn-options-menu"); + OPTIONS_MENU.withToolTip(i18n.t("Options")).withIcon(res.arrowDownSitebar()).withStyles( + "k-sn-options-menu, k-noborder, k-nobackcolor"); final GuiActionDescrip optionsTitle = new MenuTitleItemDescriptor(i18n.t("Options")).withParent(OPTIONS_MENU); final MenuRadioItemDescriptor anyoneItem = membersVisibility.get().withVisibility( SocialNetworkVisibility.anyone); @@ -65,8 +66,8 @@ final ButtonDescriptor joinBtn = new ButtonDescriptor(joinGroupAction); final ButtonDescriptor unJoinBtn = new ButtonDescriptor(unJoinGroupAction); unJoinBtn.add(isLoggedCondition); - add(joinBtn.withStyles("k-no-backimage")); - add(unJoinBtn.withStyles("k-no-backimage")); + add(joinBtn); // .withStyles("k-no-backimage, k-noborder, k-nobackcolor")); + add(unJoinBtn); // .withStyles("k-no-backimage, k-noborder, k-nobackcolor")); stateManager.onStateChanged(true, new StateChangedHandler() { @Override Modified: trunk/src/main/java/cc/kune/core/public/ws.css =================================================================== --- trunk/src/main/java/cc/kune/core/public/ws.css 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-03-30 14:56:20 UTC (rev 1300) @@ -328,9 +328,9 @@ } .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { - background-color: white; + background-color: transparent; background: url("images/spliter-top.png") no-repeat scroll center bottom - white; + transparent; cursor: col-resize; } @@ -881,7 +881,9 @@ } .k-sn-adminspanel { - background-color: #a05a2c; + /* background-color: #a05a2c; */ + border-bottom:2px solid #F7EBE3; + border-top:2px solid #F7EBE3; } .k-sn-collabspanel { @@ -1078,6 +1080,7 @@ } .k-tool-item-nofocus { + } .k-tool-item-selected { @@ -1086,4 +1089,9 @@ .k-tool-item-notselected { background-color: inherits; +} + +.gwt-Button { + background: url("gwt/chrome/images/hborder.png") repeat-x scroll 0 -27px + transparent; } \ No newline at end of file Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -21,11 +21,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.ourproject.kune.blogs.server.BlogServerModule; -import org.ourproject.kune.chat.server.ChatServerModule; -import org.ourproject.kune.docs.server.DocumentServerModule; -import org.ourproject.kune.gallery.server.GalleryServerModule; -import org.ourproject.kune.wiki.server.WikiServerModule; import cc.kune.core.client.rpcservices.ContentService; import cc.kune.core.client.rpcservices.GroupService; @@ -51,6 +46,7 @@ import cc.kune.core.server.rest.I18nTranslationJSONService; import cc.kune.core.server.rest.TestJSONService; import cc.kune.core.server.rest.UserJSONService; +import cc.kune.docs.server.DocumentServerModule; import com.google.inject.AbstractModule; import com.google.inject.Module; @@ -143,10 +139,10 @@ builder.use(new ServletModule()); builder.use(new PlatformServerModule()); builder.use(new DocumentServerModule()); - builder.use(new BlogServerModule()); - builder.use(new WikiServerModule()); - builder.use(new ChatServerModule()); - builder.use(new GalleryServerModule()); + // builder.use(new BlogServerModule()); + // builder.use(new WikiServerModule()); + // builder.use(new ChatServerModule()); + // builder.use(new GalleryServerModule()); builder.use(new RESTServicesModule()); builder.use(configModule); } Modified: trunk/src/main/java/cc/kune/core/server/NotInObject.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/NotInObject.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/core/server/NotInObject.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -35,6 +35,7 @@ excluded = Arrays.asList(new String[] { "finalize", "toString", "hashCode", "getClass", "wait", "equals" }); } + @Override public boolean matches(final Method method) { final String name = method.getName(); Copied: trunk/src/main/java/cc/kune/docs/KuneDocs.gwt.xml (from rev 1295, trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml) =================================================================== --- trunk/src/main/java/cc/kune/docs/KuneDocs.gwt.xml (rev 0) +++ trunk/src/main/java/cc/kune/docs/KuneDocs.gwt.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,5 @@ +<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd"> +<module> + <inherits name="cc.kune.core.Core" /> + <source path="client" /> +</module> \ No newline at end of file Added: trunk/src/main/java/cc/kune/docs/client/AbstractFoldableContentActions.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/AbstractFoldableContentActions.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/AbstractFoldableContentActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,102 @@ +/* + * + * 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.docs.client; + +import cc.kune.common.client.actions.ui.descrip.ToolbarDescriptor; +import cc.kune.common.client.utils.SchedulerManager; +import cc.kune.core.client.cnt.FoldableContent; +import cc.kune.core.client.errors.ErrorHandler; +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.init.AppStartEvent; +import cc.kune.core.client.init.AppStartEvent.AppStartHandler; +import cc.kune.core.client.rpcservices.ContentServiceAsync; +import cc.kune.core.client.rpcservices.GroupServiceAsync; +import cc.kune.core.client.services.FileDownloadUtils; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; + +import com.google.inject.Provider; + +public abstract class AbstractFoldableContentActions { + + public static final ToolbarDescriptor CONTENT_BOTTOMBAR = new ToolbarDescriptor(); + public static final ToolbarDescriptor CONTENT_TOPBAR = new ToolbarDescriptor(); + public static final ToolbarDescriptor CONTEXT_BOTTOMBAR = new ToolbarDescriptor(); + public static final ToolbarDescriptor CONTEXT_TOPBAR = new ToolbarDescriptor(); + + private static final String PUBLICATION_MENU = "Publication"; + + protected final Provider<ContentServiceAsync> contentServiceProvider; + protected final SchedulerManager deferredCommandWrapper; + protected final ErrorHandler errorHandler; + protected final Provider<FileDownloadUtils> fileDownloadProvider; + protected final FoldableContent foldableContent; + protected final Provider<GroupServiceAsync> groupServiceProvider; + protected final I18nUITranslationService i18n; + protected final Session session; + protected final StateManager stateManager; + + public AbstractFoldableContentActions(final Session session, final StateManager stateManager, + final I18nUITranslationService i18n, final ErrorHandler errorHandler, + final SchedulerManager deferredCommandWrapper, final Provider<GroupServiceAsync> groupServiceProvider, + final Provider<ContentServiceAsync> contentServiceProvider, + final Provider<FileDownloadUtils> fileDownloadProvider, final FoldableContent foldableContent) { + this.session = session; + this.stateManager = stateManager; + this.i18n = i18n; + this.errorHandler = errorHandler; + this.deferredCommandWrapper = deferredCommandWrapper; + this.groupServiceProvider = groupServiceProvider; + this.contentServiceProvider = contentServiceProvider; + this.fileDownloadProvider = fileDownloadProvider; + this.foldableContent = foldableContent; + createActions(); + session.onInitDataReceived(true, new AppStartHandler() { + @Override + public void onAppStart(final AppStartEvent event) { + createPostSessionInitActions(); + } + }); + } + + protected abstract void createActions(); + + protected void createContentModeratedActions(final String parentMenuTitle, final String... contentsModerated) { + } + + protected void createContentRenameAction(final String parentMenuTitle, final String textDescription, + final String... registerInTypes) { + } + + protected void createDelContainerAction(final String text, final String parentMenuTitle, + final String... registerInTypes) { + } + + protected void createDelContentAction(final String parentMenuTitle, final String textDescription, + final String... registerInTypes) { + } + + protected void createDownloadActions(final String typeUploadedfile) { + + } + + protected abstract void createPostSessionInitActions(); + +} Property changes on: trunk/src/main/java/cc/kune/docs/client/AbstractFoldableContentActions.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/docs/client/ContentRenameAction.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/ContentRenameAction.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/ContentRenameAction.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,20 @@ +package cc.kune.docs.client; + +import cc.kune.common.client.actions.ActionEvent; +import cc.kune.common.client.noti.NotifyUser; +import cc.kune.common.client.utils.TextUtils; +import cc.kune.core.client.actions.RolAction; +import cc.kune.core.shared.dto.AccessRolDTO; + +public class ContentRenameAction extends RolAction { + + public ContentRenameAction() { + super(AccessRolDTO.Editor, true); + } + + @Override + public void actionPerformed(final ActionEvent event) { + NotifyUser.info(TextUtils.IN_DEVELOPMENT); + } + +} \ No newline at end of file Property changes on: trunk/src/main/java/cc/kune/docs/client/ContentRenameAction.java ___________________________________________________________________ Name: svn:mime-type + text/plain Copied: trunk/src/main/java/cc/kune/docs/client/DocumentClientActions.java (from rev 1295, trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java) =================================================================== --- trunk/src/main/java/cc/kune/docs/client/DocumentClientActions.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/DocumentClientActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,110 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + \*/ +package cc.kune.docs.client; + +import static cc.kune.docs.client.DocumentClientTool.TYPE_DOCUMENT; +import static cc.kune.docs.client.DocumentClientTool.TYPE_FOLDER; +import static cc.kune.docs.client.DocumentClientTool.TYPE_ROOT; +import static cc.kune.docs.client.DocumentClientTool.TYPE_UPLOADEDFILE; + + +import cc.kune.common.client.utils.SchedulerManager; +import cc.kune.core.client.cnt.ContentActionRegistry; +import cc.kune.core.client.errors.ErrorHandler; +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.rpcservices.ContentServiceAsync; +import cc.kune.core.client.rpcservices.GroupServiceAsync; +import cc.kune.core.client.services.FileDownloadUtils; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; +import cc.kune.docs.client.cnt.DocumentViewer; + +import com.google.inject.Provider; + +public class DocumentClientActions extends AbstractFoldableContentActions { + public DocumentClientActions(final I18nUITranslationService i18n, final Session session, + final StateManager stateManager, final SchedulerManager deferredCommandWrapper, + final Provider<ContentServiceAsync> contentServiceProvider, + final Provider<GroupServiceAsync> groupServiceProvider, final ContentActionRegistry contentActionRegistry, + final Provider<FileDownloadUtils> fileDownloadProvider, final DocumentViewer docViewer, + final ErrorHandler errorHandler) { + super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, + contentServiceProvider, fileDownloadProvider, docViewer); + } + + @Override + protected void createActions() { + final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE }; + final String[] containers = { TYPE_ROOT, TYPE_FOLDER, }; + final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE }; + final String[] containersNoRoot = { TYPE_FOLDER }; + final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE }; + + // final String parentMenuTitle = i18n.t("File"); + // final String parentMenuTitleCtx = i18n.t("Folder"); + // + // createNewContainerAction(TYPE_FOLDER, "images/nav/folder_add.png", + // i18n.t("New folder"), parentMenuTitleCtx, + // i18n.t("New"), i18n.t("New folder"), Position.ctx, TYPE_ROOT, + // TYPE_FOLDER); + // + // createNewContentAction(TYPE_DOCUMENT, "images/nav/page_add.png", + // i18n.t("New document"), parentMenuTitleCtx, + // Position.ctx, TYPE_ROOT, TYPE_FOLDER); + // + // createTranslateAction(parentMenuTitle, TYPE_DOCUMENT, TYPE_FOLDER); + // createContentRenameAction(parentMenuTitle, i18n.t("Rename"), + // contents); + // createEditAction(parentMenuTitle, TYPE_DOCUMENT); + // createContentModeratedActions(parentMenuTitle, contentsModerated); + // createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), + // containersNoRoot); + // + // // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt = + // // createSetAsDefContent(parentMenuTitleCtx); + // + // createRefreshCntAction(parentMenuTitle, contents); + // createRefreshCxtAction(parentMenuTitleCtx, containers); + // + // createSetAsDefContent(parentMenuTitle, contents); + // + // createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE); + // + // createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", + // i18n.t("Upload files (images, PDFs...)"), + // null, containers); + // + // createDownloadActions(TYPE_UPLOADEDFILE); + // + // createGoAction(all); + // + // createGoHomeAction(containers); + // + // createDelContainerAction("Delete folder", parentMenuTitleCtx, + // containersNoRoot); + // createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents); + // createShowDeletedItems(parentMenuTitleCtx, all); + } + + @Override + protected void createPostSessionInitActions() { + // super.createUploadMediaAction(TYPE_GALLERY); + } +} Copied: trunk/src/main/java/cc/kune/docs/client/DocumentClientTool.java (from rev 1295, trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java) =================================================================== --- trunk/src/main/java/cc/kune/docs/client/DocumentClientTool.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/DocumentClientTool.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,66 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.docs.client; + +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.registry.ContentCapabilitiesRegistry; +import cc.kune.gspace.client.tool.FoldableAbstractClientTool; +import cc.kune.gspace.client.tool.ToolSelector; + +import com.google.inject.Inject; + +public class DocumentClientTool extends FoldableAbstractClientTool { + public static final String NAME = "docs"; + 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 + "." + FoldableAbstractClientTool.UPLOADEDFILE_SUFFIX; + public static final String TYPE_WAVE = NAME + "." + FoldableAbstractClientTool.WAVE_SUFFIX; + + @Inject + public DocumentClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector, + final ContentCapabilitiesRegistry cntCapRegistry) { + super(NAME, i18n.t("documents"), toolSelector, cntCapRegistry); + + // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); + registerAuthorableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); + registerDragableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE); + registerDropableTypes(TYPE_ROOT, TYPE_FOLDER); + registerPublishModerableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); + registerRateableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); + registerRenamableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE); + registerTageableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); + registerTranslatableTypes(TYPE_DOCUMENT, TYPE_FOLDER); + + registerIcons(); + } + + @Override + public String getName() { + return NAME; + } + + private void registerIcons() { + registerContentTypeIcon(TYPE_FOLDER, "images/nav/folder.png"); + registerContentTypeIcon(TYPE_DOCUMENT, "images/nav/page.png"); + registerUploadTypesAndMimes(TYPE_UPLOADEDFILE); + } + +} Added: trunk/src/main/java/cc/kune/docs/client/DocumentGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/DocumentGinModule.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/DocumentGinModule.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,13 @@ +package cc.kune.docs.client; + +import com.google.inject.Singleton; +import com.gwtplatform.mvp.client.gin.AbstractPresenterModule; + +public class DocumentGinModule extends AbstractPresenterModule { + + @Override + protected void configure() { + bind(DocumentClientTool.class).in(Singleton.class); + } + +} Property changes on: trunk/src/main/java/cc/kune/docs/client/DocumentGinModule.java ___________________________________________________________________ Name: svn:mime-type + text/plain Copied: trunk/src/main/java/cc/kune/docs/client/cnt (from rev 1295, trunk/src/main/java/org/ourproject/kune/docs/client/cnt) Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContent.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContent.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContent.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; public interface DocFolderContent { } Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPanel.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; import cc.kune.core.client.cnt.FoldableContentPanel; import cc.kune.core.client.resources.CoreResources; Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPresenter.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentPresenter.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,9 +17,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; -import org.ourproject.kune.docs.client.DocumentClientTool; import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection; import cc.kune.core.client.cnt.ActionContentToolbar; @@ -29,6 +28,7 @@ import cc.kune.core.client.state.Session; import cc.kune.core.client.state.StateManager; import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.docs.client.DocumentClientTool; import com.google.inject.Provider; Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentView.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocFolderContentView.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; import cc.kune.core.client.cnt.AbstractContentView; Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewer.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewer.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewer.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; import cc.kune.core.client.cnt.FoldableContent; Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPanel.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; import cc.kune.core.client.cnt.FoldableContentPanel; import cc.kune.core.client.resources.CoreResources; Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerPresenter.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,9 +17,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; -import org.ourproject.kune.docs.client.DocumentClientTool; import cc.kune.core.client.cnt.ActionContentToolbar; import cc.kune.core.client.cnt.ContentActionRegistry; @@ -30,6 +29,7 @@ import cc.kune.core.client.state.Session; import cc.kune.core.client.state.StateManager; import cc.kune.core.shared.dto.StateContentDTO; +import cc.kune.docs.client.DocumentClientTool; import com.google.inject.Provider; Modified: trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerView.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/cnt/DocumentViewerView.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.cnt; +package cc.kune.docs.client.cnt; import cc.kune.core.client.cnt.AbstractContentView; Copied: trunk/src/main/java/cc/kune/docs/client/ctx (from rev 1295, trunk/src/main/java/org/ourproject/kune/docs/client/ctx) Modified: trunk/src/main/java/cc/kune/docs/client/ctx/DocumentContext.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContext.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/ctx/DocumentContext.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.ctx; +package cc.kune.docs.client.ctx; public interface DocumentContext { Modified: trunk/src/main/java/cc/kune/docs/client/ctx/DocumentContextPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/client/ctx/DocumentContextPresenter.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,21 +17,17 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.client.ctx; +package cc.kune.docs.client.ctx; -import org.ourproject.kune.docs.client.DocumentClientTool; -import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; -import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; -import org.ourproject.kune.workspace.client.cxt.FoldableContextPresenter; -import cc.kune.core.client.state.StateManager; +public class DocumentContextPresenter { -import com.calclab.suco.client.ioc.Provider; - -public class DocumentContextPresenter extends FoldableContextPresenter implements DocumentContext { - public DocumentContextPresenter(final StateManager stateManager, - final Provider<ContextNavigator> contextNavigatorProvider, - final Provider<ContextPropEditor> contextPropEditorProvider) { - super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider, contextPropEditorProvider); - } } +// extends FoldableContextPresenter implements DocumentContext { +// public DocumentContextPresenter(final StateManager stateManager, +// final Provider<ContextNavigator> contextNavigatorProvider, +// final Provider<ContextPropEditor> contextPropEditorProvider) { +// super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider, +// contextPropEditorProvider); +// } + Copied: trunk/src/main/java/cc/kune/docs/server (from rev 1295, trunk/src/main/java/org/ourproject/kune/docs/server) Modified: trunk/src/main/java/cc/kune/docs/server/DocumentServerModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/server/DocumentServerModule.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/server/DocumentServerModule.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.server; +package cc.kune.docs.server; import com.google.inject.Binder; import com.google.inject.Module; Modified: trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/server/DocumentServerTool.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.server; +package cc.kune.docs.server; import java.util.Date; Modified: trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/gspace/client/WsArmorImpl.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -22,6 +22,8 @@ import com.google.gwt.core.client.GWT; 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; @@ -82,6 +84,17 @@ groupSpace.setWidgetMinSize(splitEast, 150); tabs.setStyleName("k-spaces"); homeSpace.add(RootPanel.get("k-home-wrapper")); + // mainpanel.getWidgetContainerElement(splitEast).setAttribute("overflow", + // "visible"); + // splitEast.getWidgetContainerElement(entityToolsCenter).setPropertyString("overflow", + // "visible !important"); + // entityToolsCenter.getParent().setStyleName("k-nooverflow"); + // groupSpace.getWidgetContainerElement(splitEast).setPropertyString("overflow", + // "visible !important"); + + DOM.setStyleAttribute((Element) groupSpace.getWidgetContainerElement(splitEast), "overflow", "visible"); + DOM.setStyleAttribute((Element) splitEast.getWidgetContainerElement(entityToolsCenter), "overflow", "visible"); + } @Override Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-03-30 14:56:20 UTC (rev 1300) @@ -2,172 +2,171 @@ @external .*; .floatLeft { - float: left; + float: left; } .mainPanel { - border-top: 2px solid white; - border-bottom: 7px solid white; - border-right: 7px solid white; - border-left: 7px solid white; + border-top: 2px solid white; + border-bottom: 7px solid white; + border-right: 7px solid white; + border-left: 7px solid white; } .floatRight { - float: right; + float: right; } .siteBar { - overflow: hidden; + overflow: hidden; } .entityHeader { - -webkit-border-top-right-radius: 10px; - -moz-border-radius-topright: 10px; - border-top-right-radius: 10px; - background-color: #f4e3d7; - overflow: hidden; + -webkit-border-top-right-radius: 10px; + -moz-border-radius-topright: 10px; + border-top-right-radius: 10px; + background-color: #f4e3d7; + overflow: hidden; } .entityFooter { - -webkit-border-bottom-right-radius: 10px; - -moz-border-radius-bottomright: 10px; - border-bottom-right-radius: 10px; - background-color: #f7ebe3; - /* padding: 7px 10px 0px 17px; */ - overflow: hidden; + -webkit-border-bottom-right-radius: 10px; + -moz-border-radius-bottomright: 10px; + border-bottom-right-radius: 10px; + background-color: #f7ebe3; + /* padding: 7px 10px 0px 17px; */ + overflow: hidden; } .entityFooter span { - color: #784421; - font-size: 16px; - font-weight: bold; + color: #784421; + font-size: 16px; + font-weight: bold; } .entityHeader span { - font-size: 56px; - margin-left: 15px; - color: #550000; - font-weight: bold; - font: 'UbuntuBold', Arial; + font-size: 56px; + margin-left: 15px; + color: #550000; + font-weight: bold; + font: 'UbuntuBold', Arial; } .docHeader { - background-color: #c87137; - overflow: hidden; + background-color: #c87137; + overflow: hidden; } .docHeaderArrow { - position: relative; - z-index: 10; - top: -25px; - left: 10px; + position: relative; + z-index: 10; + top: -25px; + left: 10px; } .docHeader span { - color: #FFF; - font-size: 28px; - font-weight: bold; - margin-left: 15px; - font: 'UbuntuBold', Arial; + color: #FFF; + font-size: 28px; + font-weight: bold; + margin-left: 15px; + font: 'UbuntuBold', Arial; } .docSubheader { - background-color: #f7ebe3; - padding: 15px 0 0 15px; - overflow: hidden; + background-color: #f7ebe3; + padding: 15px 0 0 15px; + overflow: hidden; } .docSubheaderLeft { - position: relative; - top: 0; - left: -30px; + position: relative; + top: 0; + left: -30px; } .docSubheader span { - color: #784421; - font-size: 20px; - font-weight: bold; + color: #784421; + font-size: 20px; + font-weight: bold; } .docEditorMargin { - background-color: #f7ebe3; + background-color: #f7ebe3; } .docEditor { - background-color: #FFF; - border-left: 1px solid #959595; - border-right: 1px solid #959595; - border-top: 1px solid #959595; - -webkit-border-top-left-radius: 7px; - -moz-border-radius-topleft: 7px; - border-top-left-radius: 7px; - -webkit-border-top-right-radius: 7px; - -moz-border-radius-topright: 7px; - border-top-right-radius: 7px; - padding: 5px; + background-color: #FFF; + border-left: 1px solid #959595; + border-right: 1px solid #959595; + border-top: 1px solid #959595; + -webkit-border-top-left-radius: 7px; + -moz-border-radius-topleft: 7px; + border-top-left-radius: 7px; + -webkit-border-top-right-radius: 7px; + -moz-border-radius-topright: 7px; + border-top-right-radius: 7px; + padding: 5px; } .docFooter { - border-left: 1px solid #959595; - border-right: 1px solid #959595; - border-bottom: 1px solid #959595; - background-color: #e3dbdb; - -webkit-border-bottom-left-radius: 7px; - -moz-border-radius-bottomleft: 7px; - border-bottom-left-radius: 7px; - -webkit-border-bottom-right-radius: 7px; - -moz-border-radius-bottomright: 7px; - border-bottom-right-radius: 7px; - padding: 7px 7px 0 7px; - overflow: hidden; - border-collapse:separate; + border-left: 1px solid #959595; + border-right: 1px solid #959595; + border-bottom: 1px solid #959595; + background-color: #e3dbdb; + -webkit-border-bottom-left-radius: 7px; + -moz-border-radius-bottomleft: 7px; + border-bottom-left-radius: 7px; + -webkit-border-bottom-right-radius: 7px; + -moz-border-radius-bottomright: 7px; + border-bottom-right-radius: 7px; + padding: 7px 7px 0 7px; + overflow: hidden; + border-collapse: separate; } .docFooter span { - color: #784421; - font-size: 16px; - font-weight: bold; + color: #784421; + font-size: 16px; + font-weight: bold; } .entityTools { - -webkit-border-top-left-radius: 10px; - -moz-border-radius-topleft: 10px; - border-top-left-radius: 10px; - -webkit-border-bottom-left-radius: 10px; - -moz-border-radius-bottomleft: 10px; - border-bottom-left-radius: 10px; - background-color: #DEAA87; + -webkit-border-top-left-radius: 10px; + -moz-border-radius-topleft: 10px; + border-top-left-radius: 10px; + -webkit-border-bottom-left-radius: 10px; + -moz-border-radius-bottomleft: 10px; + border-bottom-left-radius: 10px; + background-color: #DEAA87; } -.entityToolsNorth { - /* margin: 10px; */ +.entityToolsNorth { /* margin: 10px; */ + } .entityToolsNorth span { - color: #a05a2c; - /* font-size: 20px; + color: #a05a2c; + /* font-size: 20px; font-weight: bold; */ } -.entityToolsCenter { - margin: 10px; +.entityToolsCenter { /* margin: 10px; */ + overflow: visible !important; } .entityToolsCenter span { - color: #FFF; - font-size: 22px; - font-weight: bold; + color: #FFF; + font-size: 22px; + font-weight: bold; } .entityToolsSouth { - border-top: 2px solid #FFF; - padding: 10px; - border-collapse: separate; + border-top: 2px solid #FFF; + padding: 10px; + border-collapse: separate; } .entityToolsSouth span { - color: #a05a2c; - font-size: 20px; - font-weight: bold; -} - + color: #a05a2c; + font-size: 20px; + font-weight: bold; +} \ No newline at end of file Modified: trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorItemPanel.ui.xml =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorItemPanel.ui.xml 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorItemPanel.ui.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -5,8 +5,9 @@ .label { text-decoration: none; font-size: 22px; - color: white; + color: white; /* text-shadow: 1px 1px 6px grey; + */ } .link a:link { @@ -14,12 +15,12 @@ } .self { + } .flow { min-height: 30px; padding: 5px 10px; - } .iconLeft { @@ -29,7 +30,7 @@ .iconRight { float: right; position: relative; - right: -19px; + right: -17px; top: -6px; } </ui:style> Modified: trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPanel.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPanel.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -24,7 +24,7 @@ @Inject public ToolSelectorPanel(final WsArmor wsArmor) { - wsArmor.getEntityToolsSouth().add(uiBinder.createAndBindUi(this)); + wsArmor.getEntityToolsCenter().add(uiBinder.createAndBindUi(this)); } @Override Modified: trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPresenter.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/gspace/client/tool/ToolSelectorPresenter.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -79,7 +79,7 @@ ToolSelectorPresenter.this.onGroupChanged(event.getNewGroup()); } }); - stateManager.onToolChanged(true, new ToolChangedHandler() { + stateManager.onToolChanged(false, new ToolChangedHandler() { @Override public void onToolChanged(final ToolChangedEvent event) { ToolSelectorPresenter.this.onToolChanged(event.getPreviousTool(), event.getNewTool()); @@ -116,7 +116,7 @@ void onToolChanged(final String oldTool, final String newTool) { Log.debug("Registered tools: " + tools.keySet().toString()); - if (!oldTool.equals("")) { + if (oldTool != null && !oldTool.equals("")) { final ToolSelectorItem tool = tools.get(oldTool); checkTool(tool); tool.setSelected(false); Modified: trunk/src/main/java/cc/kune/pspace/client/PSpacePanel.java =================================================================== --- trunk/src/main/java/cc/kune/pspace/client/PSpacePanel.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/pspace/client/PSpacePanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -30,7 +30,6 @@ import com.google.gwt.dom.client.Element; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Frame; import com.google.gwt.user.client.ui.HasText; @@ -76,7 +75,6 @@ layer.addClassName("k-box-5shadow"); layer.addClassName("k-5corners"); icon.setResource(res.browser32()); - Window.alert("kk"); wsArmor.getPublicSpace().add(widget); } Modified: trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml =================================================================== --- trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/wave/KuneWave.gwt.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,43 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.1/distro-source/core/src/gwt-module.dtd"> <module> + <inherits name='org.waveprotocol.box.webclient.WebClient' /> + <source path="client" /> <public path="public" /> - - <inherits name="com.google.common.base.Base" /> - <inherits name='com.google.gwt.user.User' /> - <inherits name="com.google.gwt.event.EventBase" /> - - <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome' /> --> - - <inherits name='com.glines.socketio.client.Client' /> - <inherits name='com.google.gwt.json.JSON' /> - <inherits name='com.google.gwt.websockets.WebSockets' /> - - <inherits name='org.waveprotocol.wave.client.Client' /> - <inherits name='org.waveprotocol.wave.client.editor.Editor' /> - <inherits name='org.waveprotocol.wave.client.gadget.Gadget' /> - <inherits name='org.waveprotocol.wave.client.util.ClientFlags' /> - <inherits name='org.waveprotocol.wave.model.Model' /> - <inherits name="org.waveprotocol.wave.model.account.Account" /> - <inherits name='org.waveprotocol.wave.model.conversation.Conversation' /> - - <inherits name="org.waveprotocol.box.common.Common" /> - <inherits name='org.waveprotocol.box.common.comms.WaveClientRpc' /> - <inherits name='org.waveprotocol.box.search.SearchProto' /> - <inherits - name='org.waveprotocol.box.webclient.common.communication.Communication' /> - <!-- TODO(hearnden): delete webclient.common. It's not common to anything. --> - <inherits name='org.waveprotocol.box.webclient.common.Common' /> - <inherits name='org.waveprotocol.box.webclient.search.Search' /> - <inherits name='org.waveprotocol.box.webclient.util.Util' /> - <inherits name='org.waveprotocol.box.webclient.search.Search' /> - <inherits name='org.waveprotocol.box.webclient.widget.error.Error' /> - - <!-- Specify the app entry point class. --> -<!-- <entry-point class='org.waveprotocol.box.webclient.client.WebClient' />--> - - <set-configuration-property name="CssResource.obfuscationPrefix" - value="SWC" /> - -</module> \ No newline at end of file +</module> Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java =================================================================== --- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -22,11 +22,10 @@ - +import org.waveprotocol.box.webclient.client.HistorySupport; import org.waveprotocol.box.webclient.client.ClientEvents; import org.waveprotocol.box.webclient.client.ClientIdGenerator; import org.waveprotocol.box.webclient.client.DebugMessagePanel; -import org.waveprotocol.box.webclient.client.HistorySupport; import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer; import org.waveprotocol.box.webclient.client.Session; import org.waveprotocol.box.webclient.client.SimpleWaveStore; @@ -46,6 +45,8 @@ import org.waveprotocol.box.webclient.search.SimpleSearch; import org.waveprotocol.box.webclient.search.WaveStore; import org.waveprotocol.box.webclient.util.Log; +import org.waveprotocol.box.webclient.widget.frame.FramedPanel; +import org.waveprotocol.box.webclient.widget.loading.LoadingIndicator; import org.waveprotocol.wave.client.account.ProfileManager; import org.waveprotocol.wave.client.account.impl.ProfileManagerImpl; import org.waveprotocol.wave.client.common.safehtml.SafeHtml; @@ -68,11 +69,12 @@ import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.Command; -import com.google.gwt.user.client.DeferredCommand; import com.google.gwt.user.client.History; +import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.DockLayoutPanel; import com.google.gwt.user.client.ui.SplitLayoutPanel; +import com.google.gwt.user.client.ui.UIObject; /** * Entry point classes define <code>onModuleLoad()</code>. @@ -82,8 +84,6 @@ } interface Style extends CssResource { - String subPanel(); - String waveView(); } private static final Binder BINDER = GWT.create(Binder.class); @@ -99,10 +99,14 @@ Style style; @UiField - ImplPanel contentPanel; + FramedPanel waveFrame; + @UiField + ImplPanel waveHolder; + private final Element loading = new LoadingIndicator().getElement(); + @UiField(provided = true) - SearchPanelWidget searchPanel = new SearchPanelWidget(new SearchPanelRenderer(profiles)); + final SearchPanelWidget searchPanel = new SearchPanelWidget(new SearchPanelRenderer(profiles)); @UiField DebugMessagePanel logPanel; @@ -174,7 +178,6 @@ // cleared. self.getElement().getStyle().clearPosition(); splitPanel.setWidgetMinSize(searchPanel, 300); - splitPanel.setWidgetMinSize(contentPanel, 450); if (LogLevel.showDebug()) { logPanel.enable(); @@ -200,6 +203,9 @@ } private void setupWavePanel() { + // Hide the frame until waves start getting opened. + UIObject.setVisible(waveFrame.getElement(), false); + // Handles opening waves. ClientEvents.get().addWaveSelectionEventHandler(new WaveSelectionEventHandler() { @Override @@ -241,9 +247,7 @@ // XXX check formatting wrt GPE private native String getWebSocketBaseUrl(String moduleBase) /*-{return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";}-*/; - private native boolean useSocketIO() /*-{ - return !!$wnd.__useSocketIO -}-*/; + private native boolean useSocketIO() /*-{ return !!$wnd.__useSocketIO }-*/; /** */ @@ -266,11 +270,19 @@ wave = null; } - Element holder = contentPanel.getElement().appendChild(Document.get().createDivElement()); - final StagesProvider wave = new StagesProvider(holder, - contentPanel, waveRef, channel, idGenerator, profiles, waveStore, isNewWave); + // Release the display:none. + UIObject.setVisible(waveFrame.getElement(), true); + waveHolder.getElement().appendChild(loading); + Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement()); + StagesProvider wave = new StagesProvider( + holder, waveHolder, waveRef, channel, idGenerator, profiles, waveStore, isNewWave); this.wave = wave; - wave.load(null); + wave.load(new Command() { + @Override + public void execute() { + loading.removeFromParent(); + } + }); String encodedToken = History.getToken(); NotifyUser.info("Open Wave: " + encodedToken + " waveRef: " + waveRef.getWaveId(), true); if (encodedToken != null && !encodedToken.isEmpty()) { @@ -338,12 +350,13 @@ // javascript stack trace. // // Use minimal services here, in order to avoid the chance that reporting - // the error produces more errors. In particular, do not use Scheduler. + // the error produces more errors. In particular, do not use WIAB's + // scheduler to run this command. // Also, this code could potentially be put behind a runAsync boundary, to // save whatever dependencies it uses from the initial download. - DeferredCommand.addCommand(new Command() { + new Timer() { @Override - public void execute() { + public void run() { SafeHtmlBuilder stack = new SafeHtmlBuilder(); Throwable error = t; @@ -365,7 +378,7 @@ whenReady.use(stack.toSafeHtml()); } - }); + }.schedule(1); } private static String maybe(String value, String otherwise) { Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml =================================================================== --- trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -3,10 +3,11 @@ xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:d='urn:import:org.waveprotocol.box.webclient.client' xmlns:s='urn:import:org.waveprotocol.box.webclient.search' + xmlns:f='urn:import:org.waveprotocol.box.webclient.widget.frame' xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'> <ui:style type="cc.kune.wave.client.WebClient.Style"> @def rootBackground #f0f0ff; - @def gap 5px; + @def gap 10px; .root { background: rootBackground; position: absolute; @@ -20,12 +21,7 @@ position: absolute; } - .subPanel { - background: white; border: thin solid silver; border-radius: gap; - } - .splitPanel { - } @external gwt-SplitLayoutPanel-HDragger; @@ -34,34 +30,50 @@ background-color: rootBackground; } - .waveList { - margin-left: gap; + .searchPanel { + /* + * GWT's drag panel separators are already huge, so no margin needed on + * sides that have drag panels. + */ + margin: gap 0 0 gap; } - .waveView { - margin-right: gap; opacity: 0; visibility: hidden; - -webkit-transition: opacity 1s ease-in-out; - } - .debugPanel { + background: white; + border: thin solid silver; + border-radius: 5px; margin: 0 gap gap gap; } - .fullGap { - margin: gap; + .wavePanel { + /* + * GWT's drag panel separators are already huge, so no margin needed on + * sides that have drag panels. + */ + margin: gap 0 0 0; } + + .waveHolder { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } </ui:style> <g:DockLayoutPanel unit="PX" styleName="{style.root}"> <g:center> <g:SplitLayoutPanel ui:field="splitPanel" stylePrimaryName="{style.splitPanel}"> <g:south size="200"> - <d:DebugMessagePanel ui:field="logPanel" addStyleNames="{style.subPanel} {style.debugPanel}" /> + <d:DebugMessagePanel ui:field="logPanel" addStyleNames="{style.debugPanel}" /> </g:south> <g:west size="400"> - <s:SearchPanelWidget ui:field="searchPanel"/> + <s:SearchPanelWidget ui:field="searchPanel" addStyleNames="{style.searchPanel}"/> </g:west> <g:center> - <w:ImplPanel ui:field="contentPanel"/> + <f:FramedPanel ui:field="waveFrame" addStyleNames="{style.wavePanel}"> + <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}"/> + </f:FramedPanel> </g:center> </g:SplitLayoutPanel> </g:center> Modified: trunk/src/main/java/cc/kune/wave/server/CustomUserRegistrationServlet.java =================================================================== --- trunk/src/main/java/cc/kune/wave/server/CustomUserRegistrationServlet.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/wave/server/CustomUserRegistrationServlet.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,3 +1,4 @@ +// @formatter:off /** * Copyright 2010 Google Inc. * @@ -45,108 +46,108 @@ * * @author [email protected] (Joseph Gentle) */ -public class CustomUserRegistrationServlet extends HttpServlet { - private final AccountStore accountStore; - private final String domain; +public final class CustomUserRegistrationServlet extends HttpServlet { + private final AccountStore accountStore; + private final String domain; - private final Log LOG = Log.get(CustomUserRegistrationServlet.class); + private final Log LOG = Log.get(CustomUserRegistrationServlet.class); - @Inject - public CustomUserRegistrationServlet(final AccountStore accountStore, - @Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain) { - this.accountStore = accountStore; - this.domain = domain; + @Inject + public CustomUserRegistrationServlet(final AccountStore accountStore, + @Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain) { + this.accountStore = accountStore; + this.domain = domain; + } + + @Override + protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws IOException { + writeRegistrationPage("", AuthenticationServlet.RESPONSE_STATUS_NONE, req.getLocale(), resp); + } + + @SuppressWarnings("unchecked") + @Override + protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws IOException { + req.setCharacterEncoding("UTF-8"); + String password = req.getParameter(HttpRequestBasedCallbackHandler.PASSWORD_FIELD); + if (password == null) { + // Register the user with an empty password. + password = ""; } + final PasswordDigest passwordDigest = new PasswordDigest(password.toCharArray()); + String message = + tryCreateUser(req.getParameter(HttpRequestBasedCallbackHandler.ADDRESS_FIELD), passwordDigest); + String responseType = AuthenticationServlet.RESPONSE_STATUS_SUCCESS; - @Override - protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws IOException { - writeRegistrationPage("", AuthenticationServlet.RESPONSE_STATUS_NONE, req.getLocale(), resp); + if (message != null) { + resp.setStatus(HttpServletResponse.SC_FORBIDDEN); + responseType = AuthenticationServlet.RESPONSE_STATUS_FAILED; + } else { + message = "Registration complete."; + resp.setStatus(HttpServletResponse.SC_OK); } - @SuppressWarnings("unchecked") - @Override - protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws IOException { - req.setCharacterEncoding("UTF-8"); + writeRegistrationPage(message, responseType, req.getLocale(), resp); + } - final String username = req.getParameter(HttpRequestBasedCallbackHandler.ADDRESS_FIELD); - String passwd = req.getParameter(HttpRequestBasedCallbackHandler.PASSWORD_FIELD); - if (passwd == null) { - // Register the user with an empty password. - passwd = ""; - } - final PasswordDigest passwordDigest = new PasswordDigest(passwd.toCharArray()); - String message = tryCreateUser(username, passwordDigest); - String responseType = AuthenticationServlet.RESPONSE_STATUS_SUCCESS; + /** + * Try to create a user with the provided username and password. On error, + * returns a string containing an error message. On success, returns null. + */ + public String tryCreateUser(String username, final PasswordDigest passwordDigest) { + final String message = null; + ParticipantId id = null; - if (message != null) { - resp.setStatus(HttpServletResponse.SC_FORBIDDEN); - responseType = AuthenticationServlet.RESPONSE_STATUS_FAILED; - } else { - message = "Registration complete."; - resp.setStatus(HttpServletResponse.SC_OK); - } + try { + // First, some cleanup on the parameters. + if (username == null) { + return "Username portion of address cannot be less than 2 characters"; + } + username = username.trim().toLowerCase(); + if (username.contains(ParticipantId.DOMAIN_PREFIX)) { + id = ParticipantId.of(username); + } else { + id = ParticipantId.of(username + ParticipantId.DOMAIN_PREFIX + domain); + } + if (id.getAddress().indexOf("@") < 2) { + return "Username portion of address cannot be less than 2 characters"; + } + final String[] usernameSplit = id.getAddress().split("@"); + if (usernameSplit.length != 2 || !usernameSplit[0].matches("[\\w\\.]+")) { + return "Only letters (a-z), numbers (0-9), and periods (.) are allowed in Username"; + } + if (!id.getDomain().equals(domain)) { + return "You can only create users at the " + domain + " domain"; + } + } catch (final InvalidParticipantAddress e) { + return "Invalid username"; + } - writeRegistrationPage(message, responseType, req.getLocale(), resp); + try { + if (accountStore.getAccount(id) != null) { + return "Account already exists"; + } + } catch (final PersistenceException e) { + LOG.severe("Failed to retreive account data for " + id, e); + return "An unexpected error occured while trying to retrieve account status"; } - /** - * Try to create a user with the provided username and password. On error, - * returns a string containing an error message. On success, returns null. - */ - public String tryCreateUser(final String username, final PasswordDigest passwordDigest) { - String lusername = username; - // final String message = null; - ParticipantId id = null; + final HumanAccountDataImpl account = + new HumanAccountDataImpl(id, passwordDigest); + try { + accountStore.putAccount(account); + } catch (final PersistenceException e) { + LOG.severe("Failed to create new account for " + id, e); + return "An unexpected error occured while trying to create the account"; + } - try { - // First, some cleanup on the parameters. - if (lusername == null) { - return "Username portion of address cannot be less than 2 characters"; - } - lusername = lusername.trim().toLowerCase(); - if (lusername.contains(ParticipantId.DOMAIN_PREFIX)) { - id = ParticipantId.of(lusername); - } else { - id = ParticipantId.of(lusername + ParticipantId.DOMAIN_PREFIX + domain); - } - if (id.getAddress().indexOf("@") < 2) { - return "Username portion of address cannot be less than 2 characters"; - } - final String[] usernameSplit = id.getAddress().split("@"); - if (usernameSplit.length != 2 || !usernameSplit[0].matches("[\\w\\.]+")) { - return "Only letters (a-z), numbers (0-9), and periods (.) are allowed in Username"; - } - if (!id.getDomain().equals(domain)) { - return "You can only create users at the " + domain + " domain"; - } - } catch (final InvalidParticipantAddress e) { - return "Invalid username"; - } + return null; + } - try { - if (accountStore.getAccount(id) != null) { - return "An account with this name already exists"; - } - } catch (final PersistenceException e) { - LOG.severe("Failed to retreive account data for " + id, e); - return "An unexpected error occured while trying to retrieve account status"; - } - - final HumanAccountDataImpl account = new HumanAccountDataImpl(id, passwordDigest); - try { - accountStore.putAccount(account); - } catch (final PersistenceException e) { - LOG.severe("Failed to create new account for " + id, e); - return "An unexpected error occured while trying to create the account"; - } - - return null; - } - - private void writeRegistrationPage(final String message, final String responseType, final Locale locale, - final HttpServletResponse dest) throws IOException { - dest.setCharacterEncoding("UTF-8"); - dest.setContentType("text/html;charset=utf-8"); - UserRegistrationPage.write(dest.getWriter(), new GxpContext(locale), domain, message, responseType); - } + private void writeRegistrationPage(final String message, final String responseType, final Locale locale, + final HttpServletResponse dest) throws IOException { + dest.setCharacterEncoding("UTF-8"); + dest.setContentType("text/html;charset=utf-8"); + UserRegistrationPage.write(dest.getWriter(), new GxpContext(locale), domain, message, + responseType); + } } Modified: trunk/src/main/java/cc/kune/wave/server/WaveMain.java =================================================================== --- trunk/src/main/java/cc/kune/wave/server/WaveMain.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/cc/kune/wave/server/WaveMain.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -160,7 +160,7 @@ server.addServlet("/auth/register", injector.getInstance(CustomUserRegistrationServlet.class)); server.addServlet("/fetch/*", injector.getInstance(FetchServlet.class)); - + server.addServlet("/search/*", injector.getInstance(SearchServlet.class)); server.addServlet("/robot/dataapi", injector.getInstance(DataApiServlet.class)); Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -25,7 +25,7 @@ import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_UPLOADEDFILE; import org.ourproject.kune.blogs.client.cnt.BlogViewer; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; +import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions; import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; @@ -47,7 +47,7 @@ import com.calclab.suco.client.ioc.Provider; -public class BlogClientActions extends AbstractFoldableContentActions { +public class BlogClientActions extends OldAbstractFoldableContentActions { public BlogClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator, final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper, final Provider<ContentServiceAsync> contentServiceProvider, Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -23,7 +23,7 @@ import org.ourproject.kune.platf.client.actions.ActionEnableCondition; import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor; import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; +import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions; import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; import cc.kune.common.client.utils.SchedulerManager; @@ -64,7 +64,7 @@ private void createActions() { final ActionToolbarButtonDescriptor<StateToken> chatAbout = new ActionToolbarButtonDescriptor<StateToken>( - AccessRolDTO.Viewer, AbstractFoldableContentActions.CONTENT_TOPBAR, new Listener<StateToken>() { + AccessRolDTO.Viewer, OldAbstractFoldableContentActions.CONTENT_TOPBAR, new Listener<StateToken>() { @Override public void onEvent(final StateToken token) { deferredWrapper.get().addCommand(new ScheduledCommand() { @@ -85,7 +85,7 @@ chatAbout.setEnableCondition(notDeleted()); final ActionToolbarButtonDescriptor<StateToken> joinRoom = new ActionToolbarButtonDescriptor<StateToken>( - AccessRolDTO.Viewer, AbstractFoldableContentActions.CONTENT_TOPBAR, new Listener<StateToken>() { + AccessRolDTO.Viewer, OldAbstractFoldableContentActions.CONTENT_TOPBAR, new Listener<StateToken>() { @Override public void onEvent(final StateToken token) { final ChatEngine chatEngine = chatEngineProvider.get(); @@ -99,7 +99,7 @@ joinRoom.setMustBeAuthenticated(true); final ActionToolbarButtonDescriptor<StateToken> addRoom = new ActionToolbarButtonDescriptor<StateToken>( - AccessRolDTO.Administrator, AbstractFoldableContentActions.CONTEXT_TOPBAR, new Listener<StateToken>() { + AccessRolDTO.Administrator, OldAbstractFoldableContentActions.CONTEXT_TOPBAR, new Listener<StateToken>() { @Override public void onEvent(final StateToken token) { addRoomProvider.get().show(); Deleted: trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,7 +0,0 @@ -<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd"> -<module> - <inherits name="cc.kune.core.Core" /> - <inherits name='org.ourproject.kune.platf.KunePlatform' /> - <inherits name='org.ourproject.kune.workspace.KuneWorkspace' /> - <source path="client" /> -</module> \ No newline at end of file Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/DocsMessages.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocsMessages.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocsMessages.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,23 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.docs.client; - -public interface DocsMessages { -} Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,117 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - \*/ -package org.ourproject.kune.docs.client; - -import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_DOCUMENT; -import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_FOLDER; -import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_ROOT; -import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_UPLOADEDFILE; - -import org.ourproject.kune.docs.client.cnt.DocumentViewer; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; -import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; -import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; -import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; -import org.ourproject.kune.workspace.client.editor.ContentEditor; -import org.ourproject.kune.workspace.client.entityheader.EntityHeader; -import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; -import org.ourproject.kune.workspace.client.themes.WsBackManager; -import org.ourproject.kune.workspace.client.upload.FileUploader; - -import cc.kune.common.client.utils.SchedulerManager; -import cc.kune.core.client.cnt.ContentActionRegistry; -import cc.kune.core.client.errors.ErrorHandler; -import cc.kune.core.client.i18n.I18nUITranslationService; -import cc.kune.core.client.rpcservices.ContentServiceAsync; -import cc.kune.core.client.rpcservices.GroupServiceAsync; -import cc.kune.core.client.services.FileDownloadUtils; -import cc.kune.core.client.state.Session; -import cc.kune.core.client.state.StateManager; - -import com.calclab.suco.client.ioc.Provider; - -public class DocumentClientActions extends AbstractFoldableContentActions { - public DocumentClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator, - final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper, - final Provider<ContentServiceAsync> contentServiceProvider, - final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider, - final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, - final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, - final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, - final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, - final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { - super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, - contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry, - contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider, - documentViewer, entityLogo, publicLink, wsBackManager); - } - - @Override - protected void createActions() { - final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE }; - final String[] containers = { TYPE_ROOT, TYPE_FOLDER, }; - final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE }; - final String[] containersNoRoot = { TYPE_FOLDER }; - final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE }; - - final String parentMenuTitle = i18n.t("File"); - final String parentMenuTitleCtx = i18n.t("Folder"); - - createNewContainerAction(TYPE_FOLDER, "images/nav/folder_add.png", i18n.t("New folder"), parentMenuTitleCtx, - i18n.t("New"), i18n.t("New folder"), Position.ctx, TYPE_ROOT, TYPE_FOLDER); - - createNewContentAction(TYPE_DOCUMENT, "images/nav/page_add.png", i18n.t("New document"), parentMenuTitleCtx, - Position.ctx, TYPE_ROOT, TYPE_FOLDER); - - createTranslateAction(parentMenuTitle, TYPE_DOCUMENT, TYPE_FOLDER); - createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents); - createEditAction(parentMenuTitle, TYPE_DOCUMENT); - createContentModeratedActions(parentMenuTitle, contentsModerated); - createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot); - - // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt = - // createSetAsDefContent(parentMenuTitleCtx); - - createRefreshCntAction(parentMenuTitle, contents); - createRefreshCxtAction(parentMenuTitleCtx, containers); - - createSetAsDefContent(parentMenuTitle, contents); - - createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE); - - createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"), - null, containers); - - createDownloadActions(TYPE_UPLOADEDFILE); - - createGoAction(all); - - createGoHomeAction(containers); - - createDelContainerAction("Delete folder", parentMenuTitleCtx, containersNoRoot); - createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents); - createShowDeletedItems(parentMenuTitleCtx, all); - } - - @Override - protected void createPostSessionInitActions() { - // super.createUploadMediaAction(TYPE_GALLERY); - } -} Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientTool.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,66 +0,0 @@ -/* - * - * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.docs.client; - -import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; -import org.ourproject.kune.workspace.client.themes.WsThemeManager; -import org.ourproject.kune.workspace.client.tool.OldFoldableAbstractClientTool; - -import cc.kune.core.client.i18n.I18nUITranslationService; -import cc.kune.core.client.registry.ContentCapabilitiesRegistry; -import cc.kune.gspace.client.tool.ToolSelector; - -public class DocumentClientTool extends OldFoldableAbstractClientTool { - public static final String NAME = "docs"; - public static final String TYPE_ROOT = NAME + "." + "root"; - public static final String TYPE_FOLDER = NAME + "." + "folder"; - public static final String TYPE_DOCUMENT = NAME + "." + "doc"; - public static final String TYPE_UPLOADEDFILE = NAME + "." + OldFoldableAbstractClientTool.UPLOADEDFILE_SUFFIX; - public static final String TYPE_WAVE = NAME + "." + OldFoldableAbstractClientTool.WAVE_SUFFIX; - - public DocumentClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector, - final WsThemeManager wsThemePresenter, final WorkspaceSkeleton ws, - final ContentCapabilitiesRegistry cntCapRegistry) { - super(NAME, i18n.t("documents"), toolSelector, wsThemePresenter, ws, cntCapRegistry); - - // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); - registerAuthorableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); - registerDragableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE); - registerDropableTypes(TYPE_ROOT, TYPE_FOLDER); - registerPublishModerableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); - registerRateableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); - registerRenamableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE); - registerTageableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); - registerTranslatableTypes(TYPE_DOCUMENT, TYPE_FOLDER); - - registerIcons(); - } - - public String getName() { - return NAME; - } - - private void registerIcons() { - registerContentTypeIcon(TYPE_FOLDER, "images/nav/folder.png"); - registerContentTypeIcon(TYPE_DOCUMENT, "images/nav/page.png"); - registerUploadTypesAndMimes(TYPE_UPLOADEDFILE); - } - -} Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -24,7 +24,7 @@ import static org.ourproject.kune.gallery.client.GalleryClientTool.TYPE_UPLOADEDFILE; import org.ourproject.kune.gallery.client.cnt.GalleryViewer; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; +import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions; import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; @@ -46,7 +46,7 @@ import com.calclab.suco.client.ioc.Provider; -public class GalleryClientActions extends AbstractFoldableContentActions { +public class GalleryClientActions extends OldAbstractFoldableContentActions { public GalleryClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator, final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper, final Provider<ContentServiceAsync> contentServiceProvider, Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -25,7 +25,7 @@ import static org.ourproject.kune.wiki.client.WikiClientTool.TYPE_WIKIPAGE; import org.ourproject.kune.wiki.client.cnt.WikiViewer; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; +import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions; import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; @@ -47,7 +47,7 @@ import com.calclab.suco.client.ioc.Provider; -public class WikiClientActions extends AbstractFoldableContentActions { +public class WikiClientActions extends OldAbstractFoldableContentActions { public WikiClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator, final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper, final Provider<ContentServiceAsync> contentServiceProvider, Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,674 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.workspace.client; - -import org.ourproject.kune.platf.client.actions.ActionCheckedCondition; -import org.ourproject.kune.platf.client.actions.ActionEnableCondition; -import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator; -import org.ourproject.kune.platf.client.actions.ActionToolbarMenuAndItemDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarMenuCheckItemDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor; -import org.ourproject.kune.platf.client.actions.ActionToolbarPosition; -import org.ourproject.kune.platf.client.actions.RadioMustBeChecked; -import org.ourproject.kune.platf.client.ui.noti.NotifyUser; -import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; -import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; -import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; -import org.ourproject.kune.workspace.client.editor.ContentEditor; -import org.ourproject.kune.workspace.client.entityheader.EntityHeader; -import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; -import org.ourproject.kune.workspace.client.themes.WsBackManager; -import org.ourproject.kune.workspace.client.upload.FileUploader; - -import cc.kune.common.client.utils.SchedulerManager; -import cc.kune.core.client.cnt.ContentActionRegistry; -import cc.kune.core.client.cnt.FoldableContent; -import cc.kune.core.client.errors.ErrorHandler; -import cc.kune.core.client.errors.SessionExpiredException; -import cc.kune.core.client.i18n.I18nUITranslationService; -import cc.kune.core.client.rpcservices.AsyncCallbackSimple; -import cc.kune.core.client.rpcservices.ContentServiceAsync; -import cc.kune.core.client.rpcservices.GroupServiceAsync; -import cc.kune.core.client.services.FileDownloadUtils; -import cc.kune.core.client.state.Session; -import cc.kune.core.client.state.StateManager; -import cc.kune.core.shared.domain.ContentStatus; -import cc.kune.core.shared.domain.utils.StateToken; -import cc.kune.core.shared.dto.AccessRolDTO; -import cc.kune.core.shared.dto.ContentSimpleDTO; -import cc.kune.core.shared.dto.GroupDTO; -import cc.kune.core.shared.dto.InitDataDTO; -import cc.kune.core.shared.dto.StateAbstractDTO; -import cc.kune.core.shared.dto.StateContainerDTO; -import cc.kune.core.shared.dto.StateContentDTO; - -import com.calclab.suco.client.events.Listener; -import com.calclab.suco.client.events.Listener0; -import com.calclab.suco.client.ioc.Provider; -import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.user.client.rpc.AsyncCallback; - -public abstract class AbstractFoldableContentActions { - - protected enum Position { - cnt, ctx - } - - public static final ActionToolbarPosition CONTENT_BOTTOMBAR = new ActionToolbarPosition("afca-ctn-bottom"); - - public static final ActionToolbarPosition CONTENT_TOPBAR = new ActionToolbarPosition("afca-ctn-top"); - public static final ActionToolbarPosition CONTEXT_BOTTOMBAR = new ActionToolbarPosition("afca-ctx-bottom"); - public static final ActionToolbarPosition CONTEXT_TOPBAR = new ActionToolbarPosition("afca-ctx-top"); - private static final String PUBLICATION_MENU = "Publication"; - - protected final ContentActionRegistry contentActionRegistry; - protected final Provider<ContentServiceAsync> contentServiceProvider; - protected final ContextActionRegistry contextActionRegistry; - protected final ContextNavigator contextNavigator; - protected final Provider<ContextPropEditor> contextPropEditorProvider; - protected final SchedulerManager deferredCommandWrapper; - protected final EntityHeader entityLogo; - protected final ErrorHandler errorHandler; - protected final Provider<FileDownloadUtils> fileDownloadProvider; - protected final Provider<FileUploader> fileUploaderProvider; - protected final FoldableContent foldableContent; - protected final Provider<GroupServiceAsync> groupServiceProvider; - protected final I18nUITranslationService i18n; - private final SitePublicSpaceLink publicLink; - protected final Session session; - protected final StateManager stateManager; - protected final Provider<ContentEditor> textEditorProvider; - - private final WsBackManager wsBackManager; - - public AbstractFoldableContentActions(final Session session, final StateManager stateManager, - final I18nUITranslationService i18n, final ErrorHandler errorHandler, - final SchedulerManager deferredCommandWrapper, final Provider<GroupServiceAsync> groupServiceProvider, - final Provider<ContentServiceAsync> contentServiceProvider, - final Provider<FileUploader> fileUploaderProvider, final ContextNavigator contextNavigator, - final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, - final Provider<FileDownloadUtils> fileDownloadProvider, final Provider<ContentEditor> textEditorProvider, - final Provider<ContextPropEditor> contextPropEditorProvider, final FoldableContent foldableContent, - final EntityHeader entityLogo, final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { - this.session = session; - this.stateManager = stateManager; - this.i18n = i18n; - this.errorHandler = errorHandler; - this.deferredCommandWrapper = deferredCommandWrapper; - this.groupServiceProvider = groupServiceProvider; - this.contentServiceProvider = contentServiceProvider; - this.fileUploaderProvider = fileUploaderProvider; - this.contextNavigator = contextNavigator; - this.contentActionRegistry = contentActionRegistry; - this.contextActionRegistry = contextActionRegistry; - this.fileDownloadProvider = fileDownloadProvider; - this.textEditorProvider = textEditorProvider; - this.contextPropEditorProvider = contextPropEditorProvider; - this.foldableContent = foldableContent; - this.entityLogo = entityLogo; - this.publicLink = publicLink; - this.wsBackManager = wsBackManager; - createActions(); - session.onInitDataReceived(new Listener<InitDataDTO>() { - @Override - public void onEvent(final InitDataDTO parameter) { - createPostSessionInitActions(); - } - }); - } - - protected abstract void createActions(); - - protected void createContentModeratedActions(final String parentMenuTitle, final String... contentsModerated) { - createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Published online"), ContentStatus.publishedOnline, - contentsModerated); - createSetStatusAction(AccessRolDTO.Editor, i18n.t("Editing in progress"), ContentStatus.editingInProgress, - contentsModerated); - createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Rejected"), ContentStatus.rejected, contentsModerated); - createSetStatusAction(AccessRolDTO.Editor, i18n.t("Submitted for publish"), - ContentStatus.submittedForEvaluation, contentsModerated); - createSetStatusAction(AccessRolDTO.Administrator, i18n.t("In the rubbish bin"), ContentStatus.inTheDustbin, - contentsModerated); - } - - protected void createContentRenameAction(final String parentMenuTitle, final String textDescription, - final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtn = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - contextNavigator.editItem(stateToken); - } - }); - renameCtn.setTextDescription(textDescription); - renameCtn.setParentMenuTitle(parentMenuTitle); - renameCtn.setEnableCondition(notDeleted()); - - // contentActionRegistry.addAction(renameCtn, registerInTypes); - } - - protected void createDelContainerAction(final String text, final String parentMenuTitle, - final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> delContainer = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - NotifyUser.info("Sorry, in development"); - } - }); - delContainer.setParentMenuTitle(parentMenuTitle); - delContainer.setTextDescription(i18n.t(text)); - delContainer.setMustBeConfirmed(true); - delContainer.setConfirmationTitle(i18n.t("Please confirm")); - delContainer.setConfirmationText(i18n.t("You will delete it with all its contents. Are you sure?")); - contextActionRegistry.addAction(delContainer, registerInTypes); - } - - protected void createDelContentAction(final String parentMenuTitle, final String textDescription, - final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> delContent = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - contentServiceProvider.get().delContent(session.getUserHash(), token, - new AsyncCallbackSimple<StateContentDTO>() { - @Override - public void onSuccess(final StateContentDTO state) { - session.setCurrentState(state); - final StateToken parent = token.copy().clearDocument(); - stateManager.gotoToken(parent); - contextNavigator.clear(); - contextNavigator.refreshState(); - } - }); - } - }); - delContent.setParentMenuTitle(parentMenuTitle); - delContent.setTextDescription(textDescription); - delContent.setMustBeConfirmed(true); - delContent.setConfirmationTitle(i18n.t("Please confirm")); - delContent.setConfirmationText(i18n.t("Are you sure?")); - delContent.setEnableCondition(notDefAndNotDeleted()); - // contentActionRegistry.addAction(delContent, registerInTypes); - } - - protected void createDownloadActions(final String typeUploadedfile) { - final ActionToolbarButtonDescriptor<StateToken> download = new ActionToolbarButtonDescriptor<StateToken>( - AccessRolDTO.Viewer, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - downloadContent(token); - } - }); - download.setMustBeAuthenticated(false); - download.setTextDescription(i18n.t("Download")); - download.setToolTip(i18n.t("Download this file")); - download.setIconUrl("images/nav/download.png"); - - final ActionMenuItemDescriptor<StateToken> downloadCtx = new ActionMenuItemDescriptor<StateToken>( - AccessRolDTO.Viewer, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - downloadContent(token); - } - }); - downloadCtx.setMustBeAuthenticated(false); - downloadCtx.setTextDescription(i18n.t("Download")); - downloadCtx.setIconUrl("images/nav/download.png"); - - // contentActionRegistry.addAction(download, typeUploadedfile); - contextActionRegistry.addAction(downloadCtx, typeUploadedfile); - } - - protected ActionToolbarButtonDescriptor<StateToken> createEditAction(final String fileMenuTitle, - final String... registerInTypes) { - final ActionToolbarButtonDescriptor<StateToken> editContent = new ActionToolbarButtonDescriptor<StateToken>( - AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - NotifyUser.showProgressProcessing(); - session.check(new AsyncCallbackSimple<Void>() { - @Override - public void onSuccess(final Void result) { - final ContentEditor editor = textEditorProvider.get(); - foldableContent.detach(); - contextNavigator.detach(); - contextPropEditorProvider.get().attach(); - editor.edit(session.getContentState().getContent(), new Listener<String>() { - @Override - public void onEvent(final String html) { - NotifyUser.showProgressSaving(); - contentServiceProvider.get().save(session.getUserHash(), stateToken, html, - new AsyncCallback<Void>() { - @Override - public void onFailure(final Throwable caught) { - NotifyUser.hideProgress(); - if (caught instanceof SessionExpiredException) { - errorHandler.doSessionExpired(); - } else { - NotifyUser.error(i18n.t("Error saving document. Retrying...")); - errorHandler.process(caught); - editor.onSaveFailed(); - } - } - - @Override - public void onSuccess(final Void param) { - NotifyUser.hideProgress(); - session.getContentState().setContent(html); - editor.onSavedSuccessful(); - } - }); - } - }, new Listener0() { - @Override - public void onEvent() { - // onClose - deferredCommandWrapper.addCommand(new ScheduledCommand() { - @Override - public void execute() { - foldableContent.attach(); - contextPropEditorProvider.get().detach(); - contextNavigator.attach(); - if (session.inSameToken(stateToken)) { - contextNavigator.refreshState(); - foldableContent.refreshState(); - } - } - }); - } - }); - editor.setFileMenuTitle(fileMenuTitle); - NotifyUser.hideProgress(); - } - }); - } - }); - editContent.setTextDescription(i18n.tWithNT("Edit", "used in button")); - editContent.setIconUrl("images/content_edit.png"); - editContent.setLeftSeparator(ActionToolbarButtonSeparator.spacer); - editContent.setEnableCondition(notDeleted()); - // contentActionRegistry.addAction(editContent, registerInTypes); - return editContent; - } - - protected ActionMenuItemDescriptor<StateToken> createGoAction(final String... registerInTypes) { - final ActionMenuItemDescriptor<StateToken> go = new ActionMenuItemDescriptor<StateToken>(AccessRolDTO.Viewer, - new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - stateManager.gotoToken(token); - } - }); - go.setMustBeAuthenticated(false); - go.setTextDescription(i18n.t("Open")); - go.setIconUrl("images/nav/go.png"); - contextActionRegistry.addAction(go, registerInTypes); - return go; - } - - protected ActionToolbarButtonDescriptor<StateToken> createGoHomeAction(final String... registerInTypes) { - final ActionToolbarButtonDescriptor<StateToken> goGroupHome = new ActionToolbarButtonDescriptor<StateToken>( - AccessRolDTO.Viewer, CONTEXT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - stateManager.gotoToken(token.getGroup()); - } - }); - goGroupHome.setMustBeAuthenticated(false); - goGroupHome.setIconUrl("images/group-home.png"); - goGroupHome.setEnableCondition(new ActionEnableCondition<StateToken>() { - @Override - public boolean mustBeEnabled(final StateToken token) { - final StateToken defContentToken = session.getCurrentState().getGroup().getDefaultContent().getStateToken(); - return !session.getCurrentStateToken().equals(defContentToken); - } - }); - goGroupHome.setLeftSeparator(ActionToolbarButtonSeparator.fill); - contextActionRegistry.addAction(goGroupHome, registerInTypes); - return goGroupHome; - } - - protected void createNewContainerAction(final String contentTypeId, final String iconUrl, - final String textDescription, final String parentMenuTitle, final String parentMenuSubtitle, - final String defaultName, final Position position, final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> addFolder; - addFolder = new ActionToolbarMenuAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_TOPBAR, - new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - NotifyUser.showProgressProcessing(); - contentServiceProvider.get().addFolder(session.getUserHash(), stateToken, defaultName, - contentTypeId, new AsyncCallbackSimple<StateContainerDTO>() { - @Override - public void onSuccess(final StateContainerDTO state) { - contextNavigator.setEditOnNextStateChange(true); - stateManager.setRetrievedState(state); - } - }); - } - }); - addFolder.setTextDescription(textDescription); - addFolder.setParentMenuTitle(parentMenuTitle); - addFolder.setParentSubMenuTitle(parentMenuSubtitle); - addFolder.setIconUrl(iconUrl); - register(addFolder, position, registerInTypes); - } - - protected ActionToolbarMenuAndItemDescriptor<StateToken> createNewContentAction(final String typeId, - final String iconUrl, final String description, final String parentMenuTitle, final Position position, - final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> addContent = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() { - @Override - public void onEvent() { - NotifyUser.showProgressProcessing(); - contentServiceProvider.get().addContent(session.getUserHash(), - session.getCurrentState().getStateToken(), description, typeId, - new AsyncCallbackSimple<StateContentDTO>() { - @Override - public void onSuccess(final StateContentDTO state) { - contextNavigator.setEditOnNextStateChange(true); - stateManager.setRetrievedState(state); - } - }); - } - }); - addContent.setTextDescription(description); - addContent.setParentMenuTitle(parentMenuTitle); - addContent.setParentSubMenuTitle(i18n.t("New")); - addContent.setIconUrl(iconUrl); - register(addContent, position, registerInTypes); - return addContent; - } - - protected abstract void createPostSessionInitActions(); - - protected ActionToolbarMenuDescriptor<StateToken> createRefreshCntAction(final String parentMenuTitle, - final String... registerInTypes) { - final ActionToolbarMenuDescriptor<StateToken> refreshCnt = new ActionToolbarMenuDescriptor<StateToken>( - AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - stateManager.reload(); - contextNavigator.selectItem(stateToken); - } - }); - refreshCnt.setMustBeAuthenticated(false); - refreshCnt.setParentMenuTitle(parentMenuTitle); - refreshCnt.setTextDescription(i18n.t("Refresh")); - refreshCnt.setIconUrl("images/nav/refresh.png"); - // contentActionRegistry.addAction(refreshCnt, registerInTypes); - return refreshCnt; - } - - protected ActionToolbarMenuDescriptor<StateToken> createRefreshCxtAction(final String parentMenuTitleCtx, - final String... registerInTypes) { - final ActionToolbarMenuDescriptor<StateToken> refreshCtx = new ActionToolbarMenuDescriptor<StateToken>( - AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - stateManager.reload(); - contextNavigator.selectItem(stateToken); - } - }); - refreshCtx.setMustBeAuthenticated(false); - refreshCtx.setParentMenuTitle(parentMenuTitleCtx); - refreshCtx.setTextDescription(i18n.t("Refresh")); - refreshCtx.setIconUrl("images/nav/refresh.png"); - contextActionRegistry.addAction(refreshCtx, registerInTypes); - return refreshCtx; - } - - protected ActionToolbarMenuAndItemDescriptor<StateToken> createRenameContentInCtxAction( - final String parentMenuTitleCtx, final String textDescription, final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtx = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - contextNavigator.editItem(stateToken); - } - }); - renameCtx.setTextDescription(textDescription); - renameCtx.setParentMenuTitle(parentMenuTitleCtx); - contextActionRegistry.addAction(renameCtx, registerInTypes); - return renameCtx; - } - - protected ActionToolbarMenuDescriptor<StateToken> createSetAsDefContent(final String parentMenuTitle, - final String... registerInTypes) { - final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupContent; - setAsDefGroupContent = new ActionToolbarMenuDescriptor<StateToken>(AccessRolDTO.Administrator, CONTENT_TOPBAR, - new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - NotifyUser.showProgressProcessing(); - contentServiceProvider.get().setAsDefaultContent(session.getUserHash(), token, - new AsyncCallbackSimple<ContentSimpleDTO>() { - @Override - public void onSuccess(final ContentSimpleDTO defContent) { - session.getCurrentState().getGroup().setDefaultContent(defContent); - NotifyUser.hideProgress(); - NotifyUser.info(i18n.t("Content selected as the group homepage")); - } - }); - } - }); - setAsDefGroupContent.setTextDescription(i18n.t("Set this as the default group page")); - setAsDefGroupContent.setIconUrl("images/group-home.png"); - setAsDefGroupContent.setEnableCondition(notDefAndNotDeleted()); - setAsDefGroupContent.setParentMenuTitle(parentMenuTitle); - // contentActionRegistry.addAction(setAsDefGroupContent, - // registerInTypes); - return setAsDefGroupContent; - } - - protected void createSetGroupBackImageAction(final String parentMenuTitle, final String... registerInTypes) { - final ActionToolbarMenuAndItemDescriptor<StateToken> setGroupBackImage = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken token) { - groupServiceProvider.get().setGroupBackImage(session.getUserHash(), token, - new AsyncCallbackSimple<GroupDTO>() { - @Override - public void onSuccess(final GroupDTO newGroup) { - if (session.getCurrentState().getGroup().getShortName().equals( - newGroup.getShortName())) { - session.getCurrentState().setGroup(newGroup); - wsBackManager.clearBackImage(); - wsBackManager.setBackImage(newGroup.getGroupBackImage().getStateToken()); - } - } - }); - } - }); - setGroupBackImage.setParentMenuTitle(parentMenuTitle); - setGroupBackImage.setTextDescription(i18n.t("Set this as the group background image")); - setGroupBackImage.setIconUrl("images/nav/picture.png"); - setGroupBackImage.setEnableCondition(new ActionEnableCondition<StateToken>() { - @Override - public boolean mustBeEnabled(final StateToken token) { - return session.getContentState().getMimeType().isImage(); - } - }); - // contentActionRegistry.addAction(setGroupBackImage, registerInTypes); - } - - protected void createSetStatusAction(final AccessRolDTO rol, final String textDescription, - final ContentStatus status, final String[] contentsModerated) { - final ActionToolbarMenuRadioDescriptor<StateToken> action = new ActionToolbarMenuRadioDescriptor<StateToken>( - rol, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - setContentStatus(status, stateToken); - } - }, "ContentRadioStatus", new RadioMustBeChecked() { - @Override - public boolean mustBeChecked() { - if (session.getContainerState() instanceof StateContentDTO) { - final ContentStatus currentStatus = session.getContentState().getStatus(); - return status.equals(currentStatus); - } - return false; - } - }); - action.setTextDescription(textDescription); - action.setParentMenuTitle(PUBLICATION_MENU); - action.setParentMenuIconUrl("images/anybody.png"); - // contentActionRegistry.addAction(action, contentsModerated); - } - - protected void createShowDeletedItems(final String parentMenuTitle, final String... registerInTypes) { - final ActionToolbarMenuCheckItemDescriptor<StateToken> showDeletedItems = new ActionToolbarMenuCheckItemDescriptor<StateToken>( - AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() { - @Override - public void onEvent() { - final boolean mustShow = !session.getCurrentUserInfo().getShowDeletedContent(); - session.getCurrentUserInfo().setShowDeletedContent(mustShow); - if (!mustShow && session.isCurrentStateAContent() - && session.getContentState().getStatus().equals(ContentStatus.inTheDustbin)) { - stateManager.gotoToken(session.getCurrentStateToken().getGroup()); - } - contextNavigator.clear(); - contextNavigator.refreshState(); - } - }, new ActionCheckedCondition() { - @Override - public boolean mustBeChecked() { - return session.getShowDeletedContent(); - } - }); - showDeletedItems.setParentMenuTitle(parentMenuTitle); - showDeletedItems.setTextDescription("Show deleted items"); - showDeletedItems.setMustBeAuthenticated(true); - contextActionRegistry.addAction(showDeletedItems, registerInTypes); - } - - protected ActionToolbarMenuDescriptor<StateToken> createTranslateAction(final String fileMenuTitle, - final String... registerInTypes) { - final ActionToolbarMenuDescriptor<StateToken> translateContent = new ActionToolbarMenuDescriptor<StateToken>( - AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { - @Override - public void onEvent(final StateToken stateToken) { - NotifyUser.important(i18n.t("Sorry, this functionality is currently in development")); - } - }); - translateContent.setParentMenuTitle(fileMenuTitle); - translateContent.setTextDescription(i18n.tWithNT("Translate", "used in button")); - translateContent.setToolTip(i18n.t("Translate this document to other languages")); - translateContent.setIconUrl("images/language.gif"); - translateContent.setEnableCondition(notDeleted()); - // contentActionRegistry.addAction(translateContent, registerInTypes); - return translateContent; - } - - protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadAction(final String textDescription, - final String iconUrl, final String toolTip, final String permitedExtensions, - final String... registerInTypes) { - final ActionToolbarButtonAndItemDescriptor<StateToken> uploadFile; - uploadFile = new ActionToolbarButtonAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_BOTTOMBAR, - new Listener0() { - @Override - public void onEvent() { - if (permitedExtensions != null) { - // FIXME: can't be reset ... - // fileUploaderProvider.get().setPermittedExtensions(permitedExtensions); - } else { - // FIXME: can't be reset ... - // fileUploaderProvider.get().resetPermittedExtensions(); - } - fileUploaderProvider.get().show(); - } - }); - uploadFile.setTextDescription(textDescription); - uploadFile.setIconUrl(iconUrl); - uploadFile.setToolTip(toolTip); - contextActionRegistry.addAction(uploadFile, registerInTypes); - return uploadFile; - } - - protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadMediaAction(final String... registerInTypes) { - final ActionToolbarButtonAndItemDescriptor<StateToken> uploadMedia = createUploadAction(i18n.t("Upload media"), - "images/nav/upload.png", i18n.t("Upload some media (images, videos...)"), - session.getGalleryPermittedExtensions()); - contextActionRegistry.addAction(uploadMedia, registerInTypes); - return uploadMedia; - } - - protected void downloadContent(final StateToken token) { - fileDownloadProvider.get().downloadFile(token); - } - - private ActionEnableCondition<StateToken> notDefAndNotDeleted() { - return new ActionEnableCondition<StateToken>() { - @Override - public boolean mustBeEnabled(final StateToken token) { - final boolean isNotDefContentToken = !session.getCurrentState().getGroup().getDefaultContent().getStateToken().equals( - session.getCurrentStateToken()); - return isNotDefContentToken && notDeleted().mustBeEnabled(token); - } - }; - } - - private ActionEnableCondition<StateToken> notDeleted() { - return new ActionEnableCondition<StateToken>() { - @Override - public boolean mustBeEnabled(final StateToken token) { - final boolean isNotDeleted = !(session.isCurrentStateAContent() && session.getContentState().getStatus().equals( - ContentStatus.inTheDustbin)); - return isNotDeleted; - } - }; - } - - private void register(final ActionToolbarMenuAndItemDescriptor<StateToken> action, final Position position, - final String... registerInTypes) { - if (position.equals(Position.ctx)) { - contextActionRegistry.addAction(action, registerInTypes); - } else if (position.equals(Position.cnt)) { - // contentActionRegistry.addAction(action, registerInTypes); - } - } - - private void setContentStatus(final ContentStatus status, final StateToken stateToken) { - final AsyncCallbackSimple<StateAbstractDTO> callback = new AsyncCallbackSimple<StateAbstractDTO>() { - @Override - public void onSuccess(final StateAbstractDTO state) { - if (session.inSameToken(stateToken)) { - session.setCurrentState(state); - publicLink.setState(state); - foldableContent.refreshState(); - } - contextNavigator.setItemStatus(stateToken, status); - } - }; - if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected) - || status.equals(ContentStatus.inTheDustbin)) { - contentServiceProvider.get().setStatusAsAdmin(session.getUserHash(), stateToken, status, callback); - } else { - contentServiceProvider.get().setStatus(session.getUserHash(), stateToken, status, callback); - } - } - -} Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/OldAbstractFoldableContentActions.java (from rev 1295, trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java) =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/OldAbstractFoldableContentActions.java (rev 0) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/OldAbstractFoldableContentActions.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,674 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.ourproject.kune.workspace.client; + +import org.ourproject.kune.platf.client.actions.ActionCheckedCondition; +import org.ourproject.kune.platf.client.actions.ActionEnableCondition; +import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator; +import org.ourproject.kune.platf.client.actions.ActionToolbarMenuAndItemDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarMenuCheckItemDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor; +import org.ourproject.kune.platf.client.actions.ActionToolbarPosition; +import org.ourproject.kune.platf.client.actions.RadioMustBeChecked; +import org.ourproject.kune.platf.client.ui.noti.NotifyUser; +import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; +import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry; +import org.ourproject.kune.workspace.client.cxt.ContextPropEditor; +import org.ourproject.kune.workspace.client.editor.ContentEditor; +import org.ourproject.kune.workspace.client.entityheader.EntityHeader; +import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.themes.WsBackManager; +import org.ourproject.kune.workspace.client.upload.FileUploader; + +import cc.kune.common.client.utils.SchedulerManager; +import cc.kune.core.client.cnt.ContentActionRegistry; +import cc.kune.core.client.cnt.FoldableContent; +import cc.kune.core.client.errors.ErrorHandler; +import cc.kune.core.client.errors.SessionExpiredException; +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.rpcservices.AsyncCallbackSimple; +import cc.kune.core.client.rpcservices.ContentServiceAsync; +import cc.kune.core.client.rpcservices.GroupServiceAsync; +import cc.kune.core.client.services.FileDownloadUtils; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; +import cc.kune.core.shared.domain.ContentStatus; +import cc.kune.core.shared.domain.utils.StateToken; +import cc.kune.core.shared.dto.AccessRolDTO; +import cc.kune.core.shared.dto.ContentSimpleDTO; +import cc.kune.core.shared.dto.GroupDTO; +import cc.kune.core.shared.dto.InitDataDTO; +import cc.kune.core.shared.dto.StateAbstractDTO; +import cc.kune.core.shared.dto.StateContainerDTO; +import cc.kune.core.shared.dto.StateContentDTO; + +import com.calclab.suco.client.events.Listener; +import com.calclab.suco.client.events.Listener0; +import com.calclab.suco.client.ioc.Provider; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; +import com.google.gwt.user.client.rpc.AsyncCallback; + +public abstract class OldAbstractFoldableContentActions { + + protected enum Position { + cnt, ctx + } + + public static final ActionToolbarPosition CONTENT_BOTTOMBAR = new ActionToolbarPosition("afca-ctn-bottom"); + + public static final ActionToolbarPosition CONTENT_TOPBAR = new ActionToolbarPosition("afca-ctn-top"); + public static final ActionToolbarPosition CONTEXT_BOTTOMBAR = new ActionToolbarPosition("afca-ctx-bottom"); + public static final ActionToolbarPosition CONTEXT_TOPBAR = new ActionToolbarPosition("afca-ctx-top"); + private static final String PUBLICATION_MENU = "Publication"; + + protected final ContentActionRegistry contentActionRegistry; + protected final Provider<ContentServiceAsync> contentServiceProvider; + protected final ContextActionRegistry contextActionRegistry; + protected final ContextNavigator contextNavigator; + protected final Provider<ContextPropEditor> contextPropEditorProvider; + protected final SchedulerManager deferredCommandWrapper; + protected final EntityHeader entityLogo; + protected final ErrorHandler errorHandler; + protected final Provider<FileDownloadUtils> fileDownloadProvider; + protected final Provider<FileUploader> fileUploaderProvider; + protected final FoldableContent foldableContent; + protected final Provider<GroupServiceAsync> groupServiceProvider; + protected final I18nUITranslationService i18n; + private final SitePublicSpaceLink publicLink; + protected final Session session; + protected final StateManager stateManager; + protected final Provider<ContentEditor> textEditorProvider; + + private final WsBackManager wsBackManager; + + public OldAbstractFoldableContentActions(final Session session, final StateManager stateManager, + final I18nUITranslationService i18n, final ErrorHandler errorHandler, + final SchedulerManager deferredCommandWrapper, final Provider<GroupServiceAsync> groupServiceProvider, + final Provider<ContentServiceAsync> contentServiceProvider, + final Provider<FileUploader> fileUploaderProvider, final ContextNavigator contextNavigator, + final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, + final Provider<FileDownloadUtils> fileDownloadProvider, final Provider<ContentEditor> textEditorProvider, + final Provider<ContextPropEditor> contextPropEditorProvider, final FoldableContent foldableContent, + final EntityHeader entityLogo, final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { + this.session = session; + this.stateManager = stateManager; + this.i18n = i18n; + this.errorHandler = errorHandler; + this.deferredCommandWrapper = deferredCommandWrapper; + this.groupServiceProvider = groupServiceProvider; + this.contentServiceProvider = contentServiceProvider; + this.fileUploaderProvider = fileUploaderProvider; + this.contextNavigator = contextNavigator; + this.contentActionRegistry = contentActionRegistry; + this.contextActionRegistry = contextActionRegistry; + this.fileDownloadProvider = fileDownloadProvider; + this.textEditorProvider = textEditorProvider; + this.contextPropEditorProvider = contextPropEditorProvider; + this.foldableContent = foldableContent; + this.entityLogo = entityLogo; + this.publicLink = publicLink; + this.wsBackManager = wsBackManager; + createActions(); + session.onInitDataReceived(new Listener<InitDataDTO>() { + @Override + public void onEvent(final InitDataDTO parameter) { + createPostSessionInitActions(); + } + }); + } + + protected abstract void createActions(); + + protected void createContentModeratedActions(final String parentMenuTitle, final String... contentsModerated) { + createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Published online"), ContentStatus.publishedOnline, + contentsModerated); + createSetStatusAction(AccessRolDTO.Editor, i18n.t("Editing in progress"), ContentStatus.editingInProgress, + contentsModerated); + createSetStatusAction(AccessRolDTO.Administrator, i18n.t("Rejected"), ContentStatus.rejected, contentsModerated); + createSetStatusAction(AccessRolDTO.Editor, i18n.t("Submitted for publish"), + ContentStatus.submittedForEvaluation, contentsModerated); + createSetStatusAction(AccessRolDTO.Administrator, i18n.t("In the rubbish bin"), ContentStatus.inTheDustbin, + contentsModerated); + } + + protected void createContentRenameAction(final String parentMenuTitle, final String textDescription, + final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtn = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + contextNavigator.editItem(stateToken); + } + }); + renameCtn.setTextDescription(textDescription); + renameCtn.setParentMenuTitle(parentMenuTitle); + renameCtn.setEnableCondition(notDeleted()); + + // contentActionRegistry.addAction(renameCtn, registerInTypes); + } + + protected void createDelContainerAction(final String text, final String parentMenuTitle, + final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> delContainer = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + NotifyUser.info("Sorry, in development"); + } + }); + delContainer.setParentMenuTitle(parentMenuTitle); + delContainer.setTextDescription(i18n.t(text)); + delContainer.setMustBeConfirmed(true); + delContainer.setConfirmationTitle(i18n.t("Please confirm")); + delContainer.setConfirmationText(i18n.t("You will delete it with all its contents. Are you sure?")); + contextActionRegistry.addAction(delContainer, registerInTypes); + } + + protected void createDelContentAction(final String parentMenuTitle, final String textDescription, + final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> delContent = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + contentServiceProvider.get().delContent(session.getUserHash(), token, + new AsyncCallbackSimple<StateContentDTO>() { + @Override + public void onSuccess(final StateContentDTO state) { + session.setCurrentState(state); + final StateToken parent = token.copy().clearDocument(); + stateManager.gotoToken(parent); + contextNavigator.clear(); + contextNavigator.refreshState(); + } + }); + } + }); + delContent.setParentMenuTitle(parentMenuTitle); + delContent.setTextDescription(textDescription); + delContent.setMustBeConfirmed(true); + delContent.setConfirmationTitle(i18n.t("Please confirm")); + delContent.setConfirmationText(i18n.t("Are you sure?")); + delContent.setEnableCondition(notDefAndNotDeleted()); + // contentActionRegistry.addAction(delContent, registerInTypes); + } + + protected void createDownloadActions(final String typeUploadedfile) { + final ActionToolbarButtonDescriptor<StateToken> download = new ActionToolbarButtonDescriptor<StateToken>( + AccessRolDTO.Viewer, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + downloadContent(token); + } + }); + download.setMustBeAuthenticated(false); + download.setTextDescription(i18n.t("Download")); + download.setToolTip(i18n.t("Download this file")); + download.setIconUrl("images/nav/download.png"); + + final ActionMenuItemDescriptor<StateToken> downloadCtx = new ActionMenuItemDescriptor<StateToken>( + AccessRolDTO.Viewer, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + downloadContent(token); + } + }); + downloadCtx.setMustBeAuthenticated(false); + downloadCtx.setTextDescription(i18n.t("Download")); + downloadCtx.setIconUrl("images/nav/download.png"); + + // contentActionRegistry.addAction(download, typeUploadedfile); + contextActionRegistry.addAction(downloadCtx, typeUploadedfile); + } + + protected ActionToolbarButtonDescriptor<StateToken> createEditAction(final String fileMenuTitle, + final String... registerInTypes) { + final ActionToolbarButtonDescriptor<StateToken> editContent = new ActionToolbarButtonDescriptor<StateToken>( + AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + NotifyUser.showProgressProcessing(); + session.check(new AsyncCallbackSimple<Void>() { + @Override + public void onSuccess(final Void result) { + final ContentEditor editor = textEditorProvider.get(); + foldableContent.detach(); + contextNavigator.detach(); + contextPropEditorProvider.get().attach(); + editor.edit(session.getContentState().getContent(), new Listener<String>() { + @Override + public void onEvent(final String html) { + NotifyUser.showProgressSaving(); + contentServiceProvider.get().save(session.getUserHash(), stateToken, html, + new AsyncCallback<Void>() { + @Override + public void onFailure(final Throwable caught) { + NotifyUser.hideProgress(); + if (caught instanceof SessionExpiredException) { + errorHandler.doSessionExpired(); + } else { + NotifyUser.error(i18n.t("Error saving document. Retrying...")); + errorHandler.process(caught); + editor.onSaveFailed(); + } + } + + @Override + public void onSuccess(final Void param) { + NotifyUser.hideProgress(); + session.getContentState().setContent(html); + editor.onSavedSuccessful(); + } + }); + } + }, new Listener0() { + @Override + public void onEvent() { + // onClose + deferredCommandWrapper.addCommand(new ScheduledCommand() { + @Override + public void execute() { + foldableContent.attach(); + contextPropEditorProvider.get().detach(); + contextNavigator.attach(); + if (session.inSameToken(stateToken)) { + contextNavigator.refreshState(); + foldableContent.refreshState(); + } + } + }); + } + }); + editor.setFileMenuTitle(fileMenuTitle); + NotifyUser.hideProgress(); + } + }); + } + }); + editContent.setTextDescription(i18n.tWithNT("Edit", "used in button")); + editContent.setIconUrl("images/content_edit.png"); + editContent.setLeftSeparator(ActionToolbarButtonSeparator.spacer); + editContent.setEnableCondition(notDeleted()); + // contentActionRegistry.addAction(editContent, registerInTypes); + return editContent; + } + + protected ActionMenuItemDescriptor<StateToken> createGoAction(final String... registerInTypes) { + final ActionMenuItemDescriptor<StateToken> go = new ActionMenuItemDescriptor<StateToken>(AccessRolDTO.Viewer, + new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + stateManager.gotoToken(token); + } + }); + go.setMustBeAuthenticated(false); + go.setTextDescription(i18n.t("Open")); + go.setIconUrl("images/nav/go.png"); + contextActionRegistry.addAction(go, registerInTypes); + return go; + } + + protected ActionToolbarButtonDescriptor<StateToken> createGoHomeAction(final String... registerInTypes) { + final ActionToolbarButtonDescriptor<StateToken> goGroupHome = new ActionToolbarButtonDescriptor<StateToken>( + AccessRolDTO.Viewer, CONTEXT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + stateManager.gotoToken(token.getGroup()); + } + }); + goGroupHome.setMustBeAuthenticated(false); + goGroupHome.setIconUrl("images/group-home.png"); + goGroupHome.setEnableCondition(new ActionEnableCondition<StateToken>() { + @Override + public boolean mustBeEnabled(final StateToken token) { + final StateToken defContentToken = session.getCurrentState().getGroup().getDefaultContent().getStateToken(); + return !session.getCurrentStateToken().equals(defContentToken); + } + }); + goGroupHome.setLeftSeparator(ActionToolbarButtonSeparator.fill); + contextActionRegistry.addAction(goGroupHome, registerInTypes); + return goGroupHome; + } + + protected void createNewContainerAction(final String contentTypeId, final String iconUrl, + final String textDescription, final String parentMenuTitle, final String parentMenuSubtitle, + final String defaultName, final Position position, final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> addFolder; + addFolder = new ActionToolbarMenuAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_TOPBAR, + new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + NotifyUser.showProgressProcessing(); + contentServiceProvider.get().addFolder(session.getUserHash(), stateToken, defaultName, + contentTypeId, new AsyncCallbackSimple<StateContainerDTO>() { + @Override + public void onSuccess(final StateContainerDTO state) { + contextNavigator.setEditOnNextStateChange(true); + stateManager.setRetrievedState(state); + } + }); + } + }); + addFolder.setTextDescription(textDescription); + addFolder.setParentMenuTitle(parentMenuTitle); + addFolder.setParentSubMenuTitle(parentMenuSubtitle); + addFolder.setIconUrl(iconUrl); + register(addFolder, position, registerInTypes); + } + + protected ActionToolbarMenuAndItemDescriptor<StateToken> createNewContentAction(final String typeId, + final String iconUrl, final String description, final String parentMenuTitle, final Position position, + final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> addContent = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() { + @Override + public void onEvent() { + NotifyUser.showProgressProcessing(); + contentServiceProvider.get().addContent(session.getUserHash(), + session.getCurrentState().getStateToken(), description, typeId, + new AsyncCallbackSimple<StateContentDTO>() { + @Override + public void onSuccess(final StateContentDTO state) { + contextNavigator.setEditOnNextStateChange(true); + stateManager.setRetrievedState(state); + } + }); + } + }); + addContent.setTextDescription(description); + addContent.setParentMenuTitle(parentMenuTitle); + addContent.setParentSubMenuTitle(i18n.t("New")); + addContent.setIconUrl(iconUrl); + register(addContent, position, registerInTypes); + return addContent; + } + + protected abstract void createPostSessionInitActions(); + + protected ActionToolbarMenuDescriptor<StateToken> createRefreshCntAction(final String parentMenuTitle, + final String... registerInTypes) { + final ActionToolbarMenuDescriptor<StateToken> refreshCnt = new ActionToolbarMenuDescriptor<StateToken>( + AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + stateManager.reload(); + contextNavigator.selectItem(stateToken); + } + }); + refreshCnt.setMustBeAuthenticated(false); + refreshCnt.setParentMenuTitle(parentMenuTitle); + refreshCnt.setTextDescription(i18n.t("Refresh")); + refreshCnt.setIconUrl("images/nav/refresh.png"); + // contentActionRegistry.addAction(refreshCnt, registerInTypes); + return refreshCnt; + } + + protected ActionToolbarMenuDescriptor<StateToken> createRefreshCxtAction(final String parentMenuTitleCtx, + final String... registerInTypes) { + final ActionToolbarMenuDescriptor<StateToken> refreshCtx = new ActionToolbarMenuDescriptor<StateToken>( + AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + stateManager.reload(); + contextNavigator.selectItem(stateToken); + } + }); + refreshCtx.setMustBeAuthenticated(false); + refreshCtx.setParentMenuTitle(parentMenuTitleCtx); + refreshCtx.setTextDescription(i18n.t("Refresh")); + refreshCtx.setIconUrl("images/nav/refresh.png"); + contextActionRegistry.addAction(refreshCtx, registerInTypes); + return refreshCtx; + } + + protected ActionToolbarMenuAndItemDescriptor<StateToken> createRenameContentInCtxAction( + final String parentMenuTitleCtx, final String textDescription, final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> renameCtx = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + contextNavigator.editItem(stateToken); + } + }); + renameCtx.setTextDescription(textDescription); + renameCtx.setParentMenuTitle(parentMenuTitleCtx); + contextActionRegistry.addAction(renameCtx, registerInTypes); + return renameCtx; + } + + protected ActionToolbarMenuDescriptor<StateToken> createSetAsDefContent(final String parentMenuTitle, + final String... registerInTypes) { + final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupContent; + setAsDefGroupContent = new ActionToolbarMenuDescriptor<StateToken>(AccessRolDTO.Administrator, CONTENT_TOPBAR, + new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + NotifyUser.showProgressProcessing(); + contentServiceProvider.get().setAsDefaultContent(session.getUserHash(), token, + new AsyncCallbackSimple<ContentSimpleDTO>() { + @Override + public void onSuccess(final ContentSimpleDTO defContent) { + session.getCurrentState().getGroup().setDefaultContent(defContent); + NotifyUser.hideProgress(); + NotifyUser.info(i18n.t("Content selected as the group homepage")); + } + }); + } + }); + setAsDefGroupContent.setTextDescription(i18n.t("Set this as the default group page")); + setAsDefGroupContent.setIconUrl("images/group-home.png"); + setAsDefGroupContent.setEnableCondition(notDefAndNotDeleted()); + setAsDefGroupContent.setParentMenuTitle(parentMenuTitle); + // contentActionRegistry.addAction(setAsDefGroupContent, + // registerInTypes); + return setAsDefGroupContent; + } + + protected void createSetGroupBackImageAction(final String parentMenuTitle, final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> setGroupBackImage = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken token) { + groupServiceProvider.get().setGroupBackImage(session.getUserHash(), token, + new AsyncCallbackSimple<GroupDTO>() { + @Override + public void onSuccess(final GroupDTO newGroup) { + if (session.getCurrentState().getGroup().getShortName().equals( + newGroup.getShortName())) { + session.getCurrentState().setGroup(newGroup); + wsBackManager.clearBackImage(); + wsBackManager.setBackImage(newGroup.getGroupBackImage().getStateToken()); + } + } + }); + } + }); + setGroupBackImage.setParentMenuTitle(parentMenuTitle); + setGroupBackImage.setTextDescription(i18n.t("Set this as the group background image")); + setGroupBackImage.setIconUrl("images/nav/picture.png"); + setGroupBackImage.setEnableCondition(new ActionEnableCondition<StateToken>() { + @Override + public boolean mustBeEnabled(final StateToken token) { + return session.getContentState().getMimeType().isImage(); + } + }); + // contentActionRegistry.addAction(setGroupBackImage, registerInTypes); + } + + protected void createSetStatusAction(final AccessRolDTO rol, final String textDescription, + final ContentStatus status, final String[] contentsModerated) { + final ActionToolbarMenuRadioDescriptor<StateToken> action = new ActionToolbarMenuRadioDescriptor<StateToken>( + rol, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + setContentStatus(status, stateToken); + } + }, "ContentRadioStatus", new RadioMustBeChecked() { + @Override + public boolean mustBeChecked() { + if (session.getContainerState() instanceof StateContentDTO) { + final ContentStatus currentStatus = session.getContentState().getStatus(); + return status.equals(currentStatus); + } + return false; + } + }); + action.setTextDescription(textDescription); + action.setParentMenuTitle(PUBLICATION_MENU); + action.setParentMenuIconUrl("images/anybody.png"); + // contentActionRegistry.addAction(action, contentsModerated); + } + + protected void createShowDeletedItems(final String parentMenuTitle, final String... registerInTypes) { + final ActionToolbarMenuCheckItemDescriptor<StateToken> showDeletedItems = new ActionToolbarMenuCheckItemDescriptor<StateToken>( + AccessRolDTO.Editor, CONTEXT_TOPBAR, new Listener0() { + @Override + public void onEvent() { + final boolean mustShow = !session.getCurrentUserInfo().getShowDeletedContent(); + session.getCurrentUserInfo().setShowDeletedContent(mustShow); + if (!mustShow && session.isCurrentStateAContent() + && session.getContentState().getStatus().equals(ContentStatus.inTheDustbin)) { + stateManager.gotoToken(session.getCurrentStateToken().getGroup()); + } + contextNavigator.clear(); + contextNavigator.refreshState(); + } + }, new ActionCheckedCondition() { + @Override + public boolean mustBeChecked() { + return session.getShowDeletedContent(); + } + }); + showDeletedItems.setParentMenuTitle(parentMenuTitle); + showDeletedItems.setTextDescription("Show deleted items"); + showDeletedItems.setMustBeAuthenticated(true); + contextActionRegistry.addAction(showDeletedItems, registerInTypes); + } + + protected ActionToolbarMenuDescriptor<StateToken> createTranslateAction(final String fileMenuTitle, + final String... registerInTypes) { + final ActionToolbarMenuDescriptor<StateToken> translateContent = new ActionToolbarMenuDescriptor<StateToken>( + AccessRolDTO.Editor, CONTENT_TOPBAR, new Listener<StateToken>() { + @Override + public void onEvent(final StateToken stateToken) { + NotifyUser.important(i18n.t("Sorry, this functionality is currently in development")); + } + }); + translateContent.setParentMenuTitle(fileMenuTitle); + translateContent.setTextDescription(i18n.tWithNT("Translate", "used in button")); + translateContent.setToolTip(i18n.t("Translate this document to other languages")); + translateContent.setIconUrl("images/language.gif"); + translateContent.setEnableCondition(notDeleted()); + // contentActionRegistry.addAction(translateContent, registerInTypes); + return translateContent; + } + + protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadAction(final String textDescription, + final String iconUrl, final String toolTip, final String permitedExtensions, + final String... registerInTypes) { + final ActionToolbarButtonAndItemDescriptor<StateToken> uploadFile; + uploadFile = new ActionToolbarButtonAndItemDescriptor<StateToken>(AccessRolDTO.Editor, CONTEXT_BOTTOMBAR, + new Listener0() { + @Override + public void onEvent() { + if (permitedExtensions != null) { + // FIXME: can't be reset ... + // fileUploaderProvider.get().setPermittedExtensions(permitedExtensions); + } else { + // FIXME: can't be reset ... + // fileUploaderProvider.get().resetPermittedExtensions(); + } + fileUploaderProvider.get().show(); + } + }); + uploadFile.setTextDescription(textDescription); + uploadFile.setIconUrl(iconUrl); + uploadFile.setToolTip(toolTip); + contextActionRegistry.addAction(uploadFile, registerInTypes); + return uploadFile; + } + + protected ActionToolbarButtonAndItemDescriptor<StateToken> createUploadMediaAction(final String... registerInTypes) { + final ActionToolbarButtonAndItemDescriptor<StateToken> uploadMedia = createUploadAction(i18n.t("Upload media"), + "images/nav/upload.png", i18n.t("Upload some media (images, videos...)"), + session.getGalleryPermittedExtensions()); + contextActionRegistry.addAction(uploadMedia, registerInTypes); + return uploadMedia; + } + + protected void downloadContent(final StateToken token) { + fileDownloadProvider.get().downloadFile(token); + } + + private ActionEnableCondition<StateToken> notDefAndNotDeleted() { + return new ActionEnableCondition<StateToken>() { + @Override + public boolean mustBeEnabled(final StateToken token) { + final boolean isNotDefContentToken = !session.getCurrentState().getGroup().getDefaultContent().getStateToken().equals( + session.getCurrentStateToken()); + return isNotDefContentToken && notDeleted().mustBeEnabled(token); + } + }; + } + + private ActionEnableCondition<StateToken> notDeleted() { + return new ActionEnableCondition<StateToken>() { + @Override + public boolean mustBeEnabled(final StateToken token) { + final boolean isNotDeleted = !(session.isCurrentStateAContent() && session.getContentState().getStatus().equals( + ContentStatus.inTheDustbin)); + return isNotDeleted; + } + }; + } + + private void register(final ActionToolbarMenuAndItemDescriptor<StateToken> action, final Position position, + final String... registerInTypes) { + if (position.equals(Position.ctx)) { + contextActionRegistry.addAction(action, registerInTypes); + } else if (position.equals(Position.cnt)) { + // contentActionRegistry.addAction(action, registerInTypes); + } + } + + private void setContentStatus(final ContentStatus status, final StateToken stateToken) { + final AsyncCallbackSimple<StateAbstractDTO> callback = new AsyncCallbackSimple<StateAbstractDTO>() { + @Override + public void onSuccess(final StateAbstractDTO state) { + if (session.inSameToken(stateToken)) { + session.setCurrentState(state); + publicLink.setState(state); + foldableContent.refreshState(); + } + contextNavigator.setItemStatus(stateToken, status); + } + }; + if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected) + || status.equals(ContentStatus.inTheDustbin)) { + contentServiceProvider.get().setStatusAsAdmin(session.getUserHash(), stateToken, status, callback); + } else { + contentServiceProvider.get().setStatus(session.getUserHash(), stateToken, status, callback); + } + } + +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1014,7 +1014,7 @@ @Override public ActionContextTopToolbar create() { final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>( - AbstractFoldableContentActions.CONTEXT_TOPBAR, p(ActionManager.class), + OldAbstractFoldableContentActions.CONTEXT_TOPBAR, p(ActionManager.class), i(WorkspaceSkeleton.class)); final ActionContextTopToolbar toolbar = new ActionContextTopToolbar(panel); return toolbar; @@ -1025,7 +1025,7 @@ @Override public ActionContextBottomToolbar create() { final ActionCntCtxToolbarPanel<StateToken> panel = new ActionCntCtxToolbarPanel<StateToken>( - AbstractFoldableContentActions.CONTEXT_BOTTOMBAR, p(ActionManager.class), + OldAbstractFoldableContentActions.CONTEXT_BOTTOMBAR, p(ActionManager.class), i(WorkspaceSkeleton.class)); final ActionContextBottomToolbar toolbar = new ActionContextBottomToolbar(panel); return toolbar; Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -19,7 +19,7 @@ */ package org.ourproject.kune.workspace.client.ctxnav; -import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_FOLDER; +import static cc.kune.docs.client.DocumentClientTool.TYPE_FOLDER; import java.util.HashMap; @@ -27,7 +27,7 @@ import org.ourproject.kune.platf.client.actions.ActionRegistry; import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbar; import org.ourproject.kune.platf.client.ui.KuneUiUtils; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; +import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions; import org.ourproject.kune.workspace.client.cxt.ActionContextBottomToolbar; import org.ourproject.kune.workspace.client.title.RenameAction; import org.ourproject.kune.workspace.client.upload.FileUploader; @@ -160,8 +160,8 @@ topToolbar.disableMenusAndClearButtons(); bottomToolbar.disableMenusAndClearButtons(); final ActionItemCollection<StateToken> itemCollection = actionsByItem.get(stateToken); - topToolbar.addActions(itemCollection, AbstractFoldableContentActions.CONTEXT_TOPBAR); - bottomToolbar.addActions(itemCollection, AbstractFoldableContentActions.CONTEXT_BOTTOMBAR); + topToolbar.addActions(itemCollection, OldAbstractFoldableContentActions.CONTEXT_TOPBAR); + bottomToolbar.addActions(itemCollection, OldAbstractFoldableContentActions.CONTEXT_BOTTOMBAR); } @Override Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/ActionCntCtxToolbarPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/ActionCntCtxToolbarPanel.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/ActionCntCtxToolbarPanel.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -22,7 +22,7 @@ import org.ourproject.kune.platf.client.actions.ActionManager; import org.ourproject.kune.platf.client.actions.ActionToolbarPosition; import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel; -import org.ourproject.kune.workspace.client.AbstractFoldableContentActions; +import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions; import com.calclab.suco.client.ioc.Provider; import com.google.gwt.user.client.ui.Widget; @@ -35,13 +35,13 @@ final Provider<ActionManager> actionManagerProvider, final WorkspaceSkeleton ws) { super(actionManagerProvider); EntityWorkspace entityWorkspace = ws.getEntityWorkspace(); - if (position.equals(AbstractFoldableContentActions.CONTENT_TOPBAR)) { + if (position.equals(OldAbstractFoldableContentActions.CONTENT_TOPBAR)) { wsToolbar = entityWorkspace.getContentTopBar(); - } else if (position.equals(AbstractFoldableContentActions.CONTENT_BOTTOMBAR)) { + } else if (position.equals(OldAbstractFoldableContentActions.CONTENT_BOTTOMBAR)) { wsToolbar = entityWorkspace.getContentBottomBar(); - } else if (position.equals(AbstractFoldableContentActions.CONTEXT_TOPBAR)) { + } else if (position.equals(OldAbstractFoldableContentActions.CONTEXT_TOPBAR)) { wsToolbar = entityWorkspace.getContextTopBar(); - } else if (position.equals(AbstractFoldableContentActions.CONTEXT_BOTTOMBAR)) { + } else if (position.equals(OldAbstractFoldableContentActions.CONTEXT_BOTTOMBAR)) { wsToolbar = entityWorkspace.getContextBottomBar(); } Modified: trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java =================================================================== --- trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -25,7 +25,6 @@ import org.junit.After; import org.junit.Before; -import org.ourproject.kune.docs.server.DocumentServerTool; import cc.kune.core.server.content.ContainerManager; import cc.kune.core.server.content.ContentManager; @@ -34,6 +33,7 @@ import cc.kune.core.server.manager.I18nLanguageManager; import cc.kune.core.server.manager.LicenseManager; import cc.kune.core.server.manager.UserManager; +import cc.kune.docs.server.DocumentServerTool; import cc.kune.domain.Container; import cc.kune.domain.Content; import cc.kune.domain.I18nCountry; Modified: trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializationTest.java =================================================================== --- trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializationTest.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/cc/kune/core/server/integration/DatabaseInitializationTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -28,7 +28,6 @@ import org.junit.Before; import org.junit.Test; import org.ourproject.kune.chat.server.ChatServerTool; -import org.ourproject.kune.docs.server.DocumentServerTool; import cc.kune.core.server.content.ContainerManager; import cc.kune.core.server.content.ContentManager; @@ -37,6 +36,7 @@ import cc.kune.core.server.manager.I18nLanguageManager; import cc.kune.core.server.manager.I18nTranslationManager; import cc.kune.core.server.manager.LicenseManager; +import cc.kune.docs.server.DocumentServerTool; import cc.kune.domain.Container; import cc.kune.domain.Content; import cc.kune.domain.Group; Modified: trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java =================================================================== --- trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -23,7 +23,6 @@ import org.apache.commons.configuration.ConfigurationException; import org.ourproject.kune.chat.server.ChatServerModule; -import org.ourproject.kune.docs.server.DocumentServerModule; import org.ourproject.kune.wiki.server.WikiServerModule; import org.waveprotocol.box.server.CoreSettings; import org.waveprotocol.box.server.ServerModule; @@ -35,6 +34,7 @@ import cc.kune.core.server.TestConstants; import cc.kune.core.server.init.FinderRegistry; import cc.kune.core.server.properties.PropertiesFileName; +import cc.kune.docs.server.DocumentServerModule; import cc.kune.wave.server.CustomSettingsBinder; import com.google.inject.AbstractModule; 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 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -26,8 +26,6 @@ import org.junit.Before; import org.junit.Test; -import org.ourproject.kune.docs.client.DocumentClientTool; -import org.ourproject.kune.docs.server.DocumentServerTool; import org.ourproject.kune.wiki.server.WikiServerTool; import cc.kune.core.client.errors.ContentNotFoundException; @@ -40,6 +38,8 @@ import cc.kune.core.shared.dto.ContentSimpleDTO; import cc.kune.core.shared.dto.StateContainerDTO; import cc.kune.core.shared.dto.StateContentDTO; +import cc.kune.docs.client.DocumentClientTool; +import cc.kune.docs.server.DocumentServerTool; public class ContentServiceAddTest extends ContentServiceIntegrationTest { 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 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -29,8 +29,6 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import org.ourproject.kune.docs.client.DocumentClientTool; -import org.ourproject.kune.docs.server.DocumentServerTool; import cc.kune.core.client.errors.AccessViolationException; import cc.kune.core.server.integration.IntegrationTestHelper; @@ -43,6 +41,8 @@ import cc.kune.core.shared.dto.StateContainerDTO; import cc.kune.core.shared.dto.StateContentDTO; import cc.kune.core.shared.dto.UserSimpleDTO; +import cc.kune.docs.client.DocumentClientTool; +import cc.kune.docs.server.DocumentServerTool; public class ContentServiceVariousTest extends ContentServiceIntegrationTest { Modified: trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java =================================================================== --- trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -23,10 +23,10 @@ import org.junit.Ignore; import org.junit.Test; -import org.ourproject.kune.docs.server.DocumentServerTool; import cc.kune.core.server.PersistencePreLoadedDataTest; import cc.kune.core.server.manager.impl.SearchResult; +import cc.kune.docs.server.DocumentServerTool; import cc.kune.domain.BasicMimeType; import cc.kune.domain.Content; Copied: trunk/src/test/java/cc/kune/docs/DocumentToolTest.java (from rev 1295, trunk/src/test/java/org/ourproject/kune/docs/DocumentToolTest.java) =================================================================== --- trunk/src/test/java/cc/kune/docs/DocumentToolTest.java (rev 0) +++ trunk/src/test/java/cc/kune/docs/DocumentToolTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -0,0 +1,38 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.docs; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import cc.kune.docs.client.DocumentClientTool; +import cc.kune.docs.server.DocumentServerTool; + +public class DocumentToolTest { + + @Test + public void clientAndServerSync() { + assertEquals(DocumentServerTool.NAME, DocumentClientTool.NAME); + assertEquals(DocumentServerTool.TYPE_ROOT, DocumentClientTool.TYPE_ROOT); + assertEquals(DocumentServerTool.TYPE_FOLDER, DocumentClientTool.TYPE_FOLDER); + assertEquals(DocumentServerTool.TYPE_DOCUMENT, DocumentClientTool.TYPE_DOCUMENT); + } +} Copied: trunk/src/test/java/cc/kune/docs/server (from rev 1295, trunk/src/test/java/org/ourproject/kune/docs/server) Modified: trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/docs/server/DocumentServerToolTest.java 2011-03-25 20:22:13 UTC (rev 1295) +++ trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -17,16 +17,18 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -package org.ourproject.kune.docs.server; +package cc.kune.docs.server; -import static org.ourproject.kune.docs.server.DocumentServerTool.TYPE_DOCUMENT; -import static org.ourproject.kune.docs.server.DocumentServerTool.TYPE_FOLDER; -import static org.ourproject.kune.docs.server.DocumentServerTool.TYPE_ROOT; -import static org.ourproject.kune.docs.server.DocumentServerTool.TYPE_UPLOADEDFILE; +import static cc.kune.docs.server.DocumentServerTool.TYPE_DOCUMENT; +import static cc.kune.docs.server.DocumentServerTool.TYPE_FOLDER; +import static cc.kune.docs.server.DocumentServerTool.TYPE_ROOT; +import static cc.kune.docs.server.DocumentServerTool.TYPE_UPLOADEDFILE; import org.junit.Before; import org.junit.Test; +import cc.kune.docs.server.DocumentServerTool; + public class DocumentServerToolTest { // extends PersistenceTest { private DocumentServerTool serverTool; Deleted: trunk/src/test/java/org/ourproject/kune/docs/DocumentToolTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/docs/DocumentToolTest.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/org/ourproject/kune/docs/DocumentToolTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -1,37 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.ourproject.kune.docs; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.ourproject.kune.docs.client.DocumentClientTool; -import org.ourproject.kune.docs.server.DocumentServerTool; - -public class DocumentToolTest { - - @Test - public void clientAndServerSync() { - assertEquals(DocumentServerTool.NAME, DocumentClientTool.NAME); - assertEquals(DocumentServerTool.TYPE_ROOT, DocumentClientTool.TYPE_ROOT); - assertEquals(DocumentServerTool.TYPE_FOLDER, DocumentClientTool.TYPE_FOLDER); - assertEquals(DocumentServerTool.TYPE_DOCUMENT, DocumentClientTool.TYPE_DOCUMENT); - } -} Modified: trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -25,12 +25,12 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; -import org.ourproject.kune.docs.client.DocumentClientTool; import org.ourproject.kune.workspace.client.upload.FileUploaderPresenter; import org.ourproject.kune.workspace.client.upload.FileUploaderView; import cc.kune.core.client.state.Session; import cc.kune.core.shared.domain.utils.StateToken; +import cc.kune.docs.client.DocumentClientTool; public class FileUploaderPresenterTest { Modified: trunk/src/test/java/testsuites/OthersTestSuite.java =================================================================== --- trunk/src/test/java/testsuites/OthersTestSuite.java 2011-03-25 22:16:57 UTC (rev 1299) +++ trunk/src/test/java/testsuites/OthersTestSuite.java 2011-03-30 14:56:20 UTC (rev 1300) @@ -25,8 +25,6 @@ import org.ourproject.kune.blogs.server.BlogServerToolTest; import org.ourproject.kune.chat.ChatToolTest; import org.ourproject.kune.chat.server.managers.XmppManagerTest; -import org.ourproject.kune.docs.DocumentToolTest; -import org.ourproject.kune.docs.server.DocumentServerToolTest; import org.ourproject.kune.gallery.server.GalleryServerToolTest; import org.ourproject.kune.wiki.server.WikiServerToolTest; import org.ourproject.kune.workspace.client.entityheader.EntityLogoPresenterTest; @@ -36,6 +34,8 @@ import cc.kune.core.server.rack.filters.rest.TestRESTMethodFinder; import cc.kune.core.server.rack.filters.rest.TestRESTServiceDefinition; +import cc.kune.docs.DocumentToolTest; +import cc.kune.docs.server.DocumentServerToolTest; import cc.kune.gspace.client.tags.TagsSummaryPresenterTest; import cc.kune.gspace.client.tool.ToolSelectorPresenterTest;
participants (1)
-
Vicente J. Ruiz Jurado