Author: joakime
Date: Mon Apr 14 21:44:17 2008
New Revision: 648115

URL: http://svn.apache.org/viewvc?rev=648115&view=rev
Log:
Replacing plexus-digest with archiva-checksum


Removed:
    
archiva/trunk/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/Checksums.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-common/src/test/java/org/apache/maven/archiva/common/utils/ChecksumsTest.java
Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-checksum/pom.xml
    
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-common/pom.xml
    archiva/trunk/archiva-modules/archiva-base/archiva-policies/pom.xml
    
archiva/trunk/archiva-modules/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
    archiva/trunk/archiva-modules/archiva-base/pom.xml
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
    archiva/trunk/pom.xml

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-checksum/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/pom.xml?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-checksum/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-checksum/pom.xml Mon Apr 
14 21:44:17 2008
@@ -18,12 +18,11 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.archiva</groupId>
-    <artifactId>archiva-modules</artifactId>
+    <artifactId>archiva-base</artifactId>
     <version>1.1-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-checksum</artifactId>
   <name>Archiva Checksum</name>
-  <version>1.0-SNAPSHOT</version>
 
   <packaging>jar</packaging>
 
@@ -47,18 +46,11 @@
     <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
-      <version>2.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-io</artifactId>
       <version>1.3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
     </dependency>
   </dependencies>
 

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
 Mon Apr 14 21:44:17 2008
@@ -141,11 +141,9 @@
      * the to the checksum.   
      * 
      * @param algorithms the algorithms to check for.
-     * @return true if the checksums report that the the reference file is 
valid.
-     * @throws IOException if unable to validate the checksums.
+     * @return true if the checksums report that the the reference file is 
valid, false if invalid.
      */
     public boolean isValidChecksums( ChecksumAlgorithm algorithms[] )
