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();
             }
         }