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
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); + } }
participants (1)
-
vjrj