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 2013/12/17 15:32:31 UTC

svn commit: r1551552 - in /stanbol/trunk/enhancer: chain/allactive/src/main/java/org/apache/stanbol/enhancer/chain/allactive/impl/ chain/weighted/src/main/java/org/apache/stanbol/enhancer/chain/weighted/impl/ generic/core/src/main/java/org/apache/stanb...

Author: rwesten
Date: Tue Dec 17 14:32:31 2013
New Revision: 1551552

URL: http://svn.apache.org/r1551552
Log:
STANBOL-1238: This reverts all changes committed related to this issue. Adds open() call to the ChainRootResource and EnhancementEnginesRootResource that are necessary after this revert.

Modified:
    stanbol/trunk/enhancer/chain/allactive/src/main/java/org/apache/stanbol/enhancer/chain/allactive/impl/AllActiveEnginesChain.java
    stanbol/trunk/enhancer/chain/weighted/src/main/java/org/apache/stanbol/enhancer/chain/weighted/impl/WeightedChain.java
    stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/chainmanager/impl/ChainManagerImpl.java
    stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/enginemanager/impl/EnhancementEngineManagerImpl.java
    stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/ChainsTracker.java
    stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/EnginesTracker.java
    stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/NameBasedServiceTrackingState.java
    stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/ChainsRootResource.java
    stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnhancementEnginesRootResource.java

Modified: stanbol/trunk/enhancer/chain/allactive/src/main/java/org/apache/stanbol/enhancer/chain/allactive/impl/AllActiveEnginesChain.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/chain/allactive/src/main/java/org/apache/stanbol/enhancer/chain/allactive/impl/AllActiveEnginesChain.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/chain/allactive/src/main/java/org/apache/stanbol/enhancer/chain/allactive/impl/AllActiveEnginesChain.java (original)
+++ stanbol/trunk/enhancer/chain/allactive/src/main/java/org/apache/stanbol/enhancer/chain/allactive/impl/AllActiveEnginesChain.java Tue Dec 17 14:32:31 2013
@@ -79,6 +79,7 @@ public class AllActiveEnginesChain imple
         this.tracker = new EnginesTracker(context, 
             trackAll, //empty set to track all engines
             this);
+        this.tracker.open();
     }
         
     /**

Modified: stanbol/trunk/enhancer/chain/weighted/src/main/java/org/apache/stanbol/enhancer/chain/weighted/impl/WeightedChain.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/chain/weighted/src/main/java/org/apache/stanbol/enhancer/chain/weighted/impl/WeightedChain.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/chain/weighted/src/main/java/org/apache/stanbol/enhancer/chain/weighted/impl/WeightedChain.java (original)
+++ stanbol/trunk/enhancer/chain/weighted/src/main/java/org/apache/stanbol/enhancer/chain/weighted/impl/WeightedChain.java Tue Dec 17 14:32:31 2013
@@ -140,6 +140,7 @@ public class WeightedChain extends Abstr
         }
         //start tracking the engines of the configured chain
         tracker = new EnginesTracker(ctx.getBundleContext(), chain.keySet(),this);
+        tracker.open();
     }
 
     @Override

Modified: stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/chainmanager/impl/ChainManagerImpl.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/chainmanager/impl/ChainManagerImpl.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/chainmanager/impl/ChainManagerImpl.java (original)
+++ stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/chainmanager/impl/ChainManagerImpl.java Tue Dec 17 14:32:31 2013
@@ -42,6 +42,7 @@ public class ChainManagerImpl extends Ch
     @Activate
     public void activate(ComponentContext ctx){
         initChainTracker(ctx.getBundleContext(), null, null);
+        open();
     }
     @Deactivate
     public void deactivate(ComponentContext ctx){

Modified: stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/enginemanager/impl/EnhancementEngineManagerImpl.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/enginemanager/impl/EnhancementEngineManagerImpl.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/enginemanager/impl/EnhancementEngineManagerImpl.java (original)
+++ stanbol/trunk/enhancer/generic/core/src/main/java/org/apache/stanbol/enhancer/enginemanager/impl/EnhancementEngineManagerImpl.java Tue Dec 17 14:32:31 2013
@@ -42,6 +42,7 @@ public class EnhancementEngineManagerImp
     @Activate
     public void activate(ComponentContext ctx){
         initEngineTracker(ctx.getBundleContext(), null, null);
+        open();
     }
     @Deactivate
     public void deactivate(ComponentContext ctx){

Modified: stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/ChainsTracker.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/ChainsTracker.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/ChainsTracker.java (original)
+++ stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/ChainsTracker.java Tue Dec 17 14:32:31 2013
@@ -64,10 +64,6 @@ public class ChainsTracker implements Ch
     private Set<String> trackedChains;
 
     private NameBasedServiceTrackingState nameTracker;
-
-    private boolean initialised;
-
-    private boolean open;
     /**
      * Protected constructor intended to be used by subclasses that do not want
      * to compete the initialisation as part of construction(e.g.
@@ -150,7 +146,7 @@ public class ChainsTracker implements Ch
      */
     protected void initChainTracker(BundleContext context, Set<String> chainNames, ServiceTrackerCustomizer customiser) {
         if(nameTracker != null){ //if we re-initialise
-            close(); //call close first
+            nameTracker.close(); //try to close the current ServiceTracker
         }
         if(context == null){
             throw new IllegalStateException("Unable to initialise tracking if NULL is parsed as Bundle Context!");
@@ -199,31 +195,17 @@ public class ChainsTracker implements Ch
                         "parsed chain names "+trackedChains,e);
             }
         }
