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