You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2008/04/12 05:36:13 UTC

svn commit: r647368 - in /archiva/sandbox/archiva-checksum/src: main/java/org/apache/archiva/checksum/ test/java/org/apache/archiva/checksum/

Author: joakime
Date: Fri Apr 11 20:36:07 2008
New Revision: 647368

URL: http://svn.apache.org/viewvc?rev=647368&view=rev
Log:
Renaming classes per discussion in dev@archiva

Added:
    archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java
      - copied, changed from r645362, archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hasher.java
    archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java
      - copied, changed from r645362, archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hash.java
Removed:
    archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hash.java
    archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hasher.java
Modified:
    archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumFile.java
    archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksumFileTest.java
    archiva/sandbox/archiva-checksum/src/test/java/org/apache/archiva/checksum/HashTest.java

Copied: archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java (from r645362, archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hasher.java)
URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java?p2=archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java&p1=archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hasher.java&r1=645362&r2=647368&rev=647368&view=diff
==============================================================================
--- archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hasher.java (original)
+++ archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Checksum.java Fri Apr 11 20:36:07 2008
@@ -30,25 +30,25 @@
 import org.apache.commons.io.output.NullOutputStream;
 
 /**
- * Hasher - simple hashing routines. 
+ * Checksum - simple checksum hashing routines. 
  *
  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
  * @version $Id$
  */
