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 2017/02/02 09:40:10 UTC
svn commit: r1781361 - in
/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject:
ClassUtils.java ValueUtils.java methods/BindMethod.java
Author: cziegeler
Date: Thu Feb 2 09:40:10 2017
New Revision: 1781361
URL: http://svn.apache.org/viewvc?rev=1781361&view=rev
Log:
FELIX--5457 : Logger Support. Support bind/unbind methods
Modified:
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ClassUtils.java
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ValueUtils.java
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ClassUtils.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ClassUtils.java?rev=1781361&r1=1781360&r2=1781361&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ClassUtils.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ClassUtils.java Thu Feb 2 09:40:10 2017
@@ -58,6 +58,10 @@ public class ClassUtils
public static final Class<?> BUNDLE_CONTEXT_CLASS = BundleContext.class;
public static final Class<?> INTEGER_CLASS = Integer.class;
+ public static final String LOGGER_CLASS = "org.osgi.service.log.Logger";
+ public static final String FORMATTER_LOGGER_CLASS = "org.osgi.service.log.FormatterLogger";
+ public static final String LOGGER_FACTORY_CLASS = "org.osgi.service.log.LoggerFactory";
+
// this bundle's context
private static BundleContext m_context;
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ValueUtils.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ValueUtils.java?rev=1781361&r1=1781360&r2=1781361&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ValueUtils.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ValueUtils.java Thu Feb 2 09:40:10 2017
@@ -37,10 +37,6 @@ import org.osgi.service.log.LogService;
*/
public class ValueUtils {
- private static final String LOGGER_CLASS = "org.osgi.service.log.Logger";
- private static final String FORMATTER_LOGGER_CLASS = "org.osgi.service.log.FormatterLogger";
- private static final String LOGGER_FACTORY_CLASS = "org.osgi.service.log.LoggerFactory";
-
/**
* The value type of the field, activation field or constructor parameter
*/
@@ -141,12 +137,12 @@ public class ValueUtils {
valueType = ValueType.ref_tuple;
}
// 1.4: Logger - reference needs to be of type LoggerFactory
- else if ( typeClass.getName().equals(LOGGER_CLASS) && metadata.getInterface().equals(LOGGER_FACTORY_CLASS) )
+ else if ( typeClass.getName().equals(ClassUtils.LOGGER_CLASS) && metadata.getInterface().equals(ClassUtils.LOGGER_FACTORY_CLASS) )
{
return ValueType.ref_logger;
}
// 1.4: FormatterLogger - reference needs to be of type LoggerFactory
- else if ( typeClass.getName().equals(FORMATTER_LOGGER_CLASS) && metadata.getInterface().equals(LOGGER_FACTORY_CLASS) )
+ else if ( typeClass.getName().equals(ClassUtils.FORMATTER_LOGGER_CLASS) && metadata.getInterface().equals(ClassUtils.LOGGER_FACTORY_CLASS) )
{
return ValueType.ref_formatterLogger;
}
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java?rev=1781361&r1=1781360&r2=1781361&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java Thu Feb 2 09:40:10 2017
@@ -24,7 +24,6 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Map;
import org.apache.felix.scr.impl.helper.SimpleLogger;
import org.apache.felix.scr.impl.inject.BindParameters;
@@ -302,9 +301,9 @@ implements org.apache.felix.scr.impl.inj
paramTypes.add(ValueUtils.ValueType.ref_serviceObjects);
}
}
- else if (paramType == Map.class)
+ else if (paramType == ClassUtils.MAP_CLASS)
{
- if (specialMatch && parameterClass == Map.class)
+ if (specialMatch && parameterClass == ClassUtils.MAP_CLASS)
{
specialMatch = false;
paramTypes.add(ValueUtils.ValueType.ref_serviceType);
@@ -318,6 +317,23 @@ implements org.apache.felix.scr.impl.inj
{
paramTypes.add(ValueUtils.ValueType.ref_serviceType);
}
+ // DS 1.4 : Logger and FormattedLogger
+ else if ( getDSVersion().isDS14() && ClassUtils.LOGGER_FACTORY_CLASS.equals(m_referenceClassName) )
+ {
+ if ( paramType.getName().equals(ClassUtils.LOGGER_CLASS) )
+ {
+ paramTypes.add(ValueUtils.ValueType.ref_logger);
+ }
+ else if ( paramType.getName().equals(ClassUtils.FORMATTER_LOGGER_CLASS) )
+ {
+ paramTypes.add(ValueUtils.ValueType.ref_formatterLogger);
+ }
+ else
+ {
+ matches = false;
+ break;
+ }
+ }
else
{
matches = false;