GeoPortal Service
Contents
Overview
Architecture
Components
API
REST Interface
Client Library
Java client library to interact with the service is distributed as maven artifact
<groupId>org.gcube.application</groupId> <artifactId>geoportal-client</artifactId>
The library offers various wrappings of the REST interface, allowing for :
- Both Custom & Generic management of Profiled Documents ;
- Both Custom & Generic automatic parsing of JSON communications over REST interface;
- Transparent authentication and service discovery, thanks to gCube Framework;
Generic Profiled Documents Managers
- ProfiledDocumentsManagerI : JAVA interface for the management of Profiled Documents.
Custom Concessioni Managers
The library provides the following customized versions of the generic clients in order to manage Concessioni Documents :
MongoConcessioni
Interface for the stateless management of Concessioni Documents. It reflects the contract of the generic REST API. Following snippet shows typical usage :
ConcessioniManagerI
Interface for the statefull creation of Concessioni Documents. Stateful logic helps client to manage the management of the last loaded/registered Concessione, offering dedicated methods for adding FileSets (e.g. RelazioneScavo) to the current Document.
Following snippet shows typical usage :
import org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni; .... //Obtain the client ConcessioniManagerI manager=statefulMongoConcessioni().build(); ... //Create a new Document from scratch Concessione c = ... ... manager.createNew(c); //Adds an UploadedImage to the current document UploadedImage toRegisterImg= ... TempFile toUpload=.... manager.addImmagineRappresentativa(toRegisterImg, toUpload); //Publishes current object manager.publish();
Utility Classes =
StorageUtils
In order to transfer FileSets to the REST service, an utility class is provided, allowing for the management of infrastructure's TempFiles. Following snippet is a typical usage :