Difference between revisions of "GeoPortal Service"
(Created page with "== Overview == == Architecture == === Components === == API == === REST Interface === === Client Library === Java client library to interact with the service is distributed a...") |
(→ConcessioniManagerI) |
||
Line 39: | Line 39: | ||
Following snippet shows typical usage : | Following snippet shows typical usage : | ||
<source lang="xml"> | <source lang="xml"> | ||
+ | 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(); | ||
</source> | </source> |
Revision as of 17:29, 13 January 2021
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 :