You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dj...@apache.org on 2013/03/18 21:55:06 UTC
svn commit: r1457988 -
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
Author: djencks
Date: Mon Mar 18 20:55:06 2013
New Revision: 1457988
URL: http://svn.apache.org/r1457988
Log:
FELIX-3971 simplify tracker tracking
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java?rev=1457988&r1=1457987&r2=1457988&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java Mon Mar 18 20:55:06 2013
@@ -168,26 +168,24 @@ public class DependencyManager<S, T> imp
{
private final Map<ServiceReference<T>, RefPair<T>> EMPTY_REF_MAP = Collections.emptyMap();
- private ServiceTracker<T, RefPair<T>> tracker;
-
private volatile boolean trackerOpened;
private volatile Map<ServiceReference<T>, RefPair<T>> previousRefMap = EMPTY_REF_MAP;
public void setTracker( ServiceTracker<T, RefPair<T>> tracker )
{
- this.tracker = tracker;
+ trackerRef.set( tracker );
trackerOpened = false;
}
public boolean isSatisfied()
{
- return isOptional() || !tracker.isEmpty();
+ return isOptional() || !getTracker().isEmpty();
}
protected ServiceTracker<T, RefPair<T>> getTracker()
{
- return tracker;
+ return trackerRef.get();
}
/**
@@ -196,7 +194,7 @@ public class DependencyManager<S, T> imp
*/
protected boolean isActive()
{
- return tracker.isActive();
+ return getTracker().isActive();
}
protected boolean isTrackerOpened()
@@ -1774,7 +1772,6 @@ public class DependencyManager<S, T> imp
boolean initialActive = oldTracker != null && oldTracker.isActive();
ServiceTracker<T, RefPair<T>> tracker = new ServiceTracker<T, RefPair<T>>( m_componentManager.getActivator().getBundleContext(), m_targetFilter, customizer, initialActive );
customizer.setTracker( tracker );
- trackerRef.set( tracker );
registered = true;
tracker.open( m_componentManager.getTrackingCount() );
customizer.setTrackerOpened();