Author: rwesten Date: Tue Mar 19 09:46:18 2013 New Revision: 1458191 URL: http://svn.apache.org/r1458191 Log: STANBOL-986: The CELI engines do now allow to condigure the connection (and read) timeout. The default is 30sec; UnitTests do use a timeout of 5sec; minor: removed also some comments left over from feedback provided to the code originally contributed to Stanbol.
Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/CeliConstants.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/ClassificationClientHTTP.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/LanguageIdentifierClientHTTP.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/LemmatizerClientHTTP.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngine.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/SentimentAnalysisServiceClientHttp.java stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/utils/Utils.java stanbol/trunk/enhancement-engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngineTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngineTest.java stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngineTest.java Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/CeliConstants.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/CeliConstants.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/CeliConstants.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/CeliConstants.java Tue Mar 19 09:46:18 2013 @@ -54,7 +54,12 @@ public interface CeliConstants { */ String CELI_TEST_ACCOUNT = "celi.testaccount"; - + String CELI_CONNECTION_TIMEOUT = "celi.connectionTimeout"; + /** + * The default connection timeout for HTTP connections (30sec) + */ + int DEFAULT_CONECTION_TIMEOUT = 30; + /** * Concept used to annotate sentiment expressions within text * TODO: Find standard ontology for reference or check if it is OK to define new properties in the FISE namespace Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngine.java Tue Mar 19 09:46:18 2013 @@ -74,7 +74,8 @@ import org.slf4j.LoggerFactory; @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiClassification"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false), + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliClassificationEnhancementEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { @@ -155,7 +156,8 @@ public class CeliClassificationEnhanceme throw new ConfigurationException(SERVICE_URL, String.format("%s : please configure the URL of the CELI Web Service (e.g. by" + "using the 'Configuration' tab of the Apache Felix Web Console).", getClass().getSimpleName())); } this.serviceURL = new URL(url); - this.client = new ClassificationClientHTTP(this.serviceURL, this.licenseKey); + int conTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new ClassificationClientHTTP(this.serviceURL, this.licenseKey, conTimeout); } @Override Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/ClassificationClientHTTP.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/ClassificationClientHTTP.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/ClassificationClientHTTP.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/ClassificationClientHTTP.java Tue Mar 19 09:46:18 2013 @@ -20,13 +20,11 @@ import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; -import java.io.Writer; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.Charset; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Vector; @@ -40,7 +38,6 @@ import javax.xml.transform.stream.Stream import org.apache.clerezza.rdf.core.UriRef; import org.apache.clerezza.rdf.core.impl.util.Base64; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringEscapeUtils; import org.apache.stanbol.enhancer.engines.celi.utils.Utils; import org.apache.stanbol.enhancer.servicesapi.rdf.NamespaceEnum; @@ -79,15 +76,15 @@ public class ClassificationClientHTTP { private final URL serviceEP; private final String licenseKey; + private final int conTimeout; - //NOTE: the request headers are the same for all request - so they can be - // initialized in the constructor. private final Map<String,String> requestHeaders; - public ClassificationClientHTTP(URL serviceUrl, String licenseKey){ + public ClassificationClientHTTP(URL serviceUrl, String licenseKey, int conTimeout){ this.serviceEP=serviceUrl; this.licenseKey=licenseKey; + this.conTimeout = conTimeout; Map<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type", CONTENT_TYPE); if(licenseKey != null){ @@ -97,53 +94,6 @@ public class ClassificationClientHTTP { this.requestHeaders = Collections.unmodifiableMap(headers); } - /* - * NOTE: parsing/returning a String requires to create in-memory copies - * of the sent/received data. Imaging users that send the text of - * 100 pages PDF files to the Stanbol Enhancer. - * Because of that an implementation that directly streams the - * StringEscapeUtils.escapeXml(..) to the request is preferable - * - * This will no longer allow to debug the data of the request and - * response. See the commented main method at the end for alternatives - */ -// public String doPostRequest(URL url, String body) throws IOException { -// -// HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); -// urlConn.setRequestMethod("POST"); -// urlConn.setDoInput(true); -// if (null != body) { -// urlConn.setDoOutput(true); -// } else { -// urlConn.setDoOutput(false); -// } -// urlConn.setUseCaches(false); -// String contentType = "text/xml; charset=utf-8"; -// urlConn.setRequestProperty("Content-Type", contentType); -// if(this.licenseKey!=null){ -// String encoded = Base64.encode(this.licenseKey.getBytes("UTF-8")); -// urlConn.setRequestProperty("Authorization", "Basic "+encoded); -// } -// -// // send POST output -// if (null != body) { -// OutputStreamWriter printout = new OutputStreamWriter(urlConn.getOutputStream(), "UTF-8"); -// printout.write(body); -// printout.flush(); -// printout.close(); -// } -// -// //close connection -// urlConn.disconnect(); -// -// // get response data -// return IOUtils.toString(urlConn.getInputStream(), "UTF-8"); -// } - - - //NOTE: forward IOException and SOAPExceptions to allow correct error handling - // by the EnhancementJobManager. - // Also RuntimeExceptions MUST NOT be cached out of the same reason! public List<Concept> extractConcepts(String text,String lang) throws IOException, SOAPException { if(text == null || text.isEmpty()){ //no text -> no classification @@ -151,7 +101,7 @@ public class ClassificationClientHTTP { } //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,conTimeout); //"stream" the request content directly to the buffered writer BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); writer.write(SOAP_PREFIX); @@ -172,19 +122,10 @@ public class ClassificationClientHTTP { InputStream stream = con.getInputStream(); log.debug("Request to {} took {}ms",serviceEP,System.currentTimeMillis()-start); - //NOTE: forward IOException and SOAPExceptions to allow correct error handling - // by the EnhancementJobManager. - // Also RuntimeExceptions MUST NOT be cached out of the same reason! - -// try { - - // Create SoapMessage MessageFactory msgFactory = MessageFactory.newInstance(); SOAPMessage message = msgFactory.createMessage(); SOAPPart soapPart = message.getSOAPPart(); - // NOTE: directly use the InputStream provided by the URLConnection! -// ByteArrayInputStream stream = new ByteArrayInputStream(responseXml.getBytes("UTF-8")); StreamSource source = new StreamSource(stream); // Set contents of message @@ -193,11 +134,7 @@ public class ClassificationClientHTTP { SOAPBody soapBody = message.getSOAPBody(); List<Concept> extractedConcepts = new Vector<Concept>(); NodeList nlist = soapBody.getElementsByTagNameNS("*","return"); - HashSet<String> inserted=new HashSet<String>(); for (int i = 0; i < nlist.getLength() && i<maxResultToReturn; i++) { - //NOTE: do not catch RuntimeExceptions. Error handling is done by - // the EnhancementJobManager! -// try { Element result = (Element) nlist.item(i); //NOTE: (rwesten) implemented a mapping from the CELI classification @@ -215,14 +152,7 @@ public class ClassificationClientHTTP { String conf=result.getElementsByTagNameNS("*","score").item(0).getTextContent(); Double confidence= new Double(conf); extractedConcepts.add(new Concept(model,modelConcept,confidence)); -// } catch (Exception e) { -// e.printStackTrace(); -// } - } -// } catch (Exception e) { -// e.printStackTrace(); -// } return extractedConcepts; } /** @@ -258,51 +188,4 @@ public class ClassificationClientHTTP { (tmps.length > 1 ? tmps[1] : tmps[0])); //the Class for the label } - //NOTE: If you stream the contents directly to the stream, you can no longer - // debug the request/response. Because of that it is sometimes - // helpful to have a main method for those tests - // An even better variant would be to write a UnitTest for that!! - // This would be recommended of the called service is still in beta - // and may change at any time - public static void main(String[] args) throws Exception { - String lang = "fr"; - String text = "Brigitte Bardot, née le 28 septembre " + - "1934 à Paris, est une actrice de cinéma et chanteuse française."; - - //For request testing - //Writer request = new StringWriter(); - - //For response testing - HttpURLConnection con = Utils.createPostRequest( - new URL("http://linguagrid.org/LSGrid/ws/dbpedia-classification"), - Collections.singletonMap("Content-Type", CONTENT_TYPE)); - Writer request = new OutputStreamWriter(con.getOutputStream(),UTF8); - - //"stream" the request content directly to the buffered writer - BufferedWriter writer = new BufferedWriter(request); - - writer.write(SOAP_PREFIX); - writer.write("<clas:classify>"); - writer.write("<clas:user>wiki</clas:user>");//TODO: should the user be configurable? - writer.write("<clas:model>"); - writer.write(lang); - writer.write("</clas:model>"); - writer.write("<clas:text>"); - StringEscapeUtils.escapeXml(writer, text); //write the escaped text directly to the request - writer.write("</clas:text>"); - writer.write("</clas:classify>"); - writer.write(SOAP_SUFFIX); - writer.close(); - - //log the Request (if request testing) - //log.info("Request \n{}",request.toString()); - - //for response testing we need to call the service - //Call the service - long start = System.currentTimeMillis(); - InputStream stream = con.getInputStream(); - log.info("Request to took {}ms",System.currentTimeMillis()-start); - log.info("Response:\n{}",IOUtils.toString(stream)); - stream.close(); - } } Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngine.java Tue Mar 19 09:46:18 2013 @@ -69,7 +69,8 @@ import org.slf4j.LoggerFactory; @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiLangid"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false), + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliLanguageIdentifierEnhancementEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { /** @@ -136,7 +137,8 @@ public class CeliLanguageIdentifierEnhan String.format("%s : The URL of the CELI Web Service is not well formatted.", getClass().getSimpleName()),e); } - this.client = new LanguageIdentifierClientHTTP(this.serviceURL, this.licenseKey); + int conTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new LanguageIdentifierClientHTTP(this.serviceURL, this.licenseKey, conTimeout); } @Override Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/LanguageIdentifierClientHTTP.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/LanguageIdentifierClientHTTP.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/LanguageIdentifierClientHTTP.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/LanguageIdentifierClientHTTP.java Tue Mar 19 09:46:18 2013 @@ -70,12 +70,13 @@ public class LanguageIdentifierClientHTT private URL serviceEP; private final Map<String,String> requestHeaders; - + private final int conTimeout; private final Logger log = LoggerFactory.getLogger(getClass()); - public LanguageIdentifierClientHTTP(URL serviceUrl, String licenseKey){ + public LanguageIdentifierClientHTTP(URL serviceUrl, String licenseKey, int conTimeout){ this.serviceEP=serviceUrl; + this.conTimeout = conTimeout; Map<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type", CONTENT_TYPE); if(licenseKey != null){ @@ -94,7 +95,7 @@ public class LanguageIdentifierClientHTT return Collections.emptyList(); //no language } //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,conTimeout); //write content BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); writer.write(SOAP_PREFIX); @@ -145,7 +146,7 @@ public class LanguageIdentifierClientHTT return Collections.emptyList(); } //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,conTimeout); //write content BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); writer.write(SOAP_PREFIX); Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngine.java Tue Mar 19 09:46:18 2013 @@ -67,7 +67,8 @@ import org.osgi.service.component.Compon @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiLemmatizer"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT, boolValue = false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT, boolValue = false) , + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliAnalyzedTextLemmatizerEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { @@ -115,8 +116,8 @@ public class CeliAnalyzedTextLemmatizerE this.serviceURL = new URL(url); //parse the parsed language configuration languageConfig.setConfiguration(properties); - - this.client = new LemmatizerClientHTTP(this.serviceURL, this.licenseKey); + int conTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new LemmatizerClientHTTP(this.serviceURL, this.licenseKey,conTimeout); } @Override Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngine.java Tue Mar 19 09:46:18 2013 @@ -81,7 +81,8 @@ import org.slf4j.LoggerFactory; @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiLemmatizer"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT, boolValue = false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT, boolValue = false), + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliLemmatizerEnhancementEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { // TODO: check if it is OK to define new properties in the FISE namespace @@ -154,7 +155,8 @@ public class CeliLemmatizerEnhancementEn } catch (Exception e) { this.completeMorphoAnalysis = false; } - this.client = new LemmatizerClientHTTP(this.serviceURL, this.licenseKey); + int conTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new LemmatizerClientHTTP(this.serviceURL, this.licenseKey, conTimeout); } @Override Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/LemmatizerClientHTTP.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/LemmatizerClientHTTP.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/LemmatizerClientHTTP.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/LemmatizerClientHTTP.java Tue Mar 19 09:46:18 2013 @@ -67,12 +67,14 @@ public class LemmatizerClientHTTP { private URL serviceEP; private String licenseKey; + private final int conTimeout; private final Map<String,String> requestHeaders; private final Logger log = LoggerFactory.getLogger(getClass()); - public LemmatizerClientHTTP(URL serviceUrl, String licenseKey){ + public LemmatizerClientHTTP(URL serviceUrl, String licenseKey, int conTimeout){ this.serviceEP=serviceUrl; this.licenseKey=licenseKey; + this.conTimeout = conTimeout; Map<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type", CONTENT_TYPE); if(licenseKey != null){ @@ -85,7 +87,7 @@ public class LemmatizerClientHTTP { public List<LexicalEntry> performMorfologicalAnalysis(String text,String lang) throws IOException, SOAPException { //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,conTimeout); //write content BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); //write the SOAP envelope, header and start the body @@ -166,7 +168,7 @@ public class LemmatizerClientHTTP { public String lemmatizeContents(String text,String lang) throws SOAPException, IOException { //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,conTimeout); //write content BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); //write the SOAP envelope, header and start the body Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngine.java Tue Mar 19 09:46:18 2013 @@ -78,7 +78,8 @@ import org.slf4j.LoggerFactory; @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiNer"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false), + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliNamedEntityExtractionEnhancementEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { @@ -156,8 +157,8 @@ public class CeliNamedEntityExtractionEn throw new ConfigurationException(SERVICE_URL, String.format("%s : please configure the URL of the CELI Web Service (e.g. by" + "using the 'Configuration' tab of the Apache Felix Web Console).", getClass().getSimpleName())); } this.serviceURL = new URL(url); - - this.client = new NERserviceClientHTTP(this.serviceURL, this.licenseKey); + int conTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new NERserviceClientHTTP(this.serviceURL, this.licenseKey,conTimeout); log.info(" > CELI service: {}",serviceURL); //init the supported languages (now configurable) Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java Tue Mar 19 09:46:18 2013 @@ -68,14 +68,15 @@ public class NERserviceClientHTTP { private final URL serviceEP; private final String licenseKey; - + private final int conTimeout; private final Map<String,String> requestHeaders; private final Logger log = LoggerFactory.getLogger(getClass()); - public NERserviceClientHTTP(URL serviceUrl, String licenseKey){ + public NERserviceClientHTTP(URL serviceUrl, String licenseKey, int conTimeout){ this.serviceEP=serviceUrl; this.licenseKey = licenseKey; + this.conTimeout = conTimeout; Map<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type", CONTENT_TYPE); if(licenseKey != null){ @@ -93,7 +94,7 @@ public class NERserviceClientHTTP { } //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,-1); //write content BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); writer.write(SOAP_PREFIX); Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngine.java Tue Mar 19 09:46:18 2013 @@ -60,7 +60,8 @@ import org.osgi.service.component.Compon @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiSentiment"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false), + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliAnalyzedTextSentimentAnalysisEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { @@ -106,8 +107,8 @@ public class CeliAnalyzedTextSentimentAn this.serviceURL = new URL(url); //parse the parsed language configuration languageConfig.setConfiguration(properties); - - this.client = new SentimentAnalysisServiceClientHttp(this.serviceURL, this.licenseKey); + int connectionTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new SentimentAnalysisServiceClientHttp(this.serviceURL, this.licenseKey,connectionTimeout); } @Override Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngine.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngine.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngine.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngine.java Tue Mar 19 09:46:18 2013 @@ -74,7 +74,8 @@ import org.slf4j.LoggerFactory; @Properties(value = { @Property(name = EnhancementEngine.PROPERTY_NAME, value = "celiSentiment"), @Property(name = CeliConstants.CELI_LICENSE), - @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false) + @Property(name = CeliConstants.CELI_TEST_ACCOUNT,boolValue=false), + @Property(name = CeliConstants.CELI_CONNECTION_TIMEOUT, intValue=CeliConstants.DEFAULT_CONECTION_TIMEOUT) }) public class CeliSentimentAnalysisEngine extends AbstractEnhancementEngine<IOException, RuntimeException> implements EnhancementEngine, ServiceProperties { @@ -138,8 +139,8 @@ public class CeliSentimentAnalysisEngine throw new ConfigurationException(SERVICE_URL, String.format("%s : please configure the URL of the CELI Web Service (e.g. by" + "using the 'Configuration' tab of the Apache Felix Web Console).", getClass().getSimpleName())); } this.serviceURL = new URL(url); - - this.client = new SentimentAnalysisServiceClientHttp(this.serviceURL, this.licenseKey); + int connectionTimeout = Utils.getConnectionTimeout(properties, ctx.getBundleContext()); + this.client = new SentimentAnalysisServiceClientHttp(this.serviceURL, this.licenseKey,connectionTimeout); log.info(" > CELI service: {}",serviceURL); //init the supported languages (now configurable) Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/SentimentAnalysisServiceClientHttp.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/SentimentAnalysisServiceClientHttp.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/SentimentAnalysisServiceClientHttp.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/SentimentAnalysisServiceClientHttp.java Tue Mar 19 09:46:18 2013 @@ -69,12 +69,6 @@ public class SentimentAnalysisServiceCli */ private static final String SOAP_SUFFIX = "</soapenv:Body></soapenv:Envelope>"; - public static void main(String[]args) throws SOAPException, IOException{ - SentimentAnalysisServiceClientHttp cl=new SentimentAnalysisServiceClientHttp(new URL("http://linguagrid.org/LSGrid/ws/sentiment-analysis"),null); - List<SentimentExpression> list = cl.extractSentimentExpressions("J'aime Paris", "fr"); - for(SentimentExpression e:list) - System.out.println(e.getSnippetStr()+" "+e.getSentimentType()); - } private final URL serviceEP; private final String licenseKey; @@ -82,10 +76,13 @@ public class SentimentAnalysisServiceCli private final Map<String,String> requestHeaders; private final Logger log = LoggerFactory.getLogger(getClass()); + + private int connectionTimeout; - public SentimentAnalysisServiceClientHttp(URL serviceUrl, String licenseKey){ + public SentimentAnalysisServiceClientHttp(URL serviceUrl, String licenseKey, int connectionTimeout){ this.serviceEP=serviceUrl; this.licenseKey = licenseKey; + this.connectionTimeout = connectionTimeout; Map<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type", CONTENT_TYPE); if(licenseKey != null){ @@ -103,7 +100,7 @@ public class SentimentAnalysisServiceCli } //create the POST request - HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders); + HttpURLConnection con = Utils.createPostRequest(serviceEP, requestHeaders,connectionTimeout); //write content BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),UTF8)); writer.write(SOAP_PREFIX); Modified: stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/utils/Utils.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/utils/Utils.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/utils/Utils.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/utils/Utils.java Tue Mar 19 09:46:18 2013 @@ -39,6 +39,7 @@ public final class Utils { * The maximum size of the preix/suffix for the selection context */ private static final int DEFAULT_SELECTION_CONTEXT_PREFIX_SUFFIX_SIZE = 50; + /** * Extracts the selection context based on the content, selection and * the start char offset of the selection @@ -75,11 +76,13 @@ public final class Utils { * Creates a POST Request with the parsed URL and optional headers * @param serviceURL the service URL * @param headers optional header + * @param conTimeout the connection timeout in seconds. If <= 0 the default + * (30sec) is used. * @return the HTTP connection * @throws IOException if the connection to the parsed service could not be established. * @throws IllegalArgumentException if <code>null</code> is parsed as service URL */ - public static HttpURLConnection createPostRequest(URL serviceURL, Map<String,String> headers) throws IOException { + public static HttpURLConnection createPostRequest(URL serviceURL, Map<String,String> headers, int conTimeout) throws IOException { if(serviceURL == null){ throw new IllegalArgumentException("The parsed service URL MUST NOT be NULL!"); } @@ -88,6 +91,11 @@ public final class Utils { urlConn.setDoInput(true); urlConn.setDoOutput(true); urlConn.setUseCaches(false); + if(conTimeout < 0){ + conTimeout = CeliConstants.DEFAULT_CONECTION_TIMEOUT; + } + urlConn.setConnectTimeout(conTimeout*1000); + urlConn.setReadTimeout(conTimeout*1000); if(headers != null){ for(Entry<String,String> entry : headers.entrySet()){ urlConn.setRequestProperty(entry.getKey(), entry.getValue()); @@ -130,4 +138,36 @@ public final class Utils { } return licenseKey; } + /** + * Retrieves the connection timeout from the enignes configuration + * @param configuration the configuration of the CELI engine + * @param ctx the {@link BundleContext} used to read the configuration of + * the environment. + * @return The connection timeout or <code>-1</code> if none is configured + */ + public static int getConnectionTimeout(Dictionary<String,Object> configuration,BundleContext ctx) throws ConfigurationException { + Object value = configuration.get(CeliConstants.CELI_CONNECTION_TIMEOUT); + int timeout = -1; + if (value instanceof Number){ + timeout = ((Number)value).intValue(); + } else if(value != null){ + try { + timeout = Integer.parseInt(value.toString()); + } catch (NumberFormatException e) { + throw new ConfigurationException(CeliConstants.CELI_CONNECTION_TIMEOUT, + "The configured value '"+value+"'is not a valid integer",e); + } + } else { + value = ctx.getProperty(CeliConstants.CELI_TEST_ACCOUNT); + if(value != null){ + try { + timeout = Integer.parseInt(value.toString()); + } catch (NumberFormatException e) { + throw new ConfigurationException(CeliConstants.CELI_CONNECTION_TIMEOUT, + "The configured value '"+value+"' taken from the system properties is not a valid integer",e); + } + } + } + return timeout; + } } Modified: stanbol/trunk/enhancement-engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties (original) +++ stanbol/trunk/enhancement-engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties Tue Mar 19 09:46:18 2013 @@ -43,6 +43,11 @@ celi.testaccount.name=Enable Test Accoun celi.testaccount.description=If enabled it allows to test the CELI Engines without \ an License Key. Requests are limited to 100 per day and IP address. + +celi.connectionTimeout.name=Connection Timeout +celi.connectionTimeout.description=The connection timeout in seconds (values < 1 \ +will set the default 30sec; a timeout of zero is interpreted as an infinite timeout). + #NER org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.name=Apache \ Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java Tue Mar 19 09:46:18 2013 @@ -23,10 +23,9 @@ import java.net.URL; import javax.xml.soap.SOAPException; -import junit.framework.Assert; - import org.apache.stanbol.enhancer.engines.celi.langid.impl.LanguageIdentifierClientHTTP; import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper; +import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +44,7 @@ public class CeliHttpTest { @Test(expected=IOException.class) public void testNonExistentAccountAuthentification() throws IOException, SOAPException { LanguageIdentifierClientHTTP testClient = new LanguageIdentifierClientHTTP( - new URL(CELI_LANGID_SERVICE_URL), "nonexistent:useraccount"); + new URL(CELI_LANGID_SERVICE_URL), "nonexistent:useraccount",5); testClient.guessQueryLanguage("This is a dummy request"); } /** @@ -58,7 +57,7 @@ public class CeliHttpTest { @Test(expected=IOException.class) public void testIllegalFormattedAuthentification() throws IOException, SOAPException { LanguageIdentifierClientHTTP testClient = new LanguageIdentifierClientHTTP( - new URL(CELI_LANGID_SERVICE_URL), "illeagalFormatted"); + new URL(CELI_LANGID_SERVICE_URL), "illeagalFormatted",5); testClient.guessQueryLanguage("This is a dummy request"); } /** @@ -71,7 +70,7 @@ public class CeliHttpTest { @Test public void testTestAccount() throws IOException, SOAPException { LanguageIdentifierClientHTTP testClient = new LanguageIdentifierClientHTTP( - new URL(CELI_LANGID_SERVICE_URL), null); + new URL(CELI_LANGID_SERVICE_URL), null,5); try { Assert.assertNotNull(testClient.guessQueryLanguage("This is a dummy request")); } catch (IOException e) { Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java Tue Mar 19 09:46:18 2013 @@ -69,6 +69,7 @@ public class CeliClassificationEnhanceme Dictionary<String, Object> properties = new Hashtable<String, Object>(); properties.put(EnhancementEngine.PROPERTY_NAME, "celiClassification"); properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); properties.put(CeliClassificationEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/dbpedia-classification"); MockComponentContext context = new MockComponentContext(properties); Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java Tue Mar 19 09:46:18 2013 @@ -60,6 +60,7 @@ public class CeliLanguageIdentifierEnhan Dictionary<String, Object> properties = new Hashtable<String, Object>(); properties.put(EnhancementEngine.PROPERTY_NAME, "celiLangIdentifier"); properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); properties.put(CeliLanguageIdentifierEnhancementEngine.SERVICE_URL, CELI_LANGID_SERVICE_URL); MockComponentContext context = new MockComponentContext(properties); Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliAnalyzedTextLemmatizerEngineTest.java Tue Mar 19 09:46:18 2013 @@ -90,6 +90,7 @@ public class CeliAnalyzedTextLemmatizerE Dictionary<String, Object> properties = new Hashtable<String, Object>(); properties.put(EnhancementEngine.PROPERTY_NAME, "celiLemmatizer"); properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); properties.put(SERVICE_URL, "http://linguagrid.org/LSGrid/ws/morpho-analyser"); MockComponentContext context = new MockComponentContext(properties); engine = new CeliAnalyzedTextLemmatizerEngine(); Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java Tue Mar 19 09:46:18 2013 @@ -82,6 +82,7 @@ public class CeliLemmatizerEnhancementEn properties.put(EnhancementEngine.PROPERTY_NAME, "celiLemmatizer"); properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); properties.put(SERVICE_URL, "http://linguagrid.org/LSGrid/ws/morpho-analyser"); + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); properties.put(MORPHOLOGICAL_ANALYSIS, completeMorphoAnalysis); MockComponentContext context = new MockComponentContext(properties); CeliLemmatizerEnhancementEngine morphoAnalysisEngine = new CeliLemmatizerEnhancementEngine(); Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java Tue Mar 19 09:46:18 2013 @@ -80,6 +80,7 @@ public class CeliNamedEntityExtractionEn properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); properties.put(CeliNamedEntityExtractionEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/com.celi-france.linguagrid.namedentityrecognition.v0u0.demo"); properties.put(CeliNamedEntityExtractionEnhancementEngine.SUPPORTED_LANGUAGES, "fr;it"); + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); MockComponentContext context = new MockComponentContext(properties); nerEngine.activate(context); } Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliAnalyzedTextSentimentAnalysisEngineTest.java Tue Mar 19 09:46:18 2013 @@ -76,6 +76,7 @@ public class CeliAnalyzedTextSentimentAn properties.put(EnhancementEngine.PROPERTY_NAME, "celiSentimentAnalysis"); properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); properties.put(CeliAnalyzedTextSentimentAnalysisEngine.SERVICE_URL, CELI_SENTIMENT_ANALYSIS_SERVICE_URL); + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); MockComponentContext context = new MockComponentContext(properties); engine = new CeliAnalyzedTextSentimentAnalysisEngine(); engine.activate(context); Modified: stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngineTest.java URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngineTest.java?rev=1458191&r1=1458190&r2=1458191&view=diff ============================================================================== --- stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngineTest.java (original) +++ stanbol/trunk/enhancement-engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/sentimentanalysis/impl/CeliSentimentAnalysisEngineTest.java Tue Mar 19 09:46:18 2013 @@ -69,7 +69,7 @@ public class CeliSentimentAnalysisEngine properties.put(CeliConstants.CELI_TEST_ACCOUNT, "true"); properties.put(CeliSentimentAnalysisEngine.SERVICE_URL, CELI_SENTIMENT_ANALYSIS_SERVICE_URL); properties.put(CeliSentimentAnalysisEngine.SUPPORTED_LANGUAGES, "fr;it"); - + properties.put(CeliConstants.CELI_CONNECTION_TIMEOUT, "5"); MockComponentContext context = new MockComponentContext(properties); sentimentAnalysisEngine.activate(context); }