2018-03-02 17:03:57 +01:00
|
|
|
package org.gcube.portlets.widgets.wsthreddssync.client.rpc;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import org.gcube.portal.wssynclibrary.shared.ItemNotSynched;
|
2018-03-13 15:09:36 +01:00
|
|
|
import org.gcube.portal.wssynclibrary.shared.WorkspaceFolderLocked;
|
2018-03-08 17:59:33 +01:00
|
|
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
2018-03-02 17:03:57 +01:00
|
|
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncStatus;
|
2018-03-12 17:43:51 +01:00
|
|
|
import org.gcube.portlets.widgets.wsthreddssync.shared.GcubeScope;
|
2018-03-02 17:03:57 +01:00
|
|
|
import org.gcube.portlets.widgets.wsthreddssync.shared.WsThreddsSynchFolderConfiguration;
|
|
|
|
import org.gcube.portlets.widgets.wsthreddssync.shared.WsThreddsSynchFolderDescriptor;
|
|
|
|
|
|
|
|
import com.google.gwt.user.client.rpc.RemoteService;
|
|
|
|
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
|
|
|
|
|
2018-03-08 17:59:33 +01:00
|
|
|
|
2018-03-02 17:03:57 +01:00
|
|
|
/**
|
2018-03-08 17:59:33 +01:00
|
|
|
* The Interface ThreddsWorkspaceSyncService.
|
|
|
|
*
|
|
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
|
|
|
* Mar 8, 2018
|
2018-03-02 17:03:57 +01:00
|
|
|
*/
|
|
|
|
@RemoteServiceRelativePath("wsthreddssync")
|
|
|
|
public interface ThreddsWorkspaceSyncService extends RemoteService {
|
|
|
|
|
2018-03-08 17:59:33 +01:00
|
|
|
/**
|
|
|
|
* Checks if is item synched.
|
|
|
|
*
|
|
|
|
* @param folderId the folder id
|
|
|
|
* @return the ws thredds synch folder descriptor
|
2018-03-13 15:09:36 +01:00
|
|
|
* @throws WorkspaceFolderLocked the workspace folder locked
|
2018-03-08 17:59:33 +01:00
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2018-03-13 15:09:36 +01:00
|
|
|
WsThreddsSynchFolderDescriptor isItemSynched(String folderId) throws WorkspaceFolderLocked, Exception;
|
2018-03-02 17:03:57 +01:00
|
|
|
|
2018-03-08 17:59:33 +01:00
|
|
|
/**
|
|
|
|
* Do sync folder.
|
|
|
|
*
|
|
|
|
* @param folderId the folder id
|
|
|
|
* @param clientConfig the client config
|
|
|
|
* @return the th sync status
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2018-03-02 17:03:57 +01:00
|
|
|
ThSyncStatus doSyncFolder(final String folderId, WsThreddsSynchFolderConfiguration clientConfig) throws Exception;
|
|
|
|
|
2018-03-08 17:59:33 +01:00
|
|
|
/**
|
|
|
|
* Monitor sync status.
|
|
|
|
*
|
|
|
|
* @param folderId the folder id
|
|
|
|
* @return the th sync status
|
|
|
|
* @throws ItemNotSynched the item not synched
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2018-03-02 17:03:57 +01:00
|
|
|
ThSyncStatus monitorSyncStatus(String folderId) throws ItemNotSynched, Exception;
|
|
|
|
|
2018-03-08 17:59:33 +01:00
|
|
|
/**
|
|
|
|
* Gets the list of vr es for logged user.
|
|
|
|
*
|
|
|
|
* @return the list of vr es for logged user
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2018-03-12 17:43:51 +01:00
|
|
|
List<GcubeScope> getListOfScopesForLoggedUser() throws Exception;
|
2018-03-08 17:59:33 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the available catalogues for scope.
|
|
|
|
*
|
|
|
|
* @param scope the scope
|
|
|
|
* @return the available catalogues for scope
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
List<ThCatalogueBean> getAvailableCataloguesForScope(String scope) throws Exception;
|
2018-03-02 17:03:57 +01:00
|
|
|
}
|