Author: niclas
Date: Thu Aug 19 02:21:53 2004
New Revision: 36601

Modified:
   
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/AbstractObjectTypeHandler.java
   
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ComponentModelTypeHandler.java
   
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ObjectTypeHandler.java
Log:
Changed so the getNames() always return a sorted list, instead of 'random'.

Modified: 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/AbstractObjectTypeHandler.java
==============================================================================
--- 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/AbstractObjectTypeHandler.java
    (original)
+++ 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/AbstractObjectTypeHandler.java
    Thu Aug 19 02:21:53 2004
@@ -23,7 +23,8 @@
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 
-import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Set;
 
 import org.apache.metro.facilities.reflector.ReflectionException;
 
@@ -34,7 +35,7 @@
 public abstract class AbstractObjectTypeHandler
     implements TypeHandler
 {
-    protected void getNames( ArrayList names, Object container )
+    protected void getNames( Set names, Object container )
         throws ReflectionException
     {
         
@@ -44,7 +45,6 @@
             getNames( names, clazz );
         else
         {
-            ArrayList all = new ArrayList();
             Class[] interfaces = clazz.getInterfaces();
             for( int i=0 ; i < interfaces.length ; i++ )
             {
@@ -53,15 +53,16 @@
         }
     }
     
-    protected String[] packageNames( ArrayList names )
+    protected String[] packageNames( Set names )
     {
         String[] ret = new String[ names.size() ];
-        for( int i= 0; i < names.size() ; i++ )
-            ret[i] = (String) names.get(i);
+        Iterator set = names.iterator();
+        for( int i=0 ; set.hasNext() ; i++ )
+            ret[i] = (String) set.next();
         return ret;
     }
     
-    protected void getNames( ArrayList names, Class clazz )
+    protected void getNames( Set names, Class clazz )
         throws ReflectionException
     {
         /////  NORMAL OBJECT

Modified: 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ComponentModelTypeHandler.java
==============================================================================
--- 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ComponentModelTypeHandler.java
    (original)
+++ 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ComponentModelTypeHandler.java
    Thu Aug 19 02:21:53 2004
@@ -17,7 +17,7 @@
 
 package org.apache.metro.facilities.reflector.typehandlers;
 
-import java.util.ArrayList;
+import java.util.TreeSet;
 
 import org.apache.avalon.composition.model.ComponentModel;
 
@@ -58,7 +58,7 @@
     {
         if( ! ( container instanceof ComponentModel ) )
             throw new ReflectionException( container + " is not a ComponentModel: " + 
container.getClass().getName() );
-        ArrayList names = new ArrayList();
+        TreeSet names = new TreeSet();
         names.add( "Implementation" );
         getNames( names, container );
         return packageNames( names );

Modified: 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ObjectTypeHandler.java
==============================================================================
--- 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ObjectTypeHandler.java
    (original)
+++ 
avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers/ObjectTypeHandler.java
    Thu Aug 19 02:21:53 2004
@@ -17,7 +17,7 @@
 
 package org.apache.metro.facilities.reflector.typehandlers;
 
-import java.util.ArrayList; 
+import java.util.TreeSet; 
 
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.avalon.framework.service.ServiceException;
@@ -54,7 +54,7 @@
     public String[] getNames( Object container )
         throws ReflectionException
     {
-        ArrayList names = new ArrayList();
+        TreeSet names = new TreeSet();
         getNames( names, container );
         return packageNames( names );
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to