[kune-commits] r883 - in trunk/src: main/java/org/ourproject/kune/app/client main/java/org/ourproject/kune/docs/client main/java/org/ourproject/kune/platf/client/services main/java/org/ourproject/kune/platf/client/ui/dialogs main/java/org/ourproject/kune/platf/client/ui/dialogs/upload main/java/org/ourproject/kune/platf/server/manager/impl test/java/org/ourproject/kune/platf/client/ui test/java/org/ourproject/kune/platf/client/ui/dialogs test/java/org/ourproject/kune/platf/client/ui/dialogs/upload test/java/org/ourproject/kune/platf/server/manager/impl

vjrj vjrj at ourproject.org
Wed Sep 24 22:16:30 CEST 2008


Author: vjrj
Date: 2008-09-24 22:16:24 +0200 (Wed, 24 Sep 2008)
New Revision: 883

Added:
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploader.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderDialog.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenter.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderView.java
   trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/
   trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/
   trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java
Removed:
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploader.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploaderDialog.java
Modified:
   trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java
   trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
   trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManagerTest.java
Log:
Uploads working with auth and rols check. Pending content reference persistence.

Incomplete - task 66: Add a FileUploadManagerTest 


Modified: trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -23,6 +23,7 @@
 import org.ourproject.kune.docs.client.DocumentClientModule;
 import org.ourproject.kune.platf.client.services.KuneCoreModule;
 import org.ourproject.kune.platf.client.services.KuneModule;
+import org.ourproject.kune.platf.client.services.KuneWorkspaceModule;
 
 import com.allen_sauer.gwt.log.client.Log;
 import com.calclab.emiteuimodule.client.EmiteUIModule;
@@ -50,8 +51,7 @@
     }
 
     public void onModuleLoadCont() {
-	Suco.install(new KuneCoreModule(), new EmiteUIModule(), new DocumentClientModule(), new ChatClientModule(),
-		new KuneModule());
-	// Suco.get(Application.class).start();
+	Suco.install(new KuneCoreModule(), new KuneWorkspaceModule(), new EmiteUIModule(), new DocumentClientModule(),
+		new ChatClientModule(), new KuneModule());
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -23,12 +23,11 @@
 import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
 import org.ourproject.kune.platf.client.state.Session;
 import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.platf.client.ui.dialogs.FileUploader;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
 import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
 import org.ourproject.kune.workspace.client.site.Site;
 
-import com.allen_sauer.gwt.log.client.Log;
 import com.calclab.suco.client.ioc.Provider;
 import com.calclab.suco.client.listener.Listener;
 
@@ -267,8 +266,9 @@
 		new Listener<StateToken>() {
 		    public void onEvent(final StateToken token) {
 			if (permitedExtensions != null) {
-			    Log.info("Permited extensions (in dev): " + permitedExtensions);
 			    fileUploaderProvider.get().setPermittedExtensions(permitedExtensions);
+			} else {
+			    fileUploaderProvider.get().resetPermittedExtensions();
 			}
 			fileUploaderProvider.get().show();
 		    }

Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -39,7 +39,7 @@
 import org.ourproject.kune.platf.client.state.Session;
 import org.ourproject.kune.platf.client.state.StateManager;
 import org.ourproject.kune.platf.client.tool.ToolSelector;
-import org.ourproject.kune.platf.client.ui.dialogs.FileUploader;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader;
 import org.ourproject.kune.platf.client.ui.rate.RateIt;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
 import org.ourproject.kune.workspace.client.editor.TextEditor;

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -32,23 +32,15 @@
 import org.ourproject.kune.platf.client.state.StateManagerDefault;
 import org.ourproject.kune.platf.client.tool.ToolSelector;
 import org.ourproject.kune.platf.client.tool.ToolSelectorPresenter;
-import org.ourproject.kune.platf.client.ui.QuickTipsHelper;
-import org.ourproject.kune.platf.client.ui.dialogs.FileUploader;
-import org.ourproject.kune.platf.client.ui.dialogs.FileUploaderDialog;
-import org.ourproject.kune.platf.client.ui.rate.RateIt;
-import org.ourproject.kune.platf.client.ui.rate.RateItPanel;
-import org.ourproject.kune.platf.client.ui.rate.RateItPresenter;
-import org.ourproject.kune.platf.client.ui.rate.RatePanel;
-import org.ourproject.kune.platf.client.ui.rate.RatePresenter;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploaderDialog;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploaderPresenter;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel;
 import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter;
 import org.ourproject.kune.workspace.client.editor.TextEditor;
 import org.ourproject.kune.workspace.client.editor.TextEditorPanel;
 import org.ourproject.kune.workspace.client.editor.TextEditorPresenter;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPresenter;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslatorView;
@@ -61,8 +53,6 @@
 import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose;
 import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel;
 import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePresenter;
-import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
-import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter;
 import org.ourproject.kune.workspace.client.newgroup.NewGroup;
 import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
 import org.ourproject.kune.workspace.client.newgroup.NewGroupPresenter;
@@ -82,63 +72,11 @@
 import org.ourproject.kune.workspace.client.signin.SignInPresenter;
 import org.ourproject.kune.workspace.client.site.Site;
 import org.ourproject.kune.workspace.client.site.SiteToken;
-import org.ourproject.kune.workspace.client.site.msg.SiteMessage;
-import org.ourproject.kune.workspace.client.site.msg.SiteMessagePanel;
-import org.ourproject.kune.workspace.client.site.msg.SiteMessagePresenter;
-import org.ourproject.kune.workspace.client.site.msg.SiteMessageView;
 import org.ourproject.kune.workspace.client.site.rpc.UserService;
 import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLink;
-import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPresenter;
-import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress;
-import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearch;
-import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLink;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenu;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPresenter;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummary;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanel;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationSummary;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPanel;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPresenter;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView;
-import org.ourproject.kune.workspace.client.summary.GroupSummary;
-import org.ourproject.kune.workspace.client.summary.GroupSummaryPanel;
-import org.ourproject.kune.workspace.client.summary.GroupSummaryPresenter;
-import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
-import org.ourproject.kune.workspace.client.tags.TagsSummary;
-import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel;
-import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter;
-import org.ourproject.kune.workspace.client.themes.WsThemePanel;
 import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
-import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntitySubTitlePanel;
-import org.ourproject.kune.workspace.client.title.EntitySubTitlePresenter;
 import org.ourproject.kune.workspace.client.title.EntityTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
-import org.ourproject.kune.workspace.client.title.EntityTitlePresenter;
 
 import com.calclab.suco.client.ioc.decorator.Singleton;
 import com.calclab.suco.client.ioc.module.AbstractModule;
@@ -255,15 +193,8 @@
 	    }
 	});
 
