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;