You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Marcel Offermans (JIRA)" <ji...@apache.org> on 2006/06/20 13:59:30 UTC

[jira] Resolved: (FELIX-82) Dep Manager does not handle inherited callback methods right

     [ http://issues.apache.org/jira/browse/FELIX-82?page=all ]
     
Marcel Offermans resolved FELIX-82:
-----------------------------------

    Fix Version: 0.8.0
     Resolution: Fixed

Extended the method to keep searching superclasses until a valid callback method is found.

> Dep Manager does not handle inherited callback methods right
> ------------------------------------------------------------
>
>          Key: FELIX-82
>          URL: http://issues.apache.org/jira/browse/FELIX-82
>      Project: Felix
>         Type: Bug

>   Components: Dependency Manager
>     Reporter: Peter Neubauer
>     Assignee: Marcel Offermans
>      Fix For: 0.8.0

>
> This does not work for inherited classes as the reflection jsut works for the current type. In order to be abelt o define callback even in e.g. Abstract classes, one needs to go up the hirarchy in order to find these methods.
> /peter
> ServiceDependency 
> ...
> invokeCallbackMethod
> private void invokeCallbackMethod( Object instance, String methodName,
>             ServiceReference reference, Object service )
>             throws NoSuchMethodException
>     {
>         Method method = null;
>         Class clazz = instance.getClass();
>         AccessibleObject.setAccessible( clazz.getDeclaredMethods(), true );
>         try
>         {
>             try
>             {
>                 method = clazz.getDeclaredMethod( methodName, new Class[] {
>                         ServiceReference.class, Object.class } );
>                 method.invoke( instance, new Object[] { reference, service } );
>             }
>             catch ( NoSuchMethodException e )

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira