From f0b4747b4cbed05b39a834beaa9525cf2619dbef Mon Sep 17 00:00:00 2001 From: Craig Black Date: Thu, 18 Nov 2004 12:53:12 +0000 Subject: [PATCH] BeanInfoEmbryo.java: Use TreeMap for proper sorting. 2004-11-18 Craig Black * gnu/java/beans/BeanInfoEmbryo.java: Use TreeMap for proper sorting. From-SVN: r90858 --- libjava/ChangeLog | 4 ++++ libjava/gnu/java/beans/BeanInfoEmbryo.java | 16 +++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 388a5f91fca..0e945c549ce 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2004-11-18 Craig Black + + * gnu/java/beans/BeanInfoEmbryo.java: Use TreeMap for proper sorting. + 2004-11-18 Kriang Lerdsuwanakij * Makefile.am: Correct friend function declaration. diff --git a/libjava/gnu/java/beans/BeanInfoEmbryo.java b/libjava/gnu/java/beans/BeanInfoEmbryo.java index 2dc1166527e..7c60e7cd39b 100644 --- a/libjava/gnu/java/beans/BeanInfoEmbryo.java +++ b/libjava/gnu/java/beans/BeanInfoEmbryo.java @@ -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)) {