-        initialised = true;
     }
     /**
-     * getter for the NameTracker. Starts tracking on the first call
+     * Starts tracking based on the configuration parsed in the constructor
      */
-    private NameBasedServiceTrackingState getNameTracker(){
-        if(!initialised){
-            throw new IllegalStateException("ChainTracker is not initialised or already closed!");
-        }
-        if(!open){
-            synchronized (this) {
-                if(!open){
-                    nameTracker.open();
-                    open = true;
-                }
-            }
-        }
-        return nameTracker;
+    public void open(){
+        nameTracker.open();
     }
     /**
      * Closes this tracker
      */
     public void close(){
-        open = false;
-        initialised = false;
         nameTracker.close();
         nameTracker = null;
     }
@@ -249,7 +231,7 @@ public class ChainsTracker implements Ch
             throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty");
         }
         if(trackedChains.isEmpty() || trackedChains.contains(name)){
-            return getNameTracker().getReference(name);
+            return nameTracker.getReference(name);
         } else {
             throw new IllegalArgumentException("The Chain with the parsed name '"+
                 name+"' is not tracked (tracked: "+trackedChains+")!");
@@ -264,7 +246,7 @@ public class ChainsTracker implements Ch
         if(name == null || name.isEmpty()){
             throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty");
         }
-        return getNameTracker().getReference(name) != null;
+        return nameTracker.getReference(name) != null;
     }
     /*
      * (non-Javadoc)
@@ -276,7 +258,7 @@ public class ChainsTracker implements Ch
             throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty");
         }
         if(trackedChains.isEmpty() || trackedChains.contains(name)){
-            List<ServiceReference> refs = getNameTracker().getReferences(name);
+            List<ServiceReference> refs = nameTracker.getReferences(name);
             if(refs == null){
                 refs = Collections.emptyList();
             }
@@ -292,7 +274,7 @@ public class ChainsTracker implements Ch
      */
     @Override
     public Set<String> getActiveChainNames(){
-        return getNameTracker().getNames();
+        return nameTracker.getNames();
     }
     /**
      * Getter for the map with the names and the {@link ServiceReference} of the 
@@ -301,7 +283,7 @@ public class ChainsTracker implements Ch
      * currently active and tracked chains
      */
     public Map<String,ServiceReference> getActiveChainReferences(){
-        return getNameTracker().getActive();
+        return nameTracker.getActive();
     }
     /*
      * (non-Javadoc)
@@ -310,14 +292,14 @@ public class ChainsTracker implements Ch
     @Override
     public Chain getChain(String name){
         ServiceReference ref = getReference(name);
-        return ref == null ? null : (Chain)getNameTracker().getService(ref);
+        return ref == null ? null : (Chain)nameTracker.getService(ref);
     }
     /*
      * (non-Javadoc)
      * @see org.apache.stanbol.enhancer.servicesapi.ChainManager#getChain(org.osgi.framework.ServiceReference)
      */
     public Chain getChain(ServiceReference chainReference){
-        return (Chain)getNameTracker().getService(chainReference);
+        return (Chain)nameTracker.getService(chainReference);
     }
 
     /*
@@ -328,7 +310,7 @@ public class ChainsTracker implements Ch
     public Chain getDefault() {
         Chain chain = getChain(DEFAULT_CHAIN_NAME);
         if(chain == null){
-            chain = (Chain)getNameTracker().getService();
+            chain = (Chain)nameTracker.getService();
         }
         return chain;
     }
@@ -340,6 +322,6 @@ public class ChainsTracker implements Ch
      * @return the chain tracking state
      */
     protected final NameBasedServiceTrackingState getChainTrackingState() {
-        return getNameTracker();
+        return nameTracker;
     }
 }

