diff --git a/.classpath b/.classpath index a206f89..becc0fb 100644 --- a/.classpath +++ b/.classpath @@ -41,5 +41,16 @@ + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index b83d222..6f6ea3e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /target/ +/.apt_generated/ +/.apt_generated_tests/ diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 03a6b4a..2409cf9 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -2,5 +2,6 @@ + diff --git a/changelog.md b/CHANGELOG.md similarity index 64% rename from changelog.md rename to CHANGELOG.md index ec8a6d4..6fde20d 100644 --- a/changelog.md +++ b/CHANGELOG.md @@ -3,48 +3,57 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [v0-7-1] [r4-23-0] - [2020-05-18] +## [v1-0-0] [r4-25-0] - 2020-07-15 -** Enhancements ** +#### Enhancements + +[#19317] component moved from 0.y.z to 1.y.z version + +[#19668] add the method updateDescriptionForItem + + +## [v0-7-1] [r4-23-0] - 2020-05-18 + +#### Enhancements [#19058] added the folder destination Id to restore operation -## [v0-7-0] [r4-22-0] - [2020-04-16] +## [v0-7-0] [r4-22-0] - 2020-04-16 -** Enhancements ** +#### Enhancements -[Task #19087] provide a getItem (without getRoot inside) for Workspace-Explorer-App +[#19087] provide a getItem (without getRoot inside) for Workspace-Explorer-App -## [v0-6-2] [r4-21-0] - [2020-03-11] +## [v0-6-2] [r4-21-0] - 2020-03-11 -** New features ** +#### New features [#18174] Moved to new search facility provided by SHUB -## [0-6-1] - [2019-12-19] +## [v0-6-1] - 2019-12-19 Ported to Git and Jenkins -## [0-6-0] - [2019-10-01] +## [v0-6-0] - 2019-10-01 [Task #16688] Integrating new method added into SHUB -## [0-5-0] - [2019-08-01] +## [v0-5-0] - 2019-08-01 Released due to exceptions thrown by SHUB -## [0-4-0] - [2019-06-01] +## [v0-4-0] - 2019-06-01 Updated to new SHub interface @@ -52,7 +61,7 @@ Added method getMetadata -## [0-3-0] - [2018-03-01] +## [v0-3-0] - 2018-03-01 [Task #12059] added delete item @@ -76,13 +85,13 @@ Added method getMetadata -## [0-2-0] - [2018-06-20] +## [v0-2-0] - 2018-06-20 minor fixes -## [0-1-0] - [2018-06-20] +## [v0-1-0] - 2018-06-20 [Task #12059] first release diff --git a/pom.xml b/pom.xml index fb811ce..5473907 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.common storagehub-client-wrapper - 0.7.1 + 1.0.0-SNAPSHOT storagehub-client-wrapper This is a wrapper of storagehub-client library. It allows to interact with storagehub in a simplified way by exposing several utilities. Moreover, It exposes by another inteface java beans as defined in (the old) HL interfaces diff --git a/src/main/java/org/gcube/common/storagehubwrapper/server/StorageHubClientService.java b/src/main/java/org/gcube/common/storagehubwrapper/server/StorageHubClientService.java index 846b08a..529328a 100644 --- a/src/main/java/org/gcube/common/storagehubwrapper/server/StorageHubClientService.java +++ b/src/main/java/org/gcube/common/storagehubwrapper/server/StorageHubClientService.java @@ -925,6 +925,25 @@ public class StorageHubClientService { } + + /** + * Update description for item. + * + * @param itemId the item id + * @param newDescription the new description + * @return the description updated + * @throws Exception the exception + */ + public String updateDescriptionForItem(String itemId, String newDescription) throws Exception { + Validate.notNull(itemId, "Bad request the itemId is null"); + setContextProviders(scope, authorizationToken); + + throw new Exception("Not implemented yet by SHUB"); + + } + + + /** * To string. @@ -949,4 +968,5 @@ public class StorageHubClientService { } + } diff --git a/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java b/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java index 6a2d300..e040eda 100644 --- a/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java +++ b/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java @@ -25,10 +25,7 @@ import org.gcube.common.storagehub.model.items.nodes.accounting.AccountEntry; import org.gcube.common.storagehub.model.service.Version; import org.gcube.common.storagehubwrapper.server.converter.HLMapper; import org.gcube.common.storagehubwrapper.server.tohl.Workspace; -import org.gcube.common.storagehubwrapper.shared.ACLType; import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceItem; -import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceSharedFolder; -import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceVREFolder; import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.InsufficientPrivilegesException; import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.InternalErrorException; import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.ItemAlreadyExistException; @@ -1500,356 +1497,20 @@ public final class WorkspaceStorageHubClientService implements Workspace{ throw new Exception("The item with id '"+folderId+"' is not a folder"); } - - - /* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * TODO - * - * FOLLOWING METHODS ARE NOT IMPLEMENTED; - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - */ - - - - - - - - - - - - - - - - - - - - - - - - - /** - * Change description. - * - * @param itemId the item id - * @param newDescription the new description - * @throws ItemNotFoundException the item not found exception - * @throws InternalErrorException the internal error exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#changeDescription(java.lang.String, java.lang.String) - */ @Override - public void changeDescription(String itemId, String newDescription) - throws ItemNotFoundException, InternalErrorException { - - // TODO Auto-generated method stub - + public String updateDescriptionForItem(String itemId, String newDescription) throws Exception { + + String updatedDescription = null; + try{ + updatedDescription = storageHubClientService.updateDescriptionForItem(itemId, newDescription); + }catch(Exception e){ + String error = "Error on updating the description for item with id: "+itemId; + LOGGER.error(error, e); + throw new Exception(error); + } + + return updatedDescription; } - - /** - * Search by mime type. - * - * @param mimeType the mime type - * @return the list - * @throws InternalErrorException the internal error exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#searchByMimeType(java.lang.String) - */ - @Override - public List searchByMimeType(String mimeType) - throws InternalErrorException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Creates the shared folder. - * - * @param name the name - * @param description the description - * @param users the users - * @param destinationFolderId the destination folder id - * @return the workspace shared folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#createSharedFolder(java.lang.String, java.lang.String, java.util.List, java.lang.String) - */ - @Override - public WorkspaceSharedFolder createSharedFolder( - String name, String description, List users, - String destinationFolderId) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Share folder. - * - * @param users the users - * @param destinationFolderId the destination folder id - * @return the workspace shared folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#shareFolder(java.util.List, java.lang.String) - */ - @Override - public WorkspaceSharedFolder shareFolder( - List users, String destinationFolderId) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Share. - * - * @param users the users - * @param itemId the item id - * @return the workspace shared folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#share(java.util.List, java.lang.String) - */ - @Override - public WorkspaceSharedFolder share(List users, String itemId) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Creates the gcube item. - * - * @param name the name - * @param description the description - * @param scopes the scopes - * @param creator the creator - * @param itemType the item type - * @param properties the properties - * @param destinationFolderId the destination folder id - * @return the workspace item - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - * @throws InternalErrorException the internal error exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#createGcubeItem(java.lang.String, java.lang.String, java.util.List, java.lang.String, java.lang.String, java.util.Map, java.lang.String) - */ - @Override - public WorkspaceItem createGcubeItem( - String name, String description, List scopes, String creator, - String itemType, Map properties, - String destinationFolderId) - throws InsufficientPrivilegesException, - WorkspaceFolderNotFoundException, InternalErrorException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Unshare. - * - * @param itemId the item id - * @return the workspace item - * @throws InternalErrorException the internal error exception - * @throws ItemNotFoundException the item not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#unshare(java.lang.String) - */ - @Override - public WorkspaceItem unshare(String itemId) - throws InternalErrorException, ItemNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - - /** - * Gets the my special folders. - * - * @return the my special folders - * @throws InternalErrorException the internal error exception - * @throws ItemNotFoundException the item not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#getMySpecialFolders() - */ - @Override - public WorkspaceFolder getMySpecialFolders() - throws InternalErrorException, ItemNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Search by properties. - * - * @param properties the properties - * @return the list - * @throws InternalErrorException the internal error exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#searchByProperties(java.util.List) - */ - @Override - public List searchByProperties(List properties) - throws InternalErrorException { - - // TODO Auto-generated method stub - return null; - } - - /** - * Creates the VRE folder. - * - * @param scope the scope - * @param description the description - * @param displayName the display name - * @param privilege the privilege - * @return the workspace VRE folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#createVREFolder(java.lang.String, java.lang.String, java.lang.String, org.gcube.portal.storagehubwrapper.shared.ACLType) - */ - @Override - public WorkspaceVREFolder createVREFolder( - String scope, String description, String displayName, ACLType privilege) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException { - - // TODO Auto-generated method stub - return null; - } - - - /** - * Gets the public folders. - * - * @return the public folders - * @throws InternalErrorException the internal error exception - */ - /* (non-Javadoc) - * @see org.gcube.portal.storagehubwrapper.shared.Workspace#getPublicFolders() - */ - @Override - public List getPublicFolders() - throws InternalErrorException { - - // TODO Auto-generated method stub - return null; - } - - - } diff --git a/src/main/java/org/gcube/common/storagehubwrapper/server/tohl/Workspace.java b/src/main/java/org/gcube/common/storagehubwrapper/server/tohl/Workspace.java index aab6bd6..67e8760 100644 --- a/src/main/java/org/gcube/common/storagehubwrapper/server/tohl/Workspace.java +++ b/src/main/java/org/gcube/common/storagehubwrapper/server/tohl/Workspace.java @@ -10,11 +10,9 @@ import java.util.Map; import org.gcube.common.storagehub.model.items.Item; import org.gcube.common.storagehub.model.items.nodes.accounting.AccountEntry; -import org.gcube.common.storagehubwrapper.shared.ACLType; +import org.gcube.common.storagehubwrapper.server.WorkspaceStorageHubClientService; import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder; import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceItem; -import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceSharedFolder; -import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceVREFolder; import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.InsufficientPrivilegesException; import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.InternalErrorException; import org.gcube.common.storagehubwrapper.shared.tohl.exceptions.ItemAlreadyExistException; @@ -27,26 +25,23 @@ import org.gcube.common.storagehubwrapper.shared.tohl.items.ItemStreamDescriptor import org.gcube.common.storagehubwrapper.shared.tohl.items.PropertyMap; import org.gcube.common.storagehubwrapper.shared.tohl.items.URLItem; - - // TODO: Auto-generated Javadoc /** * The Interface Workspace. * * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) - * Jun 15, 2018 + * Jun 15, 2018 * - * Represents a HL user workspace. + * Represents a HL user workspace. */ -public interface Workspace{ - +public interface Workspace { /** * Gets the owner. * * @return the owner * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ public String getOwner() throws InternalErrorException, Exception; @@ -55,11 +50,10 @@ public interface Workspace{ * * @return the root. * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ public WorkspaceFolder getRoot() throws InternalErrorException, Exception; - /** * Gets the children. * @@ -69,14 +63,13 @@ public interface Workspace{ */ public List getChildren(String id) throws Exception; - /** * Gets the parents by id. * * @param id the id * @return the parents by id * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ public List getParentsById(String id) throws InternalErrorException, Exception; @@ -85,75 +78,87 @@ public interface Workspace{ * * @param itemId the item id. * @return the item. - * @throws ItemNotFoundException if the item has not been found. + * @throws ItemNotFoundException if the item has not been found. * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ public WorkspaceItem getItem(String itemId) throws ItemNotFoundException, InternalErrorException, Exception; - /** * Return the item with the specified id. * - * @param itemId the item id. - * @param withAccounting the with accounting - * @param withFileDetails the with file details + * @param itemId the item id. + * @param withAccounting the with accounting + * @param withFileDetails the with file details * @param withMapProperties the with map properties * @return the item. - * @throws ItemNotFoundException if the item has not been found. + * @throws ItemNotFoundException if the item has not been found. * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ - public WorkspaceItem getItem(String itemId, boolean withAccounting, boolean withFileDetails, boolean withMapProperties) throws ItemNotFoundException, InternalErrorException, Exception; - + public WorkspaceItem getItem(String itemId, boolean withAccounting, boolean withFileDetails, + boolean withMapProperties) throws ItemNotFoundException, InternalErrorException, Exception; /** - * Create a new folder with specified name. - * The new folder is created into the specified folder. + * Create a new folder with specified name. The new folder is created into the + * specified folder. * - * @param name the folder name. - * @param description the folder description. + * @param name the folder name. + * @param description the folder description. * @param destinationFolderId the destination folder. * @return the new folder. - * @throws InternalErrorException if an internal error occurs. - * @throws InsufficientPrivilegesException if the user don't have sufficient privileges to perform this operation. - * @throws ItemAlreadyExistException if an item with the same exist in the destination folder. - * @throws WrongDestinationException if the destination item is not a folder. - * @throws ItemNotFoundException if the destination folder has not been found. - * @throws WorkspaceFolderNotFoundException if the destination folder has not been found. - * @throws Exception the exception + * @throws InternalErrorException if an internal error occurs. + * @throws InsufficientPrivilegesException if the user don't have sufficient + * privileges to perform this + * operation. + * @throws ItemAlreadyExistException if an item with the same exist in + * the destination folder. + * @throws WrongDestinationException if the destination item is not a + * folder. + * @throws ItemNotFoundException if the destination folder has not + * been found. + * @throws WorkspaceFolderNotFoundException if the destination folder has not + * been found. + * @throws Exception the exception */ - public WorkspaceFolder createFolder(String name, String description, String destinationFolderId) throws InternalErrorException, InsufficientPrivilegesException, ItemAlreadyExistException, WrongDestinationException, ItemNotFoundException, WorkspaceFolderNotFoundException, Exception; + public WorkspaceFolder createFolder(String name, String description, String destinationFolderId) + throws InternalErrorException, InsufficientPrivilegesException, ItemAlreadyExistException, + WrongDestinationException, ItemNotFoundException, WorkspaceFolderNotFoundException, Exception; /** * Create a new folder with properties. * - * @param name the name - * @param description the description + * @param name the name + * @param description the description * @param destinationFolderId the destination folder id - * @param properties the properties + * @param properties the properties * @return the new folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception + * @throws InternalErrorException the internal error exception + * @throws InsufficientPrivilegesException the insufficient privileges + * exception + * @throws ItemAlreadyExistException the item already exist exception + * @throws WrongDestinationException the wrong destination exception + * @throws ItemNotFoundException the item not found exception + * @throws WorkspaceFolderNotFoundException the workspace folder not found + * exception */ - public WorkspaceFolder createFolder(String name, String description, String destinationFolderId, Map properties) throws InternalErrorException, InsufficientPrivilegesException, ItemAlreadyExistException, WrongDestinationException, ItemNotFoundException, WorkspaceFolderNotFoundException; - + public WorkspaceFolder createFolder(String name, String description, String destinationFolderId, + Map properties) + throws InternalErrorException, InsufficientPrivilegesException, ItemAlreadyExistException, + WrongDestinationException, ItemNotFoundException, WorkspaceFolderNotFoundException; /** * Upload file. * - * @param folderId the folder id - * @param inputStream the input stream - * @param fileName the file name + * @param folderId the folder id + * @param inputStream the input stream + * @param fileName the file name * @param fileDescription the file description * @return the workspace item * @throws Exception the exception */ - public WorkspaceItem uploadFile(String folderId, InputStream inputStream, String fileName, String fileDescription) throws Exception; + public WorkspaceItem uploadFile(String folderId, InputStream inputStream, String fileName, String fileDescription) + throws Exception; /** * Gets the shared folder members. @@ -164,29 +169,33 @@ public interface Workspace{ */ public List getSharedFolderMembers(String folderid) throws Exception; - /** * Check if an item with the specified name exists in the specified folder. - * @param name the name to check. + * + * @param name the name to check. * @param folderId the folder where to search the item. * @return true if the item exists, false otherwise. * @throws InternalErrorException if an error occurs. - * @throws ItemNotFoundException if the folder has not been found. - * @throws WrongItemTypeException if the folderId referrer to an item with type different from Workspace or folder. + * @throws ItemNotFoundException if the folder has not been found. + * @throws WrongItemTypeException if the folderId referrer to an item with type + * different from Workspace or folder. */ - public boolean exists(String name, String folderId) throws InternalErrorException, ItemNotFoundException, WrongItemTypeException; + public boolean exists(String name, String folderId) + throws InternalErrorException, ItemNotFoundException, WrongItemTypeException; /** * Get an item with the specified name in the specified folder. - * @param name the item name to find. + * + * @param name the item name to find. * @param folderId the folder where to search the item. * @return the item if the item is found, null otherwise. * @throws InternalErrorException if an error occurs. - * @throws ItemNotFoundException if the folder has not been found. - * @throws WrongItemTypeException if the folderId referrer to an item with type different from Workspace or folder. + * @throws ItemNotFoundException if the folder has not been found. + * @throws WrongItemTypeException if the folderId referrer to an item with type + * different from Workspace or folder. */ - public List find(String name, String folderId) throws InternalErrorException, ItemNotFoundException, WrongItemTypeException; - + public List find(String name, String folderId) + throws InternalErrorException, ItemNotFoundException, WrongItemTypeException; /** * Gets the root shared folder. @@ -197,8 +206,6 @@ public interface Workspace{ */ public WorkspaceItem getRootSharedFolder(String itemId) throws Exception; - - /** * Checks if is item shared. * @@ -208,7 +215,6 @@ public interface Workspace{ */ public boolean isItemShared(String itemId) throws Exception; - /** * Gets the VRE folders id. * @@ -222,12 +228,11 @@ public interface Workspace{ * * @return the trash folder * @throws InternalErrorException the internal error exception - * @throws ItemNotFoundException the item not found exception - * @throws Exception the exception + * @throws ItemNotFoundException the item not found exception + * @throws Exception the exception */ public WorkspaceItem getTrash() throws InternalErrorException, ItemNotFoundException, Exception; - /** * Empty trash. * @@ -235,44 +240,41 @@ public interface Workspace{ */ public void emptyTrash() throws Exception; - /** * Restore thrash item. * - * @param itemId the item id + * @param itemId the item id * @param destinationFolderId the destination folder id * @return the workspace item * @throws Exception the exception */ public WorkspaceItem restoreThrashItem(String itemId, String destinationFolderId) throws Exception; - /** * Gets the filtered children. * - * @param id the id + * @param id the id * @param aType the a type * @return the filtered children * @throws Exception the exception */ public List getFilteredChildren(String id, Class aType) throws Exception; - - /** * Rename an item. * - * @param itemId the item id. + * @param itemId the item id. * @param newName the new name. * @return the workspace item - * @throws ItemNotFoundException if the item has not been found. - * @throws InternalErrorException if an internal error occurs. - * @throws ItemAlreadyExistException if the user don't have sufficient privileges to perform this operation. + * @throws ItemNotFoundException if the item has not been found. + * @throws InternalErrorException if an internal error occurs. + * @throws ItemAlreadyExistException if the user don't have sufficient + * privileges to perform this operation. * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws Exception the exception + * @throws Exception the exception */ - public WorkspaceItem renameItem(String itemId, String newName) throws ItemNotFoundException, InternalErrorException, ItemAlreadyExistException, InsufficientPrivilegesException, Exception; - + public WorkspaceItem renameItem(String itemId, String newName) throws ItemNotFoundException, InternalErrorException, + ItemAlreadyExistException, InsufficientPrivilegesException, Exception; /** * Gets the public link to the latest version of file item. @@ -287,13 +289,12 @@ public interface Workspace{ * Gets the public link of the file at the input version. * * @param fileItemId the file item id - * @param version the version + * @param version the version * @return the public link for file * @throws Exception the exception */ public URL getPublicLinkForFile(String fileItemId, String version) throws Exception; - /** * Gets the list versions for file. * @@ -303,7 +304,6 @@ public interface Workspace{ */ public List getListVersionsForFile(String fileItemId) throws Exception; - /** * Gets the thumbnail data. * @@ -313,7 +313,6 @@ public interface Workspace{ */ public ItemStreamDescriptor getThumbnailData(String itemId) throws Exception; - /** * Gets the metadata. * @@ -322,8 +321,7 @@ public interface Workspace{ * @throws Exception the exception */ public Map getMetadata(String itemId) throws Exception; - - + /** * Get the disk usage of a worskpace. * @@ -340,7 +338,6 @@ public interface Workspace{ */ public long getTotalItems() throws Exception; - /** * Gets the accounting. * @@ -349,8 +346,7 @@ public interface Workspace{ * @throws Exception the exception */ public List getAccounting(String itemId) throws Exception; - - + /** * Gets the gcube item properties. * @@ -360,135 +356,133 @@ public interface Workspace{ */ public PropertyMap getGcubeItemProperties(String gcubeItemId) throws Exception; - /** * Update metadata. * - * @param itemId the item id + * @param itemId the item id * @param mapObjs the map objs * @throws Exception the exception */ - public void updateMetadata(String itemId, Map mapObjs) throws Exception; + public void updateMetadata(String itemId, Map mapObjs) throws Exception; - /** * Creates the URL. * - * @param name the name - * @param description the description - * @param url the url + * @param name the name + * @param description the description + * @param url the url * @param destinationFolderId the destination folder id * @return the URL file item * @throws Exception the exception */ public URLItem createURL(String name, String description, String url, String destinationFolderId) throws Exception; - /** * Sets the folder as public. * * @param folderId the folder id - * @param bool the bool + * @param bool the bool * @return the new folder status (public or private) * @throws Exception the exception */ public boolean setFolderAsPublic(String folderId, boolean bool) throws Exception; - - + /** * Move items. * - * @param itemIds the item ids + * @param itemIds the item ids * @param folderDestinationId the folder destination id * @return the list - * @throws ItemNotFoundException the item not found exception - * @throws WrongDestinationException the wrong destination exception + * @throws ItemNotFoundException the item not found exception + * @throws WrongDestinationException the wrong destination exception * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws InternalErrorException the internal error exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws Exception the exception + * @throws InternalErrorException the internal error exception + * @throws ItemAlreadyExistException the item already exist exception + * @throws Exception the exception */ List moveItems(List itemIds, String folderDestinationId) - throws ItemNotFoundException, WrongDestinationException, - InsufficientPrivilegesException, InternalErrorException, - ItemAlreadyExistException, Exception; + throws ItemNotFoundException, WrongDestinationException, InsufficientPrivilegesException, + InternalErrorException, ItemAlreadyExistException, Exception; - - /** + /** * Delete item. * * @param itemId the item id - * @throws ItemNotFoundException the item not found exception - * @throws InternalErrorException the internal error exception + * @throws ItemNotFoundException the item not found exception + * @throws InternalErrorException the internal error exception * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws Exception the exception + * @throws Exception the exception */ - /* Delete item. + /* + * Delete item. * * @param itemId the item id + * * @throws ItemNotFoundException the item not found exception + * * @throws InternalErrorException the internal error exception + * * @throws InsufficientPrivilegesException the insufficient privileges exception + * * @throws Exception the exception */ - public void deleteItem(String itemId) throws ItemNotFoundException, InternalErrorException, InsufficientPrivilegesException, Exception; - + public void deleteItem(String itemId) + throws ItemNotFoundException, InternalErrorException, InsufficientPrivilegesException, Exception; /** * Move item. * - * @param itemId the item id + * @param itemId the item id * @param destinationFolderId the destination folder id * @return the workspace item - * @throws ItemNotFoundException the item not found exception - * @throws WrongDestinationException the wrong destination exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws InternalErrorException the internal error exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - * @throws Exception the exception + * @throws ItemNotFoundException the item not found exception + * @throws WrongDestinationException the wrong destination exception + * @throws InsufficientPrivilegesException the insufficient privileges + * exception + * @throws InternalErrorException the internal error exception + * @throws ItemAlreadyExistException the item already exist exception + * @throws WorkspaceFolderNotFoundException the workspace folder not found + * exception + * @throws Exception the exception */ - public WorkspaceItem moveItem(String itemId, String destinationFolderId) throws ItemNotFoundException, WrongDestinationException, InsufficientPrivilegesException, InternalErrorException, ItemAlreadyExistException, WorkspaceFolderNotFoundException, Exception; - - + public WorkspaceItem moveItem(String itemId, String destinationFolderId) + throws ItemNotFoundException, WrongDestinationException, InsufficientPrivilegesException, + InternalErrorException, ItemAlreadyExistException, WorkspaceFolderNotFoundException, Exception; + /** * Copy file. * - * @param itemId the item id + * @param itemId the item id * @param folderDestinationId the folder destination id * @return the list - * @throws ItemNotFoundException the item not found exception - * @throws WrongDestinationException the wrong destination exception - * @throws InternalErrorException the internal error exception - * @throws ItemAlreadyExistException the item already exist exception + * @throws ItemNotFoundException the item not found exception + * @throws WrongDestinationException the wrong destination exception + * @throws InternalErrorException the internal error exception + * @throws ItemAlreadyExistException the item already exist exception * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws Exception the exception + * @throws Exception the exception */ WorkspaceItem copyFile(String itemId, String folderDestinationId) - throws ItemNotFoundException, WrongDestinationException, - InternalErrorException, ItemAlreadyExistException, - InsufficientPrivilegesException, Exception; + throws ItemNotFoundException, WrongDestinationException, InternalErrorException, ItemAlreadyExistException, + InsufficientPrivilegesException, Exception; - /** * Copy file items. * - * @param itemIds the item ids + * @param itemIds the item ids * @param folderDestinationId the folder destination id * @return the list - * @throws ItemNotFoundException the item not found exception - * @throws WrongDestinationException the wrong destination exception - * @throws InternalErrorException the internal error exception - * @throws ItemAlreadyExistException the item already exist exception + * @throws ItemNotFoundException the item not found exception + * @throws WrongDestinationException the wrong destination exception + * @throws InternalErrorException the internal error exception + * @throws ItemAlreadyExistException the item already exist exception * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws Exception the exception + * @throws Exception the exception */ - List copyFileItems( - List itemIds, String folderDestinationId) - throws ItemNotFoundException, WrongDestinationException, - InternalErrorException, ItemAlreadyExistException, - InsufficientPrivilegesException, Exception; - + List copyFileItems(List itemIds, String folderDestinationId) + throws ItemNotFoundException, WrongDestinationException, InternalErrorException, ItemAlreadyExistException, + InsufficientPrivilegesException, Exception; + /** * Can user write into folder. * @@ -497,340 +491,105 @@ public interface Workspace{ * @throws Exception the exception */ boolean canUserWriteIntoFolder(String folderId) throws Exception; - - - + /** * Search. * - * @param text the text + * @param text the text * @param folderId the folder id * @return the list * @throws InternalErrorException the internal error exception - * @throws ItemNotFoundException the item not found exception + * @throws ItemNotFoundException the item not found exception * @throws WrongItemTypeException the wrong item type exception */ List search(String text, String folderId) throws InternalErrorException, ItemNotFoundException, WrongItemTypeException; - + /** * Gets the item for Explorer. * - * @param itemId the item id - * @param withAccounting the with accounting - * @param withFileDetails the with file details + * @param itemId the item id + * @param withAccounting the with accounting + * @param withFileDetails the with file details * @param withMapProperties the with map properties * @return the item - * @throws ItemNotFoundException the item not found exception + * @throws ItemNotFoundException the item not found exception * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ WorkspaceItem getItemForExplorer(String itemId, boolean withAccounting, boolean withFileDetails, boolean withMapProperties) throws ItemNotFoundException, InternalErrorException, Exception; - + /** - * Gets the parents for explorer by id. This call is the same of {@link WorkspaceStorageHubClientService#getParentsById(String)} - * except to getRoot called inside (to check if a parent is root or not). {@link WorkspaceItem#isRoot()} returns always false. + * Gets the parents for explorer by id. This call is the same of + * {@link WorkspaceStorageHubClientService#getParentsById(String)} except to + * getRoot called inside (to check if a parent is root or not). + * {@link WorkspaceItem#isRoot()} returns always false. * * @param id the id * @return the parents for explorer by id * @throws InternalErrorException the internal error exception - * @throws Exception the exception + * @throws Exception the exception */ List getParentsForExplorerById(String id) throws InternalErrorException, Exception; - /* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * TODO - * - * FOLLOWING METHODS ARE NOT IMPLEMENTED; - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - */ - - - - /** - * Change an item description. - * @param itemId the item to update. - * @param newDescription the new item description. - * @throws ItemNotFoundException if the item has not been found. - * @throws InternalErrorException if an internal error occurs. - */ - public void changeDescription(String itemId, String newDescription) throws ItemNotFoundException, InternalErrorException; - - - - - - /** - * Search By MimeType. + * Download file. * - * @param mimeType the mime type - * @return a list of SearchFolderItem - * @throws InternalErrorException the internal error exception + * @param itemId the item id + * @param fileName the file name + * @param versionName the version name. If is null or empty returns the + * latest version of file + * @param nodeIdsToExclude the node ids to exclude + * @return the item stream descriptor + * @throws Exception the exception */ - public List searchByMimeType(String mimeType) - throws InternalErrorException; - + ItemStreamDescriptor downloadFile(String itemId, String fileName, String versionName, String nodeIdsToExclude) + throws Exception; /** - * Create a shared folder with a list of users. + * Upload archive. * - * @param name the name - * @param description the description - * @param users A list of portal logins - * @param destinationFolderId the destination folder id - * @return the shared folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - public WorkspaceSharedFolder createSharedFolder(String name, String description, - List users, String destinationFolderId) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException; - - - /** - * Shared an exist {@link WorkspaceFolder} with a list of users. - * - * @param users A list of portal logins. - * @param destinationFolderId the destination folder id - * @return the shared folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - public WorkspaceSharedFolder shareFolder(List users, String destinationFolderId) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException; - - - /** - * Shared an exist {@link WorkspaceFolder} with a list of users. - * - * @param users A list of portal logins. - * @param itemId the item id - * @return the shared folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - public WorkspaceSharedFolder share(List users, String itemId) - throws InternalErrorException, InsufficientPrivilegesException, - ItemAlreadyExistException, WrongDestinationException, - ItemNotFoundException, WorkspaceFolderNotFoundException; - - /** - * Create a GCubeItem. - * - * @param name the name - * @param description the description - * @param scopes the scopes - * @param creator the creator - * @param itemType the item type - * @param properties the properties - * @param destinationFolderId the destination folder id - * @return a GCubeItem - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - * @throws InternalErrorException the internal error exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - */ - public WorkspaceItem createGcubeItem(String name, String description, - List scopes, String creator, String itemType, Map properties, - String destinationFolderId) throws InsufficientPrivilegesException, - WorkspaceFolderNotFoundException, InternalErrorException, - ItemAlreadyExistException, WrongDestinationException, ItemNotFoundException; - - /** - * Unshare a shared item. - * - * @param itemId the item id + * @param folderId the folder id + * @param is the is + * @param extractionFolderName the extraction folder name * @return the workspace item - * @throws InternalErrorException the internal error exception - * @throws ItemNotFoundException the item not found exception + * @throws Exception the exception */ - public WorkspaceItem unshare(String itemId) throws InternalErrorException, ItemNotFoundException; - - + WorkspaceItem uploadArchive(String folderId, InputStream is, String extractionFolderName) throws Exception; /** - * Get MySpecialFolders. + * Download folder. * - * @return my special folders - * @throws InternalErrorException the internal error exception - * @throws ItemNotFoundException the item not found exception + * @param folderId the folder id + * @param folderName the folder name + * @param nodeIdsToExclude the node ids to exclude + * @return the item stream descriptor + * @throws Exception the exception */ - public WorkspaceFolder getMySpecialFolders() throws InternalErrorException, ItemNotFoundException; - - - /** - * Search By Properties. - * - * @param properties the properties - * @return a list of WorkspaceItem - * @throws InternalErrorException the internal error exception - */ - public List searchByProperties(List properties) - throws InternalErrorException; - + ItemStreamDescriptor downloadFolder(String folderId, String folderName, String nodeIdsToExclude) throws Exception; /** * Removes the items. * * @param id the id * @return the map of errors (id,error) - * @throws ItemNotFoundException the item not found exception - * @throws InternalErrorException the internal error exception + * @throws ItemNotFoundException the item not found exception + * @throws InternalErrorException the internal error exception * @throws InsufficientPrivilegesException the insufficient privileges exception */ - public Map removeItems(String... id) throws ItemNotFoundException, - InternalErrorException, InsufficientPrivilegesException; - + public Map removeItems(String... id) + throws ItemNotFoundException, InternalErrorException, InsufficientPrivilegesException; /** - * Create a VRE folder. - * - * @param scope the scope - * @param description the description - * @param displayName the display name - * @param privilege the privilege - * @return a new VRE folder - * @throws InternalErrorException the internal error exception - * @throws InsufficientPrivilegesException the insufficient privileges exception - * @throws ItemAlreadyExistException the item already exist exception - * @throws WrongDestinationException the wrong destination exception - * @throws ItemNotFoundException the item not found exception - * @throws WorkspaceFolderNotFoundException the workspace folder not found exception - */ - public WorkspaceVREFolder createVREFolder(String scope, String description, - String displayName, ACLType privilege) throws InternalErrorException, - InsufficientPrivilegesException, ItemAlreadyExistException, - WrongDestinationException, ItemNotFoundException, - WorkspaceFolderNotFoundException; - - - /** - * Get public folders. - * - * @return a list of public folder - * @throws InternalErrorException the internal error exception - */ - List getPublicFolders() throws InternalErrorException; - - - /** - * Upload archive. - * - * @param folderId the folder id - * @param is the is - * @param extractionFolderName the extraction folder name - * @return the workspace item - * @throws Exception the exception - */ - WorkspaceItem uploadArchive( - String folderId, InputStream is, String extractionFolderName) - throws Exception; - - - - /** - * Download file. + * Update description for item. * * @param itemId the item id - * @param fileName the file name - * @param versionName the version name. If is null or empty returns the latest version of file - * @param nodeIdsToExclude the node ids to exclude - * @return the item stream descriptor + * @param newDescription the new description + * @return the description updated read by SHUB * @throws Exception the exception */ - ItemStreamDescriptor downloadFile(String itemId, String fileName, String versionName, String nodeIdsToExclude) throws Exception; - - - /** - * Download folder. - * - * @param folderId the folder id - * @param folderName the folder name - * @param nodeIdsToExclude the node ids to exclude - * @return the item stream descriptor - * @throws Exception the exception - */ - ItemStreamDescriptor downloadFolder( - String folderId, String folderName, String nodeIdsToExclude) - throws Exception; + public String updateDescriptionForItem(String itemId, String newDescription) throws Exception; }