geoportal-data-viewer-app/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerService....

233 lines
7.3 KiB
Java
Raw Normal View History

2020-10-23 18:18:06 +02:00
package org.gcube.portlets.user.geoportaldataviewer.client;
import java.util.LinkedHashMap;
2020-10-29 15:18:14 +01:00
import java.util.List;
import java.util.Map;
2020-10-29 15:18:14 +01:00
2021-12-21 16:52:35 +01:00
import org.gcube.application.geoportalcommon.shared.GNADataViewerConfigProfile;
2022-10-18 17:32:12 +02:00
import org.gcube.application.geoportalcommon.shared.GeoportalItemReferences;
2021-12-07 17:13:20 +01:00
import org.gcube.application.geoportalcommon.shared.SearchingFilter;
import org.gcube.application.geoportalcommon.shared.geoportal.config.GroupedLayersDV;
import org.gcube.application.geoportalcommon.shared.geoportal.config.layers.LayerIDV;
import org.gcube.application.geoportalcommon.shared.geoportal.geojson.GeoJSON;
2022-10-18 14:17:41 +02:00
import org.gcube.application.geoportalcommon.shared.geoportal.materialization.GCubeSDIViewerLayerDV;
import org.gcube.application.geoportalcommon.shared.geoportal.ucd.GEOPORTAL_DATA_HANDLER;
2022-10-11 15:00:39 +02:00
import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView;
import org.gcube.application.geoportalcommon.shared.gis.BoundsMap;
2020-11-19 15:19:27 +01:00
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaSpatialQueryResult;
2022-10-17 16:52:22 +02:00
import org.gcube.portlets.user.geoportaldataviewer.shared.ItemFieldsResponse;
2022-11-28 09:49:46 +01:00
import org.gcube.portlets.user.geoportaldataviewer.shared.ResultSetPaginatedDataIDs;
import org.gcube.portlets.user.geoportaldataviewer.shared.ViewerConfiguration;
2021-11-12 12:37:15 +01:00
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.BaseMapLayer;
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem;
2020-11-19 15:19:27 +01:00
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerObject;
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.wms.GeoInformationForWMSRequest;
2020-10-27 16:04:34 +01:00
2020-10-23 18:18:06 +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.
2020-11-19 15:19:27 +01:00
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 17, 2020
2020-10-23 18:18:06 +02:00
*/
2020-10-26 12:24:23 +01:00
@RemoteServiceRelativePath("geoportaldataviewerservice")
public interface GeoportalDataViewerService extends RemoteService {
2020-10-27 16:04:34 +01:00
2020-11-19 15:19:27 +01:00
/**
* Parses the wms request.
*
* @param wmsRequest the wms request
* @param layerName the layer name
2020-11-19 15:19:27 +01:00
* @return the geo information for WMS request
* @throws Exception the exception
*/
2020-10-27 16:04:34 +01:00
GeoInformationForWMSRequest parseWmsRequest(String wmsRequest, String layerName) throws Exception;
2020-11-19 15:19:27 +01:00
/**
* Gets the data result.
*
* @param layerObjects the layer objects
* @param mapSrsName the map srs name
* @param mapBBOX the map BBOX
2020-11-19 15:19:27 +01:00
* @param maxWFSFeature the max WFS feature
* @param zoomLevel the zoom level
2020-11-19 15:19:27 +01:00
* @return the data result
2022-11-15 14:25:30 +01:00
* @throws Exception the exception
2020-11-19 15:19:27 +01:00
*/
List<GeoNaSpatialQueryResult> getDataResult(List<LayerObject> layerObjects, String mapSrsName, BoundsMap mapBBOX,
int maxWFSFeature, double zoomLevel) throws Exception;
2020-10-29 15:18:14 +01:00
2020-11-19 15:19:27 +01:00
/**
* Gets the my login.
*
* @return the my login
*/
String getMyLogin();
/**
* Gets the geo na data view profile.
*
* @return the geo na data view profile
* @throws Exception the exception
*/
2021-12-21 16:52:35 +01:00
GNADataViewerConfigProfile getGeoNaDataViewProfile() throws Exception;
2020-11-19 15:19:27 +01:00
/**
* Gets the public links for.
*
* @param item the item
* @return the public links for
* @throws Exception the exception
*/
2022-10-18 17:32:12 +02:00
GeoportalItemReferences getPublicLinksFor(GeoportalItemReferences item) throws Exception;
2020-11-19 15:19:27 +01:00
2021-07-30 15:57:25 +02:00
/**
* Gets the layers for id.
*
2022-10-18 14:17:41 +02:00
* @param theProfileID the the profile ID
* @param theProductID the the product ID
2021-07-30 15:57:25 +02:00
* @return the layers for id
* @throws Exception the exception
*/
2022-10-18 14:17:41 +02:00
List<GCubeSDIViewerLayerDV> getLayersForId(String theProfileID, String theProductID) throws Exception;
2021-07-30 15:57:25 +02:00
2021-08-31 18:21:17 +02:00
/**
* Gets the WFS features.
*
* @param layerObjects the layer objects
* @param mapSrsName the map srs name
* @param selectBBOX the select BBOX
* @param maxWFSFeature the max WFS feature
* @param zoomLevel the zoom level
* @return the WFS features
*/
List<GeoNaSpatialQueryResult> getWFSFeatures(List<LayerObject> layerObjects, String mapSrsName,
BoundsMap selectBBOX, int maxWFSFeature, double zoomLevel);
2022-10-18 14:17:41 +02:00
/**
* Gets the list base layers.
*
* @return the list base layers
*/
2021-11-12 12:37:15 +01:00
List<BaseMapLayer> getListBaseLayers();
2021-12-07 17:13:20 +01:00
/**
* List of fields for searching.
*
* @return the list
2022-10-18 14:17:41 +02:00
* @throws Exception the exception
2021-12-07 17:13:20 +01:00
*/
2022-10-27 16:18:54 +02:00
List<ItemFieldsResponse> getConfigListOfFieldsForSearching() throws Exception;
2022-10-11 15:00:39 +02:00
/**
* Gets the project view for id.
*
* @param profileID the profile ID
* @param projectID the project ID
* @return the project view for id
* @throws Exception the exception
*/
ProjectView getProjectViewForId(String profileID, String projectID) throws Exception;
/**
* Gets the list projects.
*
* @param theProfileID the the profile ID
* @param start the start
* @param limit the limit
* @param filter the filter
* @param reloadFromService the reload from service
* @return the list projects
* @throws Exception the exception
*/
2022-11-28 09:49:46 +01:00
ResultSetPaginatedDataIDs getListProjects(String theProfileID, Integer start, Integer limit, SearchingFilter filter,
boolean reloadFromService) throws Exception;
/**
2022-10-18 14:17:41 +02:00
* NEW CODE HERE.
*
* @return the initial configuration
* @throws Exception the exception
*/
ViewerConfiguration getInitialConfiguration() throws Exception;
/**
* Gets the entry sets document for project ID.
*
* @param profileID the profile ID
* @param projectID the project ID
* @param limit the limit
* @return the entry sets document for project ID
*/
2023-02-03 11:53:37 +01:00
LinkedHashMap<String, Object> getEntrySetsDocumentForProjectID(String profileID, String projectID, int limit);
2022-11-15 14:25:30 +01:00
/**
* Gets the relationships for timeline.
*
* @param profileID the profile ID
* @param projectID the project ID
* @return the relationships for timeline
* @throws Exception the exception
*/
2022-11-02 18:05:38 +01:00
List<String> getRelationshipsForTimeline(String profileID, String projectID) throws Exception;
/**
* Gets the spatial reference.
*
* @param profileID the profile ID
* @param projectID the project ID
* @return the spatial reference
*/
GeoJSON getSpatialReference(String profileID, String projectID);
/**
* Gets the WFS request.
*
* @param layerItem the layer item
* @param mapSrsName the map srs name
* @param mapBBOX the map BBOX
* @param maxFeatures the max features. If 0 means all feature
* @param outputFormat the output format
* @return the WFS request
*/
String getWFSRequest(LayerItem layerItem, String mapSrsName, BoundsMap mapBBOX, int maxFeatures,
String outputFormat);
/**
* Gets the WFS response.
*
* @param layerItem the layer item
* @param mapSrsName the map srs name
* @param mapBBOX the map BBOX
* @param maxFeatures the max features
* @param outputFormat the output format
* @return the WFS response
*/
String getWFSResponse(LayerItem layerItem, String mapSrsName, BoundsMap mapBBOX, int maxFeatures,
String outputFormat);
/**
* Gets the avaiable custom grouped layers for UCD.
*
* @param theHandler the the handler
* @return the avaiable custom grouped layers for UCD
*/
Map<String, List<GroupedLayersDV<? extends LayerIDV>>> getAvaiableCustomGroupedLayersForUCD(
GEOPORTAL_DATA_HANDLER theHandler);
/**
* Gets the HTTP response for URL.
*
* @param url the url
* @return the HTTP response for URL
*/
String getHTTPResponseForURL(String url);
Integer getCountFor(String profileID, String phase, String status);
2020-10-23 18:18:06 +02:00
}