Added downloadFile facility
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/Common/storagehub-client-wrapper@171813 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
9b2c118a86
commit
4e994f75f5
|
@ -11,6 +11,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.gcube.common.storagehub.client.StreamDescriptor;
|
||||
import org.gcube.common.storagehub.model.items.FolderItem;
|
||||
import org.gcube.common.storagehub.model.items.Item;
|
||||
import org.gcube.common.storagehub.model.types.GenericItemType;
|
||||
|
@ -28,6 +29,7 @@ import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.WorkspaceFolder
|
|||
import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.WrongDestinationException;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.WrongItemTypeException;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.impl.WorkspaceFolder;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.items.FileStreamDescriptor;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.items.URLFileItem;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -552,6 +554,7 @@ public final class WorkspaceStorageHubClientService implements Workspace{
|
|||
* @return true, if is item shared
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Override
|
||||
public boolean isItemShared(String itemId) throws Exception {
|
||||
Validate.notNull(itemId,"The input itemId is null");
|
||||
try{
|
||||
|
@ -570,6 +573,7 @@ public final class WorkspaceStorageHubClientService implements Workspace{
|
|||
* @return the VRE folders id
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Override
|
||||
public String getVREFoldersId() throws Exception{
|
||||
try{
|
||||
return storageHubClientService.getVREFoldersId();
|
||||
|
@ -583,6 +587,7 @@ public final class WorkspaceStorageHubClientService implements Workspace{
|
|||
/* (non-Javadoc)
|
||||
* @see org.gcube.common.storagehubwrapper.server.tohl.Workspace#getTrash()
|
||||
*/
|
||||
@Override
|
||||
public WorkspaceItem getTrash()
|
||||
throws Exception {
|
||||
try{
|
||||
|
@ -600,6 +605,7 @@ public final class WorkspaceStorageHubClientService implements Workspace{
|
|||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Override
|
||||
public void emptyTrash() throws Exception{
|
||||
|
||||
try{
|
||||
|
@ -611,18 +617,15 @@ public final class WorkspaceStorageHubClientService implements Workspace{
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Restore thrash item.
|
||||
*
|
||||
* @param itemId the item id
|
||||
* @return the item
|
||||
* @throws Exception the exception
|
||||
/* (non-Javadoc)
|
||||
* @see org.gcube.common.storagehubwrapper.server.tohl.Workspace#restoreThrashItem(java.lang.String)
|
||||
*/
|
||||
public Item restoreThrashItem(String itemId) throws Exception{
|
||||
@Override
|
||||
public WorkspaceItem restoreThrashItem(String itemId) throws Exception{
|
||||
|
||||
try{
|
||||
return storageHubClientService.restoreThrashItem(itemId);
|
||||
Item theItem = storageHubClientService.restoreThrashItem(itemId);
|
||||
return HLMapper.toWorkspaceItem(theItem);
|
||||
|
||||
}catch(Exception e){
|
||||
throw new Exception("Error restoring the Trash Item: "+e.getMessage());
|
||||
|
@ -631,6 +634,29 @@ public final class WorkspaceStorageHubClientService implements Workspace{
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Download file.
|
||||
*
|
||||
* @param itemId the item id
|
||||
* @param fileName the file name
|
||||
* @param nodeIdsToExclude the node ids to exclude
|
||||
* @return the file stream descriptor
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Override
|
||||
public FileStreamDescriptor downloadFile(String itemId, String fileName, String nodeIdsToExclude) throws Exception{
|
||||
|
||||
try {
|
||||
StreamDescriptor streamDesc = storageHubClientService.downloadFile(itemId, fileName, nodeIdsToExclude);
|
||||
return new org.gcube.common.storagehubwrapper.shared.tohl.impl.StreamDescriptor(streamDesc.getStream(), streamDesc.getFileName());
|
||||
} catch (Exception e) {
|
||||
logger.error("Error on downoloading the file: "+fileName+ " with id: "+itemId, e);
|
||||
throw new Exception("Error on downoloading the file: "+fileName+". Refresh and Try again");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.ItemNotFoundExc
|
|||
import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.WorkspaceFolderNotFoundException;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.WrongDestinationException;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.WrongItemTypeException;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.items.FileStreamDescriptor;
|
||||
import org.gcube.common.storagehubwrapper.shared.tohl.items.URLFileItem;
|
||||
|
||||
|
||||
|
@ -246,7 +247,7 @@ public interface Workspace{
|
|||
* @return the item
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
public Item restoreThrashItem(String itemId) throws Exception;
|
||||
public WorkspaceItem restoreThrashItem(String itemId) throws Exception;
|
||||
|
||||
|
||||
|
||||
|
@ -714,4 +715,19 @@ public interface Workspace{
|
|||
WorkspaceFolderNotFoundException, InternalErrorException,
|
||||
ItemAlreadyExistException, WrongDestinationException, InsufficientPrivilegesException;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Download file.
|
||||
*
|
||||
* @param itemId the item id
|
||||
* @param fileName the file name
|
||||
* @param nodeIdsToExclude the node ids to exclude
|
||||
* @return the file stream descriptor
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
FileStreamDescriptor downloadFile(
|
||||
String itemId, String fileName, String nodeIdsToExclude)
|
||||
throws Exception;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue