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:
parent
321ecc3fb1
commit
7476cec4d8
|
@ -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.Workspace;
|
||||||
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
||||||
import org.gcube.common.storagehub.client.StreamDescriptor;
|
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.ItemContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.OpenResolver;
|
import org.gcube.common.storagehub.client.dsl.OpenResolver;
|
||||||
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
||||||
import org.gcube.common.storagehub.model.Metadata;
|
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.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.Item;
|
||||||
import org.gcube.common.storagehub.model.items.PDFFileItem;
|
|
||||||
import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException;
|
import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -77,24 +74,12 @@ public class StorageUtil {
|
||||||
try {
|
try {
|
||||||
logger.debug("getInputStreamForItemOnWorkspace: [user="+user+", itemId="+itemId+"]");
|
logger.debug("getInputStreamForItemOnWorkspace: [user="+user+", itemId="+itemId+"]");
|
||||||
StorageHubClient shc = new StorageHubClient();
|
StorageHubClient shc = new StorageHubClient();
|
||||||
ItemContainer<Item> itemContainer = shc.open(itemId).asItem();
|
FileContainer fileContainer = shc.open(itemId).asFile();
|
||||||
|
StreamDescriptor streamDescriptor = fileContainer.download();
|
||||||
Item item = itemContainer.get();
|
return streamDescriptor.getStream();
|
||||||
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!");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Throwable e) {
|
} 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);
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -170,7 +155,7 @@ public class StorageUtil {
|
||||||
public WorkspaceItem getItemInRootFolderOnWorkspace(String user, String itemName) throws ServiceException {
|
public WorkspaceItem getItemInRootFolderOnWorkspace(String user, String itemName) throws ServiceException {
|
||||||
Workspace ws;
|
Workspace ws;
|
||||||
try {
|
try {
|
||||||
logger.debug("");
|
logger.debug("GetItemInRootFolder: [user=" + user + ", itemName=" + itemName + "]");
|
||||||
ws = HomeLibrary.getUserWorkspace(user);
|
ws = HomeLibrary.getUserWorkspace(user);
|
||||||
|
|
||||||
WorkspaceItem item = ws.find(itemName, ws.getRoot().getId());
|
WorkspaceItem item = ws.find(itemName, ws.getRoot().getId());
|
||||||
|
@ -199,6 +184,7 @@ public class StorageUtil {
|
||||||
throws ServiceException {
|
throws ServiceException {
|
||||||
Workspace ws;
|
Workspace ws;
|
||||||
try {
|
try {
|
||||||
|
logger.debug("GetItemInFolder: [user=" + user + ", folderId="+folderId+", itemName=" + itemName + "]");
|
||||||
ws = HomeLibrary.getUserWorkspace(user);
|
ws = HomeLibrary.getUserWorkspace(user);
|
||||||
|
|
||||||
WorkspaceItem item = ws.find(itemName, folderId);
|
WorkspaceItem item = ws.find(itemName, folderId);
|
||||||
|
|
Loading…
Reference in New Issue