diff --git a/pom.xml b/pom.xml
index fca8c73..b5b40a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -105,20 +105,13 @@
org.slf4j
slf4j-api
- 1.6.4
- compile
+ 1.7.5
+ provided
org.slf4j
slf4j-log4j12
- 1.6.4
- compile
-
-
- log4j
- log4j
- 1.2.16
- compile
+ test
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 38e0bcb..5f96f2a 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/NLPHub.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/NLPHub.java
@@ -14,12 +14,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilderFactory;
-import org.apache.log4j.Logger;
-import org.gcube.data.analysis.nlphub.legacy.Constants;
import org.gcube.data.analysis.nlphub.legacy.JsonManager;
import org.gcube.data.analysis.nlphub.nlp.NlpAsyncNerRunner;
-import org.gcube.data.analysis.nlphub.nlp.NlpParameter;
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;
@@ -30,12 +30,9 @@ import org.xml.sax.InputSource;
*/
@WebServlet(asyncSupported = true, name = "NLPServlet", urlPatterns = { "/nlphub-servlet" })
public class NLPHub extends HttpServlet {
- private Logger logger = Logger.getLogger(NLPHub.class.getSimpleName());
private static final long serialVersionUID = 1L;
- public static final String service = "http://dataminer-prototypes.d4science.org/wps/";
- private String token; //= "df2cc5f5-63ee-48c1-b2a6-1210030c57b8-843339462";
- private boolean devMode = true;
-
+ private static final Logger logger = LoggerFactory.getLogger(NLPHub.class);
+
/**
* @see HttpServlet#HttpServlet()
*/
@@ -63,16 +60,18 @@ public class NLPHub extends HttpServlet {
}
private void doWork(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- if(request.getParameter("getInfo") != null) {
- getAlgorithmInfo(request, response);
- }
- else {
- runAlgorithms(request, response);
+ logger.debug("NLPHub");
+ String token = SessionUtils.getToken(request);
+
+ if (request.getParameter("getInfo") != null) {
+ getAlgorithmInfo(request, response, token);
+ } else {
+ runAlgorithms(request, response, token);
}
}
-
- private void getAlgorithmInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- token = Constants.getToken(request, devMode);
+
+ private void getAlgorithmInfo(HttpServletRequest request, HttpServletResponse response, String token)
+ throws ServletException, IOException {
try {
String dataMiner = request.getParameter("dataminer");
String algId = request.getParameter("algId");
@@ -82,7 +81,8 @@ public class NLPHub extends HttpServlet {
PrintWriter writer = response.getWriter();
response.setContentType("application/json;charset=UTF-8");
try {
- String finalUrl = "https://" + dataMiner + NlpAsyncNerRunner.WPS_DESCRIBE_PROCESS_URL + "&gcube-token=" + token;
+ String finalUrl = "https://" + dataMiner + NlpAsyncNerRunner.WPS_DESCRIBE_PROCESS_URL + "&gcube-token="
+ + token;
finalUrl += "&lang=en-US&Identifier=" + algId;
URL url = new URL(finalUrl);
connection = (HttpURLConnection) url.openConnection();
@@ -93,22 +93,21 @@ public class NLPHub extends HttpServlet {
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) {
+ if (nListInput.getLength() <= 0) {
algAbsrtact = "No description.";
writer.println(new JsonManager().getErrorJsonResponse(algAbsrtact));
- }
- else {
+ } else {
Node nodeAbstract = nListInput.item(0);
algAbsrtact = nodeAbstract.getTextContent();
writer.println(new JsonManager().getSuccessJsonResponse("" + algAbsrtact));
}
writer.close();
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
- writer.println(new JsonManager().getErrorJsonResponse("" + x.getLocalizedMessage()));
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
+ writer.println(new JsonManager().getErrorJsonResponse("" + e.getLocalizedMessage()));
writer.close();
} finally {
try {
@@ -120,31 +119,30 @@ public class NLPHub extends HttpServlet {
logger.error(e.getLocalizedMessage());
}
}
-
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
- }
+
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
+ }
}
-
- private void runAlgorithms(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- token = Constants.getToken(request, devMode);
+
+ private void runAlgorithms(HttpServletRequest request, HttpServletResponse response, String token)
+ throws ServletException, IOException {
try {
String dataMiner = request.getParameter("dataminer");
String[] algs = request.getParameter("algs").split(",");
- for(int i=0; i 0)
+ String[] tokens;
+ if (toBeMap.indexOf("|") > 0)
tokens = toBeMap.split("\\|");
else {
tokens = new String[1];
tokens[0] = toBeMap;
}
-
+
String annotations = request.getParameter("annotations");
String language = request.getParameter("lang");
PrintWriter writer = response.getWriter();
try {
String text = getDocument(documentLink);
- text = text.replaceAll("\n", "\\\\n");;
+ text = text.replaceAll("\n", "\\\\n");
+
text = text.replaceAll("\r", "\\\\r");
text = text.replaceAll("\t", "\\\\t");
text = text.replaceAll("\"", "\\\\\"");
-
+
String out = "{";
out += "\"text\":\"" + text + "\",";
out += "\"annotations\":\"" + annotations + "\",";
@@ -90,9 +96,9 @@ public class NLPMapper extends HttpServlet {
out += "\"result\": [";
for (int i = 0; i < tokens.length; i++) {
- String token = tokens[i];
- String[] t = token.split(":::");
- if(t[1].equals(Constants.ERROR_ID)) {
+ String tk = tokens[i];
+ String[] t = tk.split(":::");
+ if (t[1].equals(Constants.ERROR_ID)) {
logger.error("Algorithm " + t[0] + " in error. Bypass...");
continue;
}
@@ -106,24 +112,26 @@ public class NLPMapper extends HttpServlet {
}
}
out += "]}";
-
- String resultLink = saveResult(out);
+
+ String resultLink = saveResult(out, token, ws);
String outResult = "{";
outResult += "\"link\":\"" + resultLink + "\",";
outResult += "\"output\":" + out;
outResult += "}";
writer.append(outResult);
-
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
- writer.println(new JsonManager().getErrorJsonResponse(x.getLocalizedMessage()));
+
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
+ writer.println(new JsonManager().getErrorJsonResponse(e.getLocalizedMessage()));
}
// response.getWriter().write(json);
}
- private Class getMapper(String algId) throws Exception {
- return Class.forName("org.gcube.nlphub.mapper.DefaultMapper");
+ private Class getMapper(String algId) throws Exception {
+ return DefaultMapper.class;
+ // return
+ // Class.forName("org.gcube.data.analynlphub.mapper.DefaultMapper");
}
private String getDocument(String plink) throws Exception {
@@ -142,20 +150,19 @@ public class NLPMapper extends HttpServlet {
}
return content;
}
-
- private String saveResult(String jsonResult) throws NlpHubException {
- WorkspaceManager ws = new WorkspaceManager();
+
+ private String saveResult(String jsonResult, String token, WorkspaceManager ws) throws NlpHubException {
long now = System.currentTimeMillis();
String fileName = "result-nlp-" + now + ".json";
ws.deleteFile(fileName, token);
-
+
byte[] byteContent = jsonResult.getBytes(StandardCharsets.UTF_8);
if (!ws.uploadFile(byteContent, fileName, Constants.DEFAULT_DESCRIPTION, token)) {
- throw new NlpHubException("Error writing file: " + fileName + " on workspace (token: " + token + ")", null);
+ throw new NlpHubException("Error writing file: " + fileName + " on workspace (token: " + token + ")", null);
}
String link = ws.getPublicLink(fileName, token);
-
+
logger.info("Output json [" + fileName + "] created in " + (System.currentTimeMillis() - now) + " millisec.");
return link;
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java b/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java
index d04c124..5bdce2f 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java
@@ -14,13 +14,15 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
-import org.apache.log4j.Logger;
import org.gcube.data.analysis.nlphub.legacy.Constants;
import org.gcube.data.analysis.nlphub.legacy.JsonManager;
import org.gcube.data.analysis.nlphub.legacy.NlpHubException;
import org.gcube.data.analysis.nlphub.nlp.NLpLanguageRecognizer;
import org.gcube.data.analysis.nlphub.nlp.NlpUtils;
+import org.gcube.data.analysis.nlphub.session.SessionUtils;
import org.gcube.data.analysis.nlphub.workspace.WorkspaceManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Servlet implementation class NLPUploader
@@ -30,10 +32,7 @@ import org.gcube.data.analysis.nlphub.workspace.WorkspaceManager;
@MultipartConfig
public class NLPUploader extends HttpServlet {
private static final long serialVersionUID = 1L;
- private Logger logger = Logger.getLogger(NLPUploader.class.getSimpleName());
- private boolean devMode = true;
- private String token; // = "df2cc5f5-63ee-48c1-b2a6-1210030c57b8-843339462";
- private WorkspaceManager ws;
+ private static final Logger logger = LoggerFactory.getLogger(NLPUploader.class);
/**
* @see HttpServlet#HttpServlet()
@@ -58,21 +57,22 @@ public class NLPUploader extends HttpServlet {
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
- token = Constants.getToken(request, devMode);
doWork(request, response);
}
private void doWork(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- ws = new WorkspaceManager();
+ logger.debug("NLPUploader");
+ String token = SessionUtils.getToken(request);
+ WorkspaceManager ws = new WorkspaceManager();
response.setContentType("application/json;charset=UTF-8");
if (request.getParameter("freetext") == null)
- handleFileUpload(request, response);
+ handleFileUpload(request, response, token, ws);
else
- handleFreeText(request, response);
+ handleFreeText(request, response, token, ws);
}
- private void handleFreeText(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
+ private void handleFreeText(HttpServletRequest request, HttpServletResponse response, String token,
+ WorkspaceManager ws) throws ServletException, IOException {
String freeText = request.getParameter("freetext");
freeText = NlpUtils.replaceDirtyCharacters(freeText);
@@ -86,25 +86,24 @@ public class NLPUploader extends HttpServlet {
return;
}
String link = ws.getPublicLink(fileName, token);
- if(request.getParameter("getlang") != null) {
+ if (request.getParameter("getlang") != null) {
String sentence = NlpUtils.getLanguageRecognizerDigest(new String(content));
logger.info(sentence);
try {
NLpLanguageRecognizer.run(request.getParameter("dataminer"), sentence, token, link, response);
} catch (NlpHubException ex) {
writer.println(new JsonManager().getSuccessJsonResponse(Constants.UNAVAILABLE, link));
- }
- }
- else writer.println(new JsonManager().getSuccessJsonResponse("" + link));
- } catch (Exception x) {
- x.printStackTrace();
- logger.error(x.getClass().getName() + ": " + x.getLocalizedMessage());
- writer.println(new JsonManager().getErrorJsonResponse(x.getLocalizedMessage()));
+ }
+ } else
+ writer.println(new JsonManager().getSuccessJsonResponse("" + link));
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
+ writer.println(new JsonManager().getErrorJsonResponse(e.getLocalizedMessage()));
}
}
- private void handleFileUpload(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
+ private void handleFileUpload(HttpServletRequest request, HttpServletResponse response, String token,
+ WorkspaceManager ws) throws ServletException, IOException {
int contentLength = request.getContentLength();
Part filePart = request.getPart("mytxtfile");
@@ -154,10 +153,9 @@ public class NLPUploader extends HttpServlet {
}
// writer.println(new JsonManager().getSuccessJsonResponse("" +
// link));
- } catch (Exception x) {
- x.printStackTrace();
- logger.error(x.getClass().getName() + ": " + x.getLocalizedMessage());
- writer.println(new JsonManager().getErrorJsonResponse(x.getLocalizedMessage()));
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
+ writer.println(new JsonManager().getErrorJsonResponse(e.getLocalizedMessage()));
}
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/AsyncHttpRequest.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/AsyncHttpRequest.java
index 02a9f8a..39f2536 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/AsyncHttpRequest.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/AsyncHttpRequest.java
@@ -6,13 +6,17 @@ import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
-import org.apache.log4j.Logger;
+
+
import org.gcube.data.analysis.nlphub.nlp.NlpParameter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class AsyncHttpRequest extends Thread {
private String baseUrl, finalUrl, result, method;
private ArrayList parameters;
- private Logger logger = Logger.getLogger(AsyncHttpRequest.class.getSimpleName());
+ private static final Logger logger = LoggerFactory.getLogger(AsyncHttpRequest.class);
+
protected long elapsedTime;
public AsyncHttpRequest() {
@@ -20,13 +24,13 @@ public class AsyncHttpRequest extends Thread {
this.parameters = null;
this.method = "GET";
finalUrl = null;
- elapsedTime = 0;
+ elapsedTime = 0;
}
-
+
public AsyncHttpRequest(String baseUrl, String method, ArrayList parameters) {
this.baseUrl = baseUrl;
this.parameters = parameters;
- if(method == null)
+ if (method == null)
this.method = "GET";
else
this.method = (method.equalsIgnoreCase("GET") || method.equalsIgnoreCase("POST")) ? method : "GET";
@@ -36,7 +40,7 @@ public class AsyncHttpRequest extends Thread {
public void run() {
elapsedTime = System.currentTimeMillis();
- if(finalUrl == null)
+ if (finalUrl == null)
finalUrl = baseUrl;
HttpURLConnection connection = null;
BufferedReader r = null;
@@ -56,11 +60,11 @@ public class AsyncHttpRequest extends Thread {
if (line != null)
result += line.trim();
}
-
+
asyncHttpRequestCallback();
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
asyncHttpRequestCallback();
} finally {
try {
@@ -69,19 +73,19 @@ public class AsyncHttpRequest extends Thread {
if (connection != null)
connection.disconnect();
} catch (Exception e) {
- logger.error(e.getLocalizedMessage());
+ logger.error(e.getLocalizedMessage(),e);
}
}
}
-
+
public String getResult() {
return result;
}
-
+
public void asyncHttpRequestCallback() {
elapsedTime = System.currentTimeMillis() - elapsedTime;
}
-
+
public void setBaseUrl(String baseUrl) {
this.baseUrl = baseUrl;
}
@@ -103,8 +107,8 @@ public class AsyncHttpRequest extends Thread {
try {
finalUrl += p.getName() + "=" + URLEncoder.encode((String) p.getValue(), "UTF-8");
finalUrl += "&";
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
}
}
finalUrl = finalUrl.substring(0, finalUrl.length() - 1);
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/Constants.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/Constants.java
index 8483bc5..1baddda 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/Constants.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/Constants.java
@@ -1,29 +1,29 @@
package org.gcube.data.analysis.nlphub.legacy;
-import javax.servlet.http.HttpServletRequest;
public class Constants {
- //public static String DATAMINER_URL = "http://dataminer0-proto.d4science.org";
- //public static String DATAMINER_URL = "http://dataminer2-proto.d4science.org";
- public static String DATAMINER_URL = "http://dataminer-prototypes.d4science.org";
- public static String DEFAULT_DESCRIPTION = "NlpHub upload";
- public static String TOKEN_PARAMETER = "gcube-token";
- public static String TEST_TOKEN = "df2cc5f5-63ee-48c1-b2a6-1210030c57b8-843339462";
- public static String PUBLIC_TOKEN = "f57441ac-b361-4c2d-992a-40db034f1b8c-843339462";
- public static String MIME_TEXT = "text/plain";
- public static String CONTENT_TYPE = "Content-Type";
- public static String UNAVAILABLE = "unavailable";
- public static String ERROR_ID = "ERROR";
- public static String INPUT_FILE_PARAMETER = "input";
+ public static final boolean DEBUG = false;
+ public static final boolean TEST_ENABLE = false;
- public static String getToken(HttpServletRequest request, boolean devMode) {
- String token = request.getParameter(TOKEN_PARAMETER);
- if(devMode) {
- if(token == null) token = TEST_TOKEN;
- }
- return token;
- }
+ public static final String DEFAULT_USER = "giancarlo.panichi";
+ public static final String DEFAULT_SCOPE = "/gcube/devNext/NextNext";
+ public static final String DEFAULT_TOKEN = "df2cc5f5-63ee-48c1-b2a6-1210030c57b8-843339462";
- public static String hexDump(byte[] bytes) {
+ public static final String DEFAULT_DATAMINER_URL = "http://dataminer-prototypes.d4science.org";
+
+ public static final String TOKEN_PARAMETER = "gcube-token";
+
+ public static final String DEFAULT_DESCRIPTION = "NlpHub upload";
+
+ //public static String PUBLIC_TOKEN = "f57441ac-b361-4c2d-992a-40db034f1b8c-843339462";
+ public static final String MIME_TEXT = "text/plain";
+ public static final String CONTENT_TYPE = "Content-Type";
+ public static final String UNAVAILABLE = "unavailable";
+ public static final String ERROR_ID = "ERROR";
+ public static final String INPUT_FILE_PARAMETER = "input";
+
+
+
+ /*public static String hexDump(byte[] bytes) {
char[] hexArray = "0123456789ABCDEF".toCharArray();
char[] hexChars = new char[bytes.length * 3];
for (int j = 0; j < bytes.length; j++) {
@@ -32,5 +32,5 @@ public class Constants {
hexChars[3*j+2] = ' ';
}
return new String(hexChars);
- }
+ }*/
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/DataminerException.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/DataminerException.java
index 513c0ae..0f38871 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/DataminerException.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/DataminerException.java
@@ -1,6 +1,10 @@
package org.gcube.data.analysis.nlphub.legacy;
+
class DataminerClientException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
public DataminerClientException(String message, Throwable throwable) {
super(message, throwable);
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/JsonManager.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/JsonManager.java
index 8f7b530..5169266 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/JsonManager.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/JsonManager.java
@@ -2,14 +2,18 @@ package org.gcube.data.analysis.nlphub.legacy;
import java.io.Reader;
-import java.util.ArrayList;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class JsonManager {
+ private static final Logger logger = LoggerFactory.getLogger(JsonManager.class);
+
+
public static String TEXT = "text";
public static String ANNOTATIONS = "annotations";
public static String LANGUAGE = "language";
@@ -23,9 +27,10 @@ public class JsonManager {
public static String MESSAGE = "message";
private JsonObject jsonObjectRoot = null;
- private JsonParser jsonParser = null;
+ //private JsonParser jsonParser = null;
public JsonManager() {
+ logger.debug("JsonManager");
jsonObjectRoot = new JsonObject();
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAlgorithm.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAlgorithm.java
index cd1e036..14c6642 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAlgorithm.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAlgorithm.java
@@ -1,14 +1,22 @@
package org.gcube.data.analysis.nlphub.legacy;
import java.util.ArrayList;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class NerAlgorithm {
+ private static final Logger logger = LoggerFactory.getLogger(NerAlgorithm.class);
+
private String name;
private ArrayList annotationsData;
public NerAlgorithm(String name) {
+ logger.debug("NerAlgorithm: "+name);
+
this.name = name;
annotationsData = new ArrayList<>();
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAnnotationData.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAnnotationData.java
index 55d295d..9ce5b14 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAnnotationData.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerAnnotationData.java
@@ -1,10 +1,16 @@
package org.gcube.data.analysis.nlphub.legacy;
import java.util.ArrayList;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class NerAnnotationData {
+ private static final Logger logger = LoggerFactory.getLogger(NerAnnotationData.class);
+
private String name;
private ArrayList nerEntities;
@@ -13,6 +19,7 @@ public class NerAnnotationData {
* @param name
*/
public NerAnnotationData(String name) {
+ logger.debug("NerAnnotationData: "+name);
this.name = name;
nerEntities = new ArrayList<>();
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerEntity.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerEntity.java
index a2d4bd7..a25c5c3 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerEntity.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerEntity.java
@@ -2,11 +2,17 @@ package org.gcube.data.analysis.nlphub.legacy;
import java.util.HashMap;
import java.util.Set;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class NerEntity {
+ private static final Logger logger = LoggerFactory.getLogger(NerEntity.class);
+
private int startIndex, endIndex;
private HashMap properties = null;
@@ -16,6 +22,7 @@ public class NerEntity {
* @param endIndex the end index of the matching annotation
*/
public NerEntity(int startIndex, int endIndex) {
+ logger.debug("NerEntity: [startIndex="+startIndex+", endIndex="+endIndex+"]");
this.startIndex = startIndex;
this.endIndex = endIndex;
properties = new HashMap<>();
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerOutput.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerOutput.java
index bdba0ac..ec12bf4 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerOutput.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NerOutput.java
@@ -1,14 +1,21 @@
package org.gcube.data.analysis.nlphub.legacy;
import java.util.ArrayList;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class NerOutput {
+ private static final Logger logger = LoggerFactory.getLogger(NerOutput.class);
+
private String text, annotations, language;
private ArrayList result;
public NerOutput(String text, String annotations, String language) {
+ logger.debug("NerOutput: [text="+text+", annotations="+annotations+", language="+language+"]");
this.text = text;
this.annotations = annotations;
this.language = language;
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NlpHubException.java b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NlpHubException.java
index 2254307..8c4acfc 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/legacy/NlpHubException.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/legacy/NlpHubException.java
@@ -1,6 +1,9 @@
package org.gcube.data.analysis.nlphub.legacy;
public class NlpHubException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
public NlpHubException(String message, Throwable throwable) {
super(message, throwable);
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/mapper/DefaultMapper.java b/src/main/java/org/gcube/data/analysis/nlphub/mapper/DefaultMapper.java
index d454eae..fd580f1 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/mapper/DefaultMapper.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/mapper/DefaultMapper.java
@@ -10,13 +10,15 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
-import org.apache.log4j.Logger;
+
import org.gcube.data.analysis.nlphub.legacy.NerAlgorithm;
import org.gcube.data.analysis.nlphub.legacy.NerAnnotationData;
import org.gcube.data.analysis.nlphub.legacy.NerEntity;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class DefaultMapper implements JsonMapper {
- private Logger logger = Logger.getLogger(DefaultMapper.class.getSimpleName());
+ private static final Logger logger = LoggerFactory.getLogger(DefaultMapper.class);
public String getJson(String alg, String link) {
NerAlgorithm algInfo = new NerAlgorithm(alg);
@@ -59,33 +61,10 @@ public class DefaultMapper implements JsonMapper {
}
}
return algInfo.toJson().toString();
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
return null;
}
}
- /*
- public static void main(String[] args) {
- String remoteJson = "http://data.d4science.org/a2JtV0lOUUxsenZCM2RmcFRqVGtWWm42NU9LQnFGTk9HbWJQNStIS0N6Yz0-VLT";
- String alg = "ENGLISH_NAMED_ENTITY_RECOGNIZER";
- //remoteJson = "http://data.d4science.org/T21IcHlMSzFJRCttZ1lHVzMxd2dyWjVOUEpyY2dwUVNHbWJQNStIS0N6Yz0-VLT";
- //remoteJson = "http://data.d4science.org/bDZLVkdlaVBjZCtLSWsrWUNQdHk3MUs4cEtDUGF5NktHbWJQNStIS0N6Yz0";
- DefaultMapper dm = new DefaultMapper();
- try {
- String s = dm.getJson(alg, remoteJson);
- System.out.println("" + s);
- String file = "/home/erico/debug.json";
- java.io.File f = new java.io.File(file);
- f.createNewFile();
- java.io.FileWriter w = new java.io.FileWriter(f);
- w.write(s);
- w.flush();
- w.close();
- } catch (Exception x) {
- System.out.println(x.getLocalizedMessage());
- x.printStackTrace();
- }
-
- }*/
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/nlp/NLpLanguageRecognizer.java b/src/main/java/org/gcube/data/analysis/nlphub/nlp/NLpLanguageRecognizer.java
index 33c3bd6..2d79c28 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/nlp/NLpLanguageRecognizer.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/nlp/NLpLanguageRecognizer.java
@@ -5,45 +5,50 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilderFactory;
-import org.apache.log4j.Logger;
import org.gcube.data.analysis.nlphub.legacy.Constants;
import org.gcube.data.analysis.nlphub.legacy.JsonManager;
import org.gcube.data.analysis.nlphub.legacy.NlpHubException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
public class NLpLanguageRecognizer {
- private HttpServletResponse response;
- private Logger logger = Logger.getLogger(NLpLanguageRecognizer.class.getSimpleName());
- private String sentence, publicLink;
+ private static final Logger logger = LoggerFactory.getLogger(NLpLanguageRecognizer.class);
+
+ // private HttpServletResponse response;
+ // private String sentence, publicLink;
public final static String RECOGNIZER_ID = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LANGUAGE_RECOGNIZER";
- private String dataMiner = null;
+ // private String dataMiner = null;
public NLpLanguageRecognizer(String service, String token, String sentence) {
- this.sentence = sentence;
- response = null;
+ logger.debug(
+ "NLpLanguageRecognizer: [service=" + service + ", token=" + token + ", sentence=" + sentence + "]");
+ // this.sentence = sentence;
+ // response = null;
}
public NLpLanguageRecognizer(String dataMiner, String service, String token, String sentence, String publicLink,
HttpServletResponse response) {
- this.sentence = sentence;
- this.response = response;
- this.publicLink = publicLink;
- this.dataMiner = dataMiner;
+ logger.debug("NLpLanguageRecognizer: [dataMiner=" + dataMiner + ",service=" + service + ", token=" + token
+ + ", sentence=" + sentence + ",publicLink" + publicLink + "]");
+ // this.sentence = sentence;
+ // this.response = response;
+ // this.publicLink = publicLink;
+ // this.dataMiner = dataMiner;
}
- public static void run(String dataMiner, String sentence, String token, String publicLink, HttpServletResponse response) throws NlpHubException {
+ public static void run(String dataMiner, String sentence, String token, String publicLink,
+ HttpServletResponse response) throws NlpHubException {
try {
- if(dataMiner == null)
- dataMiner = Constants.DATAMINER_URL;
+ if (dataMiner == null)
+ dataMiner = Constants.DEFAULT_DATAMINER_URL;
else
dataMiner = "http://" + dataMiner;
String urlService = dataMiner + "/wps/WebProcessingService?request=Execute&service=WPS&Version=1.0.0";
@@ -53,7 +58,8 @@ public class NLpLanguageRecognizer {
urlService += "&DataInputs=sentence=" + URLEncoder.encode(sentence, "UTF-8");
URL url = new URL(urlService);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- //connection.setRequestProperty(Constants.TOKEN_PARAMETER, super.getToken());
+ // connection.setRequestProperty(Constants.TOKEN_PARAMETER,
+ // super.getToken());
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
@@ -64,33 +70,31 @@ public class NLpLanguageRecognizer {
doc.getDocumentElement().normalize();
NodeList nListData = doc.getElementsByTagName("d4science:Data");
NodeList nListDesc = doc.getElementsByTagName("d4science:Description");
-
+
int len = nListData.getLength();
- for(int i=0; i params = buildParameterString();
- String serviceUrl = this.dataMiner + WPS_EXECUTE_URL + "&gcube-token=" + token + "&lang=en-US&Identifier=" + identifier;
+ String serviceUrl = this.dataMiner + WPS_EXECUTE_URL + "&gcube-token=" + token + "&lang=en-US&Identifier="
+ + identifier;
serviceUrl += "&" + setUrl(params);
super.setBaseUrl(serviceUrl);
super.setMethod(httpMethod);
@@ -120,8 +124,8 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest {
parameters.add(nlpParam);
}
- } catch (Exception x) {
- logger.error(x.getLocalizedMessage());
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(), e);
} finally {
try {
if (r != null)
@@ -129,7 +133,7 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest {
if (connection != null)
connection.disconnect();
} catch (Exception e) {
- logger.error(e.getLocalizedMessage());
+ logger.error(e.getLocalizedMessage(), e);
}
}
return parameters;
@@ -138,7 +142,7 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest {
public long getElapsedTime() {
return elapsedTime;
}
-
+
@Override
public void asyncHttpRequestCallback() {
elapsedTime = System.currentTimeMillis() - elapsedTime;
@@ -147,35 +151,35 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest {
String theLink = "";
try {
BufferedReader r = new BufferedReader(
- new InputStreamReader(new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8))));
-
+ new InputStreamReader(new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8))));
+
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(r));
doc.getDocumentElement().normalize();
NodeList nListResult = doc.getElementsByTagName("ogr:Result");
-
- for (int i=0, found=0; (i 0) {
+ if (found > 0) {
theLink = res;
}
}
commander.updateResultList(identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + theLink);
- } catch (Exception x) {
- commander.updateResultList(identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + Constants.ERROR_ID);
- logger.error(x.getLocalizedMessage());
+ } catch (Exception e) {
+ commander.updateResultList(
+ identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + Constants.ERROR_ID);
+ logger.error(e.getLocalizedMessage(), e);
}
}
}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/nlp/NlpUtils.java b/src/main/java/org/gcube/data/analysis/nlphub/nlp/NlpUtils.java
index f0ef235..87eaa04 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/nlp/NlpUtils.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/nlp/NlpUtils.java
@@ -1,7 +1,5 @@
package org.gcube.data.analysis.nlphub.nlp;
-import java.util.ArrayList;
-
public class NlpUtils {
public static String getLanguageRecognizerDigest(String content) {
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/nlp/RunnerCommander.java b/src/main/java/org/gcube/data/analysis/nlphub/nlp/RunnerCommander.java
index 269a5df..38cdf85 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/nlp/RunnerCommander.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/nlp/RunnerCommander.java
@@ -5,11 +5,14 @@ import java.util.ArrayList;
import javax.servlet.http.HttpServletResponse;
-import org.apache.log4j.Logger;
import org.gcube.data.analysis.nlphub.legacy.Constants;
import org.gcube.data.analysis.nlphub.legacy.JsonManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class RunnerCommander extends Thread {
+ private static final Logger logger = LoggerFactory.getLogger(RunnerCommander.class);
+
private HttpServletResponse response = null;
private String annotationList = "";
private String[] identifiers = null;
@@ -19,7 +22,6 @@ public class RunnerCommander extends Thread {
private ArrayList outResultList = null;
private long sleepTime = 500l;
private long maxWaitingTime = 5l * 60l * 1000l;
- private Logger logger = Logger.getLogger(RunnerCommander.class.getSimpleName());
private boolean complete = false;
public RunnerCommander(String dataMiner, String[] identifiers, String link, String annotationList, String token) {
@@ -76,8 +78,8 @@ public class RunnerCommander extends Thread {
counter += sleepTime;
if(counter > 2*maxWaitingTime)
complete = true;
- } catch (InterruptedException x) {
- logger.info("Interrupted.");
+ } catch (InterruptedException e) {
+ logger.info("Interrupted. "+identifiers);
}
}
}
@@ -107,7 +109,7 @@ public class RunnerCommander extends Thread {
}
logger.error("Timeout error.");
timeoutHandler();
- } catch (InterruptedException x) {
+ } catch (InterruptedException e) {
logger.info("Elapsed time: " + counter + " msec.");
logger.info("Thread interrupted.");
timeoutHandler();
@@ -148,8 +150,7 @@ public class RunnerCommander extends Thread {
}
} catch (Exception ex) {
- logger.error(ex.getLocalizedMessage());
- ex.printStackTrace();
+ logger.error(ex.getLocalizedMessage(),ex);
} finally {
complete = true;
if (writer != null)
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/session/SessionUtils.java b/src/main/java/org/gcube/data/analysis/nlphub/session/SessionUtils.java
new file mode 100644
index 0000000..cbbcf53
--- /dev/null
+++ b/src/main/java/org/gcube/data/analysis/nlphub/session/SessionUtils.java
@@ -0,0 +1,22 @@
+package org.gcube.data.analysis.nlphub.session;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.gcube.data.analysis.nlphub.legacy.Constants;
+
+public class SessionUtils {
+
+ public static String getToken(HttpServletRequest request) {
+ String token = request.getParameter(Constants.TOKEN_PARAMETER);
+ if(token == null || token.isEmpty()){
+ if(Constants.DEBUG){
+ token = Constants.DEFAULT_TOKEN;
+ } else {
+
+ }
+ }
+ return token;
+ }
+
+
+}
diff --git a/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java b/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java
index 1b4b8c6..5ee5246 100644
--- a/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java
+++ b/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java
@@ -10,15 +10,13 @@ import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
-import javax.servlet.http.Part;
-
-import org.apache.log4j.Logger;
-import org.gcube.data.analysis.nlphub.NLPUploader;
import org.gcube.data.analysis.nlphub.legacy.Constants;
import org.gcube.data.analysis.nlphub.legacy.NlpHubException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class WorkspaceManager {
- private Logger logger = Logger.getLogger(WorkspaceManager.class.getSimpleName());
+ private static final Logger logger = LoggerFactory.getLogger(WorkspaceManager.class);
public String getPublicLink(String fileName, String token) throws NlpHubException {
try {
@@ -62,7 +60,7 @@ public class WorkspaceManager {
return link;
} catch (Exception e) {
- logger.error(e.getLocalizedMessage());
+ logger.error(e.getLocalizedMessage(), e);
throw new NlpHubException(e.getLocalizedMessage(), e);
}
}
@@ -93,8 +91,9 @@ public class WorkspaceManager {
}
String xmlOut = response.toString();
+ logger.debug("deleteFile: " + xmlOut);
} catch (Exception e) {
- logger.error(e.getLocalizedMessage());
+ logger.error(e.getLocalizedMessage(), e);
throw new NlpHubException(e.getLocalizedMessage(), e);
}
}
@@ -133,7 +132,7 @@ public class WorkspaceManager {
return true;
} catch (Exception e) {
- logger.error(e.getLocalizedMessage());
+ logger.error(e.getLocalizedMessage(), e);
throw new NlpHubException(e.getLocalizedMessage(), e);
} finally {
// output stream must be closed anyway...
@@ -141,7 +140,7 @@ public class WorkspaceManager {
try {
output.close();
} catch (IOException e) {
- logger.error(e.getLocalizedMessage());
+ logger.error(e.getLocalizedMessage(), e);
}
}
}
diff --git a/src/main/resources/clientlog4j.properties b/src/main/resources/clientlog4j.properties
deleted file mode 100644
index 4a2e1cd..0000000
--- a/src/main/resources/clientlog4j.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-log4j.rootLogger=DEBUG, A1
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-
-# Print the date in ISO 8601 format
-log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
-
-# Print only messages of level TRACE or above in the package org.gcube
-log4j.logger.org.gcube=TRACE
-log4j.logger.org.gcube.application.framework.core.session=INFO
-log4j.logger.org.gcube.common.scope.impl.DefaultScopeProvider=ERROR
-log4j.logger.com.netflix.astyanax.connectionpool.impl.CountingConnectionPoolMonitor=ERROR
\ No newline at end of file
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
deleted file mode 100644
index 0641702..0000000
--- a/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-log4j.rootLogger=INFO,stdout
-log4j.logger.com.endeca=INFO
-# Logger for crawl metrics
-log4j.logger.com.endeca.itl.web.metrics=INFO
-
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n
diff --git a/src/main/resources/logback-test.xml b/src/main/resources/logback-test.xml
deleted file mode 100644
index 93b1a59..0000000
--- a/src/main/resources/logback-test.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{0}: %msg%n
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/logback_xml_test b/src/main/resources/logback_xml_test
new file mode 100644
index 0000000..d3931ec
--- /dev/null
+++ b/src/main/resources/logback_xml_test
@@ -0,0 +1,83 @@
+
+
+ /home/gcube/tomcat/logs/ghn.log
+ true
+
+ %date [%thread] %-5level %logger{0}: %msg%n
+
+
+ /home/gcube/tomcat/logs/ghn.%d{yyyy-MM-dd}.%i.log
+ 30
+ 10MB
+ 2GB
+
+
+
+
+ /home/gcube/tomcat/logs/accounting.log
+ true
+
+ %date [%thread] %-5level %logger{0}: %msg%n
+
+
+ /home/gcube/tomcat/logs/accounting.%d{yyyy-MM-dd}.%i.log
+ 30
+ 10MB
+ 2GB
+
+
+
+
+ /home/gcube/tomcat/logs/access.log
+ true
+
+ %date [%thread] %-5level %logger{0}: %msg%n
+
+
+ /home/gcube/tomcat/logs/access.%d{yyyy-MM-dd}.%i.log
+ 30
+ 10MB
+ 2GB
+
+
+
+
+ /home/gcube/tomcat/logs/nlphub.log
+ true
+
+ %date [%thread] %-5level %logger{0}: %msg%n
+
+
+ /home/gcube/tomcat/logs/nlphub.%d{yyyy-MM-dd}.%i.log
+ 30
+ 10MB
+ 2GB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 7e834fb..2f65c37 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -11,7 +11,7 @@
NLPServlet
- org.gcube.nlphub.NLPHub
+ org.gcube.data.analysis.nlphub.NLPHub
NLPServlet
@@ -19,7 +19,7 @@
NLPUploader
- org.gcube.nlphub.NLPUploader
+ org.gcube.data.analysis.nlphub.NLPUploader
NLPUploader
@@ -27,7 +27,7 @@
NLPMapper
- org.gcube.nlphub.NLPMapper
+ org.gcube.data.analysis.nlphub.NLPMapper
NLPMapper
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
index 642b85b..2db6835 100644
--- a/src/main/webapp/index.jsp
+++ b/src/main/webapp/index.jsp
@@ -23,7 +23,15 @@