Author: mbenson Date: Tue Oct 10 09:53:18 2006 New Revision: 454824 URL: http://svn.apache.org/viewvc?view=rev&rev=454824 Log: extend DataType, equals non-final
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java?view=diff&rev=454824&r1=454823&r2=454824 ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java Tue Oct 10 09:53:18 2006 @@ -19,13 +19,14 @@ import java.util.Comparator; +import org.apache.tools.ant.types.DataType; import org.apache.tools.ant.types.Resource; /** * Abstract Resource Comparator. * @since Ant 1.7 */ -public abstract class ResourceComparator implements Comparator { +public abstract class ResourceComparator extends DataType implements Comparator { /** * Compare two objects. @@ -36,7 +37,10 @@ * @throws ClassCastException if either argument is null. */ public final int compare(Object foo, Object bar) { - return resourceCompare((Resource) foo, (Resource) bar); + dieOnCircularReference(); + ResourceComparator c = + isReference() ? (ResourceComparator) getCheckedRef() : this; + return c.resourceCompare((Resource) foo, (Resource) bar); } /** @@ -44,7 +48,10 @@ * @param o the Object to compare against. * @return true if the specified Object equals this one. */ - public final boolean equals(Object o) { + public boolean equals(Object o) { + if (isReference()) { + return getCheckedRef().equals(o); + } if (o == null) { return false; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]