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]