You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/11/18 00:07:28 UTC

svn commit: r1640254 - in /felix/sandbox/pderop/dependencymanager-prototype: org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/customdep/ org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ org.ap...

Author: pderop
Date: Mon Nov 17 23:07:27 2014
New Revision: 1640254

URL: http://svn.apache.org/r1640254
Log:
Removed startTracking/stopTracking methods from AbstractDependency class.
Fixed bug in PathDependency sample.

Modified:
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/customdep/PathDependency.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ResourceDependencyImpl.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/customdep/PathDependency.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/customdep/PathDependency.java?rev=1640254&r1=1640253&r2=1640254&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/customdep/PathDependency.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/customdep/PathDependency.java Mon Nov 17 23:07:27 2014
@@ -7,13 +7,11 @@ import java.nio.file.WatchEvent;
 import java.nio.file.WatchEvent.Kind;
 import java.nio.file.WatchKey;
 import java.nio.file.WatchService;
-import java.util.Dictionary;
 import java.util.List;
 
 import org.apache.felix.dm.context.AbstractDependency;
 import org.apache.felix.dm.context.DependencyContext;
 import org.apache.felix.dm.context.Event;
-import org.osgi.service.log.LogService;
 
 public class PathDependency extends AbstractDependency<PathDependency> implements Runnable {
     private final String m_path;
@@ -44,21 +42,33 @@ public class PathDependency extends Abst
         return "path";
     }
 
-    protected void startTracking() {
+    @Override
+    public void start() {
         m_thread = new Thread(this);
         m_thread.start();
+        super.start();
     }
 
-    protected void stopTracking() {
+    @Override   
+    public void stop() {
         m_thread.interrupt();
+        super.stop();
     }
     
+    @Override   
     public void invokeAdd(Event e) {
         if (m_add != null) {
             invoke(m_add, e, getInstances());
         }
     }
     
+    @Override   
+    public void invokeRemove(Event e) {
+        if (m_remove != null) {
+            invoke(m_remove, e, getInstances());
+        }
+    }
+    
     private void invoke(String method, Event e, Object[] instances) {
         // specific for this type of dependency
         m_component.invokeCallbackMethod(instances, method, 

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java?rev=1640254&r1=1640253&r2=1640254&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java Mon Nov 17 23:07:27 2014
@@ -140,18 +140,12 @@ public abstract class AbstractDependency
 
     @Override
     public void start() {
-        if (!m_isStarted) {
-            startTracking();
-            m_isStarted = true;
-        }
+        m_isStarted = true;
     }
 
     @Override
     public void stop() {
-        if (m_isStarted) {
-            stopTracking();
-            m_isStarted = false;
-        }
+        m_isStarted = false;
     }
 
     @Override
@@ -338,10 +332,4 @@ public abstract class AbstractDependency
             throw new IllegalStateException("Cannot modify state while active.");
         }
     }
-
-    protected void startTracking() {
-    }
-
-    protected void stopTracking() {
-    }
 }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java?rev=1640254&r1=1640253&r2=1640254&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java Mon Nov 17 23:07:27 2014
@@ -72,15 +72,17 @@ public class BundleDependencyImpl extend
     }
     
     @Override
-    protected void startTracking() {
+    public void start() {
         m_tracker = new BundleTracker(m_context, m_stateMask, this);
         m_tracker.open();
+        super.start();
     }
 
     @Override
-    protected void stopTracking() {
+    public void stop() {
         m_tracker.close();
         m_tracker = null;
+        super.stop();
     }
 
     @Override

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java?rev=1640254&r1=1640253&r2=1640254&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java Mon Nov 17 23:07:27 2014
@@ -82,7 +82,7 @@ public class ConfigurationDependencyImpl
     }
 
     @Override
-    protected void startTracking() {
+    public void start() {
         if (m_context != null) { // If null, we are in a test environment
 	        Properties props = new Properties();
 	        props.put(Constants.SERVICE_PID, m_pid);
@@ -92,16 +92,18 @@ public class ConfigurationDependencyImpl
 	        }
 	        m_registration = m_context.registerService(ManagedService.class.getName(), ms, props);
         }
+        super.start();
     }
 
     @Override
-    protected void stopTracking() {
+    public void stop() {
         if (m_registration != null) {
             try {
                 m_registration.unregister();
             } catch (IllegalStateException e) {}
         	m_registration = null;
         }
+        super.stop();
     }
     
 	public ConfigurationDependency setPid(String pid) {

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ResourceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ResourceDependencyImpl.java?rev=1640254&r1=1640253&r2=1640254&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ResourceDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ResourceDependencyImpl.java Mon Nov 17 23:07:27 2014
@@ -59,7 +59,7 @@ public class ResourceDependencyImpl exte
     }
     
     @Override
-    protected void startTracking() {
+    public void start() {
         Dictionary<String, Object> props = null;
         if (m_trackedResource != null) {
             props = new Hashtable<>();
@@ -71,12 +71,14 @@ public class ResourceDependencyImpl exte
             }
         }
         m_registration = m_context.registerService(ResourceHandler.class.getName(), this, props);
+        super.start();
     }
 
     @Override
-    protected void stopTracking() {
+    public void stop() {
         m_registration.unregister();
         m_registration = null;
+        super.stop();
     }
 
     public void added(URL resource) {

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java?rev=1640254&r1=1640253&r2=1640254&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java Mon Nov 17 23:07:27 2014
@@ -200,7 +200,7 @@ public class ServiceDependencyImpl exten
     }
 
 	@Override
-	protected void startTracking() {
+	public void start() {
         if (m_trackedServiceName != null) {
             if (m_trackedServiceFilter != null) {
                 try {
@@ -221,12 +221,14 @@ public class ServiceDependencyImpl exten
             m_tracker.setDebug(debugKey);
         }
         m_tracker.open();
+        super.start();
 	}
 	
 	@Override
-	protected void stopTracking() {
+	public void stop() {
 	    m_tracker.close();
 	    m_tracker = null;
+	    super.stop();
 	}
 
 	@Override