Author: rwesten
Date: Wed Oct 3 10:38:56 2012
New Revision: 1393396
URL: http://svn.apache.org/viewvc?rev=1393396&view=rev
Log:
STANBOL-759: Implementation of the RemoteServiceHelperUtility; Utility is now
used by all EnhancementEngineTests that do access remote services; Minor
Changes: ListChain now accepts EngineNames parsed as a Vector,
activate/deactivate Method of GraphChain are now protected; added target folder
of the new UIMA engines to svn ignore
Added:
stanbol/trunk/enhancer/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/RemoteServiceHelper.java
Modified:
stanbol/trunk/enhancer/chain/graph/src/main/java/org/apache/stanbol/enhancer/chain/graph/impl/GraphChain.java
stanbol/trunk/enhancer/chain/list/src/main/java/org/apache/stanbol/enhancer/chain/list/impl/ListChain.java
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/testutils/TestUtils.java
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/annotate/DBPSpotlightAnnotateEnhancementTest.java
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/candidates/DBPSpotlightCandidatesEnhancementTest.java
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/disambiguate/DBPSpotlightDisambiguateEnhancementTest.java
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/spot/DBPSpotlightSpotEnhancementTest.java
stanbol/trunk/enhancer/engines/geonames/src/test/java/org/apache/stanbol/enhancer/engines/geonames/impl/TestLocationEnhancementEngine.java
stanbol/trunk/enhancer/engines/opencalais/src/test/java/org/apache/stanbol/enhancer/engines/opencalais/impl/TestOpenCalaisEngine.java
stanbol/trunk/enhancer/engines/uimalocal-template/ (props changed)
stanbol/trunk/enhancer/engines/uimaremote/ (props changed)
stanbol/trunk/enhancer/engines/uimatotriples/ (props changed)
stanbol/trunk/enhancer/engines/zemanta/src/test/java/org/apache/stanbol/enhancer/engines/zemanta/impl/ZemantaEnhancementEngineTest.java
Modified:
stanbol/trunk/enhancer/chain/graph/src/main/java/org/apache/stanbol/enhancer/chain/graph/impl/GraphChain.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/chain/graph/src/main/java/org/apache/stanbol/enhancer/chain/graph/impl/GraphChain.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/chain/graph/src/main/java/org/apache/stanbol/enhancer/chain/graph/impl/GraphChain.java
(original)
+++
stanbol/trunk/enhancer/chain/graph/src/main/java/org/apache/stanbol/enhancer/chain/graph/impl/GraphChain.java
Wed Oct 3 10:38:56 2012
@@ -176,7 +176,7 @@ public class GraphChain extends Abstract
@Activate
@Override
- public void activate(ComponentContext ctx) throws ConfigurationException {
+ protected void activate(ComponentContext ctx) throws
ConfigurationException {
super.activate(ctx);
Object resource = ctx.getProperties().get(PROPERTY_GRAPH_RESOURCE);
Object list = ctx.getProperties().get(PROPERTY_CHAIN_LIST);
@@ -245,7 +245,7 @@ public class GraphChain extends Abstract
}
@Deactivate
@Override
- public void deactivate(ComponentContext ctx){
+ protected void deactivate(ComponentContext ctx){
if(mode == MODE.RESOURCE && tracker != null){
//we need to remove the ExecutionPlanListerner
tracker.removeAll((DataFileListener)internalChain);
Modified:
stanbol/trunk/enhancer/chain/list/src/main/java/org/apache/stanbol/enhancer/chain/list/impl/ListChain.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/chain/list/src/main/java/org/apache/stanbol/enhancer/chain/list/impl/ListChain.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/chain/list/src/main/java/org/apache/stanbol/enhancer/chain/list/impl/ListChain.java
(original)
+++
stanbol/trunk/enhancer/chain/list/src/main/java/org/apache/stanbol/enhancer/chain/list/impl/ListChain.java
Wed Oct 3 10:38:56 2012
@@ -107,9 +107,15 @@ public class ListChain extends AbstractC
List<String> configuredChain = new ArrayList<String>();
if(value instanceof String[]){
configuredChain.addAll(Arrays.asList((String[])value));
+ } else if(value instanceof List<?>){
+ for(Object o : (List<?>)value){
+ if(o != null){
+ configuredChain.add(o.toString());
+ }
+ }
} else {
throw new ConfigurationException(PROPERTY_ENGINE_LIST,
- "The engines of a List Chain MUST BE configured as Array of " +
+ "The engines of a List Chain MUST BE configured as Array/List
of " +
"Strings (parsed: "+
(value != null?value.getClass():"null")+")");
}
Modified:
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java
(original)
+++
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/CeliHttpTest.java
Wed Oct 3 10:38:56 2012
@@ -19,16 +19,26 @@ package org.apache.stanbol.enhancer.engi
import static
org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngineTest.CELI_LANGID_SERVICE_URL;
import java.io.IOException;
+import java.net.SocketTimeoutException;
import java.net.URL;
+import java.net.UnknownHostException;
+import javax.print.attribute.standard.MediaSize.Engineering;
import javax.xml.soap.SOAPException;
import junit.framework.Assert;
import
org.apache.stanbol.enhancer.engines.celi.langid.impl.LanguageIdentifierClientHTTP;
+import org.apache.stanbol.enhancer.engines.celi.testutils.TestUtils;
+import org.apache.stanbol.enhancer.servicesapi.EngineException;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class CeliHttpTest {
+
+ public static final Logger log =
LoggerFactory.getLogger(CeliHttpTest.class);
/**
* None Existing user account should throw an IOException with
@@ -67,7 +77,11 @@ public class CeliHttpTest {
public void testTestAccount() throws IOException, SOAPException {
LanguageIdentifierClientHTTP testClient = new
LanguageIdentifierClientHTTP(
new URL(CELI_LANGID_SERVICE_URL), null);
- Assert.assertNotNull(testClient.guessQueryLanguage("This is a dummy
request"));
+ try {
+ Assert.assertNotNull(testClient.guessQueryLanguage("This is a
dummy request"));
+ } catch (IOException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ }
}
}
Modified:
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java
(original)
+++
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java
Wed Oct 3 10:38:56 2012
@@ -40,6 +40,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.helper.EnhancementEngineHelper;
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -103,11 +104,7 @@ public class CeliLanguageIdentifierEnhan
int entityAnnoNum =
validateAllEntityAnnotations(ci.getMetadata(), expectedValues);
assertEquals("No EntityAnnotations are expected",0,
entityAnnoNum);
} catch (EngineException e) {
- if (e.getCause() != null && e.getCause() instanceof
UnknownHostException) {
- log.warn("Celi Service not reachable ->
offline? -> deactivate test");
- return;
- }
- throw e;
+ RemoteServiceHelper.checkServiceUnavailable(e);
}
}
Modified:
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java
(original)
+++
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java
Wed Oct 3 10:38:56 2012
@@ -60,6 +60,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine;
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Assert;
import org.junit.Test;
import org.osgi.service.cm.ConfigurationException;
@@ -149,11 +150,7 @@ public class CeliLemmatizerEnhancementEn
try {
morphoAnalysisEngine.computeEnhancements(ci);
} catch (EngineException e) {
- if (e.getCause() != null && e.getCause() instanceof
UnknownHostException) {
- log.warn("Celi Service not reachable -> offline? -> deactivate
test");
- return;
- }
- throw e;
+ RemoteServiceHelper.checkServiceUnavailable(e);
}
TestUtils.logEnhancements(ci);
Modified:
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java
(original)
+++
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java
Wed Oct 3 10:38:56 2012
@@ -42,6 +42,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -110,11 +111,7 @@ public class CeliNamedEntityExtractionEn
int entityAnnoNum =
EnhancementStructureHelper.validateAllEntityAnnotations(ci.getMetadata(),expectedValues);
log.info(entityAnnoNum + " EntityAnnotations found ...");
} catch (EngineException e) {
- if (e.getCause() != null && e.getCause() instanceof
UnknownHostException) {
- log.warn("Celi Service not reachable ->
offliCeliNamedEntityExtractionEnhancementEnginene? -> deactivate test");
- return;
- }
- throw e;
+ RemoteServiceHelper.checkServiceUnavailable(e);
}
}
Modified:
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/testutils/TestUtils.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/testutils/TestUtils.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/testutils/TestUtils.java
(original)
+++
stanbol/trunk/enhancer/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/testutils/TestUtils.java
Wed Oct 3 10:38:56 2012
@@ -19,10 +19,13 @@ package org.apache.stanbol.enhancer.engi
import static
org.apache.clerezza.rdf.core.serializedform.SupportedFormat.TURTLE;
import java.io.ByteArrayOutputStream;
+import java.net.SocketTimeoutException;
+import java.net.UnknownHostException;
import java.nio.charset.Charset;
import org.apache.clerezza.rdf.jena.serializer.JenaSerializerProvider;
import org.apache.stanbol.enhancer.servicesapi.ContentItem;
+import org.apache.stanbol.enhancer.servicesapi.EngineException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,5 +42,4 @@ public final class TestUtils {
log.info("Enhancements: \n{}",new
String(logOut.toByteArray(),Charset.forName("UTF-8")));
}
-
}
Modified:
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/annotate/DBPSpotlightAnnotateEnhancementTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/annotate/DBPSpotlightAnnotateEnhancementTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/annotate/DBPSpotlightAnnotateEnhancementTest.java
(original)
+++
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/annotate/DBPSpotlightAnnotateEnhancementTest.java
Wed Oct 3 10:38:56 2012
@@ -44,6 +44,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -94,17 +95,17 @@ public class DBPSpotlightAnnotateEnhance
}
@Test
- public void testEntityExtraction() {
+ public void testEntityExtraction() throws EngineException{
Collection<Annotation> entities;
try {
entities =
dbpslight.doPostRequest(TEST_TEXT,ci.getUri());
- LOG.info("Found entities: {}", entities.size());
- LOG.debug("Entities:\n{}", entities);
- Assert.assertFalse("No entities were found!",
entities.isEmpty());
} catch (EngineException e) {
- Assert.assertFalse("An EngineException occurred! The
message was: "
- + e.getMessage(), true);
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
}
+ LOG.info("Found entities: {}", entities.size());
+ LOG.debug("Entities:\n{}", entities);
+ Assert.assertFalse("No entities were found!", entities.isEmpty());
}
@Test
public void testCanEnhance() throws EngineException {
@@ -117,7 +118,11 @@ public class DBPSpotlightAnnotateEnhance
*/
@Test
public void testEnhancement() throws EngineException {
- dbpslight.computeEnhancements(ci);
+ try {
+ dbpslight.computeEnhancements(ci);
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ }
HashMap<UriRef,Resource> expectedValues = new
HashMap<UriRef,Resource>();
expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri());
expectedValues.put(Properties.DC_CREATOR,
LiteralFactory.getInstance().createTypedLiteral(
Modified:
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/candidates/DBPSpotlightCandidatesEnhancementTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/candidates/DBPSpotlightCandidatesEnhancementTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/candidates/DBPSpotlightCandidatesEnhancementTest.java
(original)
+++
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/candidates/DBPSpotlightCandidatesEnhancementTest.java
Wed Oct 3 10:38:56 2012
@@ -44,6 +44,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -94,11 +95,17 @@ public class DBPSpotlightCandidatesEnhan
assertEquals("en", EnhancementEngineHelper.getLanguage(ci));
}
@Test
- public void testEntityExtraction() throws Exception{
- Collection<SurfaceForm> entities =
dbpslight.doPostRequest(TEST_TEXT,ci.getUri());
- LOG.info("Found entities: {}", entities.size());
- LOG.debug("Entities:\n{}", entities);
- Assert.assertFalse("No entities were found!",
entities.isEmpty());
+ public void testEntityExtraction() throws EngineException {
+ Collection<SurfaceForm> entities;
+ try {
+ entities = dbpslight.doPostRequest(TEST_TEXT,ci.getUri());
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
+ LOG.info("Found entities: {}", entities.size());
+ LOG.debug("Entities:\n{}", entities);
+ Assert.assertFalse("No entities were found!", entities.isEmpty());
}
@Test
public void testCanEnhance() throws EngineException {
@@ -111,7 +118,12 @@ public class DBPSpotlightCandidatesEnhan
*/
@Test
public void testEnhancement() throws EngineException {
- dbpslight.computeEnhancements(ci);
+ try {
+ dbpslight.computeEnhancements(ci);
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
HashMap<UriRef,Resource> expectedValues = new
HashMap<UriRef,Resource>();
expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri());
expectedValues.put(Properties.DC_CREATOR,
LiteralFactory.getInstance().createTypedLiteral(
Modified:
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/disambiguate/DBPSpotlightDisambiguateEnhancementTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/disambiguate/DBPSpotlightDisambiguateEnhancementTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/disambiguate/DBPSpotlightDisambiguateEnhancementTest.java
(original)
+++
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/disambiguate/DBPSpotlightDisambiguateEnhancementTest.java
Wed Oct 3 10:38:56 2012
@@ -49,6 +49,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.rdf.OntologicalClasses;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -123,21 +124,22 @@ public class DBPSpotlightDisambiguateEnh
}
@Test
- public void testEntityExtraction() {
- Collection<Annotation> entities;
- try {
- spotsXml =
IOUtils.toString(this.getClass().getClassLoader()
- .getResourceAsStream(testFile));
- System.out.println(SPL_URL);
+ public void testEntityExtraction() throws IOException, EngineException {
+ spotsXml = IOUtils.toString(this.getClass().getClassLoader()
+ .getResourceAsStream(testFile));
+ System.out.println(SPL_URL);
+ Collection<Annotation> entities;
+ try {
entities = dbpslight.doPostRequest(TEST_TEXT,
spotsXml,ci.getUri());
- LOG.info("Found entities: {}", entities.size());
- LOG.debug("Entities:\n{}", entities);
- Assert.assertFalse("No entities were found!",
entities.isEmpty());
- } catch (Exception e) {
- Assert.assertFalse("An EngineException occurred! The
message was: "
- + e.getMessage(), true);
- }
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
+ LOG.info("Found entities: {}", entities.size());
+ LOG.debug("Entities:\n{}", entities);
+ Assert.assertFalse("No entities were found!",
entities.isEmpty());
}
+
@Test
public void testCanEnhance() throws EngineException {
assertEquals(ENHANCE_ASYNC, dbpslight.canEnhance(ci));
@@ -149,7 +151,12 @@ public class DBPSpotlightDisambiguateEnh
*/
@Test
public void testEnhancement() throws EngineException {
- dbpslight.computeEnhancements(ci);
+ try {
+ dbpslight.computeEnhancements(ci);
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
HashMap<UriRef,Resource> expectedValues = new
HashMap<UriRef,Resource>();
expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri());
expectedValues.put(Properties.DC_CREATOR,
LiteralFactory.getInstance().createTypedLiteral(
Modified:
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/spot/DBPSpotlightSpotEnhancementTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/spot/DBPSpotlightSpotEnhancementTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/spot/DBPSpotlightSpotEnhancementTest.java
(original)
+++
stanbol/trunk/enhancer/engines/dbpedia-spotlight/src/test/java/org/apache/stanbol/enhancer/engines/dbpspotlight/spot/DBPSpotlightSpotEnhancementTest.java
Wed Oct 3 10:38:56 2012
@@ -45,6 +45,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -96,9 +97,14 @@ public class DBPSpotlightSpotEnhancement
}
@Test
- public void testEntityExtraction() throws Exception {
+ public void testEntityExtraction() throws EngineException {
Collection<SurfaceForm> entities;
- entities = dbpslight.doPostRequest(TEST_TEXT,ci.getUri());
+ try {
+ entities = dbpslight.doPostRequest(TEST_TEXT,ci.getUri());
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
LOG.info("Found entities: {}", entities.size());
LOG.debug("Entities:\n{}", entities);
assertFalse("No entities were found!", entities.isEmpty());
@@ -115,7 +121,12 @@ public class DBPSpotlightSpotEnhancement
*/
@Test
public void testEnhancement() throws EngineException {
- dbpslight.computeEnhancements(ci);
+ try {
+ dbpslight.computeEnhancements(ci);
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
HashMap<UriRef,Resource> expectedValues = new
HashMap<UriRef,Resource>();
expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri());
expectedValues.put(Properties.DC_CREATOR,
LiteralFactory.getInstance().createTypedLiteral(
Modified:
stanbol/trunk/enhancer/engines/geonames/src/test/java/org/apache/stanbol/enhancer/engines/geonames/impl/TestLocationEnhancementEngine.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/geonames/src/test/java/org/apache/stanbol/enhancer/engines/geonames/impl/TestLocationEnhancementEngine.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/geonames/src/test/java/org/apache/stanbol/enhancer/engines/geonames/impl/TestLocationEnhancementEngine.java
(original)
+++
stanbol/trunk/enhancer/engines/geonames/src/test/java/org/apache/stanbol/enhancer/engines/geonames/impl/TestLocationEnhancementEngine.java
Wed Oct 3 10:38:56 2012
@@ -44,6 +44,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.EngineException;
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -129,7 +130,7 @@ public class TestLocationEnhancementEngi
}
@Test
- public void testLocationEnhancementEngine() throws IOException {
+ public void testLocationEnhancementEngine() throws IOException,
EngineException {
//create a content item
ContentItem ci =
getContentItem("urn:org.apache:stanbol.enhancer:text:content-item:person",
CONTEXT);
//add three text annotations to be consumed by this test
@@ -140,18 +141,8 @@ public class TestLocationEnhancementEngi
try {
locationEnhancementEngine.computeEnhancements(ci);
} catch (EngineException e) {
- if (e.getCause() instanceof UnknownHostException) {
- log.warn("Unable to test LocationEnhancemetEngine when
offline! -> skipping this test", e.getCause());
- return;
- } else if (e.getCause() instanceof SocketTimeoutException) {
- log.warn("Seams like the geonames.org webservice is currently
unavailable -> skipping this test", e.getCause());
- return;
- } else if (e.getMessage().contains("overloaded with requests")) {
- log.warn(
- "Seams like the geonames.org webservice is currently
unavailable -> skipping this test",
- e.getCause());
- return;
- }
+ RemoteServiceHelper.checkServiceUnavailable(e, "overloaded with
requests");
+ return;
}
Map<UriRef,Resource> expectedValues = new HashMap<UriRef,Resource>();
expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri());
Modified:
stanbol/trunk/enhancer/engines/opencalais/src/test/java/org/apache/stanbol/enhancer/engines/opencalais/impl/TestOpenCalaisEngine.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/opencalais/src/test/java/org/apache/stanbol/enhancer/engines/opencalais/impl/TestOpenCalaisEngine.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/opencalais/src/test/java/org/apache/stanbol/enhancer/engines/opencalais/impl/TestOpenCalaisEngine.java
(original)
+++
stanbol/trunk/enhancer/engines/opencalais/src/test/java/org/apache/stanbol/enhancer/engines/opencalais/impl/TestOpenCalaisEngine.java
Wed Oct 3 10:38:56 2012
@@ -38,6 +38,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.BeforeClass;
@@ -97,7 +98,13 @@ public class TestOpenCalaisEngine {
Assert.assertNotNull("failed to load resource " + testFile, in);
MGraph model = calaisExtractor.readModel(in, format);
Assert.assertNotNull("model reader failed with format: " + format,
model);
- Collection<CalaisEntityOccurrence> entities =
calaisExtractor.queryModel(model);
+ Collection<CalaisEntityOccurrence> entities;
+ try {
+ entities = calaisExtractor.queryModel(model);
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
LOG.info("Found entities: {}", entities.size());
LOG.debug("Entities:\n{}", entities);
Assert.assertFalse("No entities found!", entities.isEmpty());
@@ -117,22 +124,30 @@ public class TestOpenCalaisEngine {
}
@Test
- public void testCalaisConnection() throws IOException {
+ public void testCalaisConnection() throws IOException, EngineException {
Assume.assumeNotNull(calaisExtractor.getLicenseKey());
+ ContentItem ci = wrapAsContentItem(TEST_TEXT);
+ ci.getMetadata().add(
+ new TripleImpl(ci.getUri(), Properties.DC_LANGUAGE,
LiteralFactory.getInstance()
+ .createTypedLiteral("en")));
+ MGraph model;
+ try {
+ model = calaisExtractor.getCalaisAnalysis(TEST_TEXT, "text/plain");
+ } catch (EngineException e) {
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
+ }
+ Assert.assertNotNull("No model", model);
+ Collection<CalaisEntityOccurrence> entities;
try {
- ContentItem ci = wrapAsContentItem(TEST_TEXT);
- ci.getMetadata().add(
- new TripleImpl(ci.getUri(), Properties.DC_LANGUAGE,
LiteralFactory.getInstance()
- .createTypedLiteral("en")));
- MGraph model = calaisExtractor.getCalaisAnalysis(TEST_TEXT,
"text/plain");
- Assert.assertNotNull("No model", model);
- Collection<CalaisEntityOccurrence> entities =
calaisExtractor.queryModel(model);
- LOG.info("Found entities: {}", entities.size());
- LOG.debug("Entities:\n{}", entities);
- Assert.assertFalse("No entities found!", entities.isEmpty());
+ entities = calaisExtractor.queryModel(model);
} catch (EngineException e) {
- Assert.fail("Connection problem: " + e.getMessage());
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
}
+ LOG.info("Found entities: {}", entities.size());
+ LOG.debug("Entities:\n{}", entities);
+ Assert.assertFalse("No entities found!", entities.isEmpty());
}
// problem with license keys for testing?
Propchange: stanbol/trunk/enhancer/engines/uimalocal-template/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 3 10:38:56 2012
@@ -0,0 +1 @@
+target
Propchange: stanbol/trunk/enhancer/engines/uimaremote/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 3 10:38:56 2012
@@ -0,0 +1 @@
+target
Propchange: stanbol/trunk/enhancer/engines/uimatotriples/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 3 10:38:56 2012
@@ -0,0 +1 @@
+target
Modified:
stanbol/trunk/enhancer/engines/zemanta/src/test/java/org/apache/stanbol/enhancer/engines/zemanta/impl/ZemantaEnhancementEngineTest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/engines/zemanta/src/test/java/org/apache/stanbol/enhancer/engines/zemanta/impl/ZemantaEnhancementEngineTest.java?rev=1393396&r1=1393395&r2=1393396&view=diff
==============================================================================
---
stanbol/trunk/enhancer/engines/zemanta/src/test/java/org/apache/stanbol/enhancer/engines/zemanta/impl/ZemantaEnhancementEngineTest.java
(original)
+++
stanbol/trunk/enhancer/engines/zemanta/src/test/java/org/apache/stanbol/enhancer/engines/zemanta/impl/ZemantaEnhancementEngineTest.java
Wed Oct 3 10:38:56 2012
@@ -40,6 +40,7 @@ import org.apache.stanbol.enhancer.servi
import org.apache.stanbol.enhancer.servicesapi.impl.StringSource;
import org.apache.stanbol.enhancer.servicesapi.rdf.Properties;
import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper;
+import org.apache.stanbol.enhancer.test.helper.RemoteServiceHelper;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -98,16 +99,13 @@ public class ZemantaEnhancementEngineTes
}
@Test
- public void tesetBioText() throws Exception {
+ public void tesetBioText() throws EngineException, IOException {
ContentItem ci = wrapAsContentItem(BIO_DOMAIN_TEXT);
try {
zemantaEngine.computeEnhancements(ci);
} catch (EngineException e) {
- if(e.getCause() != null && e.getCause() instanceof
UnknownHostException){
- log.warn("Zemanta Service not reachable -> offline? ->
deactivate test");
- return;
- }
- throw e;
+ RemoteServiceHelper.checkServiceUnavailable(e);
+ return;
}
JenaSerializerProvider serializer = new JenaSerializerProvider();
serializer.serialize(System.out, ci.getMetadata(), TURTLE);
Added:
stanbol/trunk/enhancer/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/RemoteServiceHelper.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancer/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/RemoteServiceHelper.java?rev=1393396&view=auto
==============================================================================
---
stanbol/trunk/enhancer/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/RemoteServiceHelper.java
(added)
+++
stanbol/trunk/enhancer/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/RemoteServiceHelper.java
Wed Oct 3 10:38:56 2012
@@ -0,0 +1,71 @@
+package org.apache.stanbol.enhancer.test.helper;
+
+import java.io.IOException;
+import java.net.SocketTimeoutException;
+import java.net.UnknownHostException;
+
+import org.apache.stanbol.enhancer.servicesapi.EngineException;
+import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Utility that provides utilities for Unit Tests that need to access remote
+ * services
+ *
+ * @author Rupert Westenthaler
+ *
+ */
+public final class RemoteServiceHelper {
+
+ private static final Logger log =
LoggerFactory.getLogger(RemoteServiceHelper.class);
+
+ private RemoteServiceHelper(){}
+
+
+ /**
+ * Catches {@link IOException}s or {@link EngineException} that are caused
+ * by {@link IOException}s indicating that a remote service is not
available
+ * @param e the Exception to check
+ * @param containedInMessage Optionally an Err
+ * @throws T the parsed Exception if it was not caused by an External
service
+ * that is not available
+ */
+ public static <T extends Exception> void checkServiceUnavailable(T e,
String...containedInMessage) throws T {
+ Throwable check;
+ if(e instanceof EngineException){
+ check = e.getCause(); //check the cuase
+ } else {
+ check = e;
+ }
+ if (check instanceof UnknownHostException) {
+ log.warn("deactivate Test because of "+check.getMessage(), e);
+ return;
+ } else if (check instanceof SocketTimeoutException) {
+ log.warn("deactivate Test because of "+check.getMessage(), e);
+ return;
+ } else if (check instanceof IOException){
+ String message = check.getMessage();
+ //check for typical messates
+ if(message != null && message.contains("Connection refused")) {
+ log.warn("deactivate Test because connection to remote service
was refused (Message: '"
+ +check.getMessage()+"')", e);
+ return;
+ } else if(message.contains("Server returned HTTP response code:
50")){
+ log.warn("deactivate Test because Internal Error of remote
serivce (Message: '"
+ +check.getMessage()+"')", e);
+ return;
+ } else if(containedInMessage != null){
+ for(String contained : containedInMessage){
+ if(message.contains(contained)){
+ log.warn("deactivate Test because IOException of
remote Service contained '"
+ + contained+"' (Message:
'"+check.getMessage()+"')", e);
+ return;
+ }
+ }
+ }
+ }
+ throw e;
+ }
+
+}