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 2014/10/30 21:50:23 UTC
svn commit: r1635610 - in
/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm:
context/AbstractDependency.java impl/BundleDependencyImpl.java
impl/ServiceDependencyImpl.java
Author: pderop
Date: Thu Oct 30 20:50:22 2014
New Revision: 1635610
URL: http://svn.apache.org/r1635610
Log:
FELIX-4426: it is not necessary to inject a NullObject into an Iterable or a Map field.
Modified:
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java?rev=1635610&r1=1635609&r2=1635610&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java Thu Oct 30 20:50:22 2014
@@ -28,7 +28,6 @@ import java.util.Set;
import org.apache.felix.dm.ComponentDependencyDeclaration;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.impl.AbstractDecorator;
-import org.apache.felix.dm.impl.AdapterServiceImpl;
import org.apache.felix.dm.impl.EventImpl;
import org.apache.felix.dm.impl.Logger;
import org.osgi.framework.Bundle;
@@ -355,7 +354,7 @@ public abstract class AbstractDependency
public Event getService() {
Event event = m_component.getDependencyEvent(this);
if (event == null) {
- Object defaultService = getDefaultService();
+ Object defaultService = getDefaultService(true);
if (defaultService != null) {
event = new EventImpl(0, defaultService);
}
@@ -371,7 +370,7 @@ public abstract class AbstractDependency
services.add(e.getEvent());
}
} else {
- Object defaultService = getDefaultService();
+ Object defaultService = getDefaultService(false);
if (defaultService != null) {
services.add(defaultService);
}
@@ -386,7 +385,7 @@ public abstract class AbstractDependency
map.put(e.getEvent(), e.getProperties());
}
} else {
- Object defaultService = getDefaultService();
+ Object defaultService = getDefaultService(false);
if (defaultService != null) {
map.put(defaultService, EMPTY_PROPERTIES);
}
@@ -397,7 +396,7 @@ public abstract class AbstractDependency
return m_component;
}
- protected Object getDefaultService() {
+ protected Object getDefaultService(boolean nullObject) {
return null;
}
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java?rev=1635610&r1=1635609&r2=1635610&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java Thu Oct 30 20:50:22 2014
@@ -201,12 +201,12 @@ public class BundleDependencyImpl extend
}
@Override
- public Object getDefaultService() {
+ public Object getDefaultService(boolean nullObject) {
Object service = null;
if (isAutoConfig()) {
// TODO does it make sense to add support for custom bundle impls?
// service = getDefaultImplementation();
- if (service == null) {
+ if (service == null && nullObject) {
service = getNullObject();
}
}
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java?rev=1635610&r1=1635609&r2=1635610&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java Thu Oct 30 20:50:22 2014
@@ -403,11 +403,11 @@ public class ServiceDependencyImpl exten
}
@Override
- public Object getDefaultService() {
+ public Object getDefaultService(boolean nullObject) {
Object service = null;
if (isAutoConfig()) {
service = getDefaultImplementation();
- if (service == null) {
+ if (service == null && nullObject) {
service = getNullObject();
}
}