From 2aa2909e4eb5d97e6863e2300519382c4f789101 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Tue, 16 Apr 2024 16:35:38 +0200 Subject: [PATCH] Improved code --- .../publisher/ResourceRegistryPublisherImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/publisher/ResourceRegistryPublisherImpl.java b/src/main/java/org/gcube/informationsystem/resourceregistry/publisher/ResourceRegistryPublisherImpl.java index db2ce95..bf2b2ed 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/publisher/ResourceRegistryPublisherImpl.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/publisher/ResourceRegistryPublisherImpl.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.UUID; import org.gcube.com.fasterxml.jackson.databind.JsonNode; +import org.gcube.com.fasterxml.jackson.databind.ObjectMapper; import org.gcube.com.fasterxml.jackson.databind.node.ObjectNode; import org.gcube.common.gxhttp.reference.GXConnection; import org.gcube.common.gxhttp.request.GXHTTPStringRequest; @@ -443,12 +444,14 @@ public class ResourceRegistryPublisherImpl extends BaseRequestInfo implements Re public String create(String json) throws SchemaViolationException, AlreadyPresentException, ResourceRegistryException { try { - JsonNode jsonNode = JsonUtility.getJsonNode(json); + ObjectMapper mapper = new ObjectMapper(); + JsonNode jsonNode = mapper.readTree(json); String type = TypeUtility.getTypeName(jsonNode); UUID uuid = UUIDUtility.getUUID(jsonNode); if(uuid==null) { uuid = UUIDManager.getInstance().generateValidUUID(); ((ObjectNode) jsonNode).put(ERElement.ID_PROPERTY, uuid.toString()); + json = mapper.writeValueAsString(jsonNode); } return create(type, json, uuid); } catch (ResourceRegistryException e) {