diff --git a/pom.xml b/pom.xml index fd50f0d..4981b05 100644 --- a/pom.xml +++ b/pom.xml @@ -109,6 +109,14 @@ runtime + + + org.gcube.common + storagehub-client-library + runtime + + + org.gcube.common @@ -232,6 +240,12 @@ provided + + + org.gcube.common + storagehub-client-library + provided + @@ -260,7 +274,7 @@ org.gcube.portlets.widgets workspace-explorer - [2.0.0-SNAPSHOT,3.0.0-SNAPSHOT) + [2.0.0-SNAPSHOT,3.0.0-SNAPSHOT) @@ -360,8 +374,8 @@ DataMinerManager.html ${webappDirectory} org.gcube.portlets.user.dataminermanager.dataminermanager - - + + diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/PortalViewport.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/PortalViewport.java index 5c933ab..a80f4b5 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/PortalViewport.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/PortalViewport.java @@ -109,7 +109,7 @@ public class PortalViewport extends SimpleContainer { } int viewHeight = calculateHeight(); - Log.info("AM resize viewWidth: " + viewWidth + " viewHeight: " + Log.info("DataMiner resize viewWidth: " + viewWidth + " viewHeight: " + viewHeight + " clientWidth: " + Window.getClientWidth() + " clientHeight: " + Window.getClientHeight()); try { @@ -127,7 +127,7 @@ public class PortalViewport extends SimpleContainer { protected void onWindowResize(int width, int height) { int viewWidth = calculateWidth(); int viewHeight = calculateHeight(); - Log.trace("AM onWindowResize viewWidth: " + viewWidth + Log.trace("DataMiner onWindowResize viewWidth: " + viewWidth + " viewHeight: " + viewHeight + " clientWidth: " + Window.getClientWidth() + " clientHeight: " + Window.getClientHeight()); @@ -138,14 +138,14 @@ public class PortalViewport extends SimpleContainer { protected int calculateWidth() { int leftBorder = getAbsoluteLeft(); - Log.info("AM width: " + Log.info("DataMiner width: " + String.valueOf(Window.getClientWidth() - 2 * leftBorder)); return Window.getClientWidth() - 2 * leftBorder; } protected int calculateHeight() { int topBorder = getAbsoluteTop(); - Log.info("AM height: " + Log.info("DataMiner height: " + String.valueOf(Window.getClientHeight() - topBorder - 34)); return Window.getClientHeight() - topBorder - 34; } diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/InputDataSetsPanel.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/InputDataSetsPanel.java index 3673710..655e6be 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/InputDataSetsPanel.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/InputDataSetsPanel.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.gcube.data.analysis.dataminermanagercl.shared.workspace.ItemDescription; import org.gcube.portal.clientcontext.client.GCubeClientContext; import org.gcube.portlets.user.dataminermanager.client.DataMinerManager; import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider; @@ -18,7 +19,6 @@ import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaEle import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3; import org.gcube.portlets.user.dataminermanager.shared.Constants; import org.gcube.portlets.user.dataminermanager.shared.exception.SessionExpiredServiceException; -import org.gcube.data.analysis.dataminermanagercl.shared.workspace.ItemDescription; import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener; import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUpload.UPLOAD_TYPE; import org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload; @@ -288,7 +288,9 @@ public class InputDataSetsPanel extends FramedPanel { }; dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListener); - + + + Log.debug("Create ToolBar for InputDataSetsPanel"); // ToolBar btnDownload = new TextButton("Download"); btnDownload.setIcon(DataMinerManager.resources.download()); diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/OutputDataSetsPanel.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/OutputDataSetsPanel.java index ded9266..0236754 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/OutputDataSetsPanel.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/dataspace/OutputDataSetsPanel.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.gcube.data.analysis.dataminermanagercl.shared.workspace.ItemDescription; import org.gcube.portal.clientcontext.client.GCubeClientContext; import org.gcube.portlets.user.dataminermanager.client.DataMinerManager; import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider; @@ -18,7 +19,6 @@ import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaEle import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3; import org.gcube.portlets.user.dataminermanager.shared.Constants; import org.gcube.portlets.user.dataminermanager.shared.exception.SessionExpiredServiceException; -import org.gcube.data.analysis.dataminermanagercl.shared.workspace.ItemDescription; import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener; import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUpload.UPLOAD_TYPE; import org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload; @@ -147,7 +147,7 @@ public class OutputDataSetsPanel extends FramedPanel { } switch (event.getDataMinerWorkAreaRegionType()) { case Computations: - break; + break; case DataSets: manageMyDataMinerWorkAreaEvents(event); break; @@ -250,10 +250,10 @@ public class OutputDataSetsPanel extends FramedPanel { wsResourcesExplorerPanel.ensureDebugId("wsResourceExplorerPanelForOutput"); wsResourcesExplorerPanel.setHeightToInternalScroll(300); - Log.debug("Define DND for InputDataSetsPanel"); + Log.debug("Define DND for OutputDataSetsPanel"); // DND - + dnd = new MultipleDNDUpload(); dnd.setParameters(event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId(), UPLOAD_TYPE.File); dnd.addUniqueContainer(wsResourcesExplorerPanel); @@ -287,7 +287,8 @@ public class OutputDataSetsPanel extends FramedPanel { }; dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListener); - + + Log.debug("Create ToolBar for OutputDatasetsPanel"); // ToolBar btnDownload = new TextButton("Download"); btnDownload.setIcon(DataMinerManager.resources.download()); @@ -340,6 +341,7 @@ public class OutputDataSetsPanel extends FramedPanel { v.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0))); v.add(dnd, new VerticalLayoutData(1, 1, new Margins(0))); + //v.add(wsResourcesExplorerPanel, new VerticalLayoutData(1, 1, new Margins(0))); add(v); v.addResizeHandler(new ResizeHandler() { @@ -429,7 +431,7 @@ public class OutputDataSetsPanel extends FramedPanel { if (caught instanceof SessionExpiredServiceException) { EventBusProvider.INSTANCE.fireEvent(new SessionExpiredEvent()); } else { - Log.error("Error open file: " + caught.getLocalizedMessage()); + Log.error("Error open file: " + caught.getLocalizedMessage(),caught); UtilsGXT3.alert("Error", caught.getLocalizedMessage()); } caught.printStackTrace(); diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml b/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml index 1a7975b..d3557f6 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml @@ -6,8 +6,10 @@ - - + + @@ -41,16 +43,21 @@ - + + + diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/DataMinerManagerServiceImpl.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/DataMinerManagerServiceImpl.java index 81d0a1c..378c556 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/DataMinerManagerServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/DataMinerManagerServiceImpl.java @@ -139,9 +139,10 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements @Override public ComputationId resubmit(ItemDescription itemDescription) throws ServiceException { try { + StorageUtil storageUtil=new StorageUtil(); HttpServletRequest httpRequest = this.getThreadLocalRequest(); ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest); - Map properties = StorageUtil.getProperties(serviceCredentials.getUserName(), + Map properties = storageUtil.getProperties(serviceCredentials.getUserName(), itemDescription.getId()); logger.debug("Properties: " + properties); @@ -182,7 +183,8 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements HttpServletRequest httpRequest = this.getThreadLocalRequest(); ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest); logger.debug("DeleteItem(): " + itemDescription); - StorageUtil.deleteItem(serviceCredentials.getUserName(), itemDescription.getId()); + StorageUtil storageUtil=new StorageUtil(); + storageUtil.deleteItem(serviceCredentials.getUserName(), itemDescription.getId()); return; } catch (ServiceException e) { @@ -236,7 +238,8 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements HttpServletRequest httpRequest = this.getThreadLocalRequest(); ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest); logger.debug("GetPublicLink(): " + itemDescription); - String link = StorageUtil.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId()); + StorageUtil storageUtil=new StorageUtil(); + String link = storageUtil.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId()); return link; } catch (ServiceException e) { @@ -293,7 +296,8 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements HttpServletRequest httpRequest = this.getThreadLocalRequest(); ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest); logger.debug("OutputDataByComputationItemt(): " + itemDescription); - Map properties = StorageUtil.getProperties(serviceCredentials.getUserName(), + StorageUtil storageUtil=new StorageUtil(); + Map properties = storageUtil.getProperties(serviceCredentials.getUserName(), itemDescription.getId()); logger.debug("Properties: " + properties); diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/DownloadFolderServlet.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/DownloadFolderServlet.java index 1a4cec5..2c3f0a2 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/DownloadFolderServlet.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/DownloadFolderServlet.java @@ -3,7 +3,11 @@ package org.gcube.portlets.user.dataminermanager.server; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -106,15 +110,21 @@ public class DownloadFolderServlet extends HttpServlet { .getParameter(Constants.DOWNLOAD_FOLDER_SERVLET_FOLDER_NAME_PARAMETER); logger.debug("Request: [itemId=" + itemId + ", folderName=" + folderName + "]"); - - File tmpZip = StorageUtil.zipFolder( + StorageUtil storageUtil=new StorageUtil(); + InputStream is = storageUtil.zipFolder( serviceCredentials.getUserName(), itemId); + Path tempFile = Files.createTempFile("dataMinerDownload", ".zip"); + Files.copy(is, tempFile, StandardCopyOption.REPLACE_EXISTING); + File tmpZip= tempFile.toFile(); + response.setHeader("Content-Disposition", "attachment; filename=\"" + folderName + ".zip\""); response.setContentType("application/zip"); response.setHeader("Content-Length", String.valueOf(tmpZip.length())); + + OutputStream out = response.getOutputStream(); FileInputStream fileTmpZip = new FileInputStream(tmpZip); @@ -122,13 +132,12 @@ public class DownloadFolderServlet extends HttpServlet { out.flush(); out.close(); fileTmpZip.close(); - tmpZip.delete(); + Files.delete(tempFile); return; } catch (Throwable e) { logger.error("Error in DownloadFolderServlet: " - + e.getLocalizedMessage()); - e.printStackTrace(); + + e.getLocalizedMessage(),e); throw new ServletException("Error:" + e.getLocalizedMessage(), e); } diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/storage/StorageUtil.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/storage/StorageUtil.java index ec7a272..cb6eef6 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/storage/StorageUtil.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/storage/StorageUtil.java @@ -1,15 +1,24 @@ package org.gcube.portlets.user.dataminermanager.server.storage; -import java.io.File; import java.io.InputStream; +import java.net.URL; +import java.util.HashMap; import java.util.Map; import org.gcube.common.homelibrary.home.HomeLibrary; -import org.gcube.common.homelibrary.home.workspace.Properties; import org.gcube.common.homelibrary.home.workspace.Workspace; -import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; -import org.gcube.common.homelibrary.util.zip.ZipUtil; +import org.gcube.common.storagehub.client.StreamDescriptor; +import org.gcube.common.storagehub.client.dsl.ItemContainer; +import org.gcube.common.storagehub.client.dsl.OpenResolver; +import org.gcube.common.storagehub.client.dsl.StorageHubClient; +import org.gcube.common.storagehub.model.Metadata; +import org.gcube.common.storagehub.model.items.AbstractFileItem; +import org.gcube.common.storagehub.model.items.FolderItem; +import org.gcube.common.storagehub.model.items.GenericFileItem; +import org.gcube.common.storagehub.model.items.ImageFile; +import org.gcube.common.storagehub.model.items.Item; +import org.gcube.common.storagehub.model.items.PDFFileItem; import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,19 +43,22 @@ public class StorageUtil { * @throws ServiceException * service exception */ - public static Map getProperties(String user, String itemId) throws ServiceException { + public Map getProperties(String user, String itemId) throws ServiceException { try { - Workspace ws = HomeLibrary.getUserWorkspace(user); - - WorkspaceItem workSpaceItem = ws.getItem(itemId); - Properties properties = workSpaceItem.getProperties(); - - return properties.getProperties(); + StorageHubClient shc = new StorageHubClient(); + Item item = shc.open(itemId).asItem().get(); + Metadata metadata = item.getPropertyMap(); + Map itemMap = new HashMap(); + Map metadataMap = metadata.getValues(); + for (String key : metadataMap.keySet()) { + String s = String.valueOf(metadataMap.get(key)); + itemMap.put(key, s); + } + return itemMap; } catch (Throwable e) { - logger.error(e.getLocalizedMessage()); - e.printStackTrace(); - throw new ServiceException(e.getLocalizedMessage()); + logger.error("Error retrieving properties: " +e.getLocalizedMessage(), e); + throw new ServiceException(e.getLocalizedMessage(),e); } } @@ -61,50 +73,33 @@ public class StorageUtil { * @throws ServiceException * service exception */ - public static InputStream getInputStreamForItemOnWorkspace(String user, String itemId) throws ServiceException { - Workspace ws; + public InputStream getInputStreamForItemOnWorkspace(String user, String itemId) throws ServiceException { try { - ws = HomeLibrary.getUserWorkspace(user); + logger.debug("getInputStreamForItemOnWorkspace: [user="+user+", itemId="+itemId+"]"); + StorageHubClient shc = new StorageHubClient(); + ItemContainer itemContainer = shc.open(itemId).asItem(); + + Item item = itemContainer.get(); + if (item instanceof AbstractFileItem) { + if (item instanceof GenericFileItem | item instanceof ImageFile | item instanceof PDFFileItem) { + StreamDescriptor streamDescriptor = itemContainer.download(); + return streamDescriptor.getStream(); + } else { + throw new ServiceException("Is not a valid file!"); + } + + } else { + throw new ServiceException("Is not a valid file!"); - WorkspaceItem workSpaceItem = ws.getItem(itemId); - if (workSpaceItem.isFolder()) { - throw new ServiceException("Folder is not valid!"); } - return getInputStream(user, workSpaceItem); - } catch (Throwable e) { - logger.error(e.getLocalizedMessage()); - e.printStackTrace(); - throw new ServiceException(e.getLocalizedMessage()); + logger.error("Error retrieving InputStream for Item: " +e.getLocalizedMessage(), e); + throw new ServiceException(e.getLocalizedMessage(),e); } } - /** - * - * @param user - * user - * @param workspaceItem - * workspace item - * @return input stream - * @throws ServiceException - * service exception - */ - private static InputStream getInputStream(String user, WorkspaceItem workspaceItem) throws ServiceException { - InputStream is = null; - try { - - org.gcube.common.homelibrary.home.workspace.folder.items.File gcubeItem = ((org.gcube.common.homelibrary.home.workspace.folder.items.File) workspaceItem); - is = gcubeItem.getData(); - return is; - - } catch (Throwable e) { - logger.error("Error retrieving InputStream from storage", e); - e.printStackTrace(); - throw new ServiceException("Error retrieving file from storage: " + e.getLocalizedMessage(), e); - } - - } + /** * @@ -116,23 +111,16 @@ public class StorageUtil { * @throws ServiceException * service exception */ - public static String getPublicLink(String user, String itemId) throws ServiceException { - Workspace ws; + public String getPublicLink(String user, String itemId) throws ServiceException { try { - ws = HomeLibrary.getUserWorkspace(user); - - WorkspaceItem workSpaceItem = ws.getItem(itemId); - if (workSpaceItem.isFolder()) { - throw new ServiceException("Attention this is a folder!"); - } - - return workSpaceItem.getPublicLink(false); - + logger.debug("getPublicLink: [user="+user+", itemId="+itemId+"]"); + StorageHubClient shc = new StorageHubClient(); + URL url = shc.open(itemId).asFile().getPublicLink(); + return url.toString(); + } catch (Throwable e) { - logger.error("Error retrieving public link: " + e.getLocalizedMessage()); - e.printStackTrace(); - throw new ServiceException(e.getLocalizedMessage()); - + logger.error("Error retrieving public link: " + e.getLocalizedMessage(),e); + throw new ServiceException(e.getLocalizedMessage(),e); } } @@ -142,30 +130,29 @@ public class StorageUtil { * user * @param folderId * folder id - * @return zip folder + * @return input stream * @throws ServiceException * service exception */ - public static File zipFolder(String user, String folderId) throws ServiceException { - Workspace ws; + public InputStream zipFolder(String user, String folderId) throws ServiceException { try { logger.debug("zipFolder: [user=" + user + ", folderId=" + folderId + "]"); - ws = HomeLibrary.getUserWorkspace(user); + StorageHubClient shc = new StorageHubClient(); + OpenResolver openResolver = shc.open(folderId); - WorkspaceItem workSpaceItem = ws.getItem(folderId); - if (!workSpaceItem.isFolder()) { - throw new ServiceException("Item is not valid folder!"); + ItemContainer itemContainer = openResolver.asItem(); + Item item = itemContainer.get(); + if (item instanceof FolderItem) { + StreamDescriptor streamDescriptor = openResolver.asFolder().download(); + InputStream is = streamDescriptor.getStream(); + return is; + } else { + throw new ServiceException("Is not a valid folder!"); } - WorkspaceFolder folder = (WorkspaceFolder) workSpaceItem; - - File fileZip = ZipUtil.zipFolder(folder); - - return fileZip; - } catch (Throwable e) { - e.printStackTrace(); - throw new ServiceException(e.getLocalizedMessage()); + logger.error("Error in zip Folder: " +e.getLocalizedMessage(),e); + throw new ServiceException(e.getLocalizedMessage(),e); } } @@ -180,9 +167,10 @@ public class StorageUtil { * @throws ServiceException * service exception */ - public static WorkspaceItem getItemInRootFolderOnWorkspace(String user, String itemName) throws ServiceException { + public WorkspaceItem getItemInRootFolderOnWorkspace(String user, String itemName) throws ServiceException { Workspace ws; try { + logger.debug(""); ws = HomeLibrary.getUserWorkspace(user); WorkspaceItem item = ws.find(itemName, ws.getRoot().getId()); @@ -190,7 +178,7 @@ public class StorageUtil { return item; } catch (Throwable e) { - e.printStackTrace(); + logger.error("Error in get Item in RootFolder: " +e.getLocalizedMessage(),e); throw new ServiceException(e.getLocalizedMessage()); } } @@ -207,7 +195,7 @@ public class StorageUtil { * @throws ServiceException * service exception */ - public static WorkspaceItem getItemInFolderOnWorkspace(String user, String folderId, String itemName) + public WorkspaceItem getItemInFolderOnWorkspace(String user, String folderId, String itemName) throws ServiceException { Workspace ws; try { @@ -218,7 +206,7 @@ public class StorageUtil { return item; } catch (Throwable e) { - e.printStackTrace(); + logger.error("Error in get Item in Folder: " +e.getLocalizedMessage(),e); throw new ServiceException(e.getLocalizedMessage()); } } @@ -232,7 +220,7 @@ public class StorageUtil { * @throws ServiceException * service exception */ - public static void deleteItem(String user, String itemId) throws ServiceException { + public void deleteItem(String user, String itemId) throws ServiceException { Workspace ws; try { logger.debug("User: " + user + ", ItemId:" + itemId); @@ -242,7 +230,7 @@ public class StorageUtil { return; } catch (Throwable e) { - e.printStackTrace(); + logger.error("Error deleting Item: "+e.getLocalizedMessage(),e); throw new ServiceException(e.getLocalizedMessage()); } diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/DataMinerWorkAreaManager.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/DataMinerWorkAreaManager.java index e84e12e..a7b5fda 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/DataMinerWorkAreaManager.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/DataMinerWorkAreaManager.java @@ -36,8 +36,10 @@ public class DataMinerWorkAreaManager { public DataMinerWorkArea getDataMinerWorkArea() throws ServiceException { DataMinerWorkArea dataMinerWorkArea = null; + StorageUtil storageUtil=new StorageUtil(); try { - WorkspaceItem wiDataMinerFolder = StorageUtil + + WorkspaceItem wiDataMinerFolder = storageUtil .getItemInRootFolderOnWorkspace(serviceCredentials.getUserName(), DATA_MINER_FOLDER); @@ -66,7 +68,7 @@ public class DataMinerWorkAreaManager { InputDataSets inputDataSets = null; try { - WorkspaceItem wiImportedDataFolder = StorageUtil + WorkspaceItem wiImportedDataFolder = storageUtil .getItemInFolderOnWorkspace(serviceCredentials.getUserName(), dataMinerWorkArea.getDataMinerWorkAreaFolder() .getId(), IMPORTED_DATA_FOLDER); @@ -88,7 +90,7 @@ public class DataMinerWorkAreaManager { OutputDataSets outputDataSets = null; try { - WorkspaceItem wiComputedDataFolder = StorageUtil + WorkspaceItem wiComputedDataFolder = storageUtil .getItemInFolderOnWorkspace(serviceCredentials.getUserName(), dataMinerWorkArea.getDataMinerWorkAreaFolder() .getId(), COMPUTED_DATA_FOLDER); @@ -109,7 +111,7 @@ public class DataMinerWorkAreaManager { Computations computations = null; try { - WorkspaceItem wiComputationsDataFolder = StorageUtil + WorkspaceItem wiComputationsDataFolder = storageUtil .getItemInFolderOnWorkspace(serviceCredentials.getUserName(), dataMinerWorkArea.getDataMinerWorkAreaFolder() .getId(), COMPUTATIONS_FOLDER); diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/TableReader.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/TableReader.java index 0153683..1140666 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/TableReader.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/util/TableReader.java @@ -7,18 +7,17 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import net.sf.csv4j.CSVReader; - import org.gcube.data.analysis.dataminermanagercl.server.util.ServiceCredentials; -import org.gcube.portlets.user.dataminermanager.server.storage.StorageUtil; import org.gcube.data.analysis.dataminermanagercl.shared.data.ColumnItem; import org.gcube.data.analysis.dataminermanagercl.shared.data.TableItemSimple; import org.gcube.data.analysis.dataminermanagercl.shared.workspace.ItemDescription; +import org.gcube.portlets.user.dataminermanager.server.storage.StorageUtil; import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException; -import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import net.sf.csv4j.CSVReader; + /** * * @author Giancarlo Panichi @@ -37,15 +36,15 @@ public class TableReader { } public TableItemSimple getTableItemSimple() throws ServiceException { - - InputStream is = StorageUtil.getInputStreamForItemOnWorkspace( + StorageUtil storageUtil=new StorageUtil(); + InputStream is = storageUtil.getInputStreamForItemOnWorkspace( serviceCredentials.getUserName(), item.getId()); Reader fileReader = new InputStreamReader(is); CSVReader csvReader = new CSVReader(fileReader); List firstLine = getFirstLine(csvReader, false); ArrayList columns = new ArrayList(firstLine); - String publicLink=StorageUtil.getPublicLink(serviceCredentials.getUserName(), item.getId()); + String publicLink=storageUtil.getPublicLink(serviceCredentials.getUserName(), item.getId()); TableItemSimple tableItemSimple=new TableItemSimple(publicLink,item.getName(), item.getType()); ArrayList columnItemList=new ArrayList(); diff --git a/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml b/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml index b9ccaba..d3557f6 100644 --- a/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml @@ -6,8 +6,10 @@ - - + + @@ -41,15 +43,21 @@ - + + +