diff --git a/src/main/java/org/gcube/nlphub/legacy/AsyncHttpRequest.java b/src/main/java/org/gcube/nlphub/legacy/AsyncHttpRequest.java index 8524cab..2933953 100644 --- a/src/main/java/org/gcube/nlphub/legacy/AsyncHttpRequest.java +++ b/src/main/java/org/gcube/nlphub/legacy/AsyncHttpRequest.java @@ -61,6 +61,7 @@ public class AsyncHttpRequest extends Thread { } catch (Exception x) { logger.error(x.getLocalizedMessage()); + asyncHttpRequestCallback(); } finally { try { if (r != null) diff --git a/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java b/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java index 7ffaa86..364e4d7 100644 --- a/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java +++ b/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java @@ -24,8 +24,9 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { public final static String WPS_DESCRIBE_PROCESS_URL = Constants.DATAMINER_URL + "/wps/WebProcessingService?request=DescribeProcess&service=WPS&Version=1.0.0"; private String identifier, token, httpMethod, annotations, publicLink, language; private Logger logger = Logger.getLogger(NlpAsyncNerRunner.class.getSimpleName()); + private RunnerCommander commander; - public NlpAsyncNerRunner(String identifier, String token, String publicLink, String annotations, String language) { + public NlpAsyncNerRunner(String identifier, String token, String publicLink, String annotations, String language, RunnerCommander commander) { super(); this.identifier = identifier; this.token = token; @@ -33,6 +34,7 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { this.annotations = annotations; this.publicLink = publicLink; this.language = language; // not used for the moment... + this.commander = commander; ArrayList params = buildParameterString(); String serviceUrl = WPS_EXECUTE_URL + "&gcube-token=" + token + "&lang=en-US&Identifier=" + identifier; serviceUrl += "&" + setUrl(params); @@ -138,10 +140,10 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { logger.info("ID: " + identifier.substring(identifier.lastIndexOf(".") + 1) + " elapsed time: " + elapsedTime); String result = super.getResult(); String theLink = ""; - //System.out.println(result); - BufferedReader r = new BufferedReader( - new InputStreamReader(new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8)))); try { + BufferedReader r = new BufferedReader( + 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"); @@ -165,9 +167,9 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { theLink = res; } } - RunnerCommander.updateResultList(identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + theLink); + commander.updateResultList(identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + theLink); } catch (Exception x) { - RunnerCommander.updateResultList(identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + Constants.ERROR_ID); + commander.updateResultList(identifier.substring(identifier.lastIndexOf(".") + 1) + ":::" + Constants.ERROR_ID); logger.error(x.getLocalizedMessage()); } } diff --git a/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java b/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java index 5af2ae7..62a9571 100644 --- a/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java +++ b/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java @@ -15,7 +15,7 @@ public class RunnerCommander extends Thread { private String[] identifiers = null; private String link = ""; private String token = ""; - private static ArrayList outResultList = null; + private ArrayList outResultList = null; private long sleepTime = 500l; private long maxWaitingTime = 5l * 60l * 1000l; private Logger logger = Logger.getLogger(RunnerCommander.class.getSimpleName()); @@ -50,7 +50,7 @@ public class RunnerCommander extends Thread { this.sleepTime = sleepTime; } - public synchronized static void updateResultList(String res) { + public synchronized void updateResultList(String res) { outResultList.add(res); } @@ -75,7 +75,7 @@ public class RunnerCommander extends Thread { private void runAlgorithms() { for (String id : identifiers) { - NlpAsyncNerRunner n = new NlpAsyncNerRunner(id, token, link, annotationList, null); + NlpAsyncNerRunner n = new NlpAsyncNerRunner(id, token, link, annotationList, null, this); n.start(); } } diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index 77e8e9f..589ee3b 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -101,14 +101,15 @@
    -
  • -
    Annotations
    -
    -
  • Algorithms
  • + +
  • +
    Annotations
    +
    +
diff --git a/src/main/webapp/js/main.js b/src/main/webapp/js/main.js index 7557cf6..667b1f5 100644 --- a/src/main/webapp/js/main.js +++ b/src/main/webapp/js/main.js @@ -21,7 +21,18 @@ var checkedAlgs = []; $(document).ready(function() { disableExecuteButton(); - $('.collapsible').collapsible(); +// $('.collapsible').collapsible(); +// $('.collapsible').collapsible({ +// onOpen: function(el) { +// console.log(el); +// $('.collapsible').collapsible('close', el.prevObject.index()); +// }, +// onClose: function(el) { +// console.log(el); +// $('.collapsible').collapsible('open', el.prevObject.index()); +// } +// }); + $.ajax({ url : "https://data.d4science.org/bnp4UDNyb21lSURkQXdDUnlSS0JkVWgzWk1KMUxWVGZHbWJQNStIS0N6Yz0", type : "GET", @@ -37,6 +48,7 @@ $(document).ready(function() { resizeTable(); resizeLogo(); enableAjaxFileUpload(); + collapsibleHandler(); $("#logo-image").click(function() { backHandler(); @@ -108,7 +120,6 @@ $(document).ready(function() { }, onSuccess : function(files, data, xhr) { hideProgress(); - //console.log('' + data.language); checkLanguage(data.language); selectAnnotationsByLanguage(); $("#reset-upload").css("display", @@ -139,6 +150,25 @@ $(document).ready(function() { }); }); + +collapsibleHandler = function() { +// $('.collapsible').collapsible(); + //$('.collapsible').collapsible({ +// onOpen: function(el) { +// if(el.index() == 0) +// $('.collapsible').collapsible('close', 1); +// else +// $('.collapsible').collapsible('close', 0); +// }, +// onClose: function(el) { +// if(el.index() == 0) +// $('.collapsible').collapsible('open', 1); +// else +// $('.collapsible').collapsible('open', 0); +// } +// }); +} + enableAjaxFileUpload= function() { $(".ajax-file-upload").attr("enabled", "true"); $(".ajax-file-upload").css("background", pageGreen); @@ -637,7 +667,8 @@ buildAnnotationList = function(list) { * Utility */ showAnnotationsList = function() { - $('.collapsible').collapsible('open', 0); + $('.collapsible').collapsible(); + $('.collapsible').collapsible('open', 1); } /* @@ -721,9 +752,11 @@ enhanceColor = function(color) { * Write the html paragraph

containing the text highlighted on annotation value */ rewriteText = function(color) { + if(color.startsWith("#")) + color = color.substring(1); + $("#result-text-div").empty(); - - var complemetar = 0xFFFFFF - eval("0x" + color.substring(1)); + var complemetar = 0xFFFFFF - eval("0x" + color); var complement = complemetar.toString(16); var R = enhanceColor(complement.substring(0,2)); var G = enhanceColor(complement.substring(2,4)); @@ -842,10 +875,7 @@ getIndices = function() { */ mergeIndices = function(indices) { var newIndices = []; - if (indices.length == 1) - newIndices = indices[0]; - else - newIndices = mergeAll(indices); + newIndices = mergeAll(indices); return newIndices; }