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
master
Giancarlo Panichi 5 years ago
parent e9ffe7de57
commit 1164662df3

@ -4,7 +4,7 @@
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="context-root" value="nlphub"/>
<property name="java-output-path" value="/nlphub/target/classes"/>
<property name="context-root" value="nlphub"/>
</wb-module>
</project-modules>

@ -12,7 +12,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.gcube.data.analysis</groupId>
<artifactId>nlphub</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>

@ -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.println(new JsonManager().getSuccessJsonResponse(algoLink));
} catch (Exception 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();
} 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);
}
}
} catch (Exception e) {
logger.error("NLPHub error in GET algorithmInfo: "+e.getLocalizedMessage(),e);
}
}
@ -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);
}
}

@ -890,7 +890,8 @@ getAlgInformation = function(alg) {
async : true,
success : function(data, stato) {
// alert(data.message);
showPopupText(data.message);
let linkMessage="<a target='_blank' rel='noopener noreferrer' href='"+data.message+"'>"+data.message+"</a>";
showPopupText(linkMessage);
},
error : function(richiesta, stato, errori) {
alert("Unexpected Error. Status: " + richiesta.status);

Loading…
Cancel
Save