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)

Reply via email to