Author: mbenson Date: Fri Sep 22 15:31:55 2006 New Revision: 449115 URL: http://svn.apache.org/viewvc?view=rev&rev=449115 Log: switch when attribute of size fileselector to use Comparison type. Also took out a bunch of spurious parentheses and moved the public statics to the top.
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java?view=diff&rev=449115&r1=449114&r2=449115 ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java Fri Sep 22 15:31:55 2006 @@ -20,6 +20,7 @@ import java.io.File; +import org.apache.tools.ant.types.Comparison; import org.apache.tools.ant.types.EnumeratedAttribute; import org.apache.tools.ant.types.Parameter; @@ -30,10 +31,6 @@ */ public class SizeSelector extends BaseExtendSelector { - private long size = -1; - private long multiplier = 1; - private long sizelimit = -1; - private int cmp = 2; /** Used for parameterized custom selector */ public static final String SIZE_KEY = "value"; /** Used for parameterized custom selector */ @@ -41,6 +38,11 @@ /** Used for parameterized custom selector */ public static final String WHEN_KEY = "when"; + private long size = -1; + private long multiplier = 1; + private long sizelimit = -1; + private Comparison when = Comparison.EQUAL; + /** * Creates a new <code>SizeSelector</code> instance. * @@ -57,14 +59,7 @@ public String toString() { StringBuffer buf = new StringBuffer("{sizeselector value: "); buf.append(sizelimit); - buf.append("compare: "); - if (cmp == 0) { - buf.append("less"); - } else if (cmp == 1) { - buf.append("more"); - } else { - buf.append("equal"); - } + buf.append("compare: ").append(when.getValue()); buf.append("}"); return buf.toString(); } @@ -78,7 +73,7 @@ */ public void setValue(long size) { this.size = size; - if ((multiplier != 0) && (size > -1)) { + if (multiplier != 0 && size > -1) { sizelimit = size * multiplier; } } @@ -112,24 +107,24 @@ public void setUnits(ByteUnits units) { int i = units.getIndex(); multiplier = 0; - if ((i > -1) && (i < 4)) { + if (i > -1 && i < 4) { multiplier = 1000; - } else if ((i > 3) && (i < 9)) { + } else if (i > 3 && i < 9) { multiplier = 1024; - } else if ((i > 8) && (i < 13)) { + } else if (i > 8 && i < 13) { multiplier = 1000000; - } else if ((i > 12) && (i < 18)) { + } else if (i > 12 && i < 18) { multiplier = 1048576; - } else if ((i > 17) && (i < 22)) { + } else if (i > 17 && i < 22) { multiplier = 1000000000L; - } else if ((i > 21) && (i < 27)) { + } else if (i > 21 && i < 27) { multiplier = 1073741824L; - } else if ((i > 26) && (i < 31)) { + } else if (i > 26 && i < 31) { multiplier = 1000000000000L; - } else if ((i > 30) && (i < 36)) { + } else if (i > 30 && i < 36) { multiplier = 1099511627776L; } - if ((multiplier > 0) && (size > -1)) { + if (multiplier > 0 && size > -1) { sizelimit = size * multiplier; } } @@ -139,10 +134,10 @@ * when the file matches a particular size, when it is smaller, * or whether it is larger. * - * @param scmp The comparison to perform, an EnumeratedAttribute. + * @param when The comparison to perform, an EnumeratedAttribute. */ - public void setWhen(SizeComparisons scmp) { - this.cmp = scmp.getIndex(); + public void setWhen(SizeComparisons when) { + this.when = when; } /** @@ -217,13 +212,8 @@ if (file.isDirectory()) { return true; } - if (cmp == 0) { - return (file.length() < sizelimit); - } else if (cmp == 1) { - return (file.length() > sizelimit); - } else { - return (file.length() == sizelimit); - } + long diff = file.length() - sizelimit; + return when.evaluate(diff == 0 ? 0 : (int) (diff / Math.abs(diff))); } @@ -265,13 +255,7 @@ /** * Enumerated attribute with the values for size comparison. */ - public static class SizeComparisons extends EnumeratedAttribute { - /** - * @return the values as an array of strings - */ - public String[] getValues() { - return new String[]{"less", "more", "equal"}; - } + public static class SizeComparisons extends Comparison { } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]