scolebourne    2004/12/19 14:35:39

  Modified:    lang/src/test/org/apache/commons/lang ClassUtilsTest.java
               lang/src/java/org/apache/commons/lang ClassUtils.java
  Log:
  Remove Class and Package comparators - too specific set of use cases
  
  Revision  Changes    Path
  1.14      +8 -97     
jakarta-commons/lang/src/test/org/apache/commons/lang/ClassUtilsTest.java
  
  Index: ClassUtilsTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/ClassUtilsTest.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ClassUtilsTest.java       30 Jun 2004 18:33:58 -0000      1.13
  +++ ClassUtilsTest.java       19 Dec 2004 22:35:38 -0000      1.14
  @@ -19,7 +19,6 @@
   import java.lang.reflect.Modifier;
   import java.net.URLClassLoader;
   import java.util.ArrayList;
  -import java.util.Comparator;
   import java.util.List;
   import java.util.Map;
   
  @@ -389,102 +388,14 @@
           // This used to return the exact same array, but no longer does.
           assertNotSame("unmodified", noPrimitives, 
ClassUtils.primitivesToWrappers(noPrimitives));
       }
  -    
  -    public void testClassComparator() {
  -     Comparator comparator = ClassUtils.CLASS_NAME_COMPARATOR;
  -     Class smallClass = java.lang.Boolean.class;
  -     Class bigClass =  java.util.Set.class;
  -     
  -             assertTrue(comparator.compare(smallClass, smallClass) == 0);
  -             assertTrue(comparator.compare(bigClass, smallClass) > 0);
  -             assertTrue(comparator.compare(smallClass, bigClass) < 0);
  -             
  -             assertTrue(comparator.compare(smallClass, null) > 0);
  -             assertTrue(comparator.compare(null, smallClass) < 0);
  -
  -        assertComparatorContract(comparator, smallClass, smallClass);
  -        assertComparatorContract(comparator, bigClass, bigClass);
  -        assertComparatorContract(comparator, smallClass, bigClass);
  -    }
  -
  -    public void testPackageComparator() {
  -        Comparator comparator = ClassUtils.PACKAGE_NAME_COMPARATOR;
  -        Package smallPackage = java.lang.Boolean.class.getPackage();
  -        Package bigPackage =  java.util.Set.class.getPackage();
  -        
  -        assertTrue(comparator.compare(smallPackage, smallPackage) == 0);
  -        assertTrue(comparator.compare(bigPackage, smallPackage) > 0);
  -        assertTrue(comparator.compare(smallPackage, bigPackage) < 0);
  -        
  -        assertTrue(comparator.compare(smallPackage, null) > 0);
  -        assertTrue(comparator.compare(null, smallPackage) < 0);
  -
  -        assertComparatorContract(comparator, smallPackage, smallPackage);
  -        assertComparatorContract(comparator, bigPackage, bigPackage);
  -        assertComparatorContract(comparator, smallPackage, bigPackage);
  -    }
  -
  -    public void testPackageNameComparatorWithDifferentClassLoaders() throws 
SecurityException, IllegalArgumentException, ClassNotFoundException {
  -        Comparator comparator = ClassUtils.PACKAGE_NAME_COMPARATOR;
  -        Package p1 = java.lang.Boolean.class.getPackage();
  -        Package p2 = java.util.Set.class.getPackage();
  -        ClassLoader classLoader = newSystemClassLoader();
  -        Object p1Other = this.getPackage(classLoader, "java.lang.Boolean");
  -        Object p2Other = this.getPackage(classLoader, "java.util.Set");
  -        // all here
  -        assertComparatorContract(comparator, p1, p1);
  -        assertComparatorContract(comparator, p2, p2);
  -        assertComparatorContract(comparator, p1, p2);
  -        // all other
  -        assertComparatorContract(comparator, p1Other, p1Other);
  -        assertComparatorContract(comparator, p2Other, p2Other);
  -        assertComparatorContract(comparator, p1Other, p2Other);
  -        // p1 and p1Other
  -        assertComparatorContract(comparator, p1, p1Other);
  -        assertComparatorContract(comparator, p2, p2);
  -        assertComparatorContract(comparator, p1Other, p2);
  -        // p2 and p2Other
  -        assertComparatorContract(comparator, p1, p1);
  -        assertComparatorContract(comparator, p2, p2Other);
  -        assertComparatorContract(comparator, p1, p2Other);
  -    }
  -    
  -    Object getPackage(ClassLoader classLoader, String className) throws 
