From 7c0928b1e984726b26f15b500a83b476a7e13606 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 24 Mar 2023 10:35:59 +0100 Subject: [PATCH] Fixing post request --- .../resolver/geoportal/GeoportalRequest.java | 2 +- .../resolver/services/GeoportalResolver.java | 24 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gcube/datatransfer/resolver/geoportal/GeoportalRequest.java b/src/main/java/org/gcube/datatransfer/resolver/geoportal/GeoportalRequest.java index 8ca093f..21e3790 100644 --- a/src/main/java/org/gcube/datatransfer/resolver/geoportal/GeoportalRequest.java +++ b/src/main/java/org/gcube/datatransfer/resolver/geoportal/GeoportalRequest.java @@ -26,7 +26,7 @@ public class GeoportalRequest { @JsonProperty(P_GCUBE_SCOPE) private String gcubeScope; @JsonProperty(P_TARGET_APP) - private String targetApp; + private String targetAppName; /** * It is the UCD ID {usecase_id} */ diff --git a/src/main/java/org/gcube/datatransfer/resolver/services/GeoportalResolver.java b/src/main/java/org/gcube/datatransfer/resolver/services/GeoportalResolver.java index 79b367a..d0cfcde 100644 --- a/src/main/java/org/gcube/datatransfer/resolver/services/GeoportalResolver.java +++ b/src/main/java/org/gcube/datatransfer/resolver/services/GeoportalResolver.java @@ -285,19 +285,25 @@ public class GeoportalResolver { "The scope '" + scope + "' does not matching any scope in the infrastructure. Is it valid?", this.getClass(), helpURI); - TargetAppGeoportalCodes resoruceGeoportalCodes = TargetAppGeoportalCodes - .valueOfName(jsonRequest.getTargetApp()); + String targetAppName = jsonRequest.getTargetAppName(); - if (resoruceGeoportalCodes == null) { - LOG.error("Target application parameter is null/malformed"); + TargetAppGeoportalCodes resoruceGeoportalCodes = null; + + if (targetAppName == null) { resoruceGeoportalCodes = TargetAppGeoportalCodes.GEO; - LOG.info("Target application using default: " + resoruceGeoportalCodes); + LOG.error("Target application parameter is null, using default: " + resoruceGeoportalCodes); } else { - List targetApps = Arrays.asList(TargetAppGeoportalCodes.values()).stream() - .map(TargetAppGeoportalCodes::getTarget_app).collect(Collectors.toList()); - throw ExceptionManager.badRequestException(req, - "Target application is null/malformed. It must be: " + targetApps, this.getClass(), helpURI); + resoruceGeoportalCodes = TargetAppGeoportalCodes.valueOfName(jsonRequest.getTargetAppName()); + + if (resoruceGeoportalCodes == null) { + LOG.error("Target application parameter is malformed"); + List targetApps = Arrays.asList(TargetAppGeoportalCodes.values()).stream() + .map(TargetAppGeoportalCodes::getTarget_app).collect(Collectors.toList()); + throw ExceptionManager.badRequestException(req, + "Target application is wrong. It must be one value of: " + targetApps, this.getClass(), + helpURI); + } } String linkURL = String.format("%s/%s/%s/%s/%s", serverUrl, resoruceGeoportalCodes.getId(), vreName,