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);