svn commit: rev 36601 - avalon/trunk/planet/facilities/reflector/typehandlers/src/main/org/apache/metro/facilities/reflector/typehandlers
[email protected] 19 Aug 2004 09:21:54 -0000
| Newsgroups | gmane.comp.jakarta.avalon.cvs |
|---|---|
| Message-ID | <[email protected]> |
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 );
}