- removed iterator code fromModifiedSelector - lazier DigestAlgorithm.getValue (includes JUnit test) - removed unncecessary nesting in EqualsComparator
//
// ----- Instantiate the interfaces -----
//
String className = null;
String pkg = "org.apache.tools.ant.types.selectors.modifiedselector";
what do these lines do in ModifiedSelector.configure? Eclipse says that they're never read, and as they're method variables, not class or instance variables (ie not public), I was very tempted to delete them, but I thought I'd better ask first in case they're present to support future functionality
Kev
Index: DigestAlgorithm.java
===================================================================
RCS file:
/home/cvspublic/ant/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java,v
retrieving revision 1.7
diff -u -r1.7 DigestAlgorithm.java
--- DigestAlgorithm.java 10 Jul 2004 17:15:37 -0000 1.7
+++ DigestAlgorithm.java 28 Feb 2005 03:46:53 -0000
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2004 The Apache Software Foundation
+ * Copyright 2003-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,11 +20,11 @@
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
+
import org.apache.tools.ant.BuildException;
@@ -78,7 +78,7 @@
/**
* Size of the read buffer to use.
*/
- private int readBufferSize = 8 * 1024;
+ private static final int READ_BUFFER_SIZE = 8 * 1024;
// ----- Algorithm-Configuration -----
@@ -146,22 +146,18 @@
* @return The value for that file
*/
// implementation adapted from ...taskdefs.Checksum, thanks to Magesh for
hint
- public String getValue(File file) {
- initMessageDigest();
- String checksum = null;
- try {
- if (!file.canRead()) {
- return null;
- }
- FileInputStream fis = null;
- FileOutputStream fos = null;
- byte[] buf = new byte[readBufferSize];
+ public String getValue(final File file) {
+ String checksum = null;
+ if (file.canRead()) {
+ initMessageDigest();
+ FileInputStream fis = null;
+ byte[] buf = new byte[READ_BUFFER_SIZE];
try {
- messageDigest.reset();
+ messageDigest.reset();
fis = new FileInputStream(file);
DigestInputStream dis = new DigestInputStream(fis,
messageDigest);
- while (dis.read(buf, 0, readBufferSize) != -1) {
+ while (dis.read(buf, 0, READ_BUFFER_SIZE) != -1) {
// do nothing
}
dis.close();
@@ -178,13 +174,11 @@
}
checksum = checksumSb.toString();
} catch (Exception e) {
- return null;
+ //do nothing
}
- } catch (Exception e) {
- return null;
- }
- return checksum;
- }
+ }
+ return checksum;
+ }
/**
Index: EqualComparator.java
===================================================================
RCS file:
/home/cvspublic/ant/src/main/org/apache/tools/ant/types/selectors/modifiedselector/EqualComparator.java,v
retrieving revision 1.6
diff -u -r1.6 EqualComparator.java
--- EqualComparator.java 9 Mar 2004 16:48:49 -0000 1.6
+++ EqualComparator.java 28 Feb 2005 03:46:53 -0000
@@ -41,12 +41,10 @@
if (o1 == null) {
if (o2 == null) {
return 1;
- } else {
- return 0;
}
- } else {
- return (o1.equals(o2)) ? 0 : 1;
+ return 0;
}
+ return (o1.equals(o2)) ? 0 : 1;
}
/**
Index: ModifiedSelector.java
===================================================================
RCS file:
/home/cvspublic/ant/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java,v
retrieving revision 1.15
diff -u -r1.15 ModifiedSelector.java
--- ModifiedSelector.java 7 Jan 2005 15:16:54 -0000 1.15
+++ ModifiedSelector.java 28 Feb 2005 03:46:55 -0000
@@ -21,7 +21,6 @@
// Java
import java.util.Comparator;
import java.util.Vector;
-import java.util.Iterator;
import java.io.File;
// Ant
@@ -309,6 +308,7 @@
/** Bean-Constructor. */
public ModifiedSelector() {
+ //default
}
@@ -382,8 +382,8 @@
//
// ----- Set the main attributes, pattern '*' -----
//
- for (Iterator itConfig = configParameter.iterator();
itConfig.hasNext();) {
- Parameter par = (Parameter) itConfig.next();
+ for (int i = 0, size = configParameter.size(); i < size; i++) {
+ Parameter par = (Parameter) configParameter.get(i);
if (par.getName().indexOf(".") > 0) {
// this is a *.* parameter for later use
specialParameter.add(par);
@@ -467,8 +467,8 @@
//
// ----- Set the special attributes, pattern '*.*' -----
//
- for (Iterator itSpecial = specialParameter.iterator();
itSpecial.hasNext();) {
- Parameter par = (Parameter) itSpecial.next();
+ for (int i = 0, size = specialParameter.size(); i < size; i++) {
+ Parameter par = (Parameter) specialParameter.get(i);
useParameter(par);
}
specialParameter = new Vector();
Index: DigestAlgorithmTest.java
===================================================================
RCS file: DigestAlgorithmTest.java
diff -N DigestAlgorithmTest.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ DigestAlgorithmTest.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,87 @@
+package org.apache.tools.ant.types.selectors.modifiedselector;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.security.DigestInputStream;
+import java.security.MessageDigest;
+
+import junit.framework.TestCase;
+
+import org.apache.tools.ant.util.FileUtils;
+
+public class DigestAlgorithmTest extends TestCase {
+
+ private DigestAlgorithm da = new DigestAlgorithm();
+ private MessageDigest messageDigest = null;
+ private FileUtils fu = FileUtils.getFileUtils();
+ private File dir = new File(".");
+ private int readBufferSize = 8 * 1024;
+
+ private File f = fu.createTempFile("TEST", "TEST", dir);
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public String getValueOld(File file) {
+ da.initMessageDigest();
+ String checksum = null;
+ try {
+ if (!file.canRead()) {
+ return null;
+ }
+ FileInputStream fis = null;
+ FileOutputStream fos = null;
+ byte[] buf = new byte[readBufferSize];
+ try {
+ messageDigest.reset();
+ fis = new FileInputStream(file);
+ DigestInputStream dis = new DigestInputStream(fis,
+ messageDigest);
+ while (dis.read(buf, 0, readBufferSize) != -1) {
+ // do nothing
+ }
+ dis.close();
+ fis.close();
+ fis = null;
+ byte[] fileDigest = messageDigest.digest();
+ StringBuffer checksumSb = new StringBuffer();
+ for (int i = 0; i < fileDigest.length; i++) {
+ String hexStr = Integer.toHexString(0x00ff &
fileDigest[i]);
+ if (hexStr.length() < 2) {
+ checksumSb.append("0");
+ }
+ checksumSb.append(hexStr);
+ }
+ checksum = checksumSb.toString();
+ } catch (Exception e) {
+ return null;
+ }
+ } catch (Exception e) {
+ return null;
+ }
+ return checksum;
+ }
+
+ public void testGetValue() {
+ try {
+ DigestAlgorithm da = new DigestAlgorithm();
+ assertEquals(da.getValue(f), this.getValueOld(f));
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+}--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
