You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2012/10/30 23:46:41 UTC

svn commit: r1403907 [3/3] - in /stanbol/branches/disambiguation-engine: ./ benchmark/ bundlelist/ bundlelist/src/main/bundles/ chain/ chain/allactive/ chain/allactive/src/license/ chain/graph/ chain/graph/src/license/ chain/graph/src/main/java/org/apa...

Modified: stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItem.java
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItem.java?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItem.java (original)
+++ stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItem.java Tue Oct 30 22:46:38 2012
@@ -17,10 +17,11 @@
 package org.apache.stanbol.enhancer.servicesapi;
 
 import java.io.InputStream;
+import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 
+import org.apache.clerezza.rdf.core.MGraph;
 import org.apache.clerezza.rdf.core.UriRef;
-import org.apache.clerezza.rdf.core.access.LockableMGraph;
 
 /**
  * A unit of content that Stanbol Enhancer can enhance.
@@ -51,12 +52,13 @@ public interface ContentItem {
     /**
      * Read/write lock used to synchronise access to the {@link #getMetadata()
      * metadata} and the content parts of this content item.<p>
-     * The lock used by the {@link LockableMGraph#getLock()} MUST BE the same
-     * as the lock returned by this Instance. This is to avoid deadlocks when
-     * using a lock while iterating over the {@link #getMetadata() metadata} and
-     * simultaneously accessing the content parts. In other words
-     * calling <code> contentItem.getLock() == contentItem.getMetadata().getLock()</code>
-     * MUST BE <code>true</code>
+     * The lock needs to be used for reading and writing information from/to
+     * the ContentItem. In case the {@link MGraph} retured by {@link #getMetadata()}
+     * is an instanceof used by the {@link org.apache.clerezza.rdf.core.access.LockableMGraph}
+     * the {@link Lock} returned by this mehtod is the same as used by the
+     * metadata.This is to avoid deadlocks when using a lock while iterating over 
+     * the {@link #getMetadata() metadata} and simultaneously accessing the content 
+     * parts.
      *  
      * @return the lock used for the content parts and the {@link LockableMGraph}
      * containing the metadata of this content item.
@@ -64,7 +66,7 @@ public interface ContentItem {
     ReadWriteLock getLock();
     
     /** Optional metadata */
-    LockableMGraph getMetadata();
+    MGraph getMetadata();
     
     /**
      * The main content of this content item

Modified: stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItemFactory.java
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItemFactory.java?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItemFactory.java (original)
+++ stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/ContentItemFactory.java Tue Oct 30 22:46:38 2012
@@ -23,7 +23,6 @@ import java.io.OutputStream;
 import org.apache.clerezza.rdf.core.MGraph;
 import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
-import org.apache.stanbol.enhancer.servicesapi.helper.ContentItemHelper;
 
 /**
  * OSGI service to be used to create {@link ContentItem}s and Blobs.
@@ -54,7 +53,7 @@ public interface ContentItemFactory {
      * Note the only a generated ID will be added to the passed prefix. So passed
      * values should typically end with an separator char (e.g. '/', '#', ':').
      * Implementors might want to use
-     * {@link ContentItemHelper#streamDigest(InputStream, java.io.OutputStream, String)
+     * {@link org.apache.stanbol.enhancer.servicesapi.helper.ContentItemHelper#streamDigest(InputStream, java.io.OutputStream, String)
      * for generating an ID while reading the data from the ContentSource.
      * @param source The content source
      * @return the {@link ContentItem} with a generated id and the passed

Modified: stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/helper/ExecutionPlanHelper.java
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/helper/ExecutionPlanHelper.java?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/helper/ExecutionPlanHelper.java (original)
+++ stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/helper/ExecutionPlanHelper.java Tue Oct 30 22:46:38 2012
@@ -57,9 +57,13 @@ import org.apache.stanbol.enhancer.servi
 import org.apache.stanbol.enhancer.servicesapi.ServiceProperties;
 import org.apache.stanbol.enhancer.servicesapi.impl.EnginesTracker;
 import org.apache.stanbol.enhancer.servicesapi.rdf.ExecutionPlan;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public final class ExecutionPlanHelper {
     
+    private final static Logger log = LoggerFactory.getLogger(ExecutionPlanHelper.class);
+    
     private static LiteralFactory lf = LiteralFactory.getInstance();
     
     private ExecutionPlanHelper(){/* Do not allow instances of utility classes*/}
