diff --git a/src/main/java/org/gcube/nlphub/legacy/DataminerClient.java b/src/main/java/org/gcube/nlphub/legacy/DataminerClient.java index f0d2b60..d9b6bdc 100644 --- a/src/main/java/org/gcube/nlphub/legacy/DataminerClient.java +++ b/src/main/java/org/gcube/nlphub/legacy/DataminerClient.java @@ -128,6 +128,7 @@ public class DataminerClient { @Override public void running(double percentage) { logger.debug("Operation Running: " + percentage); + //System.out.println("Operation Running: " + percentage); } @Override @@ -135,7 +136,7 @@ public class DataminerClient { logger.error("Operation Failed"); logger.error(message); logger.error(exception.getStackTrace().toString()); - System.out.println(exception.getLocalizedMessage()); + //System.out.println(exception.getLocalizedMessage()); } @Override @@ -154,11 +155,13 @@ public class DataminerClient { @Override public void accepted() { logger.debug("Operation Accepted"); - } }; DMMonitor dmMonitor = new DMMonitor(computationId, sClient); + dmMonitor.setDelay(1000); + dmMonitor.setSleep(1000); + dmMonitor.setPeriod(1000); dmMonitor.add(listener); dmMonitor.start(); } diff --git a/src/main/java/org/gcube/nlphub/nlp/NlpNerRunner.java b/src/main/java/org/gcube/nlphub/nlp/NlpNerRunner.java index c10c82d..36b5868 100644 --- a/src/main/java/org/gcube/nlphub/nlp/NlpNerRunner.java +++ b/src/main/java/org/gcube/nlphub/nlp/NlpNerRunner.java @@ -80,12 +80,16 @@ public class NlpNerRunner extends DataminerClient { for (String key : mapResource.getMap().keySet()) { Resource r = mapResource.getMap().get(key); if (r.isFile()) { + FileResource f = (FileResource) r; - String link = f.getUrl(); - System.out.println("url: " + link); - String op = computationId.getOperatorId(); - op = op.substring(op.lastIndexOf(".") + 1); - testEndOfProcess(op + ":::" + link); + String mimeType = f.getMimeType(); + if (mimeType.equalsIgnoreCase("application/d4science")) { + String link = f.getUrl(); + System.out.println("url: " + link); + String op = computationId.getOperatorId(); + op = op.substring(op.lastIndexOf(".") + 1); + testEndOfProcess(op + ":::" + link); + } } } } @@ -118,6 +122,7 @@ public class NlpNerRunner extends DataminerClient { if (outputLinks.size() == identifiers.length) { String[] links = new String[outputLinks.size()]; links = outputLinks.toArray(links); + System.out.println("testEndOfProcess"); writeResponse(links); } } @@ -125,11 +130,23 @@ public class NlpNerRunner extends DataminerClient { private void writeResponse(String[] content) { if (response != null) { response.setContentType("application/json;charset=UTF-8"); + PrintWriter writer = null; try { - PrintWriter writer = response.getWriter(); - writer.println(new JsonManager().getSuccessJsonResponse(content)); + writer = response.getWriter(); + String msg = new JsonManager().getSuccessJsonResponse(content); + System.out.println("msg: " + msg); + writer.println(msg); + if(writer.checkError()) { + logger.error("writeResponse method has some problem in writing result."); + System.out.println("writeResponse method has some problem in writing result."); + } + } catch (Exception ex) { logger.error(ex.getLocalizedMessage()); + ex.printStackTrace(); + } finally { + if(writer != null) + writer.close(); } } @@ -138,15 +155,20 @@ public class NlpNerRunner extends DataminerClient { private void writeResponse(String content, boolean isOk) { if (response != null) { response.setContentType("application/json;charset=UTF-8"); + PrintWriter writer = null; try { - PrintWriter writer = response.getWriter(); + writer = response.getWriter(); if (isOk) { writer.println(new JsonManager().getSuccessJsonResponse("" + content)); } else { writer.println(new JsonManager().getErrorJsonResponse("" + content)); } + writer.flush(); } catch (Exception ex) { logger.error(ex.getLocalizedMessage()); + } finally { + if(writer != null) + writer.close(); } } } @@ -189,9 +211,9 @@ public class NlpNerRunner extends DataminerClient { * "http://dataminer-prototypes.d4science.org/wps/"; String identifier = ""; * identifier = * "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ENGLISH_NAMED_ENTITY_RECOGNIZER"; - * // identifier = // + * // identifier = // // * "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.NEWSTANBOLWRAPPER"; - * // identifier = // + * // identifier = // // * "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GENERIC_OPINION_MINING_ENGLISH"; * String token = "df2cc5f5-63ee-48c1-b2a6-1210030c57b8-843339462"; String * pLink = @@ -202,8 +224,8 @@ public class NlpNerRunner extends DataminerClient { * params.add(p); * * NlpNerRunner runner = new NlpNerRunner(service, identifier, token); // - * try { // runner.run(pLink, service, identifier, params); // } catch - * (NlpHubException e) { // e.printStackTrace(); // } } + * try { runner.run(pLink, service, identifier, params); } catch + * (NlpHubException e) { e.printStackTrace(); } } */ } diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index bf5d09a..0ef264d 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -59,24 +59,6 @@ jsonContent = null; }); - // the following line is only for develop - /* - var devData = "{\"link\":\"http://data.d4science.org/Wm5XY1p0TlFIM3NXZnZ1SkhLRlRMK3l6N05jVFhiSXFHbWJQNStIS0N6Yz0\",\"output\":" - + "{\"text\":\"yes, we can do it tomorrow in the evening.\",\"annotations\":\"Date,Sentence\",\"language\":\"English\",\"result\":" - + "[{\"algorithm\":\"ENGLISH_NAMED_ENTITY_RECOGNIZER\",\"entities\":[{\"Date\":[{\"indices\":[18,26],\"ruleFinal\":\"DateOnlyFinal\",\"kind\":\"date\",\"rule\":\"GazDateWords\"}]},{\"Sentence\":[{\"indices\":[0,42]}]}]}]}}"; - - devData = "{\"link\":\"http://data.d4science.org/dXZ5L3RrRjYyTWNXZnZ1SkhLRlRMeXZzd1prOVFqWDFHbWJQNStIS0N6Yz0\",\"output\":" - + "{\"text\":\"In the 1970s, Iraq under Baath Party dictator Brigadier General Ahmad Hassan al-Bakr had grown close to the Soviet Union, " - + "with which it signed a treaty of friendship in 1972 and from which it began importing arms. In 1973, al-Bakr supported the Syrians in their war with Israel.\"," - + "\"annotations\":\"Date,Person\",\"language\":\"English\",\"result\": [{\"algorithm\":\"ENGLISH_NAMED_ENTITY_RECOGNIZER\",\"entities\":[{\"Date\":[{\"indices\":[3,12]," - + "\"ruleFinal\":\"DateOnlyFinal\",\"kind\":\"date\",\"rule\":\"YearSpan1\"},{\"indices\":[169,173],\"ruleFinal\":\"DateOnlyFinal\",\"kind\":\"date\",\"rule\":\"YearContext1\"}," - + "{\"indices\":[217,221],\"ruleFinal\":\"YearOnlyFinal\",\"kind\":\"date\",\"rule\":\"TempYear2\"}]},{\"Person\":[{\"indices\":[46,76],\"firstName\":\"Ahmad\",\"ruleFinal\":\"" - + "PersonFinal\",\"gender\":\"unknown\",\"surname\":\"Hassan\",\"kind\":\"personName\",\"rule\":\"PersonTitleGenderUnknown\",\"title\":\"Brigadier\"},{\"indices\":[77,84],\"firstName\":" - + "\"al\",\"ruleFinal\":\"PersonFinal\",\"gender\":\"male\",\"surname\":\"Bakr\",\"kind\":\"fullName\",\"rule\":\"PersonFull\"},{\"indices\":[223,230],\"firstName\":\"al\",\"ruleFinal\":\"PersonFinal\",\"gender\":\"male\",\"surname\":\"Bakr\",\"kind\":\"fullName\",\"rule\":\"PersonFull\"}]}]}]}}"; - - showResult(devData); - */ - // -------------------------------------- $("#execute-button").css("background-color", pageGray); $("#upload-button") @@ -355,7 +337,7 @@ type : "POST", async : true, success : function(data, stato) { - hideProgress(); + //hideProgress(); textAreaEnable(true); $("#file-info").empty(); if (typeof (data.response) != 'undefined') { @@ -395,6 +377,7 @@ type : "POST", async : true, success : function(data, stato) { + hideProgress(); console.log(data); if((typeof (data.response) != "undefined") && (data.response.trim().toUpperCase() == "ERROR")) { alert ("ERROR\n" + data.message); @@ -407,6 +390,7 @@ } }, error : function(richiesta, stato, errori) { + hideProgress(); $("#reset-upload").hide(); savedAnnotations = ""; publicLink = null; @@ -431,7 +415,7 @@ $("#result-header") .append( - "

You can download the result file from here

"); + "

You can download the overall result as a JSON file here

"); var localText = resultText; localText = resultText.replace(/\n/g, "
"); $("#result-text-div").empty(); @@ -450,7 +434,11 @@ $("#result-params-div") .append("
"); for (var i = 0; i < annotations.length; i++) { - var cb = ""; + var cb = ""; cb += "
"; $("#colored-annotations").append(cb); @@ -516,6 +504,19 @@ $("#result-text-div").append("

" + indexedText + "

"); } + checkAnnotation = function(annotation) { + for (var i = 0; i < jsonContent.output.result.length; i++) { + var entities = jsonContent.output.result[i].entities; + for (var j = 0; j < entities.length; j++) { + a = entities[j][annotation]; + if (typeof a != 'undefined') { + return true; + } + } + } + return false; + } + getIndices = function(annotation) { var indices = []; // get indices @@ -692,8 +693,7 @@
-

Select the desired - language:

+