Reorganized utilities and their usage

This commit is contained in:
Luca Frosini 2023-04-21 15:58:25 +02:00
parent e1284006e7
commit 74a5ce896c
1 changed files with 0 additions and 61 deletions

View File

@ -1,61 +0,0 @@
package org.gcube.informationsystem.resourceregistry.api.utils;
import java.io.IOException;
import java.util.UUID;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.com.fasterxml.jackson.core.JsonProcessingException;
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
import org.gcube.informationsystem.base.reference.Element;
import org.gcube.informationsystem.base.reference.IdentifiableElement;
import org.gcube.informationsystem.serialization.ElementMapper;
import org.gcube.informationsystem.types.TypeMapper;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public abstract class Utility {
public static String getClassFromJsonNode(JsonNode jsonNode){
return jsonNode.get(Element.CLASS_PROPERTY).asText();
}
public static String getClassFromJsonString(String json) throws JsonProcessingException, IOException{
JsonNode jsonNode = ElementMapper.getObjectMapper().readTree(json);
return getClassFromJsonNode(jsonNode);
}
public static String getUUIDStringFromJsonNode(JsonNode jsonNode){
return jsonNode.get(IdentifiableElement.METADATA_PROPERTY).get(Element.CLASS_PROPERTY).asText();
}
public static UUID getUUIDFromJsonNode(JsonNode jsonNode){
String uuidString = getUUIDStringFromJsonNode(jsonNode);
return UUID.fromString(uuidString);
}
public static String getUUIDStringFromJsonString(String json) throws JsonProcessingException, IOException{
JsonNode jsonNode = ElementMapper.getObjectMapper().readTree(json);
return getUUIDStringFromJsonNode(jsonNode);
}
public static UUID getUUIDFromJsonString(String json) throws JsonProcessingException, IOException{
JsonNode jsonNode = ElementMapper.getObjectMapper().readTree(json);
return getUUIDFromJsonNode(jsonNode);
}
// TODO move somewhere else, probably in Element
public static String getTypeName(Element element){
return getTypeName(element.getClass());
}
public static <E extends Element> String getTypeName(Class<E> clz){
if(!clz.isInterface()){
return clz.getAnnotation(JsonTypeName.class).value();
}else {
return TypeMapper.getType(clz);
}
}
}