2020-10-07 17:04:13 +02:00
|
|
|
package org.gcube.portlets.user.geoportaldataentry.client;
|
|
|
|
|
2020-10-20 09:58:56 +02:00
|
|
|
import java.util.List;
|
|
|
|
|
2020-12-01 18:15:13 +01:00
|
|
|
import org.gcube.application.geoportalcommon.shared.GeoNaItemRef;
|
2021-12-06 17:24:27 +01:00
|
|
|
import org.gcube.application.geoportalcommon.shared.ResultSetPaginatedData;
|
|
|
|
import org.gcube.application.geoportalcommon.shared.SearchingFilter;
|
2022-09-21 17:20:09 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.geoportal.ResultDocumentDV;
|
2022-09-13 16:18:40 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.geoportal.config.ActionDefinitionDV;
|
2022-09-01 12:44:00 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.geoportal.project.LifecycleInformationDV;
|
2022-09-13 16:18:40 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.geoportal.project.ProjectDV;
|
2022-09-21 10:52:56 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.geoportal.project.RelationshipDV;
|
2022-08-11 12:07:07 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.geoportal.ucd.UseCaseDescriptorDV;
|
2021-09-22 11:38:52 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.products.ConcessioneDV;
|
2021-10-05 19:17:05 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.products.content.WorkspaceContentDV;
|
2021-09-29 11:38:24 +02:00
|
|
|
import org.gcube.application.geoportalcommon.shared.products.paths.FileSetPathsDV;
|
2020-10-21 16:52:07 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.CommitReport;
|
2022-09-26 16:17:41 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.GNADataEntryExtendedConfigProfile;
|
2020-10-20 09:58:56 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject;
|
2022-09-26 16:17:41 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.GeoportalISConfig;
|
2022-07-08 16:38:45 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.Tree_Node;
|
2021-09-29 18:27:22 +02:00
|
|
|
import org.gcube.portlets.widgets.mpformbuilder.shared.GenericDatasetBean;
|
2020-10-20 09:58:56 +02:00
|
|
|
|
2020-10-07 17:04:13 +02:00
|
|
|
import com.google.gwt.user.client.rpc.RemoteService;
|
|
|
|
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The client side stub for the RPC service.
|
2021-08-04 17:11:46 +02:00
|
|
|
*
|
|
|
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
|
|
|
*
|
2021-08-05 16:49:04 +02:00
|
|
|
* Aug 4, 2021
|
2020-10-07 17:04:13 +02:00
|
|
|
*/
|
2020-10-22 16:50:14 +02:00
|
|
|
@RemoteServiceRelativePath("geoportaldataentryservice")
|
|
|
|
public interface GeoportalDataEntryService extends RemoteService {
|
2020-10-20 09:58:56 +02:00
|
|
|
|
2022-09-01 16:43:25 +02:00
|
|
|
/**
|
|
|
|
* Save geona data forms.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param tree_Node the tree node
|
|
|
|
* @return the commit report
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2022-07-08 16:38:45 +02:00
|
|
|
CommitReport saveGeonaDataForms(String profileID, Tree_Node<GeoNaFormDataObject> tree_Node) throws Exception;
|
2020-10-21 15:36:50 +02:00
|
|
|
|
2021-08-04 17:11:46 +02:00
|
|
|
/**
|
|
|
|
* Gets the geona init config.
|
|
|
|
*
|
|
|
|
* @return the geona init config
|
|
|
|
*/
|
2022-09-26 16:17:41 +02:00
|
|
|
GeoportalISConfig getGeonaInitConfig();
|
2020-12-01 18:15:13 +01:00
|
|
|
|
2022-09-01 16:43:25 +02:00
|
|
|
/**
|
|
|
|
* Gets the links for.
|
|
|
|
*
|
2022-09-12 15:09:43 +02:00
|
|
|
* @param itemId the item id
|
2022-09-01 16:43:25 +02:00
|
|
|
* @param profileID the profile ID
|
|
|
|
* @return the links for
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2022-05-20 12:31:58 +02:00
|
|
|
GeoNaItemRef getLinksFor(String itemId, String profileID) throws Exception;
|
2021-08-04 17:11:46 +02:00
|
|
|
|
|
|
|
/**
|
2022-03-17 18:08:58 +01:00
|
|
|
* Gets the list projects.
|
2021-08-04 17:11:46 +02:00
|
|
|
*
|
2022-03-17 18:08:58 +01:00
|
|
|
* @param theProfileID the the profile ID
|
2021-09-29 11:38:24 +02:00
|
|
|
* @param start the start
|
|
|
|
* @param limit the limit
|
|
|
|
* @param filter the filter
|
2021-08-05 16:49:04 +02:00
|
|
|
* @param reloadFromService the reload from service
|
2022-03-17 18:08:58 +01:00
|
|
|
* @return the list projects
|
2021-08-04 17:11:46 +02:00
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2022-03-17 18:08:58 +01:00
|
|
|
public ResultSetPaginatedData getListProjects(String theProfileID, Integer start, Integer limit,
|
|
|
|
SearchingFilter filter, boolean reloadFromService) throws Exception;
|
2021-08-05 16:49:04 +02:00
|
|
|
|
2021-09-29 11:38:24 +02:00
|
|
|
/**
|
|
|
|
* Gets the JSON record.
|
|
|
|
*
|
2022-09-12 15:09:43 +02:00
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
2021-09-29 11:38:24 +02:00
|
|
|
* @return the JSON record
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2022-09-12 15:09:43 +02:00
|
|
|
String getJSONDocumentInTheProject(String profileID, String projectID) throws Exception;
|
2021-09-16 12:15:07 +02:00
|
|
|
|
2021-09-29 11:38:24 +02:00
|
|
|
/**
|
|
|
|
* Update record.
|
|
|
|
*
|
2022-09-14 10:12:07 +02:00
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
2021-09-29 11:38:24 +02:00
|
|
|
* @param jsonUpdate the json update
|
2022-09-14 10:12:07 +02:00
|
|
|
* @return the project DV
|
2021-09-29 11:38:24 +02:00
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2022-09-14 10:12:07 +02:00
|
|
|
ProjectDV updateRecord(String profileID, String projectID, String jsonUpdate) throws Exception;
|
2021-09-27 18:32:19 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Read file set paths.
|
|
|
|
*
|
2021-09-29 11:38:24 +02:00
|
|
|
* @return the file set paths DV
|
2021-09-27 18:32:19 +02:00
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2021-09-29 11:38:24 +02:00
|
|
|
FileSetPathsDV readFileSetPaths() throws Exception;
|
2021-09-27 18:32:19 +02:00
|
|
|
|
2021-09-29 18:27:22 +02:00
|
|
|
/**
|
|
|
|
* Update record.
|
|
|
|
*
|
2021-11-26 16:05:05 +01:00
|
|
|
* @param itemId the item id
|
|
|
|
* @param recordType the record type
|
|
|
|
* @param section the section
|
|
|
|
* @param pathIndex the path index
|
|
|
|
* @param keepCurrentContent the keep current content
|
|
|
|
* @param gDBean the g D bean
|
2021-09-29 18:27:22 +02:00
|
|
|
* @return the updated JSON string representing the itemId
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
ConcessioneDV updateSectionForRecord(String itemId, String recordType, String section, int pathIndex,
|
2021-10-05 19:17:05 +02:00
|
|
|
List<WorkspaceContentDV> keepCurrentContent, GenericDatasetBean gDBean) throws Exception;
|
|
|
|
|
2021-11-26 16:05:05 +01:00
|
|
|
/**
|
2021-12-21 16:51:56 +01:00
|
|
|
* Read data viewer config.
|
2021-11-26 16:05:05 +01:00
|
|
|
*
|
2021-12-21 16:51:56 +01:00
|
|
|
* @return the GNA data entry ext config profile
|
|
|
|
* @throws Exception the exception
|
2021-12-06 17:24:27 +01:00
|
|
|
*/
|
2022-09-26 16:17:41 +02:00
|
|
|
GNADataEntryExtendedConfigProfile readDataViewerConfig() throws Exception;
|
2021-12-06 17:24:27 +01:00
|
|
|
|
2022-03-03 18:44:21 +01:00
|
|
|
/**
|
2022-03-17 18:08:58 +01:00
|
|
|
* Gets the list use case descriptors.
|
2022-03-03 18:44:21 +01:00
|
|
|
*
|
2022-03-17 18:08:58 +01:00
|
|
|
* @param handlersIds the handlers ids
|
|
|
|
* @return the list use case descriptors
|
|
|
|
* @throws Exception the exception
|
2022-03-03 18:44:21 +01:00
|
|
|
*/
|
2022-03-17 18:08:58 +01:00
|
|
|
List<UseCaseDescriptorDV> getListUseCaseDescriptors(List<String> handlersIds) throws Exception;
|
2022-03-03 18:44:21 +01:00
|
|
|
|
2022-09-01 12:44:00 +02:00
|
|
|
/**
|
|
|
|
* Gets the lifecycle info for project id.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
|
|
|
* @return the lifecycle info for project id
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
LifecycleInformationDV getLifecycleInfoForProjectId(String profileID, String projectID) throws Exception;
|
|
|
|
|
2022-09-01 16:43:25 +02:00
|
|
|
/**
|
|
|
|
* Delete project.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
|
|
|
* @return true, if successful
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
boolean deleteProject(String profileID, String projectID) throws Exception;
|
|
|
|
|
2022-09-13 16:18:40 +02:00
|
|
|
/**
|
|
|
|
* Perform action steps.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
|
|
|
* @param action the action
|
|
|
|
* @return the project DV
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
ProjectDV performActionSteps(String profileID, String projectID, ActionDefinitionDV action) throws Exception;
|
|
|
|
|
2022-09-16 17:42:01 +02:00
|
|
|
/**
|
|
|
|
* Perform action steps.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @return the project DV
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
List<String> getRelationshipNames(String profileID) throws Exception;
|
|
|
|
|
2022-09-21 10:52:56 +02:00
|
|
|
/**
|
|
|
|
* Creates the relationship.
|
|
|
|
*
|
2022-09-21 17:20:09 +02:00
|
|
|
* @param fromProfileID the from profile ID
|
|
|
|
* @param fromProjectID the from project ID
|
2022-09-21 10:52:56 +02:00
|
|
|
* @param relationshipName the relationship name
|
2022-09-21 17:20:09 +02:00
|
|
|
* @param toProfileID the to profile ID
|
|
|
|
* @param toProjectID the to project ID
|
2022-09-21 10:52:56 +02:00
|
|
|
* @return the relationship DV
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
RelationshipDV createRelationship(String fromProfileID, String fromProjectID, String relationshipName,
|
|
|
|
String toProfileID, String toProjectID) throws Exception;
|
|
|
|
|
2022-09-21 17:20:09 +02:00
|
|
|
/**
|
|
|
|
* Gets the project by ID.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
|
|
|
* @return the project by ID
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
ProjectDV getProjectByID(String profileID, String projectID) throws Exception;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the result document fo project by ID.
|
|
|
|
*
|
|
|
|
* @param profileID the profile ID
|
|
|
|
* @param projectID the project ID
|
|
|
|
* @return the result document fo project by ID
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
ResultDocumentDV getResultDocumentFoProjectByID(String profileID, String projectID) throws Exception;
|
|
|
|
|
2020-10-07 17:04:13 +02:00
|
|
|
}
|