package eu.dnetlib.dhp.rdfconverter.utils; import java.io.IOException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.ObjectCodec; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import eu.dnetlib.dhp.rdfconverter.bioschema.model.BioSchemaProtein; public class CustomPropertyValueDeserializer extends StdDeserializer { public CustomPropertyValueDeserializer() { this(null); } public CustomPropertyValueDeserializer(Class vc) { super(vc); } @Override public BioSchemaProtein.Link deserialize( JsonParser jsonparser, DeserializationContext context) throws IOException { ObjectCodec oc = jsonparser.getCodec(); JsonNode node = oc.readTree(jsonparser); JsonNode id = node.get("@id"); if (id != null) { BioSchemaProtein.Link link = new BioSchemaProtein.Link(); link.setId(id.asText()); return link; } else { String txt = node.asText(); BioSchemaProtein.Link link = new BioSchemaProtein.Link(); link.setId(txt); return link; } } }