Return-Path: Delivered-To: apmail-maven-archiva-commits-archive@locus.apache.org Received: (qmail 87506 invoked from network); 12 Apr 2008 03:50:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Apr 2008 03:50:40 -0000 Received: (qmail 41412 invoked by uid 500); 12 Apr 2008 03:50:40 -0000 Delivered-To: apmail-maven-archiva-commits-archive@maven.apache.org Received: (qmail 41365 invoked by uid 500); 12 Apr 2008 03:50:40 -0000 Mailing-List: contact archiva-commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: archiva-dev@maven.apache.org Delivered-To: mailing list archiva-commits@maven.apache.org Received: (qmail 41354 invoked by uid 99); 12 Apr 2008 03:50:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Apr 2008 20:50:40 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Apr 2008 03:49:55 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C4CF81A9832; Fri, 11 Apr 2008 20:50:14 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r647369 - in /archiva/sandbox/archiva-checksum/src: main/java/org/apache/archiva/checksum/ test/java/org/apache/archiva/checksum/ Date: Sat, 12 Apr 2008 03:50:13 -0000 To: archiva-commits@maven.apache.org From: joakime@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080412035014.C4CF81A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: joakime Date: Fri Apr 11 20:50:09 2008 New Revision: 647369 URL: http://svn.apache.org/viewvc?rev=647369&view=rev Log: * Fixed name of HashTest to ChecksumFileTest * Changed ChecksumFile from utility class to instantiated class. * Changed my email address to apache.org version. Added: archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumAlgorithmTest.java - copied, changed from r647368, archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/HashTest.java Removed: archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/HashTest.java Modified: archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumFile.java archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/AbstractChecksumTestCase.java archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumFileTest.java Modified: archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java?rev=647369&r1=647368&r2=647369&view=diff ============================================================================== --- archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java (original) +++ archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java Fri Apr 11 20:50:09 2008 @@ -32,7 +32,7 @@ /** * Checksum - simple checksum hashing routines. * - * @author Joakim Erdfelt + * @author Joakim Erdfelt * @version $Id$ */ public class Checksum Modified: archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java?rev=647369&r1=647368&r2=647369&view=diff ============================================================================== --- archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java (original) +++ archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java Fri Apr 11 20:50:09 2008 @@ -26,7 +26,7 @@ /** * Enumeration of available ChecksumAlgorithm techniques. * - * @author Joakim Erdfelt + * @author Joakim Erdfelt * @version $Id$ */ public enum ChecksumAlgorithm { Modified: archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumFile.java URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumFile.java?rev=647369&r1=647368&r2=647369&view=diff ============================================================================== --- archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumFile.java (original) +++ archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumFile.java Fri Apr 11 20:50:09 2008 @@ -49,22 +49,32 @@ *
The file that is being referenced in the checksum file.
* * - * @author Joakim Erdfelt + * @author Joakim Erdfelt * @version $Id$ */ public class ChecksumFile { private Logger log = LoggerFactory.getLogger( ChecksumFile.class ); + + private final File referenceFile; + + /** + * Construct a ChecksumFile object. + * + * @param referenceFile + */ + public ChecksumFile(final File referenceFile) { + this.referenceFile = referenceFile; + } /** - * Using a given checksum. + * Calculate the checksum based on a given checksum. * - * @param checksumAlgorithm the hash to use. - * @param referenceFile the file to calculate the checksum for. + * @param checksumAlgorithm the algorithm to use. * @return the checksum string for the file. * @throws IOException if unable to calculate the checksum. */ - public String calculateChecksum( ChecksumAlgorithm checksumAlgorithm, File referenceFile ) + public String calculateChecksum( ChecksumAlgorithm checksumAlgorithm ) throws IOException { FileInputStream fis = null; @@ -83,17 +93,16 @@ /** * Creates a checksum file of the provided referenceFile. - * - * @param referenceFile the file to checksum. * @param checksumAlgorithm the hash to use. + * * @return the checksum File that was created. * @throws IOException if there was a problem either reading the referenceFile, or writing the checksum file. */ - public File createChecksum( File referenceFile, ChecksumAlgorithm checksumAlgorithm ) + public File createChecksum( ChecksumAlgorithm checksumAlgorithm ) throws IOException { File checksumFile = new File( referenceFile.getAbsolutePath() + "." + checksumAlgorithm.getExt() ); - String checksum = calculateChecksum( checksumAlgorithm, referenceFile ); + String checksum = calculateChecksum( checksumAlgorithm ); FileUtils.writeStringToFile( checksumFile, checksum + " " + referenceFile.getName() ); return checksumFile; } @@ -102,10 +111,9 @@ * Get the checksum file for the reference file and hash. * * @param checksumAlgorithm the hash that we are interested in. - * @param referenceFile the reference file to work with. * @return the checksum file to return */ - public File getChecksumFile( ChecksumAlgorithm checksumAlgorithm, File referenceFile ) + public File getChecksumFile( ChecksumAlgorithm checksumAlgorithm ) { return new File( referenceFile.getAbsolutePath() + "." + checksumAlgorithm.getExt() ); } @@ -149,7 +157,7 @@ String rawChecksum = FileUtils.readFileToString( checksumFile ); String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() ); - String actualChecksum = calculateChecksum( checksumAlgorithm, referenceFile ); + String actualChecksum = calculateChecksum( checksumAlgorithm ); return StringUtils.equalsIgnoreCase( expectedChecksum, actualChecksum ); } @@ -158,48 +166,47 @@ * Of any checksum files present, validate that the reference file conforms * the to the checksum. * - * @param hashes the hashes to check for. - * @param referenceFile the reference file to cehck. + * @param algorithms the hashes to check for. * @return true if the checksums report that the the reference file is valid. * @throws IOException if unable to validate the checksums. */ - public boolean isValidChecksums( ChecksumAlgorithm hashes[], File referenceFile ) + public boolean isValidChecksums( ChecksumAlgorithm algorithms[] ) throws IOException { FileInputStream fis = null; try { - List hashers = new ArrayList(); - // Create hasher for each hash. - for ( ChecksumAlgorithm checksumAlgorithm : hashes ) + List checksums = new ArrayList(); + // Create checksum object for each algorithm. + for ( ChecksumAlgorithm checksumAlgorithm : algorithms ) { - File checksumFile = getChecksumFile( checksumAlgorithm, referenceFile ); + File checksumFile = getChecksumFile( checksumAlgorithm ); - // Only add hasher if checksum file exists. + // Only add algorithm if checksum file exists. if ( checksumFile.exists() ) { - hashers.add( new Checksum( checksumAlgorithm ) ); + checksums.add( new Checksum( checksumAlgorithm ) ); } } - // Any hashers? - if ( hashers.isEmpty() ) + // Any checksums? + if ( checksums.isEmpty() ) { - // No hashers, no checksum files, default to is valid. + // No checksum objects, no checksum files, default to is valid. return true; } - // Parse file once, for all hashers. + // Parse file once, for all checksums. fis = new FileInputStream( referenceFile ); - Checksum.update( hashers, fis ); + Checksum.update( checksums, fis ); boolean valid = true; - // check the hash files - for ( Checksum checksum : hashers ) + // check the checksum files + for ( Checksum checksum : checksums ) { ChecksumAlgorithm checksumAlgorithm = checksum.getAlgorithm(); - File checksumFile = getChecksumFile( checksumAlgorithm, referenceFile ); + File checksumFile = getChecksumFile( checksumAlgorithm ); String rawChecksum = FileUtils.readFileToString( checksumFile ); String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() ); @@ -221,32 +228,31 @@ /** * Fix or create checksum files for the reference file. * - * @param hashes the hashes to check for. - * @param referenceFile the reference file to check against. + * @param algorithms the hashes to check for. * @return true if checksums were created successfully. */ - public boolean fixChecksums( ChecksumAlgorithm hashes[], File referenceFile ) + public boolean fixChecksums( ChecksumAlgorithm algorithms[] ) { - List hashers = new ArrayList(); - // Create hasher for each hash. - for ( ChecksumAlgorithm checksumAlgorithm : hashes ) + List checksums = new ArrayList(); + // Create checksum object for each algorithm. + for ( ChecksumAlgorithm checksumAlgorithm : algorithms ) { - hashers.add( new Checksum( checksumAlgorithm ) ); + checksums.add( new Checksum( checksumAlgorithm ) ); } - // Any hashers? - if ( hashers.isEmpty() ) + // Any checksums? + if ( checksums.isEmpty() ) { - // No hashers, no checksum files, default to is valid. + // No checksum objects, no checksum files, default to is valid. return true; } FileInputStream fis = null; try { - // Parse file once, for all hashers. + // Parse file once, for all checksums. fis = new FileInputStream( referenceFile ); - Checksum.update( hashers, fis ); + Checksum.update( checksums, fis ); } catch ( IOException e ) { @@ -261,12 +267,12 @@ boolean valid = true; // check the hash files - for ( Checksum checksum : hashers ) + for ( Checksum checksum : checksums ) { ChecksumAlgorithm checksumAlgorithm = checksum.getAlgorithm(); try { - File checksumFile = getChecksumFile( checksumAlgorithm, referenceFile ); + File checksumFile = getChecksumFile( checksumAlgorithm ); String actualChecksum = checksum.getChecksum(); if ( checksumFile.exists() ) Modified: archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/AbstractChecksumTestCase.java URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/AbstractChecksumTestCase.java?rev=647369&r1=647368&r2=647369&view=diff ============================================================================== --- archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/AbstractChecksumTestCase.java (original) +++ archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/AbstractChecksumTestCase.java Fri Apr 11 20:50:09 2008 @@ -26,7 +26,7 @@ /** * AbstractChecksumTestCase * - * @author Joakim Erdfelt + * @author Joakim Erdfelt * @version $Id$ */ public abstract class AbstractChecksumTestCase Copied: archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumAlgorithmTest.java (from r647368, archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/HashTest.java) URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumAlgorithmTest.java?p2=archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumAlgorithmTest.java&p1=archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/HashTest.java&r1=647368&r2=647369&rev=647369&view=diff ============================================================================== --- archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/HashTest.java (original) +++ archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumAlgorithmTest.java Fri Apr 11 20:50:09 2008 @@ -24,12 +24,12 @@ import junit.framework.TestCase; /** - * HashTest + * ChecksumAlgorithmTest * - * @author Joakim Erdfelt + * @author Joakim Erdfelt * @version $Id$ */ -public class HashTest +public class ChecksumAlgorithmTest extends TestCase { public void testGetHashByExtensionSha1() Modified: archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumFileTest.java URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumFileTest.java?rev=647369&r1=647368&r2=647369&view=diff ============================================================================== --- archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumFileTest.java (original) +++ archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumFileTest.java Fri Apr 11 20:50:09 2008 @@ -28,7 +28,7 @@ /** * ChecksumFileTest * - * @author Joakim Erdfelt + * @author Joakim Erdfelt * @version $Id$ */ public class ChecksumFileTest @@ -40,20 +40,20 @@ public void testCalculateChecksumSha1() throws IOException { - ChecksumFile checksumFile = new ChecksumFile(); File testfile = getTestResource( "examples/redback-authz-open.jar" ); + ChecksumFile checksumFile = new ChecksumFile( testfile ); String expectedChecksum = "2bb14b388973351b0a4dfe11d171965f59cc61a1"; - String actualChecksum = checksumFile.calculateChecksum( ChecksumAlgorithm.SHA1, testfile ); + String actualChecksum = checksumFile.calculateChecksum( ChecksumAlgorithm.SHA1 ); assertEquals( expectedChecksum, actualChecksum ); } public void testCalculateChecksumMd5() throws IOException { - ChecksumFile checksumFile = new ChecksumFile(); File testfile = getTestResource( "examples/redback-authz-open.jar" ); + ChecksumFile checksumFile = new ChecksumFile( testfile ); String expectedChecksum = "f42047fe2e177ac04d0df7aa44d408be"; - String actualChecksum = checksumFile.calculateChecksum( ChecksumAlgorithm.MD5, testfile ); + String actualChecksum = checksumFile.calculateChecksum( ChecksumAlgorithm.MD5 ); assertEquals( expectedChecksum, actualChecksum ); } @@ -63,8 +63,10 @@ String expected = SERVLETAPI_SHA1 + " /home/projects/maven/repository-staging/to-ibiblio/maven2/servletapi/servletapi/2.4/servletapi-2.4.pom"; - ChecksumFile checksumFile = new ChecksumFile(); - String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" ); + File testfile = getTestResource( "examples/redback-authz-open.jar" ); + ChecksumFile checksumFile = new ChecksumFile( testfile ); + String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, + "servletapi/servletapi/2.4/servletapi-2.4.pom" ); assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s ); } @@ -73,8 +75,10 @@ throws IOException { String expected = SERVLETAPI_SHA1 + " -"; - ChecksumFile checksumFile = new ChecksumFile(); - String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" ); + File testfile = getTestResource( "examples/redback-authz-open.jar" ); + ChecksumFile checksumFile = new ChecksumFile( testfile ); + String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, + "servletapi/servletapi/2.4/servletapi-2.4.pom" ); assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s ); } @@ -82,24 +86,26 @@ throws IOException { String expected = "SHA1(-)=" + SERVLETAPI_SHA1; - ChecksumFile checksumFile = new ChecksumFile(); - String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" ); + File testfile = getTestResource( "examples/redback-authz-open.jar" ); + ChecksumFile checksumFile = new ChecksumFile( testfile ); + String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, + "servletapi/servletapi/2.4/servletapi-2.4.pom" ); assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s ); } public void testGetChecksumFile() { - ChecksumFile checksumFile = new ChecksumFile(); - assertEquals( "test.jar.sha1", checksumFile.getChecksumFile( ChecksumAlgorithm.SHA1, new File( "test.jar" ) ).getName() ); + ChecksumFile checksumFile = new ChecksumFile( new File("test.jar") ); + assertEquals( "test.jar.sha1", checksumFile.getChecksumFile( ChecksumAlgorithm.SHA1 ).getName() ); } public void testCreateChecksum() throws IOException { File testableJar = createTestableJar( "examples/redback-authz-open.jar" ); - ChecksumFile checksumFile = new ChecksumFile(); - checksumFile.createChecksum( testableJar, ChecksumAlgorithm.SHA1 ); - File hashFile = checksumFile.getChecksumFile( ChecksumAlgorithm.SHA1, testableJar ); + ChecksumFile checksumFile = new ChecksumFile( testableJar ); + checksumFile.createChecksum( ChecksumAlgorithm.SHA1 ); + File hashFile = checksumFile.getChecksumFile( ChecksumAlgorithm.SHA1 ); assertTrue( "ChecksumAlgorithm file should exist.", hashFile.exists() ); String hashContents = FileUtils.readFileToString( hashFile ); hashContents = StringUtils.trim( hashContents );