Author: pderop
Date: Sun Feb 28 18:39:46 2016
New Revision: 1732776
URL: http://svn.apache.org/viewvc?rev=1732776&view=rev
Log:
FELIX-4689: Added a new method in the component context which allows to invoke
callbacks with a flag
that indicates if a warn message must be logged in case the callback is not
found in any of the
specified object instances.
Modified:
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ComponentContext.java
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
Modified:
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ComponentContext.java
URL:
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ComponentContext.java?rev=1732776&r1=1732775&r2=1732776&view=diff
==============================================================================
---
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ComponentContext.java
(original)
+++
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ComponentContext.java
Sun Feb 28 18:39:46 2016
@@ -115,7 +115,7 @@ public interface ComponentContext extend
public List<DependencyContext> getDependencies();
/**
- * Invoke a component callback method with a given dependency service
instance
+ * Invokes a callback method on a given set of objects. An error is logged
if the callback is not found in any of the object instances.
* @param instances the component instances
* @param methodName the method name
* @param signatures the method signatures (types)
@@ -124,6 +124,16 @@ public interface ComponentContext extend
public void invokeCallbackMethod(Object[] instances, String methodName,
Class<?>[][] signatures, Object[][] parameters);
/**
+ * Invokes a callback method on a given set of objects.
+ * @param instances the component instances
+ * @param methodName the method name
+ * @param signatures the method signatures (types)
+ * @param parameters the method parameters
+ * @param logIfNotFound true if a warning message should be logged in case
the callback is not found in any of the object instances.
+ */
+ public void invokeCallbackMethod(Object[] instances, String methodName,
Class<?>[][] signatures, Object[][] parameters, boolean logIfNotFound);
+
+ /**
* Returns the component instances
* @return the component instances
*/
Modified:
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
URL:
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java?rev=1732776&r1=1732775&r2=1732776&view=diff
==============================================================================
---
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
(original)
+++
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
Sun Feb 28 18:39:46 2016
@@ -556,10 +556,10 @@ public class ComponentImpl implements Co
// (Aspect or Adapter are not interested in user dependency callbacks)
if (logIfNotFound && ! callbackFound && ! (getInstance() instanceof
AbstractDecorator)) {
if (m_logger == null) {
- System.out.println("Callback \"" + methodName + "\" not found
on componnent instances "
+ System.out.println("\"" + methodName + "\" callback not found
on componnent instances "
+ Arrays.toString(getInstances()));
} else {
- m_logger.log(LogService.LOG_ERROR, "Callback \"" + methodName
+ "\" callback not found on componnent instances "
+ m_logger.log(LogService.LOG_ERROR, "\"" + methodName + "\"
callback not found on componnent instances "
+ Arrays.toString(getInstances()));
}
Modified:
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
URL:
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java?rev=1732776&r1=1732775&r2=1732776&view=diff
==============================================================================
---
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
(original)
+++
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
Sun Feb 28 18:39:46 2016
@@ -250,7 +250,11 @@ public class FilterComponent implements
public void invokeCallbackMethod(Object[] instances, String methodName,
Class<?>[][] signatures, Object[][] parameters) {
m_component.invokeCallbackMethod(instances, methodName, signatures,
parameters);
}
-
+
+ public void invokeCallbackMethod(Object[] instances, String methodName,
Class<?>[][] signatures, Object[][] parameters, boolean logIfNotFound) {
+ m_component.invokeCallbackMethod(instances, methodName, signatures,
parameters, logIfNotFound);
+ }
+
public DependencyManager getDependencyManager() {
return m_component.getDependencyManager();
}