This patch (committed) updates the Statement.toString() method to pass
some Harmony tests.  I also commit a reformatting of the DesignMode.java
file:

2006-11-16  David Gilbert  <[EMAIL PROTECTED]>

        * java/beans/DesignMode.java: Reformatted and removed a FIXME,
        * java/beans/Statement.java
        (toString): Updated to match reference implementation.

Regards,

Dave
Index: java/beans/DesignMode.java
===================================================================
RCS file: /sources/classpath/classpath/java/beans/DesignMode.java,v
retrieving revision 1.5
diff -u -r1.5 DesignMode.java
--- java/beans/DesignMode.java	2 Jul 2005 20:32:37 -0000	1.5
+++ java/beans/DesignMode.java	16 Nov 2006 05:27:50 -0000
@@ -1,5 +1,5 @@
 /* java.beans.DesignMode
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2006, Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -39,7 +39,8 @@
 package java.beans;
 
 /**
- * <code>BeanContextChild</code> implementors implement this to get information about whether they are in a design time or runtime environment.
+ * <code>BeanContextChild</code> implementors implement this to get information
+ * about whether they are in a design time or runtime environment.
  * The reason this is restricted to <code>BeanContextChild</code>ren is that
  * only things in the <code>BeanContext</code> hierarchy are given this
  * information in the first place.
@@ -48,46 +49,47 @@
  * @since JDK1.2
  * @see java.beans.beancontext.BeanContextChild
  */
+public interface DesignMode 
+{
+
+  /**
+   * Use this name when firing <code>PropertyChangeEvent</code>s from your Bean.
+   */
+  String PROPERTYNAME = "designTime";
+
+  /**
+   * The environment will call this method on your
+   * <code>BeanContextChild</code> when it is registered in a parent
+   * <code>BeanContext</code> or when behavior needs to switch from
+   * design time to runtime behavior (or vice versa).
+   * <P>
+   *
+   * <code>BeanContext</code>s are required to fire
+   * <code>PropertyChangeEvent</code>s when properties change.
+   * <code>designTime</code> is a property, and therefore when you
+   * implement <code>setDesignTime()</code>, you need to fire a
+   * <code>PropertyChangeEvent</code> with the old value, the new
+   * value and using <code>PROPERTYNAME</code> as the property name.
+   *
+   * @param designTime the new value of design time,
+   *        <code>true</code> if it is design time,
+   *        <code>false</code> if it is runtime.
+   *
+   * @fixme I'm frankly not really sure whether it's the case that
+   *        the BeanContext can <em>change</em> the status of the Bean from
+   *        design time to runtime.  But it appears that it may be so.
+   *
+   * @see java.beans.PropertyChangeEvent
+   * @see java.beans.beancontext.BeanContext
+   * @see #PROPERTYNAME
+   */
+  void setDesignTime(boolean designTime);
+
+  /**
+   * This method should tell whether it is design time or runtime.
+   * @return <code>true</code> if design time, <code>false</code> if
+   *         runtime.
+   */
+  boolean isDesignTime();
 
-public interface DesignMode {
-	/**
-	 * Use this name when firing <code>PropertyChangeEvent</code>s from your Bean.  
-	 * @fixme Check whether PROPERTYNAME is set to same value as Sun.
-	 */
-	String PROPERTYNAME = "designTime";
-
-	/**
-	 * The environment will call this method on your
-	 * <code>BeanContextChild</code> when it is registered in a parent
-	 * <code>BeanContext</code> or when behavior needs to switch from
-	 * design time to runtime behavior (or vice versa).
-	 * <P>
-	 *
-	 * <code>BeanContext</code>s are required to fire
-	 * <code>PropertyChangeEvent</code>s when properties change.
-	 * <code>designTime</code> is a property, and therefore when you
-	 * implement <code>setDesignTime()</code>, you need to fire a
-	 * <code>PropertyChangeEvent</code> with the old value, the new
-	 * value and using <code>PROPERTYNAME</code> as the property name.
-	 *
-	 * @param designTime the new value of design time,
-	 *        <code>true</code> if it is design time,
-	 *        <code>false</code> if it is runtime.
-	 *
-	 * @fixme I'm frankly not really sure whether it's the case that
-	 *        the BeanContext can <em>change</em> the status of the Bean from
-	 *        design time to runtime.  But it appears that it may be so.
-	 *
-	 * @see java.util.PropertyChangeEvent
-	 * @see java.beans.beancontext.BeanContext
-	 * @see #PROPERTYNAME
-	 */
-	void setDesignTime(boolean designTime);
-
-	/**
-	 * This method should tell whether it is design time or runtime.
-	 * @return <code>true</code> if design time, <code>false</code> if
-	 *         runtime.
-	 */
-	boolean isDesignTime();
 }
Index: java/beans/Statement.java
===================================================================
RCS file: /sources/classpath/classpath/java/beans/Statement.java,v
retrieving revision 1.4
diff -u -r1.4 Statement.java
--- java/beans/Statement.java	8 Jan 2006 19:31:38 -0000	1.4
+++ java/beans/Statement.java	16 Nov 2006 05:27:50 -0000
@@ -1,5 +1,5 @@
 /* Statement.java
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -346,16 +346,20 @@
   /** Return the statement object. */
   public Object getTarget() { return target; }
 
-  /** Return a string representation. */
+  /** 
+   * Returns a string representation of this <code>Statement</code>. 
+   * 
+   * @return A string representation of this <code>Statement</code>. 
+   */
   public String toString()
   {
     StringBuffer result = new StringBuffer(); 
 
-    String targetName = target.getClass().getName();
-    if ( targetName.startsWith("java"))
-      {
-        targetName = targetName.substring(targetName.lastIndexOf('.') + 1);
-      }
+    String targetName;
+    if (target != null)
+      targetName = target.getClass().getSimpleName();
+    else 
+      targetName = "null";
 
     result.append(targetName);
     result.append(".");
@@ -369,10 +373,10 @@
         result.append(
           ( arguments[i] == null ) ? "null" : 
             ( arguments[i] instanceof String ) ? "\"" + arguments[i] + "\"" :
-            arguments[i].getClass().getName());
+            arguments[i].getClass().getSimpleName());
         sep = ", ";
       }
-    result.append(")");
+    result.append(");");
 
     return result.toString();
   }

Reply via email to