diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java index cd9de06..0388ffd 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java @@ -411,6 +411,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt } }); + //Called from context menu on grid eventBus.addHandler(OpenContextMenuTreeEvent.TYPE, new OpenContextMenuTreeEventHandler() { @Override @@ -658,14 +659,6 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt com.google.gwt.user.client.Window.open(ConstantsExplorer.DOWNLOAD_WORKSPACE_SERVICE+"?id="+fileDownloadEvent.getItemIdentifier(), "_self", ""); } -// FileModel fileModel = explorerPanel.getAsycTreePanel().getFileModelByIdentifier(fileDownloadEvent.getItemIdentifier()); -// -// if(fileModel!=null){ -// if(fileDownloadEvent.getDownloadType().equals(DownloadType.SHOW)) -// com.google.gwt.user.client.Window.open(ConstantsExplorer.DOWNLOAD_WORKSPACE_SERVICE+"?id="+fileModel.getIdentifier()+"&viewContent=true", fileModel.getName(), ""); -// else -// com.google.gwt.user.client.Window.open(ConstantsExplorer.DOWNLOAD_WORKSPACE_SERVICE+"?id="+fileModel.getIdentifier(), "", ""); -// } } }); @@ -858,7 +851,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt @Override public void onFailure(Throwable caught) { explorerPanel.getAsycTreePanel().unmask(); - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " renaming item.", null); + new MessageBoxAlert("Error", caught.getMessage(), null); explorerPanel.getAsycTreePanel().removeAllAndRecoveryRoot(); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java b/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java index 7fe2029..d7feb0b 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java @@ -1,5 +1,8 @@ package org.gcube.portlets.user.workspace.client; +import java.util.HashMap; +import java.util.Map; + import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.NumberFormat; @@ -120,35 +123,9 @@ public class ConstantsExplorer { public static final String SIZE = "Size"; public static final String EMPTY = "EMPTY"; - //ID CONTEXT MENU - public static final String INS = "INS"; //Insert Folder - public static final String ADD = "ADD"; - public static final String REM = "REM"; - public static final String UPL = "UPL"; //Upload File - public static final String DWL = "DWL"; - public static final String PRW = "PRW"; - public static final String RNM = "RNM"; - public static final String ISHF = "ASHF"; //Insert shared Folder - public static final String SHR = "SHR"; //SHARE - public static final String USHR = "USHR"; //UNSHARE - public static final String UPA = "UPA"; //Upload Archive - public static final String LNK = "LNK"; - public static final String SHW = "SHW"; - public static final String CLK = "CLK"; //Add Url - public static final String ORT = "ORT"; //Open report template - public static final String ORP = "ORP"; //Open report - public static final String SDT = "SDT"; //Send to - public static final String DWM = "DWN"; //Get all new messages - public static final String MKR = "MKR"; //Mark as read - public static final String MKNR = "MKNR"; //Mark as not read - public static final String DLM = "DLM"; //Delete message - public static final String FWM = "FWM"; //Forward message - public static final String CPI = "CPI"; //copy item - public static final String PSI = "PSI"; //paste - public static final String RFH = "RFH"; //Refresh - public static final String WDV = "WDV"; //WebDav - public static final String CNM = "CNM"; //Create new message - public static final String GTI = "GTI"; //GET INFO + + public static Map operations = new HashMap(); + //ID CONTEXT MENU IN GRID public static final String OPM = "OPM"; //Open message diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/constant/WorkspaceOperation.java b/src/main/java/org/gcube/portlets/user/workspace/client/constant/WorkspaceOperation.java new file mode 100644 index 0000000..f3ed9f9 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/workspace/client/constant/WorkspaceOperation.java @@ -0,0 +1,81 @@ +package org.gcube.portlets.user.workspace.client.constant; + +public enum WorkspaceOperation { + + INSERT_FOLDER("INS", "INS"), // Insert Folder + ADD_ITEM("ADD", "ADD"), // Add Folder + REMOVE("REM", "REM"), + UPLOAD_FILE("UPL", "UPL"), + DOWNLOAD("DWL", "DWL"), + PREVIEW("PRW", "PRW"), + RENAME("RNM", "RNM"), + INSERT_SHARED_FOLDER("ISHF", "ASHF"), // Insert shared Folder + SHARE("SHR", "SHR"), // SHARE + UNSHARE("USHR", "USHR"), // UNSHARE + UPLOAD_ARCHIVE("UPA", "UPA"), // Upload Archive + LINK("LNK", "LNK"), + SHOW("SHW", "SHW"), // SHOW + ADD_URL("CLK", "CLK"), // Add Url + OPEN_REPORT_TEMPLATE("ORT", "ORT"), // Open report template + OPEN_REPORT("ORP", "ORP"), // Open report + SENDTO("SDT", "SDT"), // Send to + GET_NEW_MESSAGES("DWM", "DWM"), // Get all new messages + CREATE_NEW_MESSAGE("CNM", "CNM"), // Create new message + MARK_AS_READ("MKR", "MKR"), // Mark as read + MARK_AS_UNREAD("MKNR", "MKNR"), // Mark as not read + DELETE_MESSAGE("DLM", "DLM"), // Delete message + FORWARD_MESSAGE("FWM", "FWM"), // Forward message + COPY("CPI", "CPI"), // copy item + PASTE("PSI", "PSI"), // paste + REFRESH_FOLDER("RFH", "RFH"), // Refresh + WEBDAV_URL("WDV", "WDV"), // WebDav + GET_INFO("GTI", "GTI");// GET INFO + + +// //ID CONTEXT MENU +// public static final String INS = "INS"; //Insert Folder +// public static final String ADD = "ADD"; +// public static final String REM = "REM"; +// public static final String UPL = "UPL"; //Upload File +// public static final String DWL = "DWL"; +// public static final String PRW = "PRW"; +// public static final String RNM = "RNM"; +// public static final String ISHF = "ASHF"; //Insert shared Folder +// public static final String SHR = "SHR"; //SHARE +// public static final String USHR = "USHR"; //UNSHARE +// public static final String UPA = "UPA"; //Upload Archive +// public static final String LNK = "LNK"; +// public static final String SHW = "SHW"; +// public static final String CLK = "CLK"; //Add Url +// public static final String ORT = "ORT"; //Open report template +// public static final String ORP = "ORP"; //Open report +// public static final String SDT = "SDT"; //Send to +// public static final String DWM = "DWN"; //Get all new messages +// public static final String MKR = "MKR"; //Mark as read +// public static final String MKNR = "MKNR"; //Mark as not read +// public static final String DLM = "DLM"; //Delete message +// public static final String FWM = "FWM"; //Forward message +// public static final String CPI = "CPI"; //copy item +// public static final String PSI = "PSI"; //paste +// public static final String RFH = "RFH"; //Refresh +// public static final String WDV = "WDV"; //WebDav +// public static final String CNM = "CNM"; //Create new message +// public static final String GTI = "GTI"; //GET INFO + + private String id; // ID CONTEXT MENU + private String name; + + WorkspaceOperation(String id, String name) { + this.id = id; + this.name = name; + } + + public String getId() { + return id; + } + + public String getName() { + return name; + } + +} diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java index 6395fe8..1b08cdf 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java @@ -6,6 +6,7 @@ import java.util.List; import org.gcube.portlets.user.workspace.client.AppControllerExplorer; import org.gcube.portlets.user.workspace.client.ConstantsExplorer; +import org.gcube.portlets.user.workspace.client.constant.WorkspaceOperation; import org.gcube.portlets.user.workspace.client.event.ExpandFolderEvent; import org.gcube.portlets.user.workspace.client.event.MoveItemEvent; import org.gcube.portlets.user.workspace.client.event.SelectedItemEvent; @@ -775,13 +776,13 @@ private static final String TREE_MESSAGE_PANEL_ASYNC = "treeMessagePanelAsync"; private void setVisibleRenameAndRemoveContextMenu(boolean bool){ - treePanel.getContextMenu().getItemByItemId(ConstantsExplorer.REM).setVisible(bool); - treePanel.getContextMenu().getItemByItemId(ConstantsExplorer.RNM).setVisible(bool); + treePanel.getContextMenu().getItemByItemId(WorkspaceOperation.REMOVE.getId()).setVisible(bool); + treePanel.getContextMenu().getItemByItemId(WorkspaceOperation.RENAME.getId()).setVisible(bool); } private void setVisibileGetWebDavUrl(boolean bool){ - treePanel.getContextMenu().getItemByItemId(ConstantsExplorer.WDV).setVisible(bool); + treePanel.getContextMenu().getItemByItemId(WorkspaceOperation.WEBDAV_URL.getId()).setVisible(bool); } private void setAlphanumericStoreSorter(){ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java index 13cff11..ddc2cb4 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java @@ -5,6 +5,7 @@ import java.util.List; import org.gcube.portlets.user.workspace.client.AppControllerExplorer; import org.gcube.portlets.user.workspace.client.ConstantsExplorer; +import org.gcube.portlets.user.workspace.client.constant.WorkspaceOperation; import org.gcube.portlets.user.workspace.client.event.AddFolderEvent; import org.gcube.portlets.user.workspace.client.event.CreateSharedFolderEvent; import org.gcube.portlets.user.workspace.client.event.CreateUrlEvent; @@ -55,7 +56,7 @@ public class ContextMenuTree { //Preview Image MenuItem previewImage = new MenuItem(); - previewImage.setId(ConstantsExplorer.PRW); + previewImage.setId(WorkspaceOperation.PREVIEW.getId()); previewImage.setText(ConstantsExplorer.MESSAGE_PREVIEW); previewImage.setIcon(Resources.getIconPreview()); @@ -79,7 +80,7 @@ public class ContextMenuTree { //Open Url MenuItem openUrl = new MenuItem(); - openUrl.setId(ConstantsExplorer.LNK); + openUrl.setId(WorkspaceOperation.LINK.getId()); openUrl.setText(ConstantsExplorer.MESSAGE_OPEN_URL); openUrl.setIcon(Resources.getIconOpenUrl()); @@ -101,7 +102,7 @@ public class ContextMenuTree { //Open Report Template MenuItem openReportTemplate = new MenuItem(); - openReportTemplate.setId(ConstantsExplorer.ORT); + openReportTemplate.setId(WorkspaceOperation.OPEN_REPORT_TEMPLATE.getId()); openReportTemplate.setText(ConstantsExplorer.MESSAGE_OPEN_REPORT_TEMPLATE); openReportTemplate.setIcon(Resources.getIconOpenUrl()); @@ -121,7 +122,7 @@ public class ContextMenuTree { //Open Report Template MenuItem openReport = new MenuItem(); - openReport.setId(ConstantsExplorer.ORP); + openReport.setId(WorkspaceOperation.OPEN_REPORT.getId()); openReport.setText(ConstantsExplorer.MESSAGE_OPEN_REPORT); openReport.setIcon(Resources.getIconOpenUrl()); @@ -144,7 +145,7 @@ public class ContextMenuTree { MenuItem insertFolder = new MenuItem(); - insertFolder.setId(ConstantsExplorer.INS); + insertFolder.setId(WorkspaceOperation.INSERT_FOLDER.getId()); insertFolder.setText(ConstantsExplorer.MESSAGE_ADD_FOLDER); insertFolder.setIcon(Resources.getIconAddFolder()); @@ -165,7 +166,7 @@ public class ContextMenuTree { MenuItem createShareFolder = new MenuItem(); - createShareFolder.setId(ConstantsExplorer.ISHF); + createShareFolder.setId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()); createShareFolder.setText(ConstantsExplorer.MESSAGE_ADD_SHARED_FOLDER); createShareFolder.setIcon(Resources.getIconSharedFolder()); @@ -184,7 +185,7 @@ public class ContextMenuTree { //Add Url MenuItem addUrl = new MenuItem(); - addUrl.setId(ConstantsExplorer.CLK); + addUrl.setId(WorkspaceOperation.ADD_URL.getId()); addUrl.setText(ConstantsExplorer.MESSAGE_ADD_URL); addUrl.setIcon(Resources.getIconAddUrl()); @@ -206,7 +207,7 @@ public class ContextMenuTree { contextMenu.add(new SeparatorMenuItem()); MenuItem copy = new MenuItem(); - copy.setId(ConstantsExplorer.CPI); + copy.setId(WorkspaceOperation.COPY.getId()); copy.setText(ConstantsExplorer.COPYITEM); copy.setIcon(Resources.getIconCopy()); @@ -224,7 +225,7 @@ public class ContextMenuTree { contextMenu.add(copy); MenuItem paste = new MenuItem(); - paste.setId(ConstantsExplorer.PSI); + paste.setId(WorkspaceOperation.PASTE.getId()); paste.setText(ConstantsExplorer.PASTEITEM); paste.setIcon(Resources.getIconPaste()); @@ -248,7 +249,7 @@ public class ContextMenuTree { contextMenu.add(paste); MenuItem share = new MenuItem(); - share.setId(ConstantsExplorer.SHR); + share.setId(WorkspaceOperation.SHARE.getId()); share.setText("Share"); share.setIcon(Resources.getIconShareFolder()); @@ -265,7 +266,7 @@ public class ContextMenuTree { }); MenuItem unShare = new MenuItem(); - unShare.setId(ConstantsExplorer.USHR); + unShare.setId(WorkspaceOperation.UNSHARE.getId()); unShare.setText("UnShare"); unShare.setIcon(Resources.getIconUnShareUser()); @@ -291,7 +292,7 @@ public class ContextMenuTree { MenuItem rename = new MenuItem(); - rename.setId(ConstantsExplorer.RNM); + rename.setId(WorkspaceOperation.RENAME.getId()); rename.setText("Rename Item"); rename.setIcon(Resources.getIconRenameItem()); @@ -310,7 +311,7 @@ public class ContextMenuTree { contextMenu.add(rename); MenuItem remove = new MenuItem(); - remove.setId(ConstantsExplorer.REM); + remove.setId(WorkspaceOperation.REMOVE.getId()); remove.setText(ConstantsExplorer.MESSAGE_DELETE_ITEM); remove.setIcon(Resources.getIconDeleteItem()); @@ -329,7 +330,7 @@ public class ContextMenuTree { contextMenu.add(new SeparatorMenuItem()); MenuItem show = new MenuItem(); - show.setId(ConstantsExplorer.SHW); + show.setId(WorkspaceOperation.SHOW.getId()); show.setText(ConstantsExplorer.MESSAGE_SHOW); show.setIcon(Resources.getIconShow()); @@ -349,7 +350,7 @@ public class ContextMenuTree { MenuItem viewWebDav = new MenuItem(); - viewWebDav.setId(ConstantsExplorer.WDV); + viewWebDav.setId(WorkspaceOperation.WEBDAV_URL.getId()); viewWebDav.setText(ConstantsExplorer.MESSAGE_WEBDAV_URL); viewWebDav.setIcon(Resources.getIconUrlWebDav()); @@ -369,7 +370,7 @@ public class ContextMenuTree { MenuItem sendTo = new MenuItem(); - sendTo.setId(ConstantsExplorer.SDT); + sendTo.setId(WorkspaceOperation.SENDTO.getId()); sendTo.setText(ConstantsExplorer.MESSAGE_SEND_TO); sendTo.setIcon(Resources.getIconSendTo()); @@ -388,7 +389,7 @@ public class ContextMenuTree { MenuItem upload = new MenuItem(); - upload.setId(ConstantsExplorer.UPL); + upload.setId(WorkspaceOperation.UPLOAD_FILE.getId()); upload.setText(ConstantsExplorer.MESSAGE_UPLOAD_FILE); upload.setIcon(Resources.getIconFileUpload()); @@ -410,7 +411,7 @@ public class ContextMenuTree { MenuItem uploadArchive = new MenuItem(); - uploadArchive.setId(ConstantsExplorer.UPA); + uploadArchive.setId(WorkspaceOperation.UPLOAD_ARCHIVE.getId()); uploadArchive.setText(ConstantsExplorer.MESSAGE_UPLOAD_ARCHIVE); uploadArchive.setIcon(Resources.getIconArchiveUpload()); @@ -431,7 +432,7 @@ public class ContextMenuTree { MenuItem downloadArchive = new MenuItem(); - downloadArchive.setId(ConstantsExplorer.DWL); + downloadArchive.setId(WorkspaceOperation.DOWNLOAD.getId()); downloadArchive.setText(ConstantsExplorer.MESSAGE_DOWNLOAD_ITEM); downloadArchive.setIcon(Resources.getIconDownload()); @@ -449,7 +450,7 @@ public class ContextMenuTree { MenuItem mnGetInfo = new MenuItem(); - mnGetInfo.setId(ConstantsExplorer.GTI); + mnGetInfo.setId(WorkspaceOperation.GET_INFO.getId()); mnGetInfo.setText(ConstantsExplorer.MESSAGE_GET_INFO); mnGetInfo.setIcon(Resources.getIconInfo()); @@ -465,7 +466,7 @@ public class ContextMenuTree { contextMenu.add(mnGetInfo); MenuItem refreshItem = new MenuItem(); - refreshItem.setId(ConstantsExplorer.RFH); + refreshItem.setId(WorkspaceOperation.REFRESH_FOLDER.getId()); refreshItem.setText(ConstantsExplorer.MESSAGE_REFRESH_FOLDER); refreshItem.setIcon(Resources.getIconRefresh()); @@ -492,6 +493,12 @@ public class ContextMenuTree { hideSharing = true; } + /** + * Called from context menu on grid + * @param targetFileModel + * @param posX + * @param posY + */ public void openContextMenuOnItem(FileModel targetFileModel, int posX, int posY) { clearListSelectedItems(); listSelectedItems.add(0, targetFileModel); @@ -501,15 +508,15 @@ public class ContextMenuTree { if(targetFileModel!=null){ contextMenuSwitch(targetFileModel); - contextMenu.getItemByItemId(ConstantsExplorer.INS).setVisible(false); //set invisible create folder - contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //set invisible create shared folder - contextMenu.getItemByItemId(ConstantsExplorer.WDV).setVisible(false); //set invisible webdav url - contextMenu.getItemByItemId(ConstantsExplorer.UPL).setVisible(false); //set invisible upload file - contextMenu.getItemByItemId(ConstantsExplorer.UPA).setVisible(false); //set invisible upload archive - contextMenu.getItemByItemId(ConstantsExplorer.CLK).setVisible(false); //set invisible add url - contextMenu.getItemByItemId(ConstantsExplorer.RFH).setVisible(false); //set invisible refresh - contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //set invisible share - contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //set invisible unshare + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_FOLDER.getId()).setVisible(false); //set invisible create folder + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //set invisible create shared folder + contextMenu.getItemByItemId(WorkspaceOperation.WEBDAV_URL.getId()).setVisible(false); //set invisible webdav url + contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_FILE.getId()).setVisible(false); //set invisible upload file + contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_ARCHIVE.getId()).setVisible(false); //set invisible upload archive + contextMenu.getItemByItemId(WorkspaceOperation.ADD_URL.getId()).setVisible(false); //set invisible add url + contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(false); //set invisible refresh + contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //set invisible share + contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //set invisible unshare contextMenu.showAt(posX, posY); } // treePanel.fireEvent(Events.ContextMenu); @@ -526,66 +533,66 @@ public class ContextMenuTree { public void contextMenuSwitch(FileModel selectedItem) { - contextMenu.getItemByItemId(ConstantsExplorer.INS).setVisible(true); //insert folder - contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(true); //insert shared folder - contextMenu.getItemByItemId(ConstantsExplorer.UPL).setVisible(true); - contextMenu.getItemByItemId(ConstantsExplorer.UPA).setVisible(true); - contextMenu.getItemByItemId(ConstantsExplorer.CLK).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_FOLDER.getId()).setVisible(true); //insert folder + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(true); //insert shared folder + contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_FILE.getId()).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_ARCHIVE.getId()).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.ADD_URL.getId()).setVisible(true); - contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(false); //preview image - contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(false); //open link - contextMenu.getItemByItemId(ConstantsExplorer.SHW).setVisible(false); //show - contextMenu.getItemByItemId(ConstantsExplorer.ORP).setVisible(false); //open report - contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(false); //open report template - contextMenu.getItemByItemId(ConstantsExplorer.PSI).setEnabled(false); //paste - contextMenu.getItemByItemId(ConstantsExplorer.RFH).setVisible(false); //refresh + contextMenu.getItemByItemId(WorkspaceOperation.PREVIEW.getId()).setVisible(false); //preview image + contextMenu.getItemByItemId(WorkspaceOperation.LINK.getId()).setVisible(false); //open link + contextMenu.getItemByItemId(WorkspaceOperation.SHOW.getId()).setVisible(false); //show + contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT.getId()).setVisible(false); //open report + contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT_TEMPLATE.getId()).setVisible(false); //open report template + contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(false); //paste + contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(false); //refresh - contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //SHARE - contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //UNSHARE + contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE + contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE if(selectedItem.isDirectory()){ - contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(true); //SHARE - contextMenu.getItemByItemId(ConstantsExplorer.SHW).setVisible(false); //show - contextMenu.getItemByItemId(ConstantsExplorer.RFH).setVisible(true); //refresh + contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(true); //SHARE + contextMenu.getItemByItemId(WorkspaceOperation.SHOW.getId()).setVisible(false); //show + contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(true); //refresh if(selectedItem.isShared()){ //IS SHARED - contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //insert shared folder - contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //insert shared folder + contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(true); }else if(selectedItem.isRoot()){ //IS ROOT - contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //SHARE - contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(true); //insert shared folder - contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //UNSHARE + contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(true); //insert shared folder + contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE } GWT.log("HideSharing = " + hideSharing); //not supported in tree Reports if (hideSharing) { - contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //SHARE - contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //insert shared folder - contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //UNSHARE + contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE + contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //insert shared folder + contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE } } else{ - contextMenu.getItemByItemId(ConstantsExplorer.SHW).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.SHOW.getId()).setVisible(true); switch(selectedItem.getGXTFolderItemType()){ case EXTERNAL_IMAGE: - contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.PREVIEW.getId()).setVisible(true); break; case EXTERNAL_FILE: break; case EXTERNAL_PDF_FILE: break; case EXTERNAL_URL: - contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.LINK.getId()).setVisible(true); break; case REPORT_TEMPLATE: - contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT_TEMPLATE.getId()).setVisible(true); break; case REPORT: - contextMenu.getItemByItemId(ConstantsExplorer.ORP).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT.getId()).setVisible(true); break; case QUERY: break; @@ -596,12 +603,12 @@ public class ContextMenuTree { case PDF_DOCUMENT: break; case IMAGE_DOCUMENT: - contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.PREVIEW.getId()).setVisible(true); break; case DOCUMENT: break; case URL_DOCUMENT: - contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true); + contextMenu.getItemByItemId(WorkspaceOperation.LINK.getId()).setVisible(true); break; case METADATA: break; @@ -619,7 +626,7 @@ public class ContextMenuTree { if(CopyAndPaste.getCopiedfileModelId()!=null) - contextMenu.getItemByItemId(ConstantsExplorer.PSI).setEnabled(true); //paste + contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(true); //paste } /** diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java b/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java index d429932..8d3cfc4 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java @@ -167,10 +167,14 @@ public class DownloadServlet extends HttpServlet{ ExternalFile externalFile = (ExternalFile)folderItem; String mimeType = externalFile.getMimeType(); - String itemName = MimeTypeUtil.getNameWithExtension(item.getName(), mimeType); + + //COMMENTED 26/03/2013 +// String itemName = MimeTypeUtil.getNameWithExtension(item.getName(), mimeType); String contentDisposition = (viewContent)?"inline":"attachment"; - resp.setHeader( "Content-Disposition", contentDisposition+"; filename=\"" + itemName + "\"" ); + //COMMENTED 26/03/2013 +// resp.setHeader( "Content-Disposition", contentDisposition+"; filename=\"" + itemName + "\"" ); + resp.setHeader( "Content-Disposition", contentDisposition+"; filename=\"" + item.getName() + "\"" ); resp.setContentType(externalFile.getMimeType()); resp.setContentLength((int) externalFile.getLength()); diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java index b5168fc..8ea3caf 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java @@ -518,8 +518,12 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT return true; + } catch (ItemAlreadyExistException e) { + String error = "An error occurred on copying item, " +e.getMessage(); + throw new Exception(error); + } catch (Exception e) { - workspaceLogger.error("Error in server Item rename", e); + workspaceLogger.error(ConstantsExplorer.SERVER_ERROR + " renaming item. "+ConstantsExplorer.TRY_AGAIN, e); throw new Exception(e.getMessage()); } } @@ -1491,9 +1495,12 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT return false; }catch (InsufficientPrivilegesException e) { - String error = "An error occurred on copying item " +e.getMessage() + ". "+ConstantsExplorer.TRY_AGAIN; + String error = "An error occurred on copying item, " +e.getMessage() + ". "+ConstantsExplorer.TRY_AGAIN; throw new Exception(error); + }catch (ItemAlreadyExistException e) { + String error = "An error occurred on copying item, " +e.getMessage(); + throw new Exception(error); } catch (Exception e) { workspaceLogger.error("Error in server copyItem by id", e); String error = ConstantsExplorer.SERVER_ERROR +" copying item " + ConstantsExplorer.TRY_AGAIN; @@ -1770,6 +1777,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT WorkspaceItem wsItem = workspace.getItem(itemIdentifier); + workspaceLogger.trace("workspace retrieve item name: "+wsItem.getName()); + GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); while(wsItem!=null && wsItem.getParent()!=null){ @@ -1793,7 +1802,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.trace("list parents return size: "+listParents.size()); } catch (Exception e) { - workspaceLogger.error("Error in unSharedFolderByFolderSharedId ", e); + workspaceLogger.error("Erron in get List Parents By Item Identifier ", e); e.printStackTrace(); throw new Exception(e.getMessage()); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/UploadServlet.java b/src/main/java/org/gcube/portlets/user/workspace/server/UploadServlet.java index 0e1a65e..ae57954 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/UploadServlet.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/UploadServlet.java @@ -4,6 +4,8 @@ package org.gcube.portlets.user.workspace.server; import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Calendar; @@ -21,6 +23,7 @@ import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; import org.gcube.common.core.utils.logging.GCUBELog; import org.gcube.portlets.user.homelibrary.home.exceptions.InternalErrorException; import org.gcube.portlets.user.homelibrary.home.workspace.Workspace; @@ -33,6 +36,7 @@ import org.gcube.portlets.user.homelibrary.home.workspace.exceptions.ItemNotFoun import org.gcube.portlets.user.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException; import org.gcube.portlets.user.homelibrary.home.workspace.exceptions.WrongDestinationException; import org.gcube.portlets.user.homelibrary.home.workspace.folder.FolderItem; +import org.gcube.portlets.user.homelibrary.home.workspace.folder.items.ExternalFile; import org.gcube.portlets.user.homelibrary.home.workspace.folder.items.Report; import org.gcube.portlets.user.homelibrary.home.workspace.folder.items.ReportTemplate; import org.gcube.portlets.user.homelibrary.util.Extensions; @@ -247,7 +251,20 @@ public class UploadServlet extends HttpServlet { //we need to recalculate the item name itemName = WorkspaceUtil.getUniqueName(uploadItem.getName(), destinationFolder); + + System.out.println("contentType "+contentType); + FolderItem createdItem = WorkspaceUtil.createExternalFile(destinationFolder, itemName, "", contentType, uploadItem.getInputStream()); + + File file = new File("/home/francesco-mangiacrapa/testhl"); + + IOUtils.copy(uploadItem.getInputStream(), new FileOutputStream(file)); + + + File file2 = new File("/home/francesco-mangiacrapa/createdItem"); + + IOUtils.copy(((ExternalFile) createdItem).getData(), new FileOutputStream(file2)); + sendMessage(response, "File "+createdItem.getName()+" imported correctly in "+destinationFolder.getPath()); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java b/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java index 48937ff..e819bbe 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java @@ -198,54 +198,7 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - -// try{ -// //CREATE TEMPORARY HASH -// HashMap hashLoginAlreadyShared = new HashMap(); -// -// for (InfoContactModel infoContactModel : listSharedContact) { -// hashLoginAlreadyShared.put(infoContactModel.getLogin(),infoContactModel); -// } -// -// if(listSharedContact==null) -// return; -// -// for (InfoContactModel infoContactModel : listSharingContact) { -// -// -// if(hashLoginAlreadyShared.get(infoContactModel.getLogin())==null){ //if is new contact.. notifies share -// -// //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER -// if(infoContactModel.getLogin().compareTo(userId)!=0){ -// -// for (InfoContactModel contact : listSharedContact) { //NOTIFIES ALREADY SHARED CONTACTS -// -// try{ -// -// gcubeLogger.trace("Sending notification to user "+contact.getLogin()+", added user "+ infoContactModel.getLogin() +" to share folder "+sharedFolder.getName()); -// -// //DEBUG -//// System.out.println("Sending notification added user "+ infoContactModel.getLogin() +" to share folder "+sharedFolder.getName() + " for user "+contact.getLogin()); -// -// boolean notify = notificationsMng.notifyFolderAddedUser(contact.getLogin(), sharedFolder, infoContactModel.getLogin()); -// -// if(!notify) -// gcubeLogger.error("An error occured when notifies user: "+infoContactModel.getLogin()); -// -// }catch (Exception e) { -// gcubeLogger.error("An error occured in notifyFolderAddedUser ", e); -// e.printStackTrace(); -// } -// } -// } -// } -// } -// }catch (Exception e) { -// gcubeLogger.error("An error occured in notifyAddedUserToSharing ", e); -// e.printStackTrace(); -// } - try{ DiffereceBeetweenInfoContactModel diff = new DiffereceBeetweenInfoContactModel(listSharingContact, listSharedContact);