r895 - in trunk: img/icons src/main/java/org/ourproject/kune/chat/client src/main/java/org/ourproject/kune/platf/client/actions src/main/java/org/ourproject/kune/platf/client/app src/main/java/org/ourproject/kune/platf/client/dto src/main/java/org/ourproject/kune/platf/client/rpc src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/state src/main/java/org/ourproject/kune/platf/client/tool src/main/java/org/ourproject/kune/platf/client/ui/uploa
Author: vjrj Date: 2008-09-29 10:55:01 +0200 (Mon, 29 Sep 2008) New Revision: 895 Added: trunk/img/icons/content_edit.png trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java trunk/src/main/java/org/ourproject/kune/platf/public/images/content_edit.png Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java Log: ya estamos con errores en el svn y si la abuela fuma Added: trunk/img/icons/content_edit.png =================================================================== (Binary files differ) Property changes on: trunk/img/icons/content_edit.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientActions.java 2008-09-29 08:55:01 UTC (rev 895) @@ -16,7 +16,6 @@ public class ChatClientActions { - private final I18nUITranslationService i18n; private final Session session; private final Provider<ChatClientTool> chatClientToolProvider; private final ContentActionRegistry contentActionRegistry; @@ -24,7 +23,6 @@ public ChatClientActions(final I18nUITranslationService i18n, final Session session, final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, final Provider<ChatClientTool> chatClientToolProvider) { - this.i18n = i18n; this.session = session; this.contentActionRegistry = contentActionRegistry; this.chatClientToolProvider = chatClientToolProvider; @@ -42,13 +40,13 @@ }); // chatAbout.setTextDescription(i18n.t("Chat about")); chatAbout.setIconUrl("images/emite-room.png"); - chatAbout.setToolTip("Chat online about this"); + chatAbout.setToolTip("Chat and comment this"); chatAbout.setLeftSeparator(ActionButtonSeparator.fill); - contentActionRegistry.addAction(DocumentClientTool.TYPE_DOCUMENT, chatAbout); - contentActionRegistry.addAction(DocumentClientTool.TYPE_GALLERY, chatAbout); - contentActionRegistry.addAction(DocumentClientTool.TYPE_WIKIPAGE, chatAbout); - contentActionRegistry.addAction(DocumentClientTool.TYPE_POST, chatAbout); - contentActionRegistry.addAction(DocumentClientTool.TYPE_UPLOADEDFILE, chatAbout); + contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_DOCUMENT); + contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_GALLERY); + contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_WIKIPAGE); + contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_POST); + contentActionRegistry.addAction(chatAbout, DocumentClientTool.TYPE_UPLOADEDFILE); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-09-29 08:55:01 UTC (rev 895) @@ -12,9 +12,11 @@ actions = new HashMap<String, ActionCollection<T>>(); } - public void addAction(final String contentTypeId, final ActionDescriptor<T> action) { - final ActionCollection<T> actionColl = getActions(contentTypeId); - actionColl.add(action); + public void addAction(final ActionDescriptor<T> action, final String... contentTypeIds) { + for (final String contentTypeId : contentTypeIds) { + final ActionCollection<T> actionColl = getActions(contentTypeId); + actionColl.add(action); + } } public boolean checkEnabling(final ActionDescriptor<T> action, final T T) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2008-09-29 08:55:01 UTC (rev 895) @@ -49,10 +49,10 @@ this.onApplicationStop = new Event0("onApplicationStop"); Window.addWindowCloseListener(new WindowCloseListener() { public void onWindowClosed() { - stop(); } public String onWindowClosing() { + stop(); return null; } }); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java 2008-09-29 08:55:01 UTC (rev 895) @@ -30,6 +30,7 @@ private String publicDesc; private GroupType type; private ContentSimpleDTO defaultContent; + private ContentSimpleDTO groupLogo; private LicenseDTO defaultLicense; private String workspaceTheme; private String tags; @@ -102,6 +103,10 @@ return defaultLicense; } + public ContentSimpleDTO getGroupLogo() { + return groupLogo; + } + public Long getId() { return id; } @@ -150,6 +155,10 @@ this.defaultLicense = defaultLicense; } + public void setGroupLogo(final ContentSimpleDTO groupLogo) { + this.groupLogo = groupLogo; + } + public void setId(final Long id) { this.id = id; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-09-29 08:55:01 UTC (rev 895) @@ -32,4 +32,6 @@ StateToken createNewGroup(String userHash, GroupDTO group) throws DefaultException; + GroupDTO setGroupLogo(String userHash, StateToken token); + } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-09-29 08:55:01 UTC (rev 895) @@ -31,4 +31,6 @@ void createNewGroup(String userHash, GroupDTO group, AsyncCallback<StateToken> callback); + void setGroupLogo(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback); + } 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-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-09-29 08:55:01 UTC (rev 895) @@ -32,9 +32,10 @@ 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.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.platf.client.ui.download.FileDownloadUtils; +import org.ourproject.kune.platf.client.ui.upload.FileUploader; +import org.ourproject.kune.platf.client.ui.upload.FileUploaderDialog; +import org.ourproject.kune.platf.client.ui.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; @@ -356,6 +357,12 @@ } }); + register(Singleton.class, new Factory<FileDownloadUtils>(FileDownloadUtils.class) { + public FileDownloadUtils create() { + return new FileDownloadUtils($(Session.class)); + } + }); + // Register of tokens like "signin", "newgroup", "translate" etcetera $(StateManager.class).addSiteToken(SiteToken.signin.toString(), new Listener<StateToken>() { public void onEvent(final StateToken previousStateToken) { Modified: 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-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-09-29 08:55:01 UTC (rev 895) @@ -8,6 +8,7 @@ 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.download.FileDownloadUtils; 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; @@ -209,9 +210,9 @@ register(ApplicationComponentGroup.class, new Factory<EntityLogo>(EntityLogo.class) { public EntityLogo create() { final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class), - $(WsThemePresenter.class)); + $(WsThemePresenter.class), $(Session.class)); final EntityLogoPanel panel = new EntityLogoPanel($(I18nUITranslationService.class), - $(WorkspaceSkeleton.class)); + $(WorkspaceSkeleton.class), $$(FileDownloadUtils.class)); presenter.init(panel); return presenter; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-09-29 08:55:01 UTC (rev 895) @@ -20,6 +20,7 @@ package org.ourproject.kune.platf.client.state; +import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; import org.ourproject.kune.platf.client.dto.StateDTO; import org.ourproject.kune.platf.client.dto.StateToken; @@ -38,7 +39,7 @@ void gotoToken(String token); - void onGroupChanged(Listener2<String, String> listener); + void onGroupChanged(Listener2<GroupDTO, GroupDTO> listener); void onSocialNetworkChanged(Listener<StateDTO> listener); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-09-29 08:55:01 UTC (rev 895) @@ -23,6 +23,7 @@ import java.util.HashMap; import org.ourproject.kune.platf.client.app.HistoryWrapper; +import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.ParticipationDataDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkDTO; import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO; @@ -48,7 +49,7 @@ private final Event<StateDTO> onStateChanged; private final Event<StateDTO> onSocialNetworkChanged; private final Event2<String, String> onToolChanged; - private final Event2<String, String> onGroupChanged; + private final Event2<GroupDTO, GroupDTO> onGroupChanged; public StateManagerDefault(final ContentProvider contentProvider, final Session session, final HistoryWrapper history) { @@ -57,7 +58,7 @@ this.history = history; this.oldState = null; this.onStateChanged = new Event<StateDTO>("onStateChanged"); - this.onGroupChanged = new Event2<String, String>("onGroupChanged"); + this.onGroupChanged = new Event2<GroupDTO, GroupDTO>("onGroupChanged"); this.onToolChanged = new Event2<String, String>("onToolChanged"); this.onSocialNetworkChanged = new Event<StateDTO>("onSocialNetworkChanged"); session.onUserSignIn(new Listener<UserInfoDTO>() { @@ -92,7 +93,7 @@ gotoToken(new StateToken(token)); } - public void onGroupChanged(final Listener2<String, String> listener) { + public void onGroupChanged(final Listener2<GroupDTO, GroupDTO> listener) { onGroupChanged.add(listener); } @@ -159,12 +160,12 @@ } private void checkGroupAndToolChange(final StateDTO oldState, final StateDTO newState) { - final String oldGroupName = oldState != null ? oldState.getGroup().getShortName() : null; - final String newGroupName = newState.getGroup().getShortName(); + final GroupDTO oldGroup = oldState != null ? oldState.getGroup() : null; + final GroupDTO newGroup = newState.getGroup(); final String oldToolName = oldState != null ? oldState.getToolName() : null; final String newToolName = newState.getToolName(); - if (oldState == null || !oldGroupName.equals(newGroupName)) { - onGroupChanged.fire(oldGroupName, newGroupName); + if (oldState == null || !oldGroup.equals(newGroup)) { + onGroupChanged.fire(oldGroup, newGroup); } if (oldState == null || !oldToolName.equals(newToolName)) { onToolChanged.fire(oldToolName, newToolName); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/tool/ToolSelectorPresenter.java 2008-09-29 08:55:01 UTC (rev 895) @@ -2,6 +2,7 @@ import java.util.HashMap; +import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.themes.WsThemePresenter; @@ -13,9 +14,9 @@ public ToolSelectorPresenter(final StateManager stateManager, final WsThemePresenter wsThemePresenter) { tools = new HashMap<String, ToolSelectorItem>(); - stateManager.onGroupChanged(new Listener2<String, String>() { - public void onEvent(final String oldGroupName, final String newGroupName) { - onGroupChanged(newGroupName); + stateManager.onGroupChanged(new Listener2<GroupDTO, GroupDTO>() { + public void onEvent(final GroupDTO oldGroup, final GroupDTO newGroup) { + onGroupChanged(newGroup.getShortName()); } }); stateManager.onToolChanged(new Listener2<String, String>() { Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploader.java 2008-09-29 08:55:01 UTC (rev 895) @@ -0,0 +1,19 @@ +package org.ourproject.kune.platf.client.ui.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(); + +} Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderDialog.java 2008-09-29 08:55:01 UTC (rev 895) @@ -0,0 +1,179 @@ +package org.ourproject.kune.platf.client.ui.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.Window; +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.setAllowCloseOnUpload(true); + dialog.setResetOnHide(false); + dialog.setClosable(true); + dialog.setCloseAction(Window.HIDE); + dialog.setMinimizable(true); + dialog.setUploadAutostart(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 onMinimize(final Window source) { + dialog.hide(); + } + + @Override + public void onUploadComplete(final UploadDialog source) { + if (!dialog.isVisible()) { + Site.info(i18n.t("Upload completed")); + traybarButton.destroy(); + traybarButton = null; + } + presenter.onUploadComplete(); + } + + @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/upload/FileUploaderPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderPresenter.java 2008-09-29 08:55:01 UTC (rev 895) @@ -0,0 +1,75 @@ +package org.ourproject.kune.platf.client.ui.upload; + +import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator; + +import com.calclab.suco.client.ioc.Provider; +import com.calclab.suco.client.listener.Listener0; + +public class FileUploaderPresenter implements FileUploader { + + private FileUploaderView view; + private final Session session; + private StateToken currentUploadStateToken; + private final Provider<ContextNavigator> navProvider; + + public FileUploaderPresenter(final Session session, final Provider<ContextNavigator> navProvider) { + this.session = session; + this.navProvider = navProvider; + } + + public boolean checkFolderChange() { + final StateToken currentFolderStateToken = session.getCurrentStateToken().clone().clearDocument(); + if (sameContainer()) { + view.setUploadParams(session.getUserHash(), currentFolderStateToken.toString()); + return true; + } + if (view.hasUploadingFiles()) { + return false; + } else { + currentUploadStateToken = currentFolderStateToken; + view.setUploadParams(session.getUserHash(), currentFolderStateToken.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 onUploadComplete() { + navProvider.get().refresh(currentUploadStateToken); + } + + 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/upload/FileUploaderView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/upload/FileUploaderView.java 2008-09-29 08:55:01 UTC (rev 895) @@ -0,0 +1,19 @@ +package org.ourproject.kune.platf.client.ui.upload; + +public interface FileUploaderView { + + void destroy(); + + boolean hasUploadingFiles(); + + void hide(); + + void resetPermittedExtensions(); + + void setPermittedExtensions(String extensions); + + void setUploadParams(String userhash, String currentUploadStateToken); + + void show(); + +} Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/content_edit.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/content_edit.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2008-09-29 08:55:01 UTC (rev 895) @@ -56,6 +56,14 @@ // Never expect or return null public static Group NO_GROUP = null; + @Enumerated(EnumType.STRING) + @Column(nullable = false) + AdmissionType admissionType; + + @Enumerated(EnumType.STRING) + @Column(nullable = false) + GroupType type; + @Id @DocumentId @GeneratedValue @@ -76,17 +84,12 @@ @Length(max = 255, message = "Public desc max 255 chars of lenght") private String publicDesc; - @Enumerated(EnumType.STRING) - @Column(nullable = false) - AdmissionType admissionType; - - @Enumerated(EnumType.STRING) - @Column(nullable = false) - GroupType type; - @OneToOne private Content defaultContent; + @OneToOne + private Content groupLogo; + @OneToOne(cascade = CascadeType.ALL) private SocialNetwork socialNetwork; @@ -99,175 +102,183 @@ private String workspaceTheme; public Group() { - this(null, null, null, null); + this(null, null, null, null); } public Group(final String shortName, final String longName) { - this(shortName, longName, null, GroupType.PROJECT); + this(shortName, longName, null, GroupType.PROJECT); } public Group(final String shortName, final String longName, final License defaultLicense, final GroupType type) { - this.shortName = shortName; - this.longName = longName; - this.toolsConfig = new HashMap<String, ToolConfiguration>(); - this.socialNetwork = new SocialNetwork(); - this.defaultLicense = defaultLicense; - this.type = type; - this.admissionType = AdmissionType.Moderated; + this.shortName = shortName; + this.longName = longName; + this.toolsConfig = new HashMap<String, ToolConfiguration>(); + this.socialNetwork = new SocialNetwork(); + this.defaultLicense = defaultLicense; + this.type = type; + this.admissionType = AdmissionType.Moderated; } - @Finder(query = "FROM Group") - public List<Group> getAll() { - return null; + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Group other = (Group) obj; + if (shortName == null) { + if (other.shortName != null) { + return false; + } + } else if (!shortName.equals(other.shortName)) { + return false; + } + return true; } - @Finder(query = "FROM Group g WHERE g.shortName = :shortName") - public Group findByShortName(@Named("shortName") - final String shortName) { - return null; + public boolean existToolConfig(final String toolName) { + return toolsConfig.get(toolName) != null; } @Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.admins.list adm WHERE adm.id = :groupid)") public List<Group> findAdminInGroups(@Named("groupid") final Long groupId) { - return null; + return null; } + @Finder(query = "FROM Group g WHERE g.shortName = :shortName") + public Group findByShortName(@Named("shortName") + final String shortName) { + return null; + } + @Finder(query = "FROM Group g WHERE g.id IN (SELECT g.id FROM g.socialNetwork.accessLists.editors.list AS ed WHERE ed.id = :groupid)") public List<Group> findCollabInGroups(@Named("groupid") final Long groupId) { - return null; + return null; } - public String getShortName() { - return shortName; + public AdmissionType getAdmissionType() { + return admissionType; } - public void setShortName(final String shortName) { - this.shortName = shortName; + @Finder(query = "FROM Group") + public List<Group> getAll() { + return null; } - public AdmissionType getAdmissionType() { - return admissionType; + public Content getDefaultContent() { + return defaultContent; } - public void setAdmissionType(final AdmissionType admissionType) { - this.admissionType = admissionType; + public License getDefaultLicense() { + return defaultLicense; } - public Long getId() { - return id; + public Content getGroupLogo() { + return groupLogo; } - public void setId(final Long id) { - this.id = id; + public Long getId() { + return id; } public String getLongName() { - return longName; + return longName; } - public void setLongName(final String longName) { - this.longName = longName; + public String getPublicDesc() { + return publicDesc; } - public Content getDefaultContent() { - return defaultContent; + public Container getRoot(final String toolName) { + return toolsConfig.get(toolName).getRoot(); } - public void setDefaultContent(final Content defaultContent) { - this.defaultContent = defaultContent; + public String getShortName() { + return shortName; } public SocialNetwork getSocialNetwork() { - return socialNetwork; + return socialNetwork; } - public void setSocialNetwork(final SocialNetwork socialNetwork) { - this.socialNetwork = socialNetwork; + public ToolConfiguration getToolConfiguration(final String name) { + return toolsConfig.get(name); } - public Container getRoot(final String toolName) { - return toolsConfig.get(toolName).getRoot(); + public Map<String, ToolConfiguration> getToolsConfig() { + return toolsConfig; } - public boolean existToolConfig(final String toolName) { - return toolsConfig.get(toolName) != null; + public GroupType getType() { + return type; } - public Map<String, ToolConfiguration> getToolsConfig() { - return toolsConfig; + public String getWorkspaceTheme() { + return workspaceTheme; } - public ToolConfiguration getToolConfiguration(final String name) { - return toolsConfig.get(name); + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + (shortName == null ? 0 : shortName.hashCode()); + return result; } - public ToolConfiguration setToolConfig(final String name, final ToolConfiguration config) { - toolsConfig.put(name, config); - return config; + public void setAdmissionType(final AdmissionType admissionType) { + this.admissionType = admissionType; } - public String getPublicDesc() { - return publicDesc; + public void setDefaultContent(final Content defaultContent) { + this.defaultContent = defaultContent; } - public void setPublicDesc(final String publicDesc) { - this.publicDesc = publicDesc; + public void setDefaultLicense(final License defaultLicense) { + this.defaultLicense = defaultLicense; } - public License getDefaultLicense() { - return defaultLicense; + public void setGroupLogo(final Content groupLogo) { + this.groupLogo = groupLogo; } - public void setDefaultLicense(final License defaultLicense) { - this.defaultLicense = defaultLicense; + public void setId(final Long id) { + this.id = id; } - public GroupType getType() { - return type; + public void setLongName(final String longName) { + this.longName = longName; } - public void setType(final GroupType type) { - this.type = type; + public void setPublicDesc(final String publicDesc) { + this.publicDesc = publicDesc; } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (shortName == null ? 0 : shortName.hashCode()); - return result; + public void setShortName(final String shortName) { + this.shortName = shortName; } - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final Group other = (Group) obj; - if (shortName == null) { - if (other.shortName != null) { - return false; - } - } else if (!shortName.equals(other.shortName)) { - return false; - } - return true; + public void setSocialNetwork(final SocialNetwork socialNetwork) { + this.socialNetwork = socialNetwork; } - public String getWorkspaceTheme() { - return workspaceTheme; + public ToolConfiguration setToolConfig(final String name, final ToolConfiguration config) { + toolsConfig.put(name, config); + return config; } + public void setType(final GroupType type) { + this.type = type; + } + public void setWorkspaceTheme(final String workspaceTheme) { - this.workspaceTheme = workspaceTheme; + this.workspaceTheme = workspaceTheme; } } \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-09-29 08:55:01 UTC (rev 895) @@ -63,4 +63,6 @@ void setDefaultContent(String groupShortName, Content content); + void setGroupLogo(Group group, Content content); + } 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-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileUploadManager.java 2008-09-29 08:55:01 UTC (rev 895) @@ -23,7 +23,7 @@ import org.ourproject.kune.docs.server.DocumentServerTool; import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.services.I18nTranslationService; -import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploader; +import org.ourproject.kune.platf.client.ui.upload.FileUploader; import org.ourproject.kune.platf.server.UserSession; import org.ourproject.kune.platf.server.access.AccessRol; import org.ourproject.kune.platf.server.access.AccessService; Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-09-29 08:55:01 UTC (rev 895) @@ -32,6 +32,7 @@ import org.apache.lucene.search.Query; import org.ourproject.kune.platf.client.dto.GroupType; import org.ourproject.kune.platf.client.errors.AccessViolationException; +import org.ourproject.kune.platf.client.errors.DefaultException; import org.ourproject.kune.platf.client.errors.EmailAddressInUseException; import org.ourproject.kune.platf.client.errors.GroupNameInUseException; import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException; @@ -176,6 +177,14 @@ group.setDefaultContent(content); } + public void setGroupLogo(final Group group, final Content content) { + if (content.getMimeType().getType().equals("image")) { + group.setGroupLogo(content); + } else { + new DefaultException("Trying to set not a image as group logo"); + } + } + private void initGroup(final User user, final Group group) throws GroupNameInUseException { try { persist(group); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-09-29 08:55:01 UTC (rev 895) @@ -32,6 +32,8 @@ import org.ourproject.kune.platf.server.auth.Authenticated; import org.ourproject.kune.platf.server.auth.Authorizated; import org.ourproject.kune.platf.server.content.ContentManager; +import org.ourproject.kune.platf.server.content.ContentUtils; +import org.ourproject.kune.platf.server.domain.Content; import org.ourproject.kune.platf.server.domain.Group; import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.GroupManager; @@ -62,7 +64,7 @@ @Authenticated @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator) - @Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class) + @Transactional(type = TransactionType.READ_WRITE) public void changeGroupWsTheme(final String userHash, final StateToken groupToken, final String theme) throws DefaultException { final UserSession userSession = getUserSession(); @@ -85,6 +87,16 @@ return newGroup.getDefaultContent().getStateToken(); } + @Authenticated + @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator) + @Transactional(type = TransactionType.READ_WRITE) + public GroupDTO setGroupLogo(final String userHash, final StateToken token) { + final Group group = groupManager.findByShortName(token.getGroup()); + final Content content = contentManager.find(ContentUtils.parseId(token.getDocument())); + groupManager.setGroupLogo(group, content); + return mapper.map(group, GroupDTO.class); + } + private UserSession getUserSession() { return userSessionProvider.get(); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-09-29 08:55:01 UTC (rev 895) @@ -1,6 +1,7 @@ package org.ourproject.kune.workspace.client.entitylogo; - public interface EntityLogo { + void refreshGroupLogo(); + } \ No newline at end of file Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-09-29 08:55:01 UTC (rev 895) @@ -20,11 +20,16 @@ package org.ourproject.kune.workspace.client.entitylogo; +import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.services.I18nTranslationService; +import org.ourproject.kune.platf.client.ui.dialogs.InfoDialog; +import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; import org.ourproject.kune.workspace.client.themes.WsTheme; +import com.calclab.suco.client.ioc.Provider; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.ui.ClickListener; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Hyperlink; @@ -32,6 +37,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.user.client.ui.Widget; public class EntityLogoPanel extends SimplePanel implements EntityLogoView { class EntityTextLogo extends VerticalPanel { @@ -58,8 +64,17 @@ putYourLogoHP.add(defTextPutYourLogoHL); // Set properties - // TODO: Put your logo here functionality defTextPutYourLogoHL.setText(i18n.t("Put Your Logo Here")); + defTextPutYourLogoHL.addClickListener(new ClickListener() { + public void onClick(final Widget sender) { + final InfoDialog infoDialog = new InfoDialog( + "Configure your group logo", + "Howto configure your group logo", + "For configure your group's logo just add an image to your group contents and select it as your group's logo (see menu 'File'). Whe are working into a more direct way to do that.", + i18n.t("Ok"), false, false, 300, 200); + infoDialog.show(); + } + }); expandCell.setWidth("100%"); putYourLogoHP.setCellWidth(expandCell, "100%"); // TODO: link to configure the logo @@ -83,17 +98,33 @@ } + private static final int LOGO_ICON_DEFAULT_WIDTH = 468; + private static final int LOGO_ICON_DEFAULT_HEIGHT = 60; + private EntityTextLogo entityTextLogo; private final I18nTranslationService i18n; + private final Provider<FileDownloadUtils> dowloadProvider; - public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws) { + public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws, + final Provider<FileDownloadUtils> dowloadProvider) { this.i18n = i18n; + this.dowloadProvider = dowloadProvider; ws.addToEntityMainHeader(this); } - public void setLogo(final Image image) { + public void setLogo(final StateToken stateToken, final boolean clipped) { clear(); - add(image); + final String imageUrl = dowloadProvider.get().getImageUrl(stateToken); + Image logo; + if (clipped) { + logo = new Image(imageUrl, 0, 0, LOGO_ICON_DEFAULT_WIDTH, LOGO_ICON_DEFAULT_HEIGHT); + } else { + + logo = new Image(imageUrl); + logo.setWidth("" + LOGO_ICON_DEFAULT_WIDTH); + logo.setHeight("" + LOGO_ICON_DEFAULT_HEIGHT); + } + add(logo); } public void setLogo(final String groupName) { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-09-29 08:55:01 UTC (rev 895) @@ -1,7 +1,9 @@ package org.ourproject.kune.workspace.client.entitylogo; +import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.themes.WsTheme; import org.ourproject.kune.workspace.client.themes.WsThemePresenter; @@ -11,14 +13,18 @@ public class EntityLogoPresenter implements EntityLogo { private EntityLogoView view; + private final Session session; - public EntityLogoPresenter(final StateManager stateManager, final WsThemePresenter theme) { + public EntityLogoPresenter(final StateManager stateManager, final WsThemePresenter theme, final Session session) { + this.session = session; + stateManager.onGroupChanged(new Listener2<GroupDTO, GroupDTO>() { + public void onEvent(final GroupDTO oldGroup, final GroupDTO newGroup) { + setGroupLogo(newGroup); + } + }); stateManager.onStateChanged(new Listener<StateDTO>() { public void onEvent(final StateDTO state) { - final GroupDTO group = state.getGroup(); final boolean isAdmin = state.getGroupRights().isAdministrable(); - - view.setLogo(group.getLongName()); view.setPutYourLogoVisible(isAdmin); } }); @@ -31,7 +37,19 @@ public void init(final EntityLogoView view) { this.view = view; + } + public void refreshGroupLogo() { + setGroupLogo(session.getCurrentState().getGroup()); } + private void setGroupLogo(final GroupDTO group) { + final ContentSimpleDTO groupLogo = group.getGroupLogo(); + if (groupLogo != null) { + view.setLogo(groupLogo.getStateToken(), true); + } else { + view.setLogo(group.getLongName()); + } + } + } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-09-29 08:55:01 UTC (rev 895) @@ -1,17 +1,15 @@ package org.ourproject.kune.workspace.client.entitylogo; +import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.workspace.client.themes.WsTheme; -import com.google.gwt.user.client.ui.Image; - public interface EntityLogoView { - // FIXME: Don' use Image - public abstract void setLogo(final Image image); + void setLogo(StateToken stateToken, boolean clipped); - public abstract void setLogo(final String groupName); + void setLogo(final String groupName); - public abstract void setPutYourLogoVisible(final boolean visible); + void setPutYourLogoVisible(final boolean visible); - public abstract void setTheme(final WsTheme oldTheme, WsTheme newTheme); + void setTheme(final WsTheme oldTheme, WsTheme newTheme); } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2008-09-29 08:55:01 UTC (rev 895) @@ -5,7 +5,6 @@ import com.calclab.suco.client.listener.Listener0; import com.google.gwt.user.client.Command; -import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.DeferredCommand; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; @@ -83,16 +82,6 @@ extRootBody.mask(message, "x-mask-loading"); } - public void openUrl(final String url) { - // final Frame urlFrame = new Frame(url); - // final Window window = new Window(); - // window.add(urlFrame); - // window.show(); - // window.close(); - // Window.open(url, "", "_blank"); - DOM.setElementAttribute(RootPanel.get("__download").getElement(), "src", url); - } - public void promptMessage(final String title, final String message, final Listener0 onEnter) { MessageBox.prompt(title, message, new MessageBox.PromptCallback() { public void execute(final String btnID, final String text) { Modified: trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/test/java/org/ourproject/kune/platf/client/actions/ActionRegistryTest.java 2008-09-29 08:55:01 UTC (rev 895) @@ -78,7 +78,7 @@ return false; } }); - registry.addAction(DEF_CONTENT_TYPE_ID, adminAction); + registry.addAction(adminAction, DEF_CONTENT_TYPE_ID); assertTrue(!registry.checkEnabling(adminAction, new StateToken())); } @@ -89,14 +89,14 @@ return true; } }); - registry.addAction(DEF_CONTENT_TYPE_ID, adminAction); + registry.addAction(adminAction, DEF_CONTENT_TYPE_ID); assertTrue(registry.checkEnabling(adminAction, new StateToken())); } private void addDefActions() { - registry.addAction(DEF_CONTENT_TYPE_ID, adminAction); - registry.addAction(DEF_CONTENT_TYPE_ID, editorAction); - registry.addAction(DEF_CONTENT_TYPE_ID, viewerAction); + registry.addAction(adminAction, DEF_CONTENT_TYPE_ID); + registry.addAction(editorAction, DEF_CONTENT_TYPE_ID); + registry.addAction(viewerAction, DEF_CONTENT_TYPE_ID); } private void checkActionLists(final int expectedActions, final AccessRightsDTO accessRightsDTO, Modified: trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/test/java/org/ourproject/kune/platf/client/state/StateManagerTest.java 2008-09-29 08:55:01 UTC (rev 895) @@ -4,6 +4,7 @@ import org.junit.Test; import org.mockito.Mockito; import org.ourproject.kune.platf.client.app.HistoryWrapper; +import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.StateDTO; import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.workspace.client.site.SiteToken; @@ -23,7 +24,7 @@ @SuppressWarnings("unchecked") @Test public void changeStateWithDifferentGroupsMustFireListener() { - final Listener2<String, String> groupListener = Mockito.mock(Listener2.class); + final Listener2<GroupDTO, GroupDTO> groupListener = Mockito.mock(Listener2.class); stateManager.onGroupChanged(groupListener); stateManager.onHistoryChanged("group1.tool1"); stateManager.onHistoryChanged("group2.tool1"); Modified: trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java 2008-09-29 08:54:12 UTC (rev 894) +++ trunk/src/test/java/org/ourproject/kune/platf/client/ui/dialogs/upload/FileUploaderPresenterTest.java 2008-09-29 08:55:01 UTC (rev 895) @@ -8,6 +8,8 @@ import org.mockito.Mockito; import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.ui.upload.FileUploaderPresenter; +import org.ourproject.kune.platf.client.ui.upload.FileUploaderView; public class FileUploaderPresenterTest {
participants (1)
-
vjrj