Modified: stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/EnginesTracker.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/EnginesTracker.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/EnginesTracker.java (original)
+++ stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/EnginesTracker.java Tue Dec 17 14:32:31 2013
@@ -74,10 +74,6 @@ public class EnginesTracker implements E
     private Set<String> trackedEngines;
 
     private NameBasedServiceTrackingState nameTracker;
-
-    private boolean initialised;
-
-    private boolean open;
     /**
      * Protected constructor intended to be used by subclasses that do not want
      * to compete the initialisation as part of construction(e.g.
@@ -160,7 +156,7 @@ public class EnginesTracker implements E
      */
     protected void initEngineTracker(BundleContext context, Set<String> engineNames, ServiceTrackerCustomizer customiser) {
         if(nameTracker != null){ //if this is a re-initialisation
-            close(); //try to close the existing service tracker instance
+            nameTracker.close(); //try to close the existing service tracker instance
         }
         if(context == null){
             throw new IllegalStateException("Unable to initialise tracking if NULL is parsed as Bundle Context!");
@@ -208,32 +204,17 @@ public class EnginesTracker implements E
                         "parsed Engine names "+trackedEngines,e);
             }
         }
-        initialised = true;
     }
     /**
      * Starts tracking based on the configuration parsed in the constructor
-     * @return 
      */
