BeanInfoEmbryo.java: Use TreeMap for proper sorting.
authorCraig Black <craig.black@aonix.com>
Thu, 18 Nov 2004 12:53:12 +0000 (12:53 +0000)
committerMichael Koch <mkoch@gcc.gnu.org>
Thu, 18 Nov 2004 12:53:12 +0000 (12:53 +0000)
2004-11-18  Craig Black  <craig.black@aonix.com>

* gnu/java/beans/BeanInfoEmbryo.java: Use TreeMap for proper sorting.

From-SVN: r90858

libjava/ChangeLog
libjava/gnu/java/beans/BeanInfoEmbryo.java

index 388a5f91fca20b5c711300e1e199e6355ade67ae..0e945c549ceb13b22e1af5a45c86ae5d542e0266 100644 (file)
@@ -1,3 +1,7 @@
+2004-11-18  Craig Black  <craig.black@aonix.com>
+
+       * gnu/java/beans/BeanInfoEmbryo.java: Use TreeMap for proper sorting.
+
 2004-11-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
 
        * Makefile.am: Correct friend function declaration.
index 2dc1166527eea1319e3dd8d72d97c61b1445a0ed..7c60e7cd39b1bbb0881002e006fce86bc1db027e 100644 (file)
@@ -48,6 +48,9 @@ import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
 import java.util.Vector;
 
 /**
@@ -66,7 +69,10 @@ import java.util.Vector;
  **/
 
 public class BeanInfoEmbryo {
-       Hashtable properties = new Hashtable();
+
+       // by using a TreeMap the properties will be sorted alphabetically by name
+       // which matches the (undocumented) behavior of jdk
+       TreeMap properties = new TreeMap();
        Hashtable events = new Hashtable();
        Vector methods = new Vector();
 
@@ -85,9 +91,9 @@ public class BeanInfoEmbryo {
 
                PropertyDescriptor[] Aproperties = new PropertyDescriptor[properties.size()];
                int i = 0;
-               Enumeration e = properties.elements();
-               while (e.hasMoreElements()) {
-                       Aproperties[i] = (PropertyDescriptor) e.nextElement();
+               Iterator it = properties.entrySet().iterator();
+               while (it.hasNext()) {
+                       Aproperties[i] = (PropertyDescriptor) (((Map.Entry)it.next()).getValue());
                        if(defaultPropertyName != null && Aproperties[i].getName().equals(defaultPropertyName)) {
                                defaultProperty = i;
                        }
@@ -96,7 +102,7 @@ public class BeanInfoEmbryo {
 
                EventSetDescriptor[] Aevents = new EventSetDescriptor[events.size()];
                i = 0;
-               e = events.elements();
+               Enumeration e = events.elements();
                while (e.hasMoreElements()) {
                        Aevents[i] = (EventSetDescriptor) e.nextElement();
                        if(defaultEventName != null && Aevents[i].getName().equals(defaultEventName)) {