-	register(Singleton.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) {
-	    public WorkspaceSkeleton create() {
-		return new WorkspaceSkeleton();
-	    }
-	});
-
 	AsyncCallbackSimple.init($(KuneErrorHandler.class));
 
-	final WorkspaceSkeleton ws = $(WorkspaceSkeleton.class);
 	register(Singleton.class, new Factory<Application>(Application.class) {
 	    public Application create() {
 		return new ApplicationDefault($(Session.class));
@@ -274,225 +205,10 @@
 	    }
 	});
 
-	register(ApplicationComponentGroup.class, new Factory<QuickTipsHelper>(QuickTipsHelper.class) {
-	    public QuickTipsHelper create() {
-		return new QuickTipsHelper();
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteProgress>(SiteProgress.class) {
-	    public SiteProgress create() {
-		final SiteProgressPresenter presenter = new SiteProgressPresenter();
-		final SiteProgressPanel panel = new SiteProgressPanel(presenter, $$(SitePublicSpaceLink.class));
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<Site>(Site.class) {
-	    public Site create() {
-		return new Site(i18n, $(SiteProgress.class), $$(SiteMessage.class));
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SitePublicSpaceLink>(SitePublicSpaceLink.class) {
-	    public SitePublicSpaceLink create() {
-		final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter($(StateManager.class));
-		final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter, ws, i18n,
-			$(Images.class));
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteMessage>(SiteMessage.class) {
-	    public SiteMessage create() {
-		final SiteMessagePresenter siteMessagePresenter = new SiteMessagePresenter();
-		final SiteMessageView siteMessageView = new SiteMessagePanel(siteMessagePresenter, true, i18n);
-		siteMessagePresenter.init(siteMessageView);
-		return siteMessagePresenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteUserMenu>(SiteUserMenu.class) {
-	    public SiteUserMenu create() {
-		final SiteUserMenuPresenter presenter = new SiteUserMenuPresenter($(Session.class),
-			$(StateManager.class));
-		final SiteUserMenuPanel panel = new SiteUserMenuPanel(presenter, ws, i18n);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) {
-	    public SiteSignInLink create() {
-		final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter($(Session.class));
-		final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteSignOutLink>(SiteSignOutLink.class) {
-	    public SiteSignOutLink create() {
-		final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter($(Session.class),
-			$$(UserServiceAsync.class), $$(KuneErrorHandler.class));
-		final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteNewGroupLink>(SiteNewGroupLink.class) {
-	    public SiteNewGroupLink create() {
-		final SiteNewGroupLinkPresenter presenter = new SiteNewGroupLinkPresenter();
-		final SiteNewGroupLinkPanel panel = new SiteNewGroupLinkPanel(presenter, ws, i18n);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteOptions>(SiteOptions.class) {
-	    public SiteOptions create() {
-		final SiteOptionsPresenter presenter = new SiteOptionsPresenter();
-		final SiteOptionsPanel panel = new SiteOptionsPanel(presenter, ws, i18n, $$(I18nTranslator.class));
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
-	    public SiteSearch create() {
-		final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class));
-		final SiteSearchPanel panel = new SiteSearchPanel(presenter, ws, i18n);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) {
-	    public SiteLogo create() {
-		final SiteLogoPresenter presenter = new SiteLogoPresenter($(Session.class));
-		final SiteLogoPanel panel = new SiteLogoPanel(presenter, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<EntityLogo>(EntityLogo.class) {
-	    public EntityLogo create() {
-		final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class),
-			$(WsThemePresenter.class));
-		final EntityLogoPanel panel = new EntityLogoPanel(i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<WsThemePresenter>(WsThemePresenter.class) {
-	    public WsThemePresenter create() {
-		final WsThemePresenter presenter = new WsThemePresenter($(Session.class), $$(GroupServiceAsync.class),
-			$(StateManager.class));
-		final WsThemePanel panel = new WsThemePanel(ws, presenter, i18n);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) {
-	    public EntityTitle create() {
-		final EntityTitlePresenter presenter = new EntityTitlePresenter(i18n, $(KuneErrorHandler.class),
-			$(StateManager.class), $(Session.class), $$(ContentServiceAsync.class),
-			$$(ContextNavigator.class));
-		final EntityTitlePanel panel = new EntityTitlePanel(ws, presenter);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<EntitySubTitle>(EntitySubTitle.class) {
-	    public EntitySubTitle create() {
-		final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter(i18n, $(StateManager.class));
-		final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<EntityLicensePresenter>(EntityLicensePresenter.class) {
-	    public EntityLicensePresenter create() {
-		final EntityLicensePresenter presenter = new EntityLicensePresenter($(StateManager.class));
-		final EntityLicensePanel panel = new EntityLicensePanel(presenter, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<RatePresenter>(RatePresenter.class) {
-	    public RatePresenter create() {
-		final RatePresenter presenter = new RatePresenter($(StateManager.class));
-		final RatePanel panel = new RatePanel(null, null, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) {
-	    public RateIt create() {
-		final RateItPresenter presenter = new RateItPresenter(i18n, $(Session.class),
-			$$(ContentServiceAsync.class), $(StateManager.class));
-		final RateItPanel panel = new RateItPanel(presenter, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<GroupMembersSummary>(GroupMembersSummary.class) {
-	    public GroupMembersSummary create() {
-		final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(i18n,
-			$(StateManager.class), $(ImageUtils.class), $(Session.class),
-			$$(SocialNetworkServiceAsync.class), $$(GroupLiveSearcher.class), $(WsThemePresenter.class));
-		final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter, i18n, ws);
-		presenter.init(view);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<GroupSummary>(GroupSummary.class) {
-	    public GroupSummary create() {
-		final GroupSummaryPresenter presenter = new GroupSummaryPresenter($(StateManager.class),
-			$(WsThemePresenter.class));
-		final GroupSummaryView view = new GroupSummaryPanel(presenter, i18n, ws);
-		presenter.init(view);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<ParticipationSummary>(ParticipationSummary.class) {
-	    public ParticipationSummary create() {
-		final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(i18n,
-			$(StateManager.class), $(ImageUtils.class), $(Session.class),
-			$$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class));
-		final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter, i18n, ws);
-		presenter.init(view);
-		return presenter;
-	    }
-	});
-
-	register(ApplicationComponentGroup.class, new Factory<TagsSummary>(TagsSummary.class) {
-	    public TagsSummary create() {
-		final TagsSummaryPresenter presenter = new TagsSummaryPresenter($(Session.class),
-			$$(SiteSearcher.class), $(StateManager.class), $(WsThemePresenter.class));
-		final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, i18n, ws);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
-
 	register(Singleton.class, new Factory<SiteSearcher>(SiteSearcher.class) {
 	    public SiteSearcher create() {
 		final SiteSearcherPresenter presenter = new SiteSearcherPresenter($$(StateManager.class));
-		final SiteSearcherView view = new SiteSearcherPanel(presenter, i18n, ws);
+		final SiteSearcherView view = new SiteSearcherPanel(presenter, i18n, $(WorkspaceSkeleton.class));
 		presenter.init(view);
 		return presenter;
 	    }
@@ -502,7 +218,8 @@
 	    public I18nTranslator create() {
 		final I18nTranslatorPresenter presenter = new I18nTranslatorPresenter($(Session.class),
 			$(I18nServiceAsync.class), i18n);
-		final I18nTranslatorView view = new I18nTranslatorPanel(presenter, i18n, $(LanguageSelector.class), ws);
+		final I18nTranslatorView view = new I18nTranslatorPanel(presenter, i18n, $(LanguageSelector.class),
+			$(WorkspaceSkeleton.class));
 		presenter.init(view);
 		return presenter;
 	    }
@@ -512,7 +229,7 @@
 	    public SignIn create() {
 		final SignInPresenter presenter = new SignInPresenter($(Session.class), $(StateManager.class), i18n,
 			$(UserServiceAsync.class));
-		final SignInPanel view = new SignInPanel(presenter, i18n, ws);
+		final SignInPanel view = new SignInPanel(presenter, i18n, $(WorkspaceSkeleton.class));
 		presenter.init(view);
 		return presenter;
 	    }
@@ -566,7 +283,7 @@
 	register(Singleton.class, new Factory<TextEditor>(TextEditor.class) {
 	    public TextEditor create() {
 		final TextEditorPresenter presenter = new TextEditorPresenter(null, true);
-		final TextEditorPanel panel = new TextEditorPanel(presenter, i18n, ws);
+		final TextEditorPanel panel = new TextEditorPanel(presenter, i18n, $(WorkspaceSkeleton.class));
 		presenter.init(panel);
 		return presenter;
 	    }
@@ -583,7 +300,7 @@
 
 	register(Singleton.class, new Factory<ActionManager>(ActionManager.class) {
 	    public ActionManager create() {
-		return new ActionManager(ws);
+		return new ActionManager($(WorkspaceSkeleton.class));
 	    }
 	});
 
@@ -614,7 +331,8 @@
 	register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) {
 	    public ContextNavigator create() {
 		final ActionToolbarPanel contextNavigatorToolbar = new ActionToolbarPanel(
-			ActionToolbarPanel.Position.context, $(Session.class), $$(ActionManager.class), ws);
+			ActionToolbarPanel.Position.context, $(Session.class), $$(ActionManager.class),
+			$(WorkspaceSkeleton.class));
 		final ActionToolbar toolbar = new ActionToolbarPresenter($(Session.class), contextNavigatorToolbar,
 			$(ContextActionRegistry.class));
 
@@ -622,8 +340,8 @@
 			$(Session.class), $$(ContentServiceAsync.class), i18n, $(EntityTitle.class),
 			$(ContentIconsRegistry.class), $(DragDropContentRegistry.class),
 			$(ContextActionRegistry.class), toolbar);
-		final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter, i18n, ws,
-			$(ActionManager.class));
+		final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter, i18n,
+			$(WorkspaceSkeleton.class), $(ActionManager.class));
 		presenter.init(panel);
 		return presenter;
 	    }
@@ -631,8 +349,10 @@
 
 	register(Singleton.class, new Factory<FileUploader>(FileUploader.class) {
 	    public FileUploader create() {
-		final FileUploaderDialog panel = new FileUploaderDialog(i18n, ws, $(Session.class));
-		return panel;
+		final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class));
+		final FileUploaderDialog panel = new FileUploaderDialog(presenter, i18n, $(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
 	    }
 	});
 
@@ -655,31 +375,6 @@
 	    }
 	});
 
-	// $(SiteProgress.class);
-	// $(Site.class);
-	// $(SitePublicSpaceLink.class);
-	// $(SiteMessage.class);
-	// $(SiteUserMenu.class);
-	// $(SiteSignInLink.class);
-	// $(SiteSignOutLink.class);
-	// $(SiteNewGroupLink.class);
-	// $(SiteOptions.class);
-	// $(SiteSearch.class);
-	// $(SiteLogo.class);
-	//
-	// $(GroupMembersSummary.class);
-	// $(ParticipationSummary.class);
-	// $(TagsSummary.class);
-	// $(GroupSummary.class);
-	//
-	// $(EntityLogo.class);
-	// $(EntityTitle.class);
-	// $(EntitySubTitle.class);
-	// $(WsThemePresenter.class);
-	// $(EntityLicensePresenter.class);
-	// $(RateIt.class);
-	// $(RatePresenter.class);
-
 	$(ApplicationComponentGroup.class).createAll();
 	$(ToolGroup.class).createAll();
 	$(Application.class).start();

Added: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -0,0 +1,331 @@
+package org.ourproject.kune.platf.client.services;
+
+import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
+import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
+import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.platf.client.ui.QuickTipsHelper;
+import org.ourproject.kune.platf.client.ui.rate.RateIt;
+import org.ourproject.kune.platf.client.ui.rate.RateItPanel;
+import org.ourproject.kune.platf.client.ui.rate.RateItPresenter;
+import org.ourproject.kune.platf.client.ui.rate.RatePanel;
+import org.ourproject.kune.platf.client.ui.rate.RatePresenter;
+import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPresenter;
+import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
+import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter;
+import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
+import org.ourproject.kune.workspace.client.search.SiteSearcher;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.site.msg.SiteMessage;
+import org.ourproject.kune.workspace.client.site.msg.SiteMessagePanel;
+import org.ourproject.kune.workspace.client.site.msg.SiteMessagePresenter;
+import org.ourproject.kune.workspace.client.site.msg.SiteMessageView;
+import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync;
+import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
+import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLink;
+import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPresenter;
+import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptions;
+import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPanel;
+import org.ourproject.kune.workspace.client.sitebar.siteoptions.SiteOptionsPresenter;
+import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgress;
+import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPanel;
+import org.ourproject.kune.workspace.client.sitebar.siteprogress.SiteProgressPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLinkPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearch;
+import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesearch.SiteSearchPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLink;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPresenter;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPresenter;
+import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenu;
+import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPanel;
+import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPresenter;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummary;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanel;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummary;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPanel;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPresenter;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView;
+import org.ourproject.kune.workspace.client.summary.GroupSummary;
+import org.ourproject.kune.workspace.client.summary.GroupSummaryPanel;
+import org.ourproject.kune.workspace.client.summary.GroupSummaryPresenter;
+import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
+import org.ourproject.kune.workspace.client.tags.TagsSummary;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter;
+import org.ourproject.kune.workspace.client.themes.WsThemePanel;
+import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
+import org.ourproject.kune.workspace.client.title.EntitySubTitle;
+import org.ourproject.kune.workspace.client.title.EntitySubTitlePanel;
+import org.ourproject.kune.workspace.client.title.EntitySubTitlePresenter;
+import org.ourproject.kune.workspace.client.title.EntityTitle;
+import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
+import org.ourproject.kune.workspace.client.title.EntityTitlePresenter;
+
+import com.calclab.suco.client.ioc.module.AbstractModule;
+import com.calclab.suco.client.ioc.module.Factory;
+
+public class KuneWorkspaceModule extends AbstractModule {
+    @Override
+    protected void onLoad() {
+
+	register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) {
+	    public WorkspaceSkeleton create() {
+		return new WorkspaceSkeleton();
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<QuickTipsHelper>(QuickTipsHelper.class) {
+	    public QuickTipsHelper create() {
+		return new QuickTipsHelper();
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteProgress>(SiteProgress.class) {
+	    public SiteProgress create() {
+		final SiteProgressPresenter presenter = new SiteProgressPresenter();
+		final SiteProgressPanel panel = new SiteProgressPanel(presenter, $$(SitePublicSpaceLink.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<Site>(Site.class) {
+	    public Site create() {
+		return new Site($(I18nUITranslationService.class), $(SiteProgress.class), $$(SiteMessage.class));
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SitePublicSpaceLink>(SitePublicSpaceLink.class) {
+	    public SitePublicSpaceLink create() {
+		final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter($(StateManager.class));
+		final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter,
+			$(WorkspaceSkeleton.class), $(I18nUITranslationService.class), $(Images.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteMessage>(SiteMessage.class) {
+	    public SiteMessage create() {
+		final SiteMessagePresenter siteMessagePresenter = new SiteMessagePresenter();
+		final SiteMessageView siteMessageView = new SiteMessagePanel(siteMessagePresenter, true,
+			$(I18nUITranslationService.class));
+		siteMessagePresenter.init(siteMessageView);
+		return siteMessagePresenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteUserMenu>(SiteUserMenu.class) {
+	    public SiteUserMenu create() {
+		final SiteUserMenuPresenter presenter = new SiteUserMenuPresenter($(Session.class),
+			$(StateManager.class));
+		final SiteUserMenuPanel panel = new SiteUserMenuPanel(presenter, $(WorkspaceSkeleton.class),
+			$(I18nUITranslationService.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteSignInLink>(SiteSignInLink.class) {
+	    public SiteSignInLink create() {
+		final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter($(Session.class));
+		final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteSignOutLink>(SiteSignOutLink.class) {
+	    public SiteSignOutLink create() {
+		final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter($(Session.class),
+			$$(UserServiceAsync.class), $$(KuneErrorHandler.class));
+		final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter,
+			$(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteNewGroupLink>(SiteNewGroupLink.class) {
+	    public SiteNewGroupLink create() {
+		final SiteNewGroupLinkPresenter presenter = new SiteNewGroupLinkPresenter();
+		final SiteNewGroupLinkPanel panel = new SiteNewGroupLinkPanel(presenter, $(WorkspaceSkeleton.class),
+			$(I18nUITranslationService.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteOptions>(SiteOptions.class) {
+	    public SiteOptions create() {
+		final SiteOptionsPresenter presenter = new SiteOptionsPresenter();
+		final SiteOptionsPanel panel = new SiteOptionsPanel(presenter, $(WorkspaceSkeleton.class),
+			$(I18nUITranslationService.class), $$(I18nTranslator.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
+	    public SiteSearch create() {
+		final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class));
+		final SiteSearchPanel panel = new SiteSearchPanel(presenter, $(WorkspaceSkeleton.class),
+			$(I18nUITranslationService.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) {
+	    public SiteLogo create() {
+		final SiteLogoPresenter presenter = new SiteLogoPresenter($(Session.class));
+		final SiteLogoPanel panel = new SiteLogoPanel(presenter, $(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<EntityLogo>(EntityLogo.class) {
+	    public EntityLogo create() {
+		final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class),
+			$(WsThemePresenter.class));
+		final EntityLogoPanel panel = new EntityLogoPanel($(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<WsThemePresenter>(WsThemePresenter.class) {
+	    public WsThemePresenter create() {
+		final WsThemePresenter presenter = new WsThemePresenter($(Session.class), $$(GroupServiceAsync.class),
+			$(StateManager.class));
+		final WsThemePanel panel = new WsThemePanel($(WorkspaceSkeleton.class), presenter,
+			$(I18nUITranslationService.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) {
+	    public EntityTitle create() {
+		final EntityTitlePresenter presenter = new EntityTitlePresenter($(I18nUITranslationService.class),
+			$(KuneErrorHandler.class), $(StateManager.class), $(Session.class),
+			$$(ContentServiceAsync.class), $$(ContextNavigator.class));
+		final EntityTitlePanel panel = new EntityTitlePanel($(WorkspaceSkeleton.class), presenter);
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<EntitySubTitle>(EntitySubTitle.class) {
+	    public EntitySubTitle create() {
+		final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter(
+			$(I18nUITranslationService.class), $(StateManager.class));
+		final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<EntityLicensePresenter>(EntityLicensePresenter.class) {
+	    public EntityLicensePresenter create() {
+		final EntityLicensePresenter presenter = new EntityLicensePresenter($(StateManager.class));
+		final EntityLicensePanel panel = new EntityLicensePanel(presenter, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<RatePresenter>(RatePresenter.class) {
+	    public RatePresenter create() {
+		final RatePresenter presenter = new RatePresenter($(StateManager.class));
+		final RatePanel panel = new RatePanel(null, null, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<RateIt>(RateIt.class) {
+	    public RateIt create() {
+		final RateItPresenter presenter = new RateItPresenter($(I18nUITranslationService.class),
+			$(Session.class), $$(ContentServiceAsync.class), $(StateManager.class));
+		final RateItPanel panel = new RateItPanel(presenter, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<GroupMembersSummary>(GroupMembersSummary.class) {
+	    public GroupMembersSummary create() {
+		final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(
+			$(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
+			$(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupLiveSearcher.class),
+			$(WsThemePresenter.class));
+		final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter,
+			$(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
+		presenter.init(view);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<GroupSummary>(GroupSummary.class) {
+	    public GroupSummary create() {
+		final GroupSummaryPresenter presenter = new GroupSummaryPresenter($(StateManager.class),
+			$(WsThemePresenter.class));
+		final GroupSummaryView view = new GroupSummaryPanel(presenter, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(view);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<ParticipationSummary>(ParticipationSummary.class) {
+	    public ParticipationSummary create() {
+		final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(
+			$(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
+			$(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class));
+		final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter,
+			$(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
+		presenter.init(view);
+		return presenter;
+	    }
+	});
+
+	register(ApplicationComponentGroup.class, new Factory<TagsSummary>(TagsSummary.class) {
+	    public TagsSummary create() {
+		final TagsSummaryPresenter presenter = new TagsSummaryPresenter($(Session.class),
+			$$(SiteSearcher.class), $(StateManager.class), $(WsThemePresenter.class));
+		final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, $(I18nUITranslationService.class),
+			$(WorkspaceSkeleton.class));
+		presenter.init(panel);
+		return presenter;
+	    }
+	});
+
+    }
+}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploader.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploader.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploader.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -1,15 +0,0 @@
-package org.ourproject.kune.platf.client.ui.dialogs;
-
-public interface FileUploader {
-
-    public static final String USERHASH = "userhash";
-    public static final String CURRENT_STATE_TOKEN = "currentStateToken";
-    public static final String FILENAME = "filename";
-
-    void hide();
-
-    void setPermittedExtensions(String extensions);
-
-    void show();
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploaderDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploaderDialog.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploaderDialog.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -1,141 +0,0 @@
-package org.ourproject.kune.platf.client.ui.dialogs;
-
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.ui.KuneStringUtils;
-import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
-import org.ourproject.kune.workspace.client.site.Site;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.allen_sauer.gwt.log.client.Log;
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
-import com.gwtext.client.core.EventObject;
-import com.gwtext.client.core.UrlParam;
-import com.gwtext.client.widgets.Button;
-import com.gwtext.client.widgets.ToolbarButton;
-import com.gwtext.client.widgets.event.ButtonListenerAdapter;
-import com.gwtextux.client.widgets.upload.UploadDialog;
-import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
-
-public class FileUploaderDialog implements FileUploader {
-
-    protected static final String SITE_FILE_UPLOADER = "k-site-file-uploader";
-
-    private static final String URL = "/kune/servlets/FileUploadManager";
-
-    private UploadDialog dialog;
-    private ToolbarButton traybarButton;
-    private final I18nUITranslationService i18n;
-    private final WorkspaceSkeleton ws;
-    private final Session session;
-
-    public FileUploaderDialog(final I18nUITranslationService i18n, final WorkspaceSkeleton ws, final Session session) {
-	this.i18n = i18n;
-	this.ws = ws;
-	this.session = session;
-	createDialog(false);
-    }
-
-    public void hide() {
-	dialog.hide();
-    }
-
-    public void setPermittedExtensions(final String extensions) {
-	DeferredCommand.addCommand(new Command() {
-	    public void execute() {
-		Log.error("Debugging setPerm issue, current perms: " + dialog.getPermittedExtensions());
-		final Object[] objs = KuneStringUtils.splitTags(extensions).toArray();
-		final String[] exts = new String[objs.length];
-		for (int i = 0; i < objs.length; i++) {
-		    exts[i] = (String) objs[i];
-		}
-		dialog.setPermittedExtensions(exts);
-	    }
-	});
-    }
-
-    public void show() {
-	if (traybarButton == null) {
-	    traybarButton = new ToolbarButton();
-	    traybarButton.setTooltip(i18n.t("Show/hide uploader window"));
-	    traybarButton.setIcon("images/nav/upload.png");
-	    traybarButton.addListener(new ButtonListenerAdapter() {
-		@Override
-		public void onClick(final Button button, final EventObject e) {
-		    if (dialog.isVisible()) {
-			dialog.hide();
-		    } else {
-			dialog.show();
-		    }
-		}
-	    });
-	    ws.getSiteTraybar().addButton(traybarButton);
-	}
-	if (dialog == null) {
-	    createDialog(true);
-	} else {
-	    dialog.show();
-	}
-    }
-
-    private void createDialog(final boolean show) {
-	DeferredCommand.addCommand(new Command() {
-	    public void execute() {
-		dialog = new UploadDialog(i18n.t("File uploader"), false, true);
-		dialog.setId(SITE_FILE_UPLOADER);
-		// dialog.setUploadAutostart(true);
-		dialog.setResetOnHide(false);
-		dialog.addListener(new UploadDialogListenerAdapter() {
-		    @Override
-		    public void onFileUploadStart(final UploadDialog source, final String filename) {
-			setUploadParams(session.getUserHash(), session.getCurrentState().getStateToken().toString(),
-				filename);
-		    }
-
-		    @Override
-		    public void onUploadComplete(final UploadDialog source) {
-			if (!dialog.isVisible()) {
-			    Site.info(i18n.t("Upload completed"));
-			    traybarButton.destroy();
-			    traybarButton = null;
-			}
-		    }
-
-		    @Override
-		    public void onUploadError(final UploadDialog source, final String filename,
-			    final JavaScriptObject data) {
-			showError();
-		    }
-
-		    @Override
-		    public void onUploadFailed(final UploadDialog source, final String filename) {
-			showError();
-		    }
-
-		    private void setUploadParams(final String userhash, final String currentStateToken,
-			    final String filename) {
-			Log.info("Setting upload params");
-			final UrlParam param[] = new UrlParam[3];
-			param[0] = new UrlParam(USERHASH, userhash);
-			param[1] = new UrlParam(CURRENT_STATE_TOKEN, currentStateToken);
-			param[2] = new UrlParam(FILENAME, filename);
-			dialog.setBaseParams(param);
-			dialog.setPostVarName(filename);
-		    }
-
-		    private void showError() {
-			if (!dialog.isVisible()) {
-			    Site.veryImportant(i18n.t("Error uploading"));
-			}
-		    }
-
-		});
-		dialog.setUrl(URL);
-		if (show) {
-		    dialog.show();
-		}
-	    }
-	});
-    }
-}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploader.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploader.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploader.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -0,0 +1,19 @@
+package org.ourproject.kune.platf.client.ui.dialogs.upload;
+
+public interface FileUploader {
+
+    public static final String USERHASH = "userhash";
+    public static final String CURRENT_STATE_TOKEN = "currentStateToken";
+    public static final String FILENAME = "filename";
+
+    boolean hasUploadingFiles();
+
+    void hide();
+
+    void resetPermittedExtensions();
+
+    void setPermittedExtensions(String extensions);
+
+    void show();
+
+}

Copied: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderDialog.java (from rev 881, trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploaderDialog.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/FileUploaderDialog.java	2008-09-24 01:47:16 UTC (rev 881)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderDialog.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -0,0 +1,167 @@
+package org.ourproject.kune.platf.client.ui.dialogs.upload;
+
+import org.ourproject.kune.platf.client.ui.KuneStringUtils;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.core.client.JavaScriptObject;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.core.UrlParam;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.ToolbarButton;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtextux.client.widgets.upload.UploadDialog;
+import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
+
+public class FileUploaderDialog implements FileUploaderView {
+
+    protected static final String SITE_FILE_UPLOADER = "k-site-file-uploader";
+
+    private static final String URL = "/kune/servlets/FileUploadManager";
+
+    private UploadDialog dialog;
+    private ToolbarButton traybarButton;
+    private final I18nUITranslationService i18n;
+    private final WorkspaceSkeleton ws;
+    private final FileUploaderPresenter presenter;
+
+    public FileUploaderDialog(final FileUploaderPresenter presenter, final I18nUITranslationService i18n,
+	    final WorkspaceSkeleton ws) {
+	this.presenter = presenter;
+	this.i18n = i18n;
+	this.ws = ws;
+	createDialog(false);
+    }
+
+    public void destroy() {
+	if (hasUploadingFiles()) {
+	    dialog.stopUpload();
+	    Site.important(i18n.t("Upload canceled after sign out"));
+	}
+	if (dialog != null) {
+	    dialog.destroy();
+	    dialog = null;
+	}
+	if (traybarButton != null) {
+	    traybarButton.destroy();
+	    traybarButton = null;
+	}
+    }
+
+    public boolean hasUploadingFiles() {
+	return dialog.hasUnuploadedFiles();
+    }
+
+    public void hide() {
+	dialog.hide();
+    }
+
+    public void resetPermittedExtensions() {
+	final String[] extensions = {};
+	setPermittedExtensions(extensions);
+    }
+
+    public void setPermittedExtensions(final String extensions) {
+	final Object[] objs = KuneStringUtils.splitTags(extensions).toArray();
+	final String[] exts = new String[objs.length];
+	for (int i = 0; i < objs.length; i++) {
+	    exts[i] = (String) objs[i];
+	}
+	setPermittedExtensions(exts);
+    }
+
+    public void setUploadParams(final String userhash, final String currentStateToken) {
+	// Warning take into account param[size]
+	final UrlParam param[] = new UrlParam[2];
+	param[0] = new UrlParam(FileUploader.USERHASH, userhash);
+	param[1] = new UrlParam(FileUploader.CURRENT_STATE_TOKEN, currentStateToken);
+	dialog.setBaseParams(param);
+    }
+
+    public void show() {
+	if (traybarButton == null) {
+	    traybarButton = new ToolbarButton();
+	    traybarButton.setTooltip(i18n.t("Show/hide uploader window"));
+	    traybarButton.setIcon("images/nav/upload.png");
+	    traybarButton.addListener(new ButtonListenerAdapter() {
+		@Override
+		public void onClick(final Button button, final EventObject e) {
+		    if (dialog.isVisible()) {
+			dialog.hide();
+		    } else {
+			dialog.show();
+		    }
+		}
+	    });
+	    ws.getSiteTraybar().addButton(traybarButton);
+	}
+	if (dialog == null) {
+	    createDialog(true);
+	} else {
+	    dialog.show();
+	}
+    }
+
+    private void createDialog(final boolean show) {
+	dialog = new UploadDialog(i18n.t("File uploader"), false, true);
+	dialog.setId(SITE_FILE_UPLOADER);
+	// dialog.setUploadAutostart(true);
+	dialog.setResetOnHide(false);
+	dialog.addListener(new UploadDialogListenerAdapter() {
+	    @Override
+	    public boolean onBeforeAdd(final UploadDialog source, final String filename) {
+		boolean mustAdd = presenter.checkFolderChange();
+		if (!mustAdd) {
+		    Site.important(i18n.t("Wait until current uploads finish to upload files in other location"));
+		}
+		return mustAdd;
+	    }
+
+	    @Override
+	    public void onUploadComplete(final UploadDialog source) {
+		if (!dialog.isVisible()) {
+		    Site.info(i18n.t("Upload completed"));
+		    traybarButton.destroy();
+		    traybarButton = null;
+		}
+	    }
+
+	    @Override
+	    public void onUploadError(final UploadDialog source, final String filename, final JavaScriptObject data) {
+		showError();
+	    }
+
+	    @Override
+	    public void onUploadFailed(final UploadDialog source, final String filename) {
+		showError();
+	    }
+
+	    private void showError() {
+		if (!dialog.isVisible()) {
+		    Site.veryImportant(i18n.t("Error uploading"));
+		}
+	    }
+
+	});
+	dialog.setUrl(URL);
+	if (show) {
+	    dialog.show();
+	}
+    }
+
+    private void setPermittedExtensions(final String[] extensions) {
+	DeferredCommand.addCommand(new Command() {
+	    public void execute() {
+		if (dialog == null) {
+		    createDialog(false);
+		}
+		Log.info("PermittedExtensions: " + extensions.toString() + " length: " + extensions.length);
+		dialog.setPermittedExtensions(extensions);
+	    }
+	});
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenter.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenter.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -0,0 +1,67 @@
+package org.ourproject.kune.platf.client.ui.dialogs.upload;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.state.Session;
+
+import com.calclab.suco.client.listener.Listener0;
+
+public class FileUploaderPresenter implements FileUploader {
+
+    private FileUploaderView view;
+    private final Session session;
+    private StateToken currentUploadStateToken;
+
+    public FileUploaderPresenter(final Session session) {
+	this.session = session;
+    }
+
+    public boolean checkFolderChange() {
+	final StateToken currentStateToken = session.getCurrentStateToken();
+	if (sameContainer()) {
+	    view.setUploadParams(session.getUserHash(), currentStateToken.toString());
+	    return true;
+	}
+	if (view.hasUploadingFiles()) {
+	    return false;
+	} else {
+	    currentUploadStateToken = currentStateToken;
+	    view.setUploadParams(session.getUserHash(), currentStateToken.toString());
+	    return true;
+	}
+    }
+
+    public boolean hasUploadingFiles() {
+	return view.hasUploadingFiles();
+    }
+
+    public void hide() {
+	view.hide();
+    }
+
+    public void init(final FileUploaderView view) {
+	this.view = view;
+	session.onUserSignOut(new Listener0() {
+	    public void onEvent() {
+		view.destroy();
+	    }
+	});
+    }
+
+    public void resetPermittedExtensions() {
+	view.resetPermittedExtensions();
+    }
+
+    public void setPermittedExtensions(final String extensions) {
+	view.setPermittedExtensions(extensions);
+    }
+
+    public void show() {
+	view.show();
+    }
+
+    private boolean sameContainer() {
+	final StateToken currentStateToken = session.getCurrentStateToken();
+	currentUploadStateToken = currentUploadStateToken == null ? currentStateToken : currentUploadStateToken;
+	return currentUploadStateToken.equals(currentStateToken);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderView.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderView.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -0,0 +1,19 @@
+package org.ourproject.kune.platf.client.ui.dialogs.upload;
+
+public interface FileUploaderView {
+
+    void destroy();
+
+    boolean hasUploadingFiles();
+
+    void hide();
+
+    void resetPermittedExtensions();
+
+    void setPermittedExtensions(String extensions);
+
+    void setUploadParams(String userhash, String currentUploadStateToken);
+
+    void show();
+
+}

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -21,7 +21,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.ui.dialogs.FileUploader;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader;
 import org.ourproject.kune.platf.server.access.AccessRol;
 import org.ourproject.kune.platf.server.auth.ActionLevel;
 import org.ourproject.kune.platf.server.auth.Authenticated;
@@ -46,14 +47,15 @@
     ContentManager contentManager;
     @Inject
     FileManager fileManager;
+    @Inject
+    I18nTranslationService i18n;
 
     @Override
     @SuppressWarnings( { "unchecked", "deprecation" })
     protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException,
 	    IOException {
 
-	// i18n
-	JSONObject jsonResponse = createJsonResponse(true, "OK");
+	JSONObject jsonResponse = createSuccessResponse();
 
 	final DiskFileItemFactory factory = new DiskFileItemFactory();
 	// maximum size that will be stored in memory
@@ -95,12 +97,13 @@
 	    }
 	    createFile(userHash, stateToken, fileName, file);
 	} catch (final FileUploadException e) {
-	    // i18n
-	    jsonResponse = createJsonResponse(false, "Error: File too large");
+	    jsonResponse = createJsonResponse(false, i18n.t("Error: File too large"));
+
 	} catch (final Exception e) {
-	    // i18n
-	    jsonResponse = createJsonResponse(false, "Error uploading file");
-	    e.printStackTrace();
+	    // SessionExpiredException,
+	    // UserMustBeLoggedException
+	    jsonResponse = createJsonResponse(false, i18n.t("Error uploading file"));
+	    log.info(e.getCause());
 	}
 
 	final Writer w = new OutputStreamWriter(resp.getOutputStream());
@@ -119,12 +122,12 @@
 	fileUploadItem.write(file);
 	fileUploadItem.getContentType();
 	// here ContentManager code
-	return createJsonResponse(true, "OK");
+	return createSuccessResponse();
     }
 
     private String calculateUploadDirLocation(final StateToken stateToken) {
-	return kuneProperties.get(KuneProperties.UPLOAD_LOCATION) + File.pathSeparator + stateToken.getGroup()
-		+ File.pathSeparator + stateToken.getTool() + File.pathSeparator + stateToken.getFolder();
+	return kuneProperties.get(KuneProperties.UPLOAD_LOCATION) + File.separator + stateToken.getGroup()
+		+ File.separator + stateToken.getTool() + File.separator + stateToken.getFolder();
     }
 
     private JSONObject createJsonResponse(final boolean success, final String message) {
@@ -151,4 +154,8 @@
 	}
 	return response;
     }
+
+    private JSONObject createSuccessResponse() {
+	return createJsonResponse(true, i18n.t("Success uploading"));
+    }
 }

Added: 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	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -0,0 +1,65 @@
+package org.ourproject.kune.platf.client.ui.dialogs.upload;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.state.Session;
+
+public class FileUploaderPresenterTest {
+
+    private static final String SOMEUSER_HASH = "someuserHash";
+    private FileUploaderPresenter presenter;
+    private FileUploaderView view;
+    private Session session;
+
+    @Before
+    public void before() {
+	session = Mockito.mock(Session.class);
+	view = Mockito.mock(FileUploaderView.class);
+	presenter = new FileUploaderPresenter(session);
+	presenter.init(view);
+	Mockito.stub(session.getUserHash()).toReturn(SOMEUSER_HASH);
+    }
+
+    @Test
+    public void testFirstAddInSameContainer() {
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.1"));
+	assertTrue(presenter.checkFolderChange());
+	Mockito.verify(view, Mockito.times(1)).setUploadParams(SOMEUSER_HASH, "group.tool.1");
+    }
+
+    @Test
+    public void testSomeAddsInDiffContainersButNotUploading() {
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.1"));
+	assertTrue(presenter.checkFolderChange());
+	Mockito.stub(view.hasUploadingFiles()).toReturn(false);
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.2"));
+	assertTrue(presenter.checkFolderChange());
+	Mockito.verify(view, Mockito.times(1)).setUploadParams(SOMEUSER_HASH, "group.tool.1");
+	Mockito.verify(view, Mockito.times(1)).setUploadParams(SOMEUSER_HASH, "group.tool.2");
+    }
+
+    @Test
+    public void testSomeAddsInDiffContainersButUploading() {
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.1"));
+	assertTrue(presenter.checkFolderChange());
+	Mockito.stub(view.hasUploadingFiles()).toReturn(true);
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.2"));
+	assertFalse(presenter.checkFolderChange());
+	Mockito.verify(view, Mockito.times(1)).setUploadParams(SOMEUSER_HASH, "group.tool.1");
+	Mockito.verify(view, Mockito.never()).setUploadParams(SOMEUSER_HASH, "group.tool.2");
+    }
+
+    @Test
+    public void testSomeAddsInSameContainer() {
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.1"));
+	assertTrue(presenter.checkFolderChange());
+	Mockito.stub(session.getCurrentStateToken()).toReturn(new StateToken("group.tool.1"));
+	assertTrue(presenter.checkFolderChange());
+	Mockito.verify(view, Mockito.times(2)).setUploadParams(SOMEUSER_HASH, "group.tool.1");
+    }
+}

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManagerTest.java	2008-09-24 14:53:10 UTC (rev 882)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManagerTest.java	2008-09-24 20:16:24 UTC (rev 883)
@@ -3,6 +3,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.ourproject.kune.platf.client.errors.SessionExpiredException;
+import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
 import org.ourproject.kune.platf.integration.IntegrationTest;
 import org.ourproject.kune.platf.integration.IntegrationTestHelper;
 
@@ -19,7 +20,12 @@
     }
 
     @Test(expected = SessionExpiredException.class)
-    public void testNoAuth() throws Exception {
+    public void testSessionExp() throws Exception {
 	fileUploadManager.createFile("otherhash", null, null, null);
     }
+
+    @Test(expected = UserMustBeLoggedException.class)
+    public void testUserMustBeAuth() throws Exception {
+	fileUploadManager.createFile(null, null, null, null);
+    }
 }




More information about the kune-commits mailing list