ref 11720: DataMiner - Update to StorageHUB

https://support.d4science.org/issues/11720

Updated to StorageHub getPublicLink and getProperties functions.

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@169412 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2018-06-25 09:03:46 +00:00
parent 321ecc3fb1
commit 7476cec4d8
1 changed files with 8 additions and 22 deletions

View File

@ -9,16 +9,13 @@ import org.gcube.common.homelibrary.home.HomeLibrary;
import org.gcube.common.homelibrary.home.workspace.Workspace;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
import org.gcube.common.storagehub.client.StreamDescriptor;
import org.gcube.common.storagehub.client.dsl.FileContainer;
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;
@ -77,24 +74,12 @@ public class StorageUtil {
try {
logger.debug("getInputStreamForItemOnWorkspace: [user="+user+", itemId="+itemId+"]");
StorageHubClient shc = new StorageHubClient();
ItemContainer<Item> 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!");
}
FileContainer fileContainer = shc.open(itemId).asFile();
StreamDescriptor streamDescriptor = fileContainer.download();
return streamDescriptor.getStream();
} catch (Throwable e) {
logger.error("Error retrieving InputStream for Item: " +e.getLocalizedMessage(), e);
logger.error("Error retrieving InputStream for File: " +e.getLocalizedMessage(), e);
throw new ServiceException(e.getLocalizedMessage(),e);
}
}
@ -170,7 +155,7 @@ public class StorageUtil {
public WorkspaceItem getItemInRootFolderOnWorkspace(String user, String itemName) throws ServiceException {
Workspace ws;
try {
logger.debug("");
logger.debug("GetItemInRootFolder: [user=" + user + ", itemName=" + itemName + "]");
ws = HomeLibrary.getUserWorkspace(user);
WorkspaceItem item = ws.find(itemName, ws.getRoot().getId());
@ -199,6 +184,7 @@ public class StorageUtil {
throws ServiceException {
Workspace ws;
try {
logger.debug("GetItemInFolder: [user=" + user + ", folderId="+folderId+", itemName=" + itemName + "]");
ws = HomeLibrary.getUserWorkspace(user);
WorkspaceItem item = ws.find(itemName, folderId);