636 lines
17 KiB
Java
636 lines
17 KiB
Java
/*
|
|
*
|
|
*/
|
|
package org.gcube.portlets.user.workspace.client.rpc;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
|
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
|
import org.gcube.portlets.user.workspace.client.model.FileTrashedModel;
|
|
import org.gcube.portlets.user.workspace.client.model.FileVersionModel;
|
|
import org.gcube.portlets.user.workspace.client.model.FolderModel;
|
|
import org.gcube.portlets.user.workspace.client.model.GcubeVRE;
|
|
import org.gcube.portlets.user.workspace.client.model.SubTree;
|
|
import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem;
|
|
import org.gcube.portlets.user.workspace.shared.GarbageItem;
|
|
import org.gcube.portlets.user.workspace.shared.PublicLink;
|
|
import org.gcube.portlets.user.workspace.shared.TrashContent;
|
|
import org.gcube.portlets.user.workspace.shared.TrashOperationContent;
|
|
import org.gcube.portlets.user.workspace.shared.UserBean;
|
|
import org.gcube.portlets.user.workspace.shared.WorkspaceOperationResult;
|
|
import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation;
|
|
import org.gcube.portlets.user.workspace.shared.WorkspaceUserQuote;
|
|
import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation;
|
|
import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingField;
|
|
|
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
|
|
// TODO: Auto-generated Javadoc
|
|
/**
|
|
* The Interface GWTWorkspaceServiceAsync.
|
|
*
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
|
*/
|
|
public interface GWTWorkspaceServiceAsync {
|
|
|
|
/**
|
|
* Gets the user workspace size.
|
|
*
|
|
* @param callback the callback
|
|
* @return the user workspace size
|
|
*/
|
|
void getUserWorkspaceSize(AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Gets the root for tree.
|
|
*
|
|
* @param callback the callback
|
|
* @return the root for tree
|
|
*/
|
|
void getRootForTree(AsyncCallback<FolderModel> callback);
|
|
|
|
/**
|
|
* Gets the folder children.
|
|
*
|
|
* @param folder the folder
|
|
* @param callback the callback
|
|
* @return the folder children
|
|
*/
|
|
void getFolderChildren(FolderModel folder, AsyncCallback<List<FileModel>> callback);
|
|
|
|
/**
|
|
* Gets the folder children for file grid.
|
|
*
|
|
* @param folder the folder
|
|
* @param callback the callback
|
|
* @return the folder children for file grid
|
|
*/
|
|
void getFolderChildrenForFileGrid(FileModel folder, AsyncCallback<List<FileGridModel>> callback);
|
|
|
|
/**
|
|
* Delete item.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void deleteItem(String itemId, AsyncCallback<Boolean> callback);
|
|
|
|
/**
|
|
* Rename item.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param newName
|
|
* the new name
|
|
* @param oldName
|
|
* the old name
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void renameItem(String itemId, String newName, String oldName, AsyncCallback<Boolean> callback);
|
|
|
|
/**
|
|
* Creates the folder.
|
|
*
|
|
* @param nameFolder
|
|
* the name folder
|
|
* @param description
|
|
* the description
|
|
* @param parent
|
|
* the parent
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void createFolder(String nameFolder, String description, FileModel parent, AsyncCallback<FolderModel> callback);
|
|
|
|
/**
|
|
* Gets the children sub tree to root by identifier.
|
|
*
|
|
* @param itemIdentifier the item identifier
|
|
* @param callback the callback
|
|
* @return the children sub tree to root by identifier
|
|
*/
|
|
void getChildrenSubTreeToRootByIdentifier(String itemIdentifier, AsyncCallback<ArrayList<SubTree>> callback);
|
|
|
|
/**
|
|
* Gets the items by search name.
|
|
*
|
|
* @param text the text
|
|
* @param folderId the folder id
|
|
* @param callback the callback
|
|
* @return the items by search name
|
|
*/
|
|
void getItemsBySearchName(String text, String folderId, AsyncCallback<List<FileGridModel>> callback);
|
|
|
|
// /**
|
|
// * Gets the smart folder results by category.
|
|
// *
|
|
// * @param category
|
|
// * the category
|
|
// * @param callback
|
|
// * the callback
|
|
// */
|
|
// void getSmartFolderResultsByCategory(GXTCategorySmartFolder category, AsyncCallback<List<FileGridModel>> callback);
|
|
|
|
// /**
|
|
// * Creates the smart folder.
|
|
// *
|
|
// * @param name
|
|
// * the name
|
|
// * @param description
|
|
// * the description
|
|
// * @param query
|
|
// * the query
|
|
// * @param parentId
|
|
// * the parent id
|
|
// * @param callback
|
|
// * the callback
|
|
// */
|
|
// void createSmartFolder(String name, String description, String query, String parentId,
|
|
// AsyncCallback<SmartFolderModel> callback);
|
|
|
|
// /**
|
|
// * Gets the smart folder results by id.
|
|
// *
|
|
// * @param folderId
|
|
// * the folder id
|
|
// * @param callback
|
|
// * the callback
|
|
// */
|
|
// void getSmartFolderResultsById(String folderId, AsyncCallback<List<FileGridModel>> callback);
|
|
|
|
// /**
|
|
// * Gets the all smart folders.
|
|
// *
|
|
// * @param callback
|
|
// * the callback
|
|
// */
|
|
// void getAllSmartFolders(AsyncCallback<List<SmartFolderModel>> callback);
|
|
|
|
/**
|
|
* Gets the image by id.
|
|
*
|
|
* @param identifier the identifier
|
|
* @param isInteralImage the is interal image
|
|
* @param fullDetails the full details
|
|
* @param callback the callback
|
|
* @return the image by id
|
|
*/
|
|
void getImageById(String identifier, boolean isInteralImage, boolean fullDetails,
|
|
AsyncCallback<GWTWorkspaceItem> callback);
|
|
|
|
/**
|
|
* Gets the url by id.
|
|
*
|
|
* @param identifier the identifier
|
|
* @param isInternalUrl the is internal url
|
|
* @param fullDetails the full details
|
|
* @param callback the callback
|
|
* @return the url by id
|
|
*/
|
|
void getUrlById(String identifier, boolean isInternalUrl, boolean fullDetails,
|
|
AsyncCallback<GWTWorkspaceItem> callback);
|
|
|
|
/**
|
|
* Creates the external url.
|
|
*
|
|
* @param parentId
|
|
* the parent id
|
|
* @param name
|
|
* the name
|
|
* @param description
|
|
* the description
|
|
* @param url
|
|
* the url
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void createExternalUrl(String parentId, String name, String description, String url,
|
|
AsyncCallback<FileModel> callback);
|
|
|
|
/**
|
|
* Sets the value in session.
|
|
*
|
|
* @param name
|
|
* the name
|
|
* @param value
|
|
* the value
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void setValueInSession(String name, String value, AsyncCallback<Void> callback);
|
|
|
|
// /**
|
|
// * Removes the smart folder.
|
|
// *
|
|
// * @param itemId
|
|
// * the item id
|
|
// * @param name
|
|
// * the name
|
|
// * @param callback
|
|
// * the callback
|
|
// */
|
|
// void removeSmartFolder(String itemId, String name, AsyncCallback<Boolean> callback);
|
|
|
|
// /**
|
|
// * Gets the all scope.
|
|
// *
|
|
// * @param callback
|
|
// * the callback
|
|
// */
|
|
// void getAllScope(AsyncCallback<List<ScopeModel>> callback);
|
|
|
|
/**
|
|
* Gets the list parents by item identifier.
|
|
*
|
|
* @param itemIdentifier the item identifier
|
|
* @param includeItemAsParent the include item as parent
|
|
* @param callback the callback
|
|
* @return the list parents by item identifier
|
|
*/
|
|
void getListParentsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent,
|
|
AsyncCallback<List<FileModel>> callback);
|
|
|
|
/**
|
|
* Item exists in workpace folder.
|
|
*
|
|
* @param parentId
|
|
* the parent id
|
|
* @param itemName
|
|
* the item name
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void itemExistsInWorkpaceFolder(String parentId, String itemName, AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Gets the item creation date by id.
|
|
*
|
|
* @param itemId the item id
|
|
* @param asyncCallback the async callback
|
|
* @return the item creation date by id
|
|
*/
|
|
void getItemCreationDateById(String itemId, AsyncCallback<Date> asyncCallback);
|
|
|
|
/**
|
|
* Load size by item id.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param asyncCallback
|
|
* the async callback
|
|
*/
|
|
void loadSizeByItemId(String itemId, AsyncCallback<Long> asyncCallback);
|
|
|
|
/**
|
|
* Load last modification date by id.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void loadLastModificationDateById(String itemId, AsyncCallback<Date> callback);
|
|
|
|
/**
|
|
* Gets the parent by item id.
|
|
*
|
|
* @param identifier the identifier
|
|
* @param asyncCallback the async callback
|
|
* @return the parent by item id
|
|
*/
|
|
void getParentByItemId(String identifier, AsyncCallback<FileModel> asyncCallback);
|
|
|
|
/**
|
|
* Gets the accounting readers.
|
|
*
|
|
* @param identifier the identifier
|
|
* @param callback the callback
|
|
* @return the accounting readers
|
|
*/
|
|
void getAccountingReaders(String identifier, AsyncCallback<List<GxtAccountingField>> callback);
|
|
|
|
/**
|
|
* Gets the accounting history.
|
|
*
|
|
* @param identifier the identifier
|
|
* @param callback the callback
|
|
* @return the accounting history
|
|
*/
|
|
void getAccountingHistory(String identifier, AsyncCallback<List<GxtAccountingField>> callback);
|
|
|
|
/**
|
|
* Gets the item for file grid.
|
|
*
|
|
* @param itemId the item id
|
|
* @param callback the callback
|
|
* @return the item for file grid
|
|
*/
|
|
void getItemForFileGrid(String itemId, AsyncCallback<FileGridModel> callback);
|
|
|
|
/**
|
|
* Gets the item for file tree.
|
|
*
|
|
* @param itemId the item id
|
|
* @param asyncCallback the async callback
|
|
* @return the item for file tree
|
|
*/
|
|
void getItemForFileTree(String itemId, AsyncCallback<FileModel> asyncCallback);
|
|
|
|
/**
|
|
* Gets the folder children for file grid by id.
|
|
*
|
|
* @param folderId the folder id
|
|
* @param callback the callback
|
|
* @return the folder children for file grid by id
|
|
*/
|
|
void getFolderChildrenForFileGridById(String folderId, AsyncCallback<List<FileGridModel>> callback);
|
|
|
|
/**
|
|
* Gets the short url.
|
|
*
|
|
* @param longUrl the long url
|
|
* @param callback the callback
|
|
* @return the short url
|
|
*/
|
|
void getShortUrl(String longUrl, AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Gets the public link for file item id.
|
|
*
|
|
* @param itemId the item id
|
|
* @param shortenUrl the shorten url
|
|
* @param callback the callback
|
|
* @return the public link for file item id
|
|
*/
|
|
void getPublicLinkForFileItemId(String itemId, boolean shortenUrl, AsyncCallback<PublicLink> callback);
|
|
|
|
/**
|
|
* Gets the public link for file item id to version.
|
|
*
|
|
* @param itemId the item id
|
|
* @param version the version
|
|
* @param shortenUrl the shorten url
|
|
* @param callback the callback
|
|
* @return the public link for file item id to version
|
|
*/
|
|
void getPublicLinkForFileItemIdToVersion(String itemId, String version, boolean shortenUrl,
|
|
AsyncCallback<PublicLink> callback);
|
|
|
|
/**
|
|
* Checks if is session expired.
|
|
*
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void isSessionExpired(AsyncCallback<Boolean> callback);
|
|
|
|
/**
|
|
* Delete list items for ids.
|
|
*
|
|
* @param ids
|
|
* the ids
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void deleteListItemsForIds(List<String> ids, AsyncCallback<List<GarbageItem>> callback);
|
|
|
|
/**
|
|
* Copy items.
|
|
*
|
|
* @param idsItem
|
|
* the ids item
|
|
* @param destinationFolderId
|
|
* the destination folder id
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void copyItems(List<String> idsItem, String destinationFolderId, AsyncCallback<WorkspaceOperationResult> callback);
|
|
|
|
/**
|
|
* Move items.
|
|
*
|
|
* @param ids
|
|
* the ids
|
|
* @param destinationId
|
|
* the destination id
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void moveItems(List<String> ids, String destinationId, AsyncCallback<WorkspaceOperationResult> callback);
|
|
|
|
/**
|
|
* Gets the my login.
|
|
*
|
|
* @param currentPortletUrl the current portlet url
|
|
* @param callback the callback
|
|
* @return the my login
|
|
*/
|
|
void getMyLogin(String currentPortletUrl, AsyncCallback<UserBean> callback);
|
|
|
|
/**
|
|
* Gets the trash content.
|
|
*
|
|
* @param callback the callback
|
|
* @return the trash content
|
|
*/
|
|
void getTrashContent(AsyncCallback<List<FileTrashedModel>> callback);
|
|
|
|
/**
|
|
* Update trash content.
|
|
*
|
|
* @param operation
|
|
* the operation
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void updateTrashContent(WorkspaceTrashOperation operation, AsyncCallback<TrashContent> callback);
|
|
|
|
|
|
|
|
/**
|
|
* Execute operation on trash.
|
|
*
|
|
* @param listTrashItemIds the list trash item ids
|
|
* @param destinationFolderId the destination folder id
|
|
* @param operation the operation
|
|
* @param callback the callback
|
|
*/
|
|
void executeOperationOnTrash(List<String> listTrashItemIds, String destinationFolderId, WorkspaceTrashOperation operation,
|
|
AsyncCallback<TrashOperationContent> callback);
|
|
|
|
/**
|
|
* Gets the user workspace total items.
|
|
*
|
|
* @param callback the callback
|
|
* @return the user workspace total items
|
|
*/
|
|
void getUserWorkspaceTotalItems(AsyncCallback<Long> callback);
|
|
|
|
/**
|
|
* Gets the user workspace quote.
|
|
*
|
|
* @param callback the callback
|
|
* @return the user workspace quote
|
|
*/
|
|
void getUserWorkspaceQuote(AsyncCallback<WorkspaceUserQuote> callback);
|
|
|
|
/**
|
|
* Gets the item description by id.
|
|
*
|
|
* @param identifier the identifier
|
|
* @param callback the callback
|
|
* @return the item description by id
|
|
*/
|
|
void getItemDescriptionById(String identifier, AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Load gcube item properties.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param asyncCallback
|
|
* the async callback
|
|
*/
|
|
void loadGcubeItemProperties(String itemId, AsyncCallback<Map<String, String>> asyncCallback);
|
|
|
|
/**
|
|
* Gets the HTML gcube item properties.
|
|
*
|
|
* @param itemId the item id
|
|
* @param callback the callback
|
|
* @return the HTML gcube item properties
|
|
*/
|
|
void getHTMLGcubeItemProperties(String itemId, AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Sets the gcube item properties.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param properties
|
|
* the properties
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void setGcubeItemProperties(String itemId, Map<String, String> properties, AsyncCallback<Void> callback);
|
|
|
|
/**
|
|
* Gets the my first name.
|
|
*
|
|
* @param callback the callback
|
|
* @return the my first name
|
|
*/
|
|
void getMyFirstName(AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Mark folder as public for folder item id. return the PublicLink in case
|
|
* of setPublic is true, null otherwise
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param setPublic
|
|
* the set public
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void markFolderAsPublicForFolderItemId(String itemId, boolean setPublic, AsyncCallback<PublicLink> callback);
|
|
|
|
/**
|
|
* Gets the servlet context path.
|
|
*
|
|
* @param protocol the protocol
|
|
* @param callback the callback
|
|
* @return the servlet context path
|
|
*/
|
|
void getServletContextPath(String protocol, AsyncCallback<String> callback);
|
|
|
|
/**
|
|
* Gets the version history.
|
|
*
|
|
* @param fileIdentifier the file identifier
|
|
* @param callback the callback
|
|
* @return the version history
|
|
*/
|
|
void getVersionHistory(String fileIdentifier, AsyncCallback<List<FileVersionModel>> callback);
|
|
|
|
/**
|
|
* Perform operation on versioned file.
|
|
*
|
|
* @param fileId
|
|
* the file id
|
|
* @param olderVersionIds
|
|
* the older version ids
|
|
* @param operation
|
|
* the operation
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void performOperationOnVersionedFile(String fileId, List<String> olderVersionIds,
|
|
WorkspaceVersioningOperation operation, AsyncCallback<List<FileVersionModel>> callback);
|
|
|
|
/**
|
|
* Gets the images for folder.
|
|
*
|
|
* @param folderId the folder id
|
|
* @param currentImageId the current image id
|
|
* @param asyncCallback the async callback
|
|
* @return the images for folder
|
|
*/
|
|
void getImagesForFolder(String folderId, String currentImageId,
|
|
AsyncCallback<List<GWTWorkspaceItem>> asyncCallback);
|
|
|
|
/**
|
|
* Gets the list of vr es for logged user.
|
|
*
|
|
* @param callback the callback
|
|
* @return the list of VR es for logged user
|
|
*/
|
|
void getListOfVREsForLoggedUser(AsyncCallback<List<GcubeVRE>> callback);
|
|
|
|
/**
|
|
* Checks if is item under sync.
|
|
*
|
|
* @param itemId
|
|
* the item id
|
|
* @param callback
|
|
* the callback
|
|
*/
|
|
void isItemUnderSync(String itemId, AsyncCallback<Boolean> callback);
|
|
|
|
/**
|
|
* Gets the link for send to switch board.
|
|
*
|
|
* @param itemId the item id
|
|
* @param callback the callback
|
|
* @return the link for send to switch board
|
|
*/
|
|
void getLinkForSendToSwitchBoard(String itemId, AsyncCallback<String> callback);
|
|
|
|
|
|
/**
|
|
* Update description for item.
|
|
*
|
|
* @param itemId the item id
|
|
* @param newDescription the new description
|
|
* @param callback the callback
|
|
*/
|
|
void updateDescriptionForItem(String itemId, String newDescription, AsyncCallback<String> callback);
|
|
|
|
|
|
|
|
/**
|
|
* Gets the allowed mimetypes for preview.
|
|
*
|
|
* @return the allowed mimetypes for preview
|
|
*/
|
|
void getAllowedMimetypesForPreview(AsyncCallback<Map<String, List<String>>> callback);
|
|
|
|
}
|