You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2018/09/13 18:34:22 UTC

svn commit: r1840846 - in /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject: ComponentConstructor.java methods/BindMethod.java

Author: cziegeler
Date: Thu Sep 13 18:34:22 2018
New Revision: 1840846

URL: http://svn.apache.org/viewvc?rev=1840846&view=rev
Log:
FELIX-5926 : Logger instance is not set for constructor and reference injection

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/ComponentConstructor.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/ComponentConstructor.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/ComponentConstructor.java?rev=1840846&r1=1840845&r2=1840846&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/ComponentConstructor.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/ComponentConstructor.java Thu Sep 13 18:34:22 2018
@@ -272,7 +272,10 @@ public class ComponentConstructor<S>
                         if ( !refPair.isDeleted() && !refPair.isFailed() )
                         {
                             if ( refPair.getServiceObject(componentContext) == null
-                                    && (constructorArgTypes[i] == ValueType.ref_serviceType || constructorArgTypes[i] == ValueType.ref_tuple ) )
+                                    && (constructorArgTypes[i] == ValueType.ref_serviceType
+                                    || constructorArgTypes[i] == ValueType.ref_tuple
+                                    || constructorArgTypes[i] == ValueType.ref_logger
+                                    || constructorArgTypes[i] == ValueType.ref_formatterLogger) )
                             {
                                 refPair.getServiceObject(componentContext, componentContext.getBundleContext());
                             }

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java?rev=1840846&r1=1840845&r2=1840846&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java Thu Sep 13 18:34:22 2018
@@ -658,7 +658,9 @@ implements org.apache.felix.scr.impl.inj
         //??? this resolves which we need.... better way?
         if ( parameters.getServiceObject() == null && methodExists( parameters.getComponentContext().getLogger() ) )
         {
-            if ( m_paramTypes.contains(ValueUtils.ValueType.ref_serviceType) ) {
+            if ( m_paramTypes.contains(ValueUtils.ValueType.ref_serviceType)
+                 || m_paramTypes.contains(ValueUtils.ValueType.ref_logger)
+                 || m_paramTypes.contains(ValueUtils.ValueType.ref_formatterLogger)) {
                 return parameters.getServiceObject(context);
             }
         }