@@ -184,7 +188,14 @@ public final class ExecutionPlanHelper {
                 current = new HashSet<NonLiteral>();
                 prevOrder = order;
             }
-            current.add(writeExecutionNode(ep, epNode, name, optional.contains(name), prev));
+            try {
+                current.add(writeExecutionNode(ep, epNode, name, optional.contains(name), prev));
+            } catch (RuntimeException e){
+                //add the engine and class to ease debugging in such cases
+                log.error("Exception while writing ExecutionNode for Enhancement Eninge: "
+                    + engine +"(class: "+engine.getClass()+")",e);
+                throw e; //rethrow it
+            }
         }
         return ep.getGraph();
     }

Modified: stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/resources/fise.owl
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/resources/fise.owl?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/resources/fise.owl (original)
+++ stanbol/branches/disambiguation-engine/generic/servicesapi/src/main/resources/fise.owl Tue Oct 30 22:46:38 2012
@@ -1,4 +1,20 @@
 <?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
 <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"

Propchange: stanbol/branches/disambiguation-engine/generic/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Oct 30 22:46:38 2012
@@ -0,0 +1,2 @@
+/incubator/stanbol/trunk/enhancer/generic/test:1377975-1388016
+/stanbol/trunk/enhancer/generic/test:1388017-1403643

Modified: stanbol/branches/disambiguation-engine/generic/test/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/test/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/test/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/generic/test/pom.xml Tue Oct 30 22:46:38 2012
@@ -23,13 +23,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-    <version>0.10.0-incubating-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <relativePath>../../parent</relativePath>
   </parent>
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.test</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>jar</packaging>
 
   <name>Apache Stanbol Enhancer Test framework</name>
@@ -40,12 +40,12 @@
 
     <scm>
         <connection>
-            scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/generic/test/
+            scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/generic/test/
         </connection>
         <developerConnection>
-            scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/generic/test/
+            scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/generic/test/
         </developerConnection>
-        <url>http://incubator.apache.org/stanbol/</url>
+        <url>http://stanbol.apache.org/</url>
     </scm>
 
   <build>
@@ -74,7 +74,7 @@
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>

Modified: stanbol/branches/disambiguation-engine/generic/test/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/test/src/license/THIRD-PARTY.properties?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/test/src/license/THIRD-PARTY.properties (original)
+++ stanbol/branches/disambiguation-engine/generic/test/src/license/THIRD-PARTY.properties Tue Oct 30 22:46:38 2012
@@ -18,7 +18,7 @@
 # Please fill the missing licenses for dependencies :
 #
 #
-#Mon Apr 09 10:44:04 CEST 2012
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+#Sun Oct 07 16:00:11 CEST 2012
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
 org.osgi--org.osgi.compendium--4.1.0=Apache Software License, Version 2.0
 org.osgi--org.osgi.core--4.1.0=Apache Software License, Version 2.0

Modified: stanbol/branches/disambiguation-engine/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/EnhancementStructureHelper.java
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/EnhancementStructureHelper.java?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/EnhancementStructureHelper.java (original)
+++ stanbol/branches/disambiguation-engine/generic/test/src/main/java/org/apache/stanbol/enhancer/test/helper/EnhancementStructureHelper.java Tue Oct 30 22:46:38 2012
@@ -1,3 +1,19 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
 package org.apache.stanbol.enhancer.test.helper;
 
 import static org.apache.stanbol.enhancer.servicesapi.rdf.OntologicalClasses.DBPEDIA_ORGANISATION;
