diff --git a/src/main/java/org/gcube/nlphub/NLPHub.java b/src/main/java/org/gcube/nlphub/NLPHub.java index 8a98874..b108da2 100644 --- a/src/main/java/org/gcube/nlphub/NLPHub.java +++ b/src/main/java/org/gcube/nlphub/NLPHub.java @@ -55,33 +55,19 @@ public class NLPHub extends HttpServlet { private void doWork(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { token = Constants.getToken(request, devMode); try { - + String dataMiner = request.getParameter("dataminer"); String[] algs = request.getParameter("algs").split(","); for(int i=0; i= 1) { - NlpNerRunner runner = new NlpNerRunner(service, algs, token, response); - runner.run(request.getParameter("plink"), request.getParameter("annotations"), - request.getParameter("lang")); - } else { - response.setContentType("application/json;charset=UTF-8"); - try { - PrintWriter writer = response.getWriter(); - writer.println(new JsonManager().getErrorJsonResponse("No algorithm identifiers given.")); - } catch (Exception ex) { - logger.error(ex.getLocalizedMessage()); - } - }*/ - + } catch (Exception x) { x.printStackTrace(); } diff --git a/src/main/java/org/gcube/nlphub/NLPUploader.java b/src/main/java/org/gcube/nlphub/NLPUploader.java index d61c71d..73761db 100644 --- a/src/main/java/org/gcube/nlphub/NLPUploader.java +++ b/src/main/java/org/gcube/nlphub/NLPUploader.java @@ -90,7 +90,7 @@ public class NLPUploader extends HttpServlet { String sentence = NlpUtils.getLanguageRecognizerDigest(new String(content)); logger.info(sentence); try { - NLpLanguageRecognizer.run(sentence, token, link, response); + NLpLanguageRecognizer.run(request.getParameter("dataminer"), sentence, token, link, response); } catch (NlpHubException ex) { writer.println(new JsonManager().getSuccessJsonResponse(Constants.UNAVAILABLE, link)); } @@ -148,7 +148,7 @@ public class NLPUploader extends HttpServlet { String sentence = NlpUtils.getLanguageRecognizerDigest(stringContent); logger.info(sentence); try { - NLpLanguageRecognizer.run(sentence, token, link, response); + NLpLanguageRecognizer.run(request.getParameter("dataminer"), sentence, token, link, response); } catch (NlpHubException ex) { writer.println(new JsonManager().getSuccessJsonResponse(Constants.UNAVAILABLE, link)); } diff --git a/src/main/java/org/gcube/nlphub/legacy/Constants.java b/src/main/java/org/gcube/nlphub/legacy/Constants.java index c455876..7424047 100644 --- a/src/main/java/org/gcube/nlphub/legacy/Constants.java +++ b/src/main/java/org/gcube/nlphub/legacy/Constants.java @@ -8,6 +8,7 @@ public class Constants { 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"; diff --git a/src/main/java/org/gcube/nlphub/nlp/NLpLanguageRecognizer.java b/src/main/java/org/gcube/nlphub/nlp/NLpLanguageRecognizer.java index 72aa4d8..0f4fb1a 100644 --- a/src/main/java/org/gcube/nlphub/nlp/NLpLanguageRecognizer.java +++ b/src/main/java/org/gcube/nlphub/nlp/NLpLanguageRecognizer.java @@ -37,6 +37,7 @@ public class NLpLanguageRecognizer extends DataminerClient { private Logger logger = Logger.getLogger(NLpLanguageRecognizer.class.getSimpleName()); private String sentence, publicLink; public final static String RECOGNIZER_ID = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LANGUAGE_RECOGNIZER"; + private String dataMiner = null; public NLpLanguageRecognizer(String service, String token, String sentence) { super(service, "", token); @@ -44,18 +45,22 @@ public class NLpLanguageRecognizer extends DataminerClient { response = null; } - public NLpLanguageRecognizer(String service, String token, String sentence, String publicLink, + public NLpLanguageRecognizer(String dataMiner, String service, String token, String sentence, String publicLink, HttpServletResponse response) { super(service, "", token); this.sentence = sentence; this.response = response; this.publicLink = publicLink; + this.dataMiner = dataMiner; } - public static void run(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 { - //String urlService = "http://dataminer-prototypes.d4science.org/wps/WebProcessingService?request=Execute&service=WPS&Version=1.0.0"; - String urlService = Constants.DATAMINER_URL + "/wps/WebProcessingService?request=Execute&service=WPS&Version=1.0.0"; + if(dataMiner == null) + dataMiner = Constants.DATAMINER_URL; + else + dataMiner = "http://" + dataMiner; + String urlService = dataMiner + "/wps/WebProcessingService?request=Execute&service=WPS&Version=1.0.0"; urlService += "&gcube-token=" + token; urlService += "&lang=en-US"; urlService += "&Identifier=" + RECOGNIZER_ID; diff --git a/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java b/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java index 364e4d7..01aa580 100644 --- a/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java +++ b/src/main/java/org/gcube/nlphub/nlp/NlpAsyncNerRunner.java @@ -20,13 +20,13 @@ import org.w3c.dom.NodeList; import org.xml.sax.InputSource; public class NlpAsyncNerRunner extends AsyncHttpRequest { - public final static String WPS_EXECUTE_URL = Constants.DATAMINER_URL + "/wps/WebProcessingService?request=Execute&service=WPS&Version=1.0.0"; - 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; + public static String WPS_EXECUTE_URL = "/wps/WebProcessingService?request=Execute&service=WPS&Version=1.0.0"; + public static String WPS_DESCRIBE_PROCESS_URL = "/wps/WebProcessingService?request=DescribeProcess&service=WPS&Version=1.0.0"; + private String identifier, token, httpMethod, annotations, publicLink, language, dataMiner; private Logger logger = Logger.getLogger(NlpAsyncNerRunner.class.getSimpleName()); private RunnerCommander commander; - public NlpAsyncNerRunner(String identifier, String token, String publicLink, String annotations, String language, RunnerCommander commander) { + public NlpAsyncNerRunner(String dataMiner, String identifier, String token, String publicLink, String annotations, String language, RunnerCommander commander) { super(); this.identifier = identifier; this.token = token; @@ -35,8 +35,13 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { this.publicLink = publicLink; this.language = language; // not used for the moment... this.commander = commander; + if(dataMiner == null) + this.dataMiner = Constants.DATAMINER_URL; + else + this.dataMiner = "http://" + dataMiner; + ArrayList params = buildParameterString(); - String serviceUrl = 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); @@ -75,7 +80,7 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { HttpURLConnection connection = null; BufferedReader r = null; try { - String finalUrl = WPS_DESCRIBE_PROCESS_URL + "&gcube-token=" + token; + String finalUrl = dataMiner + WPS_DESCRIBE_PROCESS_URL + "&gcube-token=" + token; finalUrl += "&lang=en-US&Identifier=" + identifier; URL url = new URL(finalUrl); connection = (HttpURLConnection) url.openConnection(); @@ -173,17 +178,4 @@ public class NlpAsyncNerRunner extends AsyncHttpRequest { logger.error(x.getLocalizedMessage()); } } - -// public static void main(String[] args) { -// String id1 = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ENGLISH_NAMED_ENTITY_RECOGNIZER"; -// String id2 = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ENGLISH_NER_CORENLP"; -// String tokken = "df2cc5f5-63ee-48c1-b2a6-1210030c57b8-843339462"; -// String ann = "Organization,Location,Person"; -// String file = "http://data.d4science.org/TWhNTS9DdVdXaTZLSWsrWUNQdHk3OUdZSU93SXRFbjhHbWJQNStIS0N6Yz0"; -// file = "http://data.d4science.org/L0txb3o3Tk9GaW1LSWsrWUNQdHk3MG1ZWFdtWkJENU5HbWJQNStIS0N6Yz0"; -// NlpAsyncNerRunner n1 = new NlpAsyncNerRunner(id1, tokken, file, ann, null); -// NlpAsyncNerRunner n2 = new NlpAsyncNerRunner(id2, tokken, file, ann, null); -// n2.start(); -// n1.start(); -// } } diff --git a/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java b/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java index f7de531..7c14d37 100644 --- a/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java +++ b/src/main/java/org/gcube/nlphub/nlp/RunnerCommander.java @@ -15,23 +15,25 @@ public class RunnerCommander extends Thread { private String[] identifiers = null; private String link = ""; private String token = ""; + private String dataMiner; 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[] identifiers, String link, String annotationList, String token) { + public RunnerCommander(String dataMiner, String[] identifiers, String link, String annotationList, String token) { this.identifiers = identifiers; this.annotationList = annotationList; this.link = link; this.token = token; this.response = null; this.sleepTime = 500l; + this.dataMiner = dataMiner; outResultList = new ArrayList(); } - public RunnerCommander(String[] identifiers, String link, String annotationList, String token, + public RunnerCommander(String dataMiner, String[] identifiers, String link, String annotationList, String token, HttpServletResponse response) { this.identifiers = identifiers; this.annotationList = annotationList; @@ -39,6 +41,7 @@ public class RunnerCommander extends Thread { this.token = token; this.response = response; this.sleepTime = 500l; + this.dataMiner = dataMiner; outResultList = new ArrayList(); } @@ -81,7 +84,7 @@ public class RunnerCommander extends Thread { private void runAlgorithms() { for (String id : identifiers) { - NlpAsyncNerRunner n = new NlpAsyncNerRunner(id, token, link, annotationList, null, this); + NlpAsyncNerRunner n = new NlpAsyncNerRunner(dataMiner, id, token, link, annotationList, null, this); n.start(); } }