-public class Hasher
+public class Checksum
 {
     private static final int BUFFER_SIZE = 32768;
 
-    public static void update( List<Hasher> hashers, InputStream stream )
+    public static void update( List<Checksum> checksums, InputStream stream )
         throws IOException
     {
         byte[] buffer = new byte[BUFFER_SIZE];
         int size = stream.read( buffer, 0, BUFFER_SIZE );
         while ( size >= 0 )
         {
-            for ( Hasher hasher : hashers )
+            for ( Checksum checksum : checksums )
             {
-                hasher.update( buffer, 0, size );
+                checksum.update( buffer, 0, size );
             }
             size = stream.read( buffer, 0, BUFFER_SIZE );
         }
@@ -56,18 +56,18 @@
 
     protected final MessageDigest md;
 
-    private Hash hash;
+    private ChecksumAlgorithm checksumAlgorithm;
 
-    public Hasher( Hash hash )
+    public Checksum( ChecksumAlgorithm checksumAlgorithm )
     {
-        this.hash = hash;
+        this.checksumAlgorithm = checksumAlgorithm;
         try
         {
-            md = MessageDigest.getInstance( hash.getAlgorithm() );
+            md = MessageDigest.getInstance( checksumAlgorithm.getAlgorithm() );
         }
         catch ( NoSuchAlgorithmException e )
         {
-            throw new IllegalStateException( "Unable to initialize MessageDigest algorithm " + hash.getAlgorithm()
+            throw new IllegalStateException( "Unable to initialize MessageDigest algorithm " + checksumAlgorithm.getAlgorithm()
                 + " : " + e.getMessage(), e );
         }
     }
@@ -77,9 +77,9 @@
         return Hex.encode( md.digest() );
     }
 
-    public Hash getHash()
+    public ChecksumAlgorithm getAlgorithm()
     {
-        return this.hash;
+        return this.checksumAlgorithm;
     }
 
     public void reset()
@@ -87,13 +87,13 @@
         md.reset();
     }
 
-    public Hasher update( byte[] buffer, int offset, int size )
+    public Checksum update( byte[] buffer, int offset, int size )
     {
         md.update( buffer, 0, size );
         return this;
     }
 
-    public Hasher update( InputStream stream )
+    public Checksum update( InputStream stream )
         throws IOException
     {
         DigestInputStream dig = new DigestInputStream( stream, md );

Copied: archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java (from r645362, archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hash.java)
URL: http://svn.apache.org/viewvc/archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java?p2=archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java&p1=archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hash.java&r1=645362&r2=647368&rev=647368&view=diff
==============================================================================
--- archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/Hash.java (original)
+++ archiva/sandbox/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksumAlgorithm.java Fri Apr 11 20:36:07 2008
@@ -24,25 +24,25 @@
 import org.apache.commons.io.FilenameUtils;
 
 /**
- * Enumeration of available Hash techniques.
+ * Enumeration of available ChecksumAlgorithm techniques.
  *
  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
  * @version $Id$
  */
-public enum Hash {
+public enum ChecksumAlgorithm {
     SHA1("SHA-1", "sha1", "SHA1"),
     MD5("MD5", "md5", "MD5");
 
-    public static Hash getHashByExtension( File file )
+    public static ChecksumAlgorithm getByExtension( File file )
     {
         String ext = FilenameUtils.getExtension( file.getName() ).toLowerCase();
-        if ( Hash.SHA1.getExt().equals( ext ) )
+        if ( ChecksumAlgorithm.SHA1.getExt().equals( ext ) )
         {
-            return Hash.SHA1;
+            return ChecksumAlgorithm.SHA1;
         }
-        else if ( Hash.MD5.getExt().equals( ext ) )
+        else if ( ChecksumAlgorithm.MD5.getExt().equals( ext ) )
         {
-            return Hash.MD5;
+            return ChecksumAlgorithm.MD5;
         }
 
         throw new IllegalArgumentException( "Filename " + file.getName() + " has no associated extension." );
@@ -54,7 +54,7 @@
     private String algorithm;
 
     /**
-     * The file extension for this Hash.
+     * The file extension for this ChecksumAlgorithm.
      */
     private String ext;
 
@@ -64,13 +64,13 @@
     private String type;
 
     /**
-     * Construct a Hash
+     * Construct a ChecksumAlgorithm
      * 
      * @param algorithm the MessageDigest algorithm
      * @param ext the file extension.
      * @param type the checksum type.
      */
-    private Hash( String algorithm, String ext, String type )
+    private ChecksumAlgorithm( String algorithm, String ext, String type )
     {
         this.algorithm = algorithm;
         this.ext = ext;

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=647368&r1=647367&r2=647368&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:36:07 2008
@@ -59,21 +59,21 @@
     /**
      * Using a given checksum.
      * 
-     * @param hash the hash to use.
+     * @param checksumAlgorithm the hash to use.
      * @param referenceFile the file to calculate the checksum for.
      * @return the checksum string for the file.
      * @throws IOException if unable to calculate the checksum.
      */
-    public String calculateChecksum( Hash hash, File referenceFile )
+    public String calculateChecksum( ChecksumAlgorithm checksumAlgorithm, File referenceFile )
         throws IOException
     {
         FileInputStream fis = null;
         try
         {
-            Hasher hasher = new Hasher( hash );
+            Checksum checksum = new Checksum( checksumAlgorithm );
             fis = new FileInputStream( referenceFile );
-            hasher.update( fis );
-            return hasher.getChecksum();
+            checksum.update( fis );
+            return checksum.getChecksum();
         }
         finally
         {
@@ -85,15 +85,15 @@
      * Creates a checksum file of the provided referenceFile.
      * 
      * @param referenceFile the file to checksum.
-     * @param hash the hash to use.
+     * @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, Hash hash )
+    public File createChecksum( File referenceFile, ChecksumAlgorithm checksumAlgorithm )
         throws IOException
     {
-        File checksumFile = new File( referenceFile.getAbsolutePath() + "." + hash.getExt() );
-        String checksum = calculateChecksum( hash, referenceFile );
+        File checksumFile = new File( referenceFile.getAbsolutePath() + "." + checksumAlgorithm.getExt() );
+        String checksum = calculateChecksum( checksumAlgorithm, referenceFile );
         FileUtils.writeStringToFile( checksumFile, checksum + "  " + referenceFile.getName() );
         return checksumFile;
     }
@@ -101,13 +101,13 @@
     /**
      * Get the checksum file for the reference file and hash.
      * 
-     * @param hash the hash that we are interested in.
+     * @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( Hash hash, File referenceFile )
+    public File getChecksumFile( ChecksumAlgorithm checksumAlgorithm, File referenceFile )
     {
-        return new File( referenceFile.getAbsolutePath() + "." + hash.getExt() );
+        return new File( referenceFile.getAbsolutePath() + "." + checksumAlgorithm.getExt() );
     }
 
     /**
@@ -138,7 +138,7 @@
             throw new IOException( "Unable to load checksum from non-file " + checksumFile.getAbsolutePath() );
         }
 
-        Hash hash = Hash.getHashByExtension( checksumFile );
+        ChecksumAlgorithm checksumAlgorithm = ChecksumAlgorithm.getByExtension( checksumFile );
 
         File parentDir = checksumFile.getParentFile();
         String filename = FilenameUtils.removeExtension( checksumFile.getName() );
@@ -147,9 +147,9 @@
         File referenceFile = new File( parentDir, filename );
 
         String rawChecksum = FileUtils.readFileToString( checksumFile );
-        String expectedChecksum = parseChecksum( rawChecksum, hash, referenceFile.getName() );
+        String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() );
 
-        String actualChecksum = calculateChecksum( hash, referenceFile );
+        String actualChecksum = calculateChecksum( checksumAlgorithm, referenceFile );
 
         return StringUtils.equalsIgnoreCase( expectedChecksum, actualChecksum );
     }
@@ -163,22 +163,22 @@
      * @return true if the checksums report that the the reference file is valid.
      * @throws IOException if unable to validate the checksums.
      */
-    public boolean isValidChecksums( Hash hashes[], File referenceFile )
+    public boolean isValidChecksums( ChecksumAlgorithm hashes[], File referenceFile )
         throws IOException
     {
         FileInputStream fis = null;
         try
         {
-            List<Hasher> hashers = new ArrayList<Hasher>();
+            List<Checksum> hashers = new ArrayList<Checksum>();
             // Create hasher for each hash.
-            for ( Hash hash : hashes )
+            for ( ChecksumAlgorithm checksumAlgorithm : hashes )
             {
-                File checksumFile = getChecksumFile( hash, referenceFile );
+                File checksumFile = getChecksumFile( checksumAlgorithm, referenceFile );
 
                 // Only add hasher if checksum file exists.
                 if ( checksumFile.exists() )
                 {
-                    hashers.add( new Hasher( hash ) );
+                    hashers.add( new Checksum( checksumAlgorithm ) );
                 }
             }
 
@@ -191,20 +191,20 @@
 
             // Parse file once, for all hashers.
             fis = new FileInputStream( referenceFile );
-            Hasher.update( hashers, fis );
+            Checksum.update( hashers, fis );
 
             boolean valid = true;
 
             // check the hash files
-            for ( Hasher hasher : hashers )
+            for ( Checksum checksum : hashers )
             {
-                Hash hash = hasher.getHash();
-                File checksumFile = getChecksumFile( hash, referenceFile );
+                ChecksumAlgorithm checksumAlgorithm = checksum.getAlgorithm();
+                File checksumFile = getChecksumFile( checksumAlgorithm, referenceFile );
 
                 String rawChecksum = FileUtils.readFileToString( checksumFile );
-                String expectedChecksum = parseChecksum( rawChecksum, hash, referenceFile.getName() );
+                String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() );
 
-                if ( StringUtils.equalsIgnoreCase( expectedChecksum, hasher.getChecksum() ) == false )
+                if ( StringUtils.equalsIgnoreCase( expectedChecksum, checksum.getChecksum() ) == false )
                 {
                     valid = false;
                 }
@@ -225,13 +225,13 @@
      * @param referenceFile the reference file to check against.
      * @return true if checksums were created successfully.
      */
-    public boolean fixChecksums( Hash hashes[], File referenceFile )
+    public boolean fixChecksums( ChecksumAlgorithm hashes[], File referenceFile )
     {
-        List<Hasher> hashers = new ArrayList<Hasher>();
+        List<Checksum> hashers = new ArrayList<Checksum>();
         // Create hasher for each hash.
-        for ( Hash hash : hashes )
+        for ( ChecksumAlgorithm checksumAlgorithm : hashes )
         {
-            hashers.add( new Hasher( hash ) );
+            hashers.add( new Checksum( checksumAlgorithm ) );
         }
 
         // Any hashers?
@@ -246,7 +246,7 @@
         {
             // Parse file once, for all hashers.
             fis = new FileInputStream( referenceFile );
-            Hasher.update( hashers, fis );
+            Checksum.update( hashers, fis );
         }
         catch ( IOException e )
         {
@@ -261,18 +261,18 @@
         boolean valid = true;
 
         // check the hash files
-        for ( Hasher hasher : hashers )
+        for ( Checksum checksum : hashers )
         {
-            Hash hash = hasher.getHash();
+            ChecksumAlgorithm checksumAlgorithm = checksum.getAlgorithm();
             try
             {
-                File checksumFile = getChecksumFile( hash, referenceFile );
-                String actualChecksum = hasher.getChecksum();
+                File checksumFile = getChecksumFile( checksumAlgorithm, referenceFile );
+                String actualChecksum = checksum.getChecksum();
 
                 if ( checksumFile.exists() )
                 {
                     String rawChecksum = FileUtils.readFileToString( checksumFile );
-                    String expectedChecksum = parseChecksum( rawChecksum, hash, referenceFile.getName() );
+                    String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() );
 
                     if ( StringUtils.equalsIgnoreCase( expectedChecksum, actualChecksum ) == false )
                     {
@@ -313,7 +313,7 @@
      * @return
      * @throws IOException
      */
-    public String parseChecksum( String rawChecksumString, Hash expectedHash, String expectedPath )
+    public String parseChecksum( String rawChecksumString, ChecksumAlgorithm expectedHash, String expectedPath )
         throws IOException
     {
         String trimmedChecksum = rawChecksumString.replace( '\n', ' ' ).trim();

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=647368&r1=647367&r2=647368&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:36:07 2008
@@ -43,7 +43,7 @@
         ChecksumFile checksumFile = new ChecksumFile();
         File testfile = getTestResource( "examples/redback-authz-open.jar" );
         String expectedChecksum = "2bb14b388973351b0a4dfe11d171965f59cc61a1";
-        String actualChecksum = checksumFile.calculateChecksum( Hash.SHA1, testfile );
+        String actualChecksum = checksumFile.calculateChecksum( ChecksumAlgorithm.SHA1, testfile );
         assertEquals( expectedChecksum, actualChecksum );
     }
 
@@ -53,7 +53,7 @@
         ChecksumFile checksumFile = new ChecksumFile();
         File testfile = getTestResource( "examples/redback-authz-open.jar" );
         String expectedChecksum = "f42047fe2e177ac04d0df7aa44d408be";
-        String actualChecksum = checksumFile.calculateChecksum( Hash.MD5, testfile );
+        String actualChecksum = checksumFile.calculateChecksum( ChecksumAlgorithm.MD5, testfile );
         assertEquals( expectedChecksum, actualChecksum );
     }
 
@@ -64,7 +64,7 @@
             + "  /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, Hash.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" );
+        String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" );
         assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s );
 
     }
@@ -74,7 +74,7 @@
     {
         String expected = SERVLETAPI_SHA1 + "  -";
         ChecksumFile checksumFile = new ChecksumFile();
-        String s = checksumFile.parseChecksum( expected, Hash.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" );
+        String s = checksumFile.parseChecksum( expected, ChecksumAlgorithm.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" );
         assertEquals( "Checksum doesn't match", SERVLETAPI_SHA1, s );
     }
 
@@ -83,14 +83,14 @@
     {
         String expected = "SHA1(-)=" + SERVLETAPI_SHA1;
         ChecksumFile checksumFile = new ChecksumFile();
-        String s = checksumFile.parseChecksum( expected, Hash.SHA1, "servletapi/servletapi/2.4/servletapi-2.4.pom" );
+        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( Hash.SHA1, new File( "test.jar" ) ).getName() );
+        assertEquals( "test.jar.sha1", checksumFile.getChecksumFile( ChecksumAlgorithm.SHA1, new File( "test.jar" ) ).getName() );
     }
 
     public void testCreateChecksum()
@@ -98,9 +98,9 @@
     {
         File testableJar = createTestableJar( "examples/redback-authz-open.jar" );
         ChecksumFile checksumFile = new ChecksumFile();
-        checksumFile.createChecksum( testableJar, Hash.SHA1 );
-        File hashFile = checksumFile.getChecksumFile( Hash.SHA1, testableJar );
-        assertTrue( "Hash file should exist.", hashFile.exists() );
+        checksumFile.createChecksum( testableJar, ChecksumAlgorithm.SHA1 );
+        File hashFile = checksumFile.getChecksumFile( ChecksumAlgorithm.SHA1, testableJar );
+        assertTrue( "ChecksumAlgorithm file should exist.", hashFile.exists() );
         String hashContents = FileUtils.readFileToString( hashFile );
         hashContents = StringUtils.trim( hashContents );
         assertEquals( "2bb14b388973351b0a4dfe11d171965f59cc61a1  redback-authz-open.jar", hashContents );

Modified: 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/HashTest.java?rev=647368&r1=647367&r2=647368&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/HashTest.java Fri Apr 11 20:36:07 2008
@@ -34,21 +34,21 @@
 {
     public void testGetHashByExtensionSha1()
     {
-        assertEquals( Hash.SHA1, Hash.getHashByExtension( new File( "something.jar.sha1" ) ) );
-        assertEquals( Hash.SHA1, Hash.getHashByExtension( new File( "OTHER.JAR.SHA1" ) ) );
+        assertEquals( ChecksumAlgorithm.SHA1, ChecksumAlgorithm.getByExtension( new File( "something.jar.sha1" ) ) );
+        assertEquals( ChecksumAlgorithm.SHA1, ChecksumAlgorithm.getByExtension( new File( "OTHER.JAR.SHA1" ) ) );
     }
 
     public void testGetHashByExtensionMd5()
     {
-        assertEquals( Hash.MD5, Hash.getHashByExtension( new File( "something.jar.md5" ) ) );
-        assertEquals( Hash.MD5, Hash.getHashByExtension( new File( "OTHER.JAR.MD5" ) ) );
+        assertEquals( ChecksumAlgorithm.MD5, ChecksumAlgorithm.getByExtension( new File( "something.jar.md5" ) ) );
+        assertEquals( ChecksumAlgorithm.MD5, ChecksumAlgorithm.getByExtension( new File( "OTHER.JAR.MD5" ) ) );
     }
 
     public void testGetHashByExtensionInvalid()
     {
         try
         {
-            Hash.getHashByExtension( new File( "something.jar" ) );
+            ChecksumAlgorithm.getByExtension( new File( "something.jar" ) );
             fail( "Expected " + IllegalArgumentException.class.getName() );
         }
         catch ( IllegalArgumentException e )