This patch (committed) implements a missing method in the BeanContextSupport class:
2006-11-11 David Gilbert <[EMAIL PROTECTED]> * java/beans/beancontext/BeanContextSupport.java (getChildBeanContextChild): Implemented. I already committed a Mauve test to back this up. Regards, Dave
Index: java/beans/beancontext/BeanContextSupport.java =================================================================== RCS file: /sources/classpath/classpath/java/beans/beancontext/BeanContextSupport.java,v retrieving revision 1.15 diff -u -r1.15 BeanContextSupport.java --- java/beans/beancontext/BeanContextSupport.java 9 Nov 2006 17:35:55 -0000 1.15 +++ java/beans/beancontext/BeanContextSupport.java 11 Nov 2006 06:09:55 -0000 @@ -478,10 +478,28 @@ return (BeanContext) beanContextChildPeer; } - protected static final BeanContextChild getChildBeanContextChild (Object child) - throws NotImplementedException + /** + * Returns the [EMAIL PROTECTED] BeanContextChild} implementation for the given child. + * + * @param child the child (<code>null</code> permitted). + * + * @return The bean context child. + * + * @throws IllegalArgumentException if <code>child</code> implements both + * the [EMAIL PROTECTED] BeanContextChild} and [EMAIL PROTECTED] BeanContextProxy} interfaces. + */ + protected static final BeanContextChild getChildBeanContextChild(Object child) { - throw new Error ("Not implemented"); + if (child == null) + return null; + if (child instanceof BeanContextChild && child instanceof BeanContextProxy) + throw new IllegalArgumentException("Child cannot implement " + + "BeanContextChild and BeanContextProxy simultaneously."); + if (child instanceof BeanContextChild) + return (BeanContextChild) child; + if (child instanceof BeanContextProxy) + return ((BeanContextProxy) child).getBeanContextProxy(); + return null; } protected static final BeanContextMembershipListener getChildBeanContextMembershipListener (Object child)