You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2009/11/16 08:51:21 UTC
svn commit: r880645 -
/felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceDependency.java
Author: marrs
Date: Mon Nov 16 07:51:10 2009
New Revision: 880645
URL: http://svn.apache.org/viewvc?rev=880645&view=rev
Log:
FELIX-1278 applied the patch so the dependency remembers someone explicitly setting auto config.
Modified:
felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceDependency.java
Modified: felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceDependency.java?rev=880645&r1=880644&r2=880645&view=diff
==============================================================================
--- felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceDependency.java (original)
+++ felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceDependency.java Mon Nov 16 07:51:10 2009
@@ -60,6 +60,7 @@
private Object m_serviceInstance;
private final Logger m_logger;
private String m_autoConfigInstance;
+ private boolean m_autoConfigInvoked;
private Object m_defaultImplementation;
private Object m_defaultImplementationInstance;
@@ -596,6 +597,7 @@
public synchronized ServiceDependency setAutoConfig(boolean autoConfig) {
ensureNotActive();
m_autoConfig = autoConfig;
+ m_autoConfigInvoked = true;
return this;
}
@@ -611,6 +613,7 @@
ensureNotActive();
m_autoConfig = (instanceName != null);
m_autoConfigInstance = instanceName;
+ m_autoConfigInvoked = true;
return this;
}
@@ -672,8 +675,9 @@
*/
public synchronized ServiceDependency setCallbacks(Object instance, String added, String changed, String removed) {
ensureNotActive();
- // if at least one valid callback is specified, we turn off auto configuration
- if (added != null || removed != null || changed != null) {
+ // if at least one valid callback is specified, we turn off auto configuration, unless
+ // someone already explicitly invoked autoConfig
+ if ((added != null || removed != null || changed != null) && ! m_autoConfigInvoked) {
setAutoConfig(false);
}
m_callbackInstance = instance;