From 1164662df35bda3b620c52c154aed00e2e0b69c8 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 31 May 2019 13:26:17 +0000 Subject: [PATCH] Fixed Get Algorithm Info git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-analysis/nlphub@179627 82a268e6-3cf1-43bd-a215-b396298e98cf --- .settings/org.eclipse.wst.common.component | 2 +- pom.xml | 2 +- .../gcube/data/analysis/nlphub/NLPHub.java | 110 ++++++------------ src/main/webapp/js/main.js | 3 +- 4 files changed, 37 insertions(+), 80 deletions(-) diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 28f0f16..2b69137 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -4,7 +4,7 @@ - + diff --git a/pom.xml b/pom.xml index 0a429a6..6cd5746 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ 4.0.0 org.gcube.data.analysis nlphub - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT war diff --git a/src/main/java/org/gcube/data/analysis/nlphub/NLPHub.java b/src/main/java/org/gcube/data/analysis/nlphub/NLPHub.java index 15d895f..9257901 100644 --- a/src/main/java/org/gcube/data/analysis/nlphub/NLPHub.java +++ b/src/main/java/org/gcube/data/analysis/nlphub/NLPHub.java @@ -1,11 +1,7 @@ package org.gcube.data.analysis.nlphub; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.io.PrintWriter; -import java.net.HttpURLConnection; -import java.net.URL; import java.util.Arrays; import javax.servlet.ServletException; @@ -13,18 +9,12 @@ import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.xml.parsers.DocumentBuilderFactory; import org.gcube.data.analysis.nlphub.legacy.JsonManager; -import org.gcube.data.analysis.nlphub.nlp.NlpAsyncNerRunner; import org.gcube.data.analysis.nlphub.nlp.RunnerCommander; import org.gcube.data.analysis.nlphub.session.SessionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; /** * Servlet implementation class NLPHub @@ -73,61 +63,29 @@ public class NLPHub extends HttpServlet { } private void getAlgorithmInfo(HttpServletRequest request, HttpServletResponse response, String token) - throws ServletException, IOException { + throws ServletException { + PrintWriter writer = null; try { + logger.info("GetAlgorithmInfo"); + String dataMiner = request.getParameter("dataminer"); - //dataMiner=java.net.URLDecoder.decode(dataMiner,"UTF-8"); - String algId = request.getParameter("algId"); - logger.debug("NLPHub getAlgorithmInfo: [DataMiner="+dataMiner+", algorithmID="+algId+"]"); - HttpURLConnection connection = null; - BufferedReader r = null; - String algAbsrtact = ""; - PrintWriter writer = response.getWriter(); + logger.debug("NLPHub getAlgorithmInfo: [DataMiner=" + dataMiner + ", algorithmID=" + algId + "]"); + + String algoLink = "https://services.d4science.org/group/rprototypinglab/data-miner?OperatorId="; + algoLink=algoLink+algId; + logger.debug("Algorithm link: "+algoLink); + writer = response.getWriter(); response.setContentType("application/json;charset=UTF-8"); - try { - String finalUrl = "https://" + dataMiner + NlpAsyncNerRunner.WPS_DESCRIBE_PROCESS_URL+"&lang=en-US&Identifier=" + algId; - logger.debug("Request url: "+finalUrl); - finalUrl+="&gcube-token=" - + token; - URL url = new URL(finalUrl); - connection = (HttpURLConnection) url.openConnection(); - connection.setDoInput(true); - connection.setDoOutput(true); - connection.setUseCaches(false); - connection.setRequestMethod("GET"); - r = new BufferedReader(new InputStreamReader(connection.getInputStream())); - Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(r)); - doc.getDocumentElement().normalize(); - - NodeList nListInput = doc.getElementsByTagName("ows:Abstract"); - if (nListInput.getLength() <= 0) { - algAbsrtact = "No description."; - writer.println(new JsonManager().getErrorJsonResponse(algAbsrtact)); - } else { - Node nodeAbstract = nListInput.item(0); - algAbsrtact = nodeAbstract.getTextContent(); - writer.println(new JsonManager().getSuccessJsonResponse("" + algAbsrtact)); - } - writer.close(); - - } catch (Exception e) { - logger.error("NLPHub error in GET algorithmInfo: "+e.getLocalizedMessage(),e); - writer.println(new JsonManager().getErrorJsonResponse("" + e.getLocalizedMessage())); - writer.close(); - } finally { - try { - if (r != null) - r.close(); - if (connection != null) - connection.disconnect(); - } catch (Exception e) { - logger.error("NLPHub error in GET algorithmInfo: "+e.getLocalizedMessage(),e); - } - } - + writer.println(new JsonManager().getSuccessJsonResponse(algoLink)); + } catch (Exception e) { - logger.error("NLPHub error in GET algorithmInfo: "+e.getLocalizedMessage(),e); + logger.error("NLPHub error in GET AlgorithmInfo: " + e.getLocalizedMessage(), e); + throw new ServletException("Error retrieving algorithm info!",e); + } finally{ + if(writer!=null){ + writer.close(); + } } } @@ -135,33 +93,31 @@ public class NLPHub extends HttpServlet { throws ServletException, IOException { try { String dataMiner = request.getParameter("dataminer"); - //dataMiner=java.net.URLDecoder.decode(dataMiner,"UTF-8"); - + // dataMiner=java.net.URLDecoder.decode(dataMiner,"UTF-8"); + String[] algs = request.getParameter("algs").split(","); - String plink=request.getParameter("plink"); - String annotations=request.getParameter("annotations"); - logger.debug("NLPHub getAlgorithmInfo: [DataMiner="+dataMiner+", plink="+plink+ - ", annotations="+annotations+", algorithms="+Arrays.toString(algs)+"]"); - - + String plink = request.getParameter("plink"); + String annotations = request.getParameter("annotations"); + logger.debug("NLPHub getAlgorithmInfo: [DataMiner=" + dataMiner + ", plink=" + plink + ", annotations=" + + annotations + ", algorithms=" + Arrays.toString(algs) + "]"); + for (int i = 0; i < algs.length; i++) { algs[i] = algs[i].trim(); } - String maxWaitingTime= getServletConfig().getInitParameter("MaxWaitingTime"); - String sleepTime= getServletConfig().getInitParameter("SleepTime"); - logger.debug("NLPHub: [maxWaitingTime="+maxWaitingTime+", sleepTime="+sleepTime+"]"); - - long maxWaitingTimeL=Long.parseLong(maxWaitingTime); - long sleepTimeL=Long.parseLong(sleepTime); - RunnerCommander commander = new RunnerCommander(dataMiner, algs,plink , - annotations, token, response); + String maxWaitingTime = getServletConfig().getInitParameter("MaxWaitingTime"); + String sleepTime = getServletConfig().getInitParameter("SleepTime"); + logger.debug("NLPHub: [maxWaitingTime=" + maxWaitingTime + ", sleepTime=" + sleepTime + "]"); + + long maxWaitingTimeL = Long.parseLong(maxWaitingTime); + long sleepTimeL = Long.parseLong(sleepTime); + RunnerCommander commander = new RunnerCommander(dataMiner, algs, plink, annotations, token, response); commander.setSleepTime(sleepTimeL); commander.setMaxWaitingTime(maxWaitingTimeL); commander.startProcess(); } catch (Exception e) { - logger.error("NLPHub runAlgorithms: "+e.getLocalizedMessage(), e); + logger.error("NLPHub runAlgorithms: " + e.getLocalizedMessage(), e); } } diff --git a/src/main/webapp/js/main.js b/src/main/webapp/js/main.js index 45b3420..048f4b4 100644 --- a/src/main/webapp/js/main.js +++ b/src/main/webapp/js/main.js @@ -890,7 +890,8 @@ getAlgInformation = function(alg) { async : true, success : function(data, stato) { // alert(data.message); - showPopupText(data.message); + let linkMessage=""+data.message+""; + showPopupText(linkMessage); }, error : function(richiesta, stato, errori) { alert("Unexpected Error. Status: " + richiesta.status);