From 1b678cd3746aec8a9524fb0c1f4a79911ebc143f Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 10 Sep 2018 13:04:09 +0200 Subject: [PATCH] new implementation for resolving miriam resources fixed --- .../annotation/services/MiriamConnector.java | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java index 00b97432ce..af5982d3d0 100644 --- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java +++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java @@ -1,14 +1,11 @@ package lcsb.mapviewer.annotation.services; import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import org.apache.log4j.Logger; import org.hibernate.AnnotationException; - -import com.google.gson.Gson; +import org.w3c.dom.Document; +import org.w3c.dom.Node; import lcsb.mapviewer.annotation.cache.CachableInterface; import lcsb.mapviewer.annotation.cache.GeneralCacheInterface; @@ -219,19 +216,13 @@ public final class MiriamConnector extends CachableInterface implements IExterna */ protected String getUrlString2(MiriamData md) throws AnnotationException { try { - String result = null; String queryUri = md.getDataType().getUris().get(0) + ":" + md.getResource(); String query = "https://www.ebi.ac.uk/miriamws/main/rest/resolve/" + queryUri; String page = getWebPageContent(query); - Gson gson = new Gson(); - - Map<?, ?> gsonObject = new HashMap<String, Object>(); - gsonObject = (Map<?, ?>) gson.fromJson(page, gsonObject.getClass()); - Object uris = gsonObject.get("uri"); - Map<?, ?> entry = (Map<?, ?>) ((List<?>) uris).get(0); - result = (String) entry.get("$"); + Document document = getXmlDocumentFromString(page); + Node uri = getNode("uri", document.getChildNodes()); + return getNodeValue(uri); - return result; } catch (Exception e) { throw new AnnotationException("Problem with accessing miriam REST API", e); } -- GitLab