Author: pderop
Date: Sun Jun 13 20:32:36 2010
New Revision: 954301
URL: http://svn.apache.org/viewvc?rev=954301&view=rev
Log:
fixed bug: configuration dependencies were added twice in the service
Modified:
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/Activator.java
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceBuilder.java
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceLifecycleHandler.java
Modified:
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/Activator.java
URL:
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/Activator.java?rev=954301&r1=954300&r2=954301&view=diff
==============================================================================
---
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/Activator.java
(original)
+++
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/Activator.java
Sun Jun 13 20:32:36 2010
@@ -40,8 +40,6 @@ public class Activator extends Dependenc
// If the "dm.log=true" parameter is configured in the OSGi
config.properties
// then, we'll wait for the LogService, else we'll use an optional
dependency over it,
// and we'll eventually use a Null LogService Object.
- // Notice that the Felix log service must also be configured from the
OSGi config.properites, using
- // the "org.apache.felix.log.storeDebug=true" property, in order to
display DEBUG log levels.
boolean logActive = "true".equals(context.getProperty("dm.log"));
dm.add(createService()
Modified:
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceBuilder.java
URL:
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceBuilder.java?rev=954301&r1=954300&r2=954301&view=diff
==============================================================================
---
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceBuilder.java
(original)
+++
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceBuilder.java
Sun Jun 13 20:32:36 2010
@@ -60,11 +60,11 @@ public class ServiceBuilder extends Serv
service.setImplementation(b.loadClass(impl));
service.setComposition(composition);
service.setInterface(provide, serviceProperties);
+ // Adds dependencies (except named dependencies, which are managed
by the lifecycle handler).
+ addUnamedDependencies(b, dm, service, srvMeta, depsMeta);
// Creates a ServiceHandler, which will filter all service
lifecycle callbacks.
ServiceLifecycleHandler lfcleHandler = new
ServiceLifecycleHandler(service, b, dm, srvMeta, depsMeta);
service.setCallbacks(lfcleHandler, "init", "start", "stop",
"destroy");
- // Adds dependencies (except named dependencies, which are managed
by the lifecycle handler).
- addUnamedDependencies(b, dm, service, srvMeta, depsMeta);
}
else
{
Modified:
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceLifecycleHandler.java
URL:
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceLifecycleHandler.java?rev=954301&r1=954300&r2=954301&view=diff
==============================================================================
---
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceLifecycleHandler.java
(original)
+++
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ServiceLifecycleHandler.java
Sun Jun 13 20:32:36 2010
@@ -95,7 +95,7 @@ public class ServiceLifecycleHandler
private String m_destroy;
private MetaData m_srvMeta;
private List<MetaData> m_depsMeta;
- private List<Dependency> m_deps = new ArrayList<Dependency>();
+ private List<Dependency> m_namedDeps = new ArrayList<Dependency>();
private Bundle m_bundle;
public ServiceLifecycleHandler(Service srv, Bundle srvBundle,
DependencyManager dm,
@@ -108,24 +108,6 @@ public class ServiceLifecycleHandler
m_stop = srvMeta.getString(Params.stop, null);
m_destroy = srvMeta.getString(Params.destroy, null);
m_bundle = srvBundle;
-
- // Plug configuration dependencies now, and remove them from the
dependency list.
- // (we want these dependencies to be injected before the init method).
-
- String confDependency =
DependencyBuilder.DependencyType.ConfigurationDependency.toString();
- Iterator<MetaData> dependencies = depMeta.iterator();
- while (dependencies.hasNext())
- {
- MetaData dependency = dependencies.next();
- if (dependency.getString(Params.type).equals(confDependency))
- {
- // Register Configuration dependency now.
- Dependency dp = new
DependencyBuilder(dependency).build(m_bundle, dm);
- srv.add(dp);
- dependencies.remove();
- }
- }
-
m_depsMeta = depMeta;
}
@@ -173,7 +155,7 @@ public class ServiceLifecycleHandler
"ServiceLifecycleHandler.init: adding
dependency %s into service %s",
dependency, m_srvMeta);
Dependency d = depBuilder.build(m_bundle, dm, true);
- m_deps.add(d);
+ m_namedDeps.add(d);
service.add(d);
}
}
@@ -184,7 +166,7 @@ public class ServiceLifecycleHandler
{
// Remove "instance bound" flag from all dependencies, because we want
to be deactivated
// once we lose one of the deps ...
- Iterator it = m_deps.iterator();
+ Iterator it = m_namedDeps.iterator();
while (it.hasNext())
{
Dependency d = (Dependency) it.next();