-        throws IOException
     {
         FileInputStream fis = null;
         try
@@ -166,29 +164,45 @@
             // Any checksums?
             if ( checksums.isEmpty() )
             {
-                // No checksum objects, no checksum files, default to is valid.
-                return true;
+                // No checksum objects, no checksum files, default to is 
invalid.
+                return false;
             }
 
             // Parse file once, for all checksums.
-            fis = new FileInputStream( referenceFile );
-            Checksum.update( checksums, fis );
+            try
+            {
+                fis = new FileInputStream( referenceFile );
+                Checksum.update( checksums, fis );
+            }
+            catch ( IOException e )
+            {
+                log.warn( "Unable to update checksum:" + e.getMessage() );
+                return false;
+            }
 
             boolean valid = true;
 
             // check the checksum files
-            for ( Checksum checksum : checksums )
+            try
             {
-                ChecksumAlgorithm checksumAlgorithm = checksum.getAlgorithm();
-                File checksumFile = getChecksumFile( checksumAlgorithm );
+                for ( Checksum checksum : checksums )
+                {
+                    ChecksumAlgorithm checksumAlgorithm = 
checksum.getAlgorithm();
+                    File checksumFile = getChecksumFile( checksumAlgorithm );
 
-                String rawChecksum = FileUtils.readFileToString( checksumFile 
);
-                String expectedChecksum = parseChecksum( rawChecksum, 
checksumAlgorithm, referenceFile.getName() );
+                    String rawChecksum = FileUtils.readFileToString( 
checksumFile );
+                    String expectedChecksum = parseChecksum( rawChecksum, 
checksumAlgorithm, referenceFile.getName() );
 
-                if ( StringUtils.equalsIgnoreCase( expectedChecksum, 
checksum.getChecksum() ) == false )
-                {
-                    valid = false;
+                    if ( StringUtils.equalsIgnoreCase( expectedChecksum, 
checksum.getChecksum() ) == false )
+                    {
+                        valid = false;
+                    }
                 }
+            }
+            catch ( IOException e )
+            {
+                log.warn( "Unable to read / parse checksum: " + e.getMessage() 
);
+                return false;
             }
 
             return valid;

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-checksum/src/test/java/org/apache/archiva/checksum/ChecksummedFileTest.java
 Mon Apr 14 21:44:17 2008
@@ -158,7 +158,7 @@
         File jarFile = createTestableJar( "examples/redback-authz-open.jar", 
false, false );
 
         ChecksummedFile checksummedFile = new ChecksummedFile( jarFile );
-        assertTrue( "ChecksummedFile.isValid(SHA1,MD5)", 
checksummedFile.isValidChecksums( new ChecksumAlgorithm[] {
+        assertFalse( "ChecksummedFile.isValid(SHA1,MD5)", 
checksummedFile.isValidChecksums( new ChecksumAlgorithm[] {
             ChecksumAlgorithm.SHA1,
             ChecksumAlgorithm.MD5 } ) );
 

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-common/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-common/pom.xml?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-common/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-common/pom.xml Mon Apr 
14 21:44:17 2008
@@ -48,16 +48,6 @@
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-digest</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-container-default</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-component-api</artifactId>
     </dependency>
     <dependency>

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-policies/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-policies/pom.xml?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-policies/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-policies/pom.xml Mon Apr 
14 21:44:17 2008
@@ -33,6 +33,10 @@
       <artifactId>archiva-common</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-checksum</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-spring</artifactId>
       <scope>test</scope>

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java
 Mon Apr 14 21:44:17 2008
@@ -24,8 +24,9 @@
 import java.util.List;
 import java.util.Properties;
 
+import org.apache.archiva.checksum.ChecksumAlgorithm;
+import org.apache.archiva.checksum.ChecksummedFile;
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.common.utils.Checksums;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,10 +66,7 @@
      */
     public static final String FIX = "fix";
 
-    /**
-     * @plexus.requirement
-     */
-    private Checksums checksums;
+    private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[] { 
ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
 
     private List<String> options = new ArrayList<String>();
 
@@ -105,25 +103,21 @@
 
         if ( FAIL.equals( policySetting ) )
         {
-            if( checksums.check( localFile ) )
+            ChecksummedFile checksum = new ChecksummedFile( localFile );
+            if ( checksum.isValidChecksums( algorithms ) )
             {
                 return;
             }
-            
-            File sha1File = new File( localFile.getAbsolutePath() + ".sha1" );
-            File md5File = new File( localFile.getAbsolutePath() + ".md5" );
-
-            // On failure. delete files.
-            if ( sha1File.exists() )
-            {
-                sha1File.delete();
-            }
 
-            if ( md5File.exists() )
+            for ( ChecksumAlgorithm algorithm : algorithms )
             {
-                md5File.delete();
+                File file = new File( localFile.getAbsolutePath() + "." + 
algorithm.getExt() );
+                if ( file.exists() )
+                {
+                    file.delete();
+                }
             }
-
+            
             localFile.delete();
             throw new PolicyViolationException( "Checksums do not match, 
policy set to FAIL, "
                 + "deleting checksum files and local file " + 
localFile.getAbsolutePath() + "." );
@@ -131,7 +125,8 @@
 
         if ( FIX.equals( policySetting ) )
         {
-            if( checksums.update( localFile ) )
+            ChecksummedFile checksum = new ChecksummedFile( localFile );
+            if( checksum.fixChecksums( algorithms ) )
             {
                 log.debug( "Checksum policy set to FIX, checksum files have 
been updated." );
                 return;

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/pom.xml 
Mon Apr 14 21:44:17 2008
@@ -46,6 +46,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-checksum</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-configuration</artifactId>
     </dependency>
     <dependency>

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
 Mon Apr 14 21:44:17 2008
@@ -19,11 +19,12 @@
  * under the License.
  */
 
+import org.apache.archiva.checksum.ChecksumAlgorithm;
+import org.apache.archiva.checksum.ChecksummedFile;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.commons.lang.time.DateUtils;
-import org.apache.maven.archiva.common.utils.Checksums;
 import org.apache.maven.archiva.common.utils.PathUtil;
 import org.apache.maven.archiva.common.utils.VersionComparator;
 import org.apache.maven.archiva.common.utils.VersionUtil;
@@ -94,11 +95,8 @@
      */
     private FileTypes filetypes;
     
-    /**
-     * @plexus.requirement
-     */
-    private Checksums checksums;
-
+    private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[] { 
ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
+    
     private List<String> artifactPatterns;
 
     private Map<String, Set<String>> proxies;
@@ -519,7 +517,8 @@
 
         // Save the metadata model to disk.
         RepositoryMetadataWriter.write( metadata, metadataFile );
-        checksums.update( metadataFile );
+        ChecksummedFile checksum = new ChecksummedFile( metadataFile );
+        checksum.fixChecksums( algorithms );
     }
 
     private Date toLastUpdatedDate( long lastUpdated )
@@ -717,7 +716,8 @@
 
         // Save the metadata model to disk.
         RepositoryMetadataWriter.write( metadata, metadataFile );
-        checksums.update( metadataFile );
+        ChecksummedFile checksum = new ChecksummedFile( metadataFile );
+        checksum.fixChecksums( algorithms );
     }
 
     private void initConfigVariables()

Modified: archiva/trunk/archiva-modules/archiva-base/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/pom.xml?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-base/pom.xml Mon Apr 14 21:44:17 2008
@@ -29,6 +29,7 @@
   <packaging>pom</packaging>
 
   <modules>
+    <module>archiva-checksum</module>
     <module>archiva-common</module>
     <module>archiva-policies</module>
     <module>archiva-configuration</module>

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
 Mon Apr 14 21:44:17 2008
@@ -28,7 +28,8 @@
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.maven.archiva.common.utils.Checksums;
+import org.apache.archiva.checksum.ChecksumAlgorithm;
+import org.apache.archiva.checksum.ChecksummedFile;
 import org.apache.maven.archiva.common.utils.VersionComparator;
 import org.apache.maven.archiva.common.utils.VersionUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -137,14 +138,11 @@
      * @plexus.requirement
      */
     private RepositoryContentFactory repositoryFactory;
+    
+    private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[] { 
ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
 
     private ProjectModelWriter pomWriter = new ProjectModel400Writer();
     
-    /**
-     * @plexus.requirement
-     */
-    private Checksums checksums;
-
     public void setUpload( File file )
     {
         this.file = file;
@@ -422,8 +420,8 @@
         }
 
         RepositoryMetadataWriter.write( metadata, metadataFile );
-        
-        checksums.update( metadataFile );
+        ChecksummedFile checksum = new ChecksummedFile( metadataFile );
+        checksum.fixChecksums( algorithms );
     }
     
     public void validate()

Modified: archiva/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/pom.xml?rev=648115&r1=648114&r2=648115&view=diff
==============================================================================
--- archiva/trunk/pom.xml (original)
+++ archiva/trunk/pom.xml Mon Apr 14 21:44:17 2008
@@ -214,6 +214,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.archiva</groupId>
+        <artifactId>archiva-checksum</artifactId>
+        <version>1.1-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.archiva</groupId>
         <artifactId>archiva-common</artifactId>
         <version>1.1-SNAPSHOT</version>
       </dependency>


Reply via email to