@@ -319,10 +335,16 @@ public class EnhancementStructureHelper 
         // check if the relation to the text annotation is set
         assertTrue(relationToTextAnnotationIterator.hasNext());
         while (relationToTextAnnotationIterator.hasNext()) {
-            // test if the referred annotations are text annotations
+            // test if the referred annotations are text annotations or
+            // the referenced annotations is a fise:EntityAnnotation AND also a
+            // dc:requires link is defined (STANBOL-766)
             UriRef referredTextAnnotation = (UriRef) relationToTextAnnotationIterator.next().getObject();
-            assertTrue(enhancements.filter(referredTextAnnotation, RDF_TYPE,
-                    ENHANCER_TEXTANNOTATION).hasNext());
+            assertTrue("fise:EntityAnnotations MUST BE dc:related to a fise:TextAnnotation OR dc:requires and dc:related to the same fise:EntityAnnotation",
+                enhancements.filter(referredTextAnnotation, RDF_TYPE,
+                    ENHANCER_TEXTANNOTATION).hasNext() || (
+                enhancements.filter(referredTextAnnotation, RDF_TYPE,
+                    ENHANCER_ENTITYANNOTATION).hasNext() && 
+                    enhancements.filter(entityAnnotation, Properties.DC_REQUIRES, referredTextAnnotation).hasNext()));
         }
 
         // test if an entity is referred
@@ -420,7 +442,8 @@ public class EnhancementStructureHelper 
             XSD.dateTime.equals(((TypedLiteral)createdResource).getDataType()));
         Date creationDate = LiteralFactory.getInstance().createObject(Date.class, (TypedLiteral)createdResource);
         assertNotNull("Unable to convert "+createdResource+" to a Java Date object",creationDate);
-        assertTrue("CreationDate MUST NOT be in the Future",new Date().after(creationDate));
+        Date now = new Date();
+        assertTrue("CreationDate MUST NOT be in the Future",now.after(creationDate) || now.equals(creationDate));
         assertFalse("Only a single createnDate MUST BE present", createdIterator.hasNext());
         //validate optional modification date if present
         Iterator<Triple> modDateIterator = enhancements.filter(enhancement, DCTERMS.modified, null);

Modified: stanbol/branches/disambiguation-engine/jersey/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jersey/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jersey/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/jersey/pom.xml Tue Oct 30 22:46:38 2012
@@ -22,13 +22,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-    <version>0.10.0-incubating-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <relativePath>../parent/pom.xml</relativePath>
   </parent>
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.jersey</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <name>Apache Stanbol Enhancer Web (Jersey)</name>
@@ -36,12 +36,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jersey/
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jersey/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jersey/
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jersey/
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
 
   <build>
@@ -91,7 +91,7 @@
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.stanbol</groupId>
@@ -202,7 +202,7 @@
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.core</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>

Propchange: stanbol/branches/disambiguation-engine/jobmanager/event/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Oct 30 22:46:38 2012
@@ -0,0 +1,2 @@
+/incubator/stanbol/trunk/enhancer/jobmanager/event:1377975-1388016
+/stanbol/trunk/enhancer/jobmanager/event:1388017-1403643

Modified: stanbol/branches/disambiguation-engine/jobmanager/event/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jobmanager/event/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jobmanager/event/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/jobmanager/event/pom.xml Tue Oct 30 22:46:38 2012
@@ -23,13 +23,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-    <version>0.10.0-incubating-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <relativePath>../../parent</relativePath>
   </parent>
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.eventjobmanager</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <name>Apache Stanbol Enhancer Event Jobmanager</name>
@@ -43,12 +43,12 @@
 
     <scm>
         <connection>
-            scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jobmanager/event/
+            scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jobmanager/event/
         </connection>
         <developerConnection>
-            scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jobmanager/event/
+            scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jobmanager/event/
         </developerConnection>
-        <url>http://incubator.apache.org/stanbol/</url>
+        <url>http://stanbol.apache.org/</url>
     </scm>
 
   <build>
@@ -59,6 +59,10 @@
         <extensions>true</extensions>
         <configuration>
           <instructions>
+            <Import-Package>
+              org.apache.stanbol.enhancer.servicesapi; provide:=true; version="[0.9.0,0.11)",
+              *
+            </Import-Package>
             <Export-Package>
               org.apache.stanbol.enhancer.jobmanager.event;version=${project.version}
             </Export-Package>

Modified: stanbol/branches/disambiguation-engine/jobmanager/event/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jobmanager/event/src/license/THIRD-PARTY.properties?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jobmanager/event/src/license/THIRD-PARTY.properties (original)
+++ stanbol/branches/disambiguation-engine/jobmanager/event/src/license/THIRD-PARTY.properties Tue Oct 30 22:46:38 2012
@@ -1,17 +1,24 @@
 # Generated by org.codehaus.mojo.license.AddThirdPartyMojo
 #-------------------------------------------------------------------------------
 # Already used licenses in project :