ClassNotFoundException, SecurityException,
  -            IllegalArgumentException {
  -        // Sanity check:
  -        assertNotNull(Package.getPackage("java.lang"));
  -        
Package.getPackage("java.lang").equals(Package.getPackage("java.lang"));
  -        // set up:
  -        assertNotNull(classLoader);
  -        Class otherClass = classLoader.loadClass(className);
  -        assertNotNull(otherClass);
  -        Object otherPackage = otherClass.getPackage();
  -        assertNotNull(otherPackage);
  -        return otherPackage;
  -    }
  -
  -    /**
  -     * The ordering imposed by a Comparator c on a set of elements S is said 
to
  -     * be consistent with equals if and only if (compare((Object)e1,
  -     * (Object)e2)==0) has the same boolean value as e1.equals((Object)e2) 
for
  -     * every e1 and e2 in S.
  -     * 
  -     * http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html
  -     */
  -    public void assertComparatorContract(Comparator comparator, Object e1, 
Object e2) {
  -        assertEquals(comparator.compare(e1, e2) == 0, e1.equals(e2));
  -    }
   
       public static ClassLoader newSystemClassLoader() throws  
SecurityException, IllegalArgumentException {
  -        ClassLoader scl = ClassLoader.getSystemClassLoader();
  -        if (!(scl instanceof URLClassLoader)) {
  -            fail("Need a better test set up.");
  -        }
  -        URLClassLoader urlScl = (URLClassLoader)scl;
  -        return URLClassLoader.newInstance(urlScl.getURLs(), null);
  +     ClassLoader scl = ClassLoader.getSystemClassLoader();
  +     if (!(scl instanceof URLClassLoader)) {
  +             fail("Need a better test set up.");
  +     }
  +     URLClassLoader urlScl = (URLClassLoader)scl;
  +     return URLClassLoader.newInstance(urlScl.getURLs(), null);
       }
  -    
  -//    public static List getAssignableFrom(List classes, Class superclass) {
  -//    public static boolean isAssignable(Class[] classArray, Class[] 
toClassArray) {
  -//    public static boolean isAssignable(Class cls, Class toClass) {
  +
   }
  
  
  
  1.34      +1 -68     
jakarta-commons/lang/src/java/org/apache/commons/lang/ClassUtils.java
  
  Index: ClassUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/ClassUtils.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- ClassUtils.java   21 Oct 2004 01:18:33 -0000      1.33
  +++ ClassUtils.java   19 Dec 2004 22:35:38 -0000      1.34
  @@ -16,7 +16,6 @@
   package org.apache.commons.lang;
   
   import java.util.ArrayList;
  -import java.util.Comparator;
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.List;
  @@ -497,71 +496,5 @@
           }
           return (cls.getName().indexOf(INNER_CLASS_SEPARATOR_CHAR) >= 0);
       }
  -    
  -    //-----------------------------------------------------------------------
  -    /**
  -     * Compares two <code>Class</code>s by name.
  -     */
  -    private static class ClassNameComparator implements Comparator {
  -        /**
  -         * Compares two <code>Class</code>s by name.
  -         * @param o1 The receiver of the comparison call to [EMAIL 
PROTECTED] String#compareTo(String)}.
  -         * @param o2 The argument of the comparison call to [EMAIL 
PROTECTED] String#compareTo(String)}.
  -         * @return The return value from [EMAIL PROTECTED] 
String#compareTo(String)}
  -         * 
  -         * @throws ClassCastException
  -         *                  If <code>o1</code> or <code>o2</code> are not 
<code>Class</code>
  -         *                  instances.
  -         */
  -        public int compare(Object o1, Object o2) {
  -            Class class1 = (Class) o1;
  -            Class class2 = (Class) o2;
  -            if (class1 == null) {
  -                return class2 == null ? 0 : -1;
  -            }
  -            if (class2 == null) {
  -                return 1;
  -            }
  -            return class1.getName().compareTo(class2.getName());
  -        }
  -    }
  -    
  -    /**
  -     * Compares two <code>Class</code>s by name.
  -     */
  -    public static final Comparator CLASS_NAME_COMPARATOR = new 
ClassNameComparator();
   
  -    /**
  -     * Compares two <code>Package</code>s by name.
  -     */
  -    private static class PackageNameComparator implements Comparator {
  -
  -        /**
  -         * Compares two <code>Package</code>s by name.
  -         * 
  -         * @param o1 The receiver of the comparison call to [EMAIL 
PROTECTED] String#compareTo(String)}.
  -         * @param o2 The argument of the comparison call to [EMAIL 
PROTECTED] String#compareTo(String)}.
  -         * @return The return value from [EMAIL PROTECTED] 
String#compareTo(String)}
  -         * @throws ClassCastException
  -         *                  If <code>o1</code> or <code>o2</code> are not 
<code>Package</code>
  -         *                  instances.
  -         */
  -        public int compare(Object o1, Object o2) {
  -            Package package1 = (Package) o1;
  -            Package package2 = (Package) o2;
  -            if (package1 == null) {
  -                return package2 == null ? 0 : -1;
  -            }
  -            if (package2 == null) {
  -                return 1;
  -            }
  -            return package1.getName().compareTo(package2.getName());
  -        }        
  -    }
  -    
  -    /**
  -     * Compares two <code>Package</code>s by name.
  -     */
  -    public static final Comparator PACKAGE_NAME_COMPARATOR = new 
PackageNameComparator();
  -    
   }
  
  
  

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

Reply via email to