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 2010/01/15 00:15:42 UTC
svn commit: r899460 -
/felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ComponentManager.java
Author: pderop
Date: Thu Jan 14 23:15:41 2010
New Revision: 899460
URL: http://svn.apache.org/viewvc?rev=899460&view=rev
Log:
fixed bug when handling dependencymanager service factory parameters
Modified:
felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ComponentManager.java
Modified: felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ComponentManager.java?rev=899460&r1=899459&r2=899460&view=diff
==============================================================================
--- felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ComponentManager.java (original)
+++ felix/trunk/dependencymanager/runtime/src/main/java/org/apache/felix/dm/runtime/ComponentManager.java Thu Jan 14 23:15:41 2010
@@ -173,8 +173,8 @@
}
catch (Throwable t)
{
- m_logService.log(LogService.LOG_ERROR, "Error while parsing descriptor " + descriptorURL
- + " from bundle " + b.getSymbolicName(), t);
+ m_logService.log(LogService.LOG_ERROR, "Error while parsing descriptor "
+ + descriptorURL + " from bundle " + b.getSymbolicName(), t);
}
finally
{
@@ -235,9 +235,22 @@
throws ClassNotFoundException
{
Service service = dm.createService();
- // Set service impl
- String impl = parser.getString(DescriptorParam.impl);
- service.setImplementation(b.loadClass(impl));
+ // Get factory parameters.
+ String factory = parser.getString(DescriptorParam.factory, null);
+ String factoryMethod = parser.getString(DescriptorParam.factoryMethod, "create");
+
+ if (factory == null)
+ {
+ // Set service impl
+ String impl = parser.getString(DescriptorParam.impl);
+ service.setImplementation(b.loadClass(impl));
+ }
+ else
+ {
+ // Set service factory
+ Class<?> factoryClass = b.loadClass(factory);
+ service.setFactory(factoryClass, factoryMethod);
+ }
// Set service callbacks
String init = parser.getString(DescriptorParam.init, null);
@@ -262,23 +275,6 @@
service.setComposition(composition);
}
- // Set service factory
- String factory = parser.getString(DescriptorParam.factory, null);
- String factoryMethod = parser.getString(DescriptorParam.factoryMethod, null);
-
- if (factory != null)
- {
- if (factoryMethod == null)
- {
- factoryMethod = "create";
- }
- Class<?> factoryClass = b.loadClass(factory);
- service.setFactory(factoryClass, factoryMethod);
- }
- else if (factoryMethod != null)
- {
- service.setFactory(factoryMethod);
- }
return service;
}