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;
+    }
+    
+}


Reply via email to