-# - Apache License
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
 # - ICU License
 # - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
 #-------------------------------------------------------------------------------
 # Please fill the missing licenses for dependencies :
 #
 #
-#Wed Feb 15 19:01:55 CET 2012
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+#Sun Oct 07 16:06:06 CEST 2012
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
 org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
 org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0

Modified: stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java (original)
+++ stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java Tue Oct 30 22:46:38 2012
@@ -25,13 +25,11 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Dictionary;
-import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
 import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -40,13 +38,14 @@ import org.apache.clerezza.rdf.core.NonL
 import org.apache.stanbol.enhancer.servicesapi.EngineException;
 import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine;
 import org.apache.stanbol.enhancer.servicesapi.EnhancementEngineManager;
-import org.apache.stanbol.enhancer.servicesapi.helper.ExecutionPlanHelper;
 import org.osgi.service.event.Event;
 import org.osgi.service.event.EventAdmin;
 import org.osgi.service.event.EventHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.ibm.icu.lang.UCharacter.SentenceBreak;
+
 public class EnhancementJobHandler implements EventHandler {
 
     private EnhancementEngineManager engineManager;
@@ -69,7 +68,7 @@ public class EnhancementJobHandler imple
      * contentItems and the values are the objects used to interrupt the 
      * requesting thread as soon as the enhancement process has finished. 
      */
-    private Map<EnhancementJob,Object> processingJobs;
+    private Map<EnhancementJob,EnhancementJobObserver> processingJobs;
     private final ReadWriteLock processingLock = new ReentrantReadWriteLock();
     private Thread observerDaemon;
     
@@ -85,11 +84,11 @@ public class EnhancementJobHandler imple
         this.engineManager = engineManager;
         processingLock.writeLock().lock();
         try {
-            processingJobs = new LinkedHashMap<EnhancementJob,Object>();
+            processingJobs = new LinkedHashMap<EnhancementJob,EnhancementJobObserver>();
         } finally{
             processingLock.writeLock().unlock();
         }
-        observerDaemon = new Thread(new EnhancementJobObserver());
+        observerDaemon = new Thread(new EnhancementJobObserverDaemon());
         observerDaemon.setName("Event Job Manager Observer Daemon");
         observerDaemon.setDaemon(true);
         observerDaemon.start();
@@ -134,19 +133,19 @@ public class EnhancementJobHandler imple
      * @return An object that will get {@link Object#notifyAll()} as soon as
      * {@link EnhancementJob#isFinished()} or this instance is deactivated
      */
-    public Object register(EnhancementJob enhancementJob){
+    public EnhancementJobObserver register(EnhancementJob enhancementJob){
         final boolean init;
-        Object o;
+        EnhancementJobObserver observer;
         processingLock.writeLock().lock();
         try {
             if(enhancementJob == null || processingJobs == null){
                 return null;
             }
-            o = processingJobs.get(enhancementJob);
-            if(o == null){
-                o = new Object();
-                logJobInfo(enhancementJob, "Add EnhancementJob:");
-                processingJobs.put(enhancementJob, o);
+            observer = processingJobs.get(enhancementJob);
+            if(observer == null){
+                observer = new EnhancementJobObserver(enhancementJob);
+                logJobInfo(log, enhancementJob, "Add EnhancementJob:",false);
+                processingJobs.put(enhancementJob, observer);
                 init = true;
             } else {
                 init = false;
@@ -155,6 +154,7 @@ public class EnhancementJobHandler imple
             processingLock.writeLock().unlock();
         }
         if(init){
+            observer.acquire();
             enhancementJob.startProcessing();
             log.debug("++ w: {}","init execution");
             enhancementJob.getLock().writeLock().lock();
@@ -166,7 +166,7 @@ public class EnhancementJobHandler imple
                 enhancementJob.getLock().writeLock().unlock();
             }
         }
-        return o;
+        return observer;
     }
 
     @Override
@@ -283,18 +283,21 @@ public class EnhancementJobHandler imple
      */
     private void finish(EnhancementJob job){
         processingLock.writeLock().lock();
-        Object o;
+        EnhancementJobObserver observer;
         try {
-            o = processingJobs.remove(job);
+            observer = processingJobs.remove(job);
         } finally {
             processingLock.writeLock().unlock();
         }
-        if(o != null) {
-            synchronized (o) {
-                logJobInfo(job, "Finished EnhancementJob:");
+        if(observer != null) {
+            try {
+                logJobInfo(log, job, "Finished EnhancementJob:",false);
                 log.debug("++ n: finished processing ContentItem {} with Chain {}",
                     job.getContentItem().getUri(),job.getChainName());
-                o.notifyAll();
+            } finally {
+                //release the semaphore to send signal to the EventJobManager waiting
+                //for the results
+                observer.release();
             }
         } else {
             log.warn("EnhancementJob for ContentItem {} is not " +
@@ -335,15 +338,16 @@ public class EnhancementJobHandler imple
      * Logs basic infos about the Job as INFO and detailed infos as DEBUG
      * @param job
      */
-    protected void logJobInfo(EnhancementJob job, String header) {
+    protected static void logJobInfo(Logger log, EnhancementJob job, String header, boolean logExecutions) {
         if(header != null){
             log.info(header);
         }
-        log.info("   state: {}",job.isFinished()?"finished":job.isFailed()?"failed":"processing");
-        log.info("   chain: {}",job.getChainName());
+        log.info("   finished:     {}",job.isFinished());
+        log.info("   state:        {}",job.isFailed()?"failed":"processing");
+        log.info("   chain:        {}",job.getChainName());
         log.info("   content-item: {}", job.getContentItem().getUri());
-        log.debug("   executions:");
-        if(log.isDebugEnabled()){
+        if(logExecutions){
+            log.info("  executions:");
             for(NonLiteral completedExec : job.getCompleted()){
                 log.info("    - {} completed",getEngine(job.getExecutionMetadata(), 
                     job.getExecutionNode(completedExec)));
@@ -354,16 +358,87 @@ public class EnhancementJobHandler imple
             }
         }
     }
+    public class EnhancementJobObserver{
+        
+        private static final int MIN_WAIT_TIME = 500;
+        private final EnhancementJob enhancementJob;
+        private final Semaphore semaphore;
+        
+        private EnhancementJobObserver(EnhancementJob job){
+            if(job == null){
+                throw new IllegalArgumentException("The parsed EnhancementJob MUST NOT be NULL!");
+            }
+            this.enhancementJob = job;
+            this.semaphore = new Semaphore(1);
+        }
+
+        protected void acquire() {
+            try {
+                semaphore.acquire();
+            } catch (InterruptedException e) {
+                log.warn("Interrupted while acquireing Semaphore for EnhancementJob "
+                        + enhancementJob + "!",e);
+            }
+        }
+        
+        protected void release() {
+            semaphore.release();
+        }
+
+        public boolean hasCompleted() {
+            enhancementJob.getLock().readLock().lock();
+            try {
+                return enhancementJob.isFinished();
+            } finally {
+                enhancementJob.getLock().readLock().unlock();
+            }
+        }
+
+        public void waitForCompletion(int maxEnhancementJobWaitTime) {
+            if(semaphore.availablePermits() < 1){
+                // The only permit is taken by the EnhancementJobHander
+                try {
+                    semaphore.tryAcquire(1,
+                        Math.max(MIN_WAIT_TIME, maxEnhancementJobWaitTime),TimeUnit.MILLISECONDS);
+                } catch (InterruptedException e) {
+                    //interupted
+                }
+            } else if(!hasCompleted()){
+                int wait = Math.max(100, maxEnhancementJobWaitTime/10);
+                log.warn("Unexpected permit available for Semaphore of "
+                    + "EnhancementJob of ContentItem {}. Fallback to wait({})"
+                    + "for detecting if Job has finished. While the fallback "
+                    + "should ensure correct Enhancement results this indicates a "
+                    + "Bug in the EventHobManager. Please feel free to report "
+                    + "This on dev@stanbol.apache.org or the Apache Stanbol "
+                    + "Issue Tracker.",enhancementJob.getContentItem().getUri(),wait);
+                try {
+                    Thread.currentThread().wait(wait);
+                } catch (InterruptedException e) {
+                    //interupted
+                }
+            }// else completed
+        }
+        
+    }
+    
+    
     /**
      * Currently only used to debug the number of currently registered
      * Enhancements Jobs (if there are some)
      * @author Rupert Westenthaler
      */
-    private class EnhancementJobObserver implements Runnable {
+    private class EnhancementJobObserverDaemon implements Runnable {
 
+        /**
+         * The logger of the Observer. Can be used to configure Loglevel specificly
+         * 
+         */
+        private Logger observerLog = LoggerFactory.getLogger(EnhancementJobObserverDaemon.class);
+        
         @Override
         public void run() {
-            log.debug(" ... init EnhancementJobObserver");
+            observerLog.debug(" ... init EnhancementJobObserver");
             while(processingJobs != null){
                 try {
                     Thread.sleep(10000);
@@ -382,13 +457,13 @@ public class EnhancementJobHandler imple
                     readLock.unlock();
                 }
                 if(!jobs.isEmpty()){
-                    log.info(" -- {} active Enhancement Jobs",jobs.size());
-                    if(log.isDebugEnabled()){
+                    observerLog.info(" -- {} active Enhancement Jobs",jobs.size());
+                    if(observerLog.isDebugEnabled()){
                         for(EnhancementJob job : jobs){
                             Lock jobLock = job.getLock().readLock();
                             jobLock.lock();
                             try {
-                                logJobInfo(job,null);
+                                logJobInfo(observerLog,job,null,true);
                             } finally {
                                 jobLock.unlock();
                             }

Modified: stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EventJobManagerImpl.java
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EventJobManagerImpl.java?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EventJobManagerImpl.java (original)
+++ stanbol/branches/disambiguation-engine/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EventJobManagerImpl.java Tue Oct 30 22:46:38 2012
@@ -21,6 +21,7 @@ import static org.apache.stanbol.enhance
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.List;
+import java.util.concurrent.Semaphore;
 
 import org.apache.clerezza.rdf.core.Graph;
 import org.apache.felix.scr.annotations.Activate;
@@ -30,6 +31,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.enhancer.jobmanager.event.impl.EnhancementJobHandler.EnhancementJobObserver;
 import org.apache.stanbol.enhancer.servicesapi.Chain;
 import org.apache.stanbol.enhancer.servicesapi.ChainException;
 import org.apache.stanbol.enhancer.servicesapi.ChainManager;
@@ -58,6 +60,8 @@ public class EventJobManagerImpl impleme
     private final Logger log = LoggerFactory.getLogger(EventJobManagerImpl.class);
     
     public static final int DEFAULT_SERVICE_RANKING = 0;
+
+    private static final int MAX_ENHANCEMENT_JOB_WAIT_TIME = 10*1000;
     
     @Reference
     protected ChainManager chainManager;
@@ -127,16 +131,10 @@ public class EventJobManagerImpl impleme
         EnhancementJob job = new EnhancementJob(ci, chain.getName(), chain.getExecutionPlan(),isDefaultChain);
         //start the execution
         //wait for the results
-        Object object = jobHandler.register(job);
-        while(!job.isFinished() & jobHandler != null){
-            synchronized (object) {
-                try {
-                    object.wait();
-                } catch (InterruptedException e) {
-                    log.debug("Interupped for EnhancementJob if ContentItem {}",
-                        job.getContentItem().getUri());
-                }
-            }
+        EnhancementJobObserver observer = jobHandler.register(job);
+        //TODO: allow configuring a max completion time (e.g. 1min)
+        while(!observer.hasCompleted() & jobHandler != null){
+            observer.waitForCompletion(MAX_ENHANCEMENT_JOB_WAIT_TIME);
         }
         log.info("{} EnhancementJob for ContentItem {} after {}ms",
             new Object[]{ job.isFailed() ? "Failed" : "Finished",
@@ -148,7 +146,12 @@ public class EventJobManagerImpl impleme
         //      RESTful interface of the Enhancer!
         //ci.getMetadata().addAll(job.getExecutionMetadata());
         if(job.isFailed()){
-            throw new ChainException(job.getErrorMessage(), job.getError());
+        	Exception e = job.getError();
+        	if (e instanceof SecurityException) {
+        		throw (SecurityException)e;
+        	} else {
+        		throw new ChainException(job.getErrorMessage(), e);
+        	}
         }
         if(!job.isFinished()){
             throw new ChainException("EnhancementJobManager was deactivated while" +

Modified: stanbol/branches/disambiguation-engine/jobmanager/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jobmanager/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jobmanager/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/jobmanager/pom.xml Tue Oct 30 22:46:38 2012
@@ -22,7 +22,7 @@
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.jobmanager.reactor</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Apache Stanbol Enhancer JobManager Reactor</name>
@@ -33,12 +33,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jobmanager
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jobmanager
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jobmanager
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jobmanager
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
 
   <modules>

Modified: stanbol/branches/disambiguation-engine/jobmanager/weightedjobmanager/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/jobmanager/weightedjobmanager/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/jobmanager/weightedjobmanager/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/jobmanager/weightedjobmanager/pom.xml Tue Oct 30 22:46:38 2012
@@ -23,13 +23,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-    <version>0.10.0-incubating-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <relativePath>../../parent</relativePath>
   </parent>
   
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.weightedjobmanager</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
   
   <name>Apache Stanbol Enhancer Weighted Job Manager</name>
@@ -42,12 +42,12 @@
   
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jobmanager/weightedjobmanager/
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jobmanager/weightedjobmanager/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/jobmanager/weightedjobmanager/
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/jobmanager/weightedjobmanager/
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
   
   <build>

Modified: stanbol/branches/disambiguation-engine/ldpath/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/ldpath/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/ldpath/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/ldpath/pom.xml Tue Oct 30 22:46:38 2012
@@ -22,13 +22,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-    <version>0.10.0-incubating-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <relativePath>../parent/pom.xml</relativePath>
   </parent>
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.ldpath</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <name>Apache Stanbol Enhancer LDPath</name>
@@ -36,12 +36,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/ldpath/
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/ldpath/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/ldpath/
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/ldpath/
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
 
   <build>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.stanbol</groupId>
@@ -130,7 +130,7 @@
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.core</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: stanbol/branches/disambiguation-engine/parent/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/parent/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/parent/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/parent/pom.xml Tue Oct 30 22:46:38 2012
@@ -22,13 +22,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>stanbol-parent</artifactId>
-    <version>2-incubating-SNAPSHOT</version>
+    <version>2-SNAPSHOT</version>
     <relativePath>../../parent</relativePath>
   </parent>
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Apache Stanbol Enhancer Parent POM</name>
@@ -38,12 +38,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/parent/
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/parent/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/parent/
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/parent/
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
 
   <build>

Modified: stanbol/branches/disambiguation-engine/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/pom.xml Tue Oct 30 22:46:38 2012
@@ -29,7 +29,7 @@
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.reactor</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Apache Stanbol Enhancer Reactor</name>
@@ -40,12 +40,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
 
   <modules>

Modified: stanbol/branches/disambiguation-engine/topic-web/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/branches/disambiguation-engine/topic-web/pom.xml?rev=1403907&r1=1403906&r2=1403907&view=diff
==============================================================================
--- stanbol/branches/disambiguation-engine/topic-web/pom.xml (original)
+++ stanbol/branches/disambiguation-engine/topic-web/pom.xml Tue Oct 30 22:46:38 2012
@@ -17,13 +17,13 @@
   <parent>
     <groupId>org.apache.stanbol</groupId>
     <artifactId>org.apache.stanbol.enhancer.parent</artifactId>
-    <version>0.10.0-incubating-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
   </parent>
 
   <groupId>org.apache.stanbol</groupId>
   <artifactId>org.apache.stanbol.enhancer.web.topic</artifactId>
-  <version>0.10.0-incubating-SNAPSHOT</version>
+  <version>0.10.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <name>Apache Stanbol Enhancer Topic Classification - Web API</name>
@@ -36,12 +36,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/topic-web/
+      scm:svn:http://svn.apache.org/repos/asf/stanbol/trunk/enhancer/topic-web/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/topic-web/
+      scm:svn:https://svn.apache.org/repos/asf/stanbol/trunk/enhancer/topic-web/
     </developerConnection>
-    <url>http://incubator.apache.org/stanbol/</url>
+    <url>http://stanbol.apache.org/</url>
   </scm>
 
   <build>
@@ -80,17 +80,17 @@
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.commons.web.base</artifactId>
-      <version>0.10.1-incubating-SNAPSHOT</version>
+      <version>0.10.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.stanbol</groupId>
       <artifactId>org.apache.stanbol.enhancer.engine.topic</artifactId>
-      <version>0.10.0-incubating-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
     </dependency>
     
     <dependency>