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) {