-    public NameBasedServiceTrackingState getNameTracker(){
-        if(!initialised){
-            throw new IllegalStateException("EngiensTracker was not initialised or is already closed!");
-        }
-        if(!open){
-            synchronized (this) {
-                if(!open){
-                    nameTracker.open();
-                    open = true;
-                }
-            }
-        }
-        return nameTracker;
+    public void open(){
+        nameTracker.open();
     }
     /**
      * Closes this tracker
      */
     public void close(){
-        open = false;
-        initialised = false;
         nameTracker.close();
         nameTracker = null;
     }
@@ -259,7 +240,7 @@ public class EnginesTracker implements E
             throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty");
         }
         if(trackedEngines.isEmpty() || trackedEngines.contains(name)){
-            return getNameTracker().getReference(name);
+            return nameTracker.getReference(name);
         } else {
             throw new IllegalArgumentException("The Engine with the parsed name '"+
                 name+"' is not tracked (tracked: "+trackedEngines+")!");
@@ -270,7 +251,7 @@ public class EnginesTracker implements E
         if(name == null || name.isEmpty()){
             throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty");
         }
-        return getNameTracker().getReference(name) != null;
+        return nameTracker.getReference(name) != null;
     }
     /*
      * (non-Javadoc)
@@ -282,7 +263,7 @@ public class EnginesTracker implements E
             throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty");
         }
         if(trackedEngines.isEmpty() || trackedEngines.contains(name)){
-            List<ServiceReference> refs = getNameTracker().getReferences(name);
+            List<ServiceReference> refs = nameTracker.getReferences(name);
             if(refs == null){
                 refs = Collections.emptyList();
             }
@@ -298,7 +279,7 @@ public class EnginesTracker implements E
      */
     @Override
     public Set<String> getActiveEngineNames(){
-        return getNameTracker().getNames();
+        return nameTracker.getNames();
     }
     /**
      * Getter for the map with the names and the {@link ServiceReference} of the 
@@ -307,7 +288,7 @@ public class EnginesTracker implements E
      * currently active and tracked engines
      */
     public Map<String,ServiceReference> getActiveEngineReferences(){
-        return getNameTracker().getActive();
+        return nameTracker.getActive();
     }
     /*
      * (non-Javadoc)
@@ -316,14 +297,14 @@ public class EnginesTracker implements E
     @Override
     public EnhancementEngine getEngine(String name){
         ServiceReference ref = getReference(name);
-        return ref == null ? null : (EnhancementEngine)getNameTracker().getService(ref);
+        return ref == null ? null : (EnhancementEngine)nameTracker.getService(ref);
     }
     /*
      * (non-Javadoc)
      * @see org.apache.stanbol.enhancer.servicesapi.EnhancementEngineManager#getEngine(org.osgi.framework.ServiceReference)
      */
     public EnhancementEngine getEngine(ServiceReference engineReference){
-        return (EnhancementEngine)getNameTracker().getService(engineReference);
+        return (EnhancementEngine)nameTracker.getService(engineReference);
     }
     /**
      * Getter for the name based service tracker. {@link ServiceReference}s
@@ -333,6 +314,6 @@ public class EnginesTracker implements E
      * @return the engine tracking state
      */
     protected final NameBasedServiceTrackingState getEngineTrackingState() {
-        return getNameTracker();
+        return nameTracker;
     }
 }

Modified: stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/NameBasedServiceTrackingState.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/NameBasedServiceTrackingState.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/NameBasedServiceTrackingState.java (original)
+++ stanbol/trunk/enhancer/generic/servicesapi/src/main/java/org/apache/stanbol/enhancer/servicesapi/impl/NameBasedServiceTrackingState.java Tue Dec 17 14:32:31 2013
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
  *
  */
 public class NameBasedServiceTrackingState extends ServiceTracker implements ServiceTrackerCustomizer {
-
+    
     private final Logger log = LoggerFactory.getLogger(NameBasedServiceTrackingState.class);
     
 //    /**
@@ -154,13 +154,20 @@ public class NameBasedServiceTrackingSta
         } finally {
             lock.writeLock().unlock();
         }
-        final Object service;
-        log.info(" ... adding service {}",reference);
-        if(customizer != null){
-            service =  customizer.addingService(reference);
-        } else {
-            service =  context.getService(reference);
-        }
+        Object service;
+        log.debug(" ... adding service {}",reference);
+        //try { //NOT sure if we should catch exceptions here
+            if(customizer != null){
+                service =  customizer.addingService(reference);
+            } else {
+                service =  context.getService(reference);
+            }
+        //} catch(RuntimeException e){
+        //    log.warn(" ... unable to get Service for Reference: " + reference 
+        //        + " because a " + e.getClass().getSimpleName() + " with message: "
+        //        + e.getMessage());
+        //    return null;
+        //}
         return service;
     }
     @Override

Modified: stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/ChainsRootResource.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/ChainsRootResource.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/ChainsRootResource.java (original)
+++ stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/ChainsRootResource.java Tue Dec 17 14:32:31 2013
@@ -114,6 +114,7 @@ public class ChainsRootResource extends 
                     }
                 }
             });
+        chainTracker.open();
     }
     
     @Deactivate

Modified: stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnhancementEnginesRootResource.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnhancementEnginesRootResource.java?rev=1551552&r1=1551551&r2=1551552&view=diff
==============================================================================
--- stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnhancementEnginesRootResource.java (original)
+++ stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnhancementEnginesRootResource.java Tue Dec 17 14:32:31 2013
@@ -131,6 +131,7 @@ public class EnhancementEnginesRootResou
                 }
                 
             });
+        engineTracker.open();
     }
 
     @Deactivate