From 0986131e1d26dc0a85d0da3ebdf47764524d08e2 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Mon, 22 Jul 2019 09:54:05 +0000 Subject: [PATCH] Merged from release branch git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-publishing/gcat@181278 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 3 +++ .../java/org/gcube/gcat/persistence/ckan/CKANPackage.java | 2 +- .../org/gcube/gcat/persistence/ckan/CKANResource.java | 8 +++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 7e78c56..919b40b 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,6 +1,9 @@ + + Removed the requirement of providing the id of an item in update #16740 + Separated REST class for Profile management from the logic which effectively manage profile on IS Tags are now properly created/added according to profile definition #16182 diff --git a/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java b/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java index 1cbcdcc..ab9bc0f 100644 --- a/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java +++ b/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java @@ -418,9 +418,9 @@ public class CKANPackage extends CKAN { public String update(String json) { try { JsonNode jsonNode = validateJson(json); - this.itemID = jsonNode.get(ID_KEY).asText(); read(); + this.itemID = result.get(ID_KEY).asText(); Map originalResources = new HashMap<>(); ArrayNode originalResourcesarrayNode = (ArrayNode) result.get(RESOURCES_KEY); diff --git a/src/main/java/org/gcube/gcat/persistence/ckan/CKANResource.java b/src/main/java/org/gcube/gcat/persistence/ckan/CKANResource.java index 4d506dc..735e816 100644 --- a/src/main/java/org/gcube/gcat/persistence/ckan/CKANResource.java +++ b/src/main/java/org/gcube/gcat/persistence/ckan/CKANResource.java @@ -289,7 +289,13 @@ public class CKANResource extends CKAN { } protected boolean isStorageFile(URL url) { - URL urlToCheck = getFinalURL(url); + URL urlToCheck = url; + try { + urlToCheck = getFinalURL(url); + }catch (Exception e) { + // TODO Evaluate if we want to validate the URL. If th URL does not exists the service + // could decide refuse the Resource Creation + } if(urlToCheck.getHost().compareTo(URI_RESOLVER_STORAGE_HUB_HOST) == 0) { if(urlToCheck.getPath().startsWith(URI_RESOLVER_STORAGE_HUB_PATH)) { persistedURL = urlToCheck;