From 48487aac1e3c20fd7ec910839213a5bffa6e25b5 Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Mon, 30 Nov 2020 16:13:11 +0100 Subject: [PATCH] profile compliant --- CHANGELOG.md | 1 + pom.xml | 10 ++++---- .../org/gcube/spatial/data/sdi/rest/SDI.java | 20 +++++++++++++++ src/main/webapp/WEB-INF/gcube-app.xml | 8 ++++++ src/main/webapp/WEB-INF/web.xml | 25 +++++++++++++++++++ 5 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 src/main/webapp/WEB-INF/gcube-app.xml create mode 100644 src/main/webapp/WEB-INF/web.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index d8ed6cb..b1b083c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm # Changelog for org.gcube.spatial.data.sdi-service ## [v1.4.3-SNAPSHOT] 2020-05-15 +changed maven repos ## [v1.4.2] 2020-05-15 diff --git a/pom.xml b/pom.xml index c0bd9bb..f7c128a 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.gcube.spatial.data sdi-service - 1.4.3-SNAPSHOT + 1.4.3-SNPASHOT SDI Service REST Interface towards SDI facilities war @@ -50,18 +50,18 @@ org.gcube.spatial.data sdi-interface - [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + [1.0.0,2.0.0) org.gcube.portlets.user uri-resolver-manager - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) + [1.0.0, 2.0.0) org.gcube.data.transfer data-transfer-library - [1.2.0-SNAPSHOT,2.0.0-SNAPSHOT) + [1.2.0,2.0.0) @@ -73,7 +73,7 @@ org.gcube.resourcemanagement resourcemanager-client - [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + [1.0.0,2.0.0) diff --git a/src/main/java/org/gcube/spatial/data/sdi/rest/SDI.java b/src/main/java/org/gcube/spatial/data/sdi/rest/SDI.java index 461ca65..f76b935 100644 --- a/src/main/java/org/gcube/spatial/data/sdi/rest/SDI.java +++ b/src/main/java/org/gcube/spatial/data/sdi/rest/SDI.java @@ -3,11 +3,13 @@ package org.gcube.spatial.data.sdi.rest; import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.Path; +import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; import org.gcube.smartgears.annotations.ManagedBy; +import org.gcube.spatia.data.model.profiles.ApplicationProfile; import org.gcube.spatial.data.sdi.SDIServiceManager; import org.gcube.spatial.data.sdi.engine.SDIManager; import org.gcube.spatial.data.sdi.model.ScopeConfiguration; @@ -53,6 +55,24 @@ public class SDI { } } + public static final String SERVICE_CLASS_PARAM="service_class"; + public static final String SERVICE_NAME_PARAM="service_name"; + @GET + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Path("profile/{"+SERVICE_CLASS_PARAM+"}/{"+SERVICE_NAME_PARAM+"}") + public ApplicationProfile getProfile(@PathParam(SERVICE_CLASS_PARAM) String serviceClass, + @PathParam(SERVICE_NAME_PARAM) String serviceName) { + try { + log.debug("Looking for Application Profile [SC :{} SN : {}]",serviceClass,serviceName); + throw new RuntimeException("Feature not yet available"); + }catch(WebApplicationException e){ + log.warn("Unable to serve request",e); + throw e; + }catch(Throwable e){ + log.warn("Unable to serve request",e); + throw new WebApplicationException("Unable to serve request", e); + } + } } diff --git a/src/main/webapp/WEB-INF/gcube-app.xml b/src/main/webapp/WEB-INF/gcube-app.xml new file mode 100644 index 0000000..d034671 --- /dev/null +++ b/src/main/webapp/WEB-INF/gcube-app.xml @@ -0,0 +1,8 @@ + + sdi-service + SDI + 1.1.0-SNAPSHOT + REST Interface towards SDI facilities + + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..18809d2 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,25 @@ + + + org.gcube.spatial.data.sdi.SDIService + org.glassfish.jersey.servlet.ServletContainer + + + javax.ws.rs.Application + org.gcube.spatial.data.sdi.SDIService + + + jersey.config.server.provider.classnames + org.glassfish.jersey.media.multipart.MultiPartFeature + + + + jersey.config.xml.formatOutput + true + + 1 + + + org.gcube.spatial.data.sdi.SDIService + /gcube/service/* + + \ No newline at end of file