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


Reply via email to