]> source.dussan.org Git - archiva.git/commitdiff
use more java 1.7 for file io
authorOlivier Lamy <olamy@apache.org>
Mon, 23 Mar 2015 03:57:49 +0000 (14:57 +1100)
committerOlivier Lamy <olamy@apache.org>
Mon, 23 Mar 2015 03:57:49 +0000 (14:57 +1100)
archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java
archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumerTest.java

index 2cd0169f041b5e02137960865913592aa24038b6..0f36ce1c1667159d033e3fcfef6aeccfc1b29ebe 100644 (file)
@@ -28,6 +28,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Files;
+import java.nio.file.StandardOpenOption;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.regex.Matcher;
@@ -95,8 +96,10 @@ public class ChecksummedFile
         throws IOException
     {
         File checksumFile = new File( referenceFile.getAbsolutePath() + "." + checksumAlgorithm.getExt() );
+        Files.deleteIfExists( checksumFile.toPath() );
         String checksum = calculateChecksum( checksumAlgorithm );
-        FileUtils.writeStringToFile( checksumFile, checksum + "  " + referenceFile.getName() );
+        Files.write( checksumFile.toPath(), (checksum + "  " + referenceFile.getName()).getBytes(), StandardOpenOption.CREATE_NEW );
+        //FileUtils.writeStringToFile( checksumFile, checksum + "  " + referenceFile.getName() );
         return checksumFile;
     }
 
index 954ac6bf3e7af6e9bb55bc477f2584d11a336dee..9b5510ca28755d0ebfc6a574b66a97316682da88 100644 (file)
@@ -155,7 +155,7 @@ public class ArtifactMissingChecksumsConsumer
     private void createFixChecksum( String path, ChecksumAlgorithm checksumAlgorithm )
     {
         File artifactFile = new File( this.repositoryDir, path );
-        File checksumFile = new File( this.repositoryDir, path + "."  + checksumAlgorithm.getExt() );
+        File checksumFile = new File( this.repositoryDir, path + checksumAlgorithm.getExt() );//+ "."
 
         if ( checksumFile.exists() )
         {
index 8645ab01ddbf8ecc592385c7fc115a5824bd6ee1..6c0d8a7362313668b1c2552049fe676cbcfad96a 100644 (file)
@@ -62,26 +62,32 @@ public class ArtifactMissingChecksumsConsumerTest
     {
         String path = "/no-checksums-artifact/1.0/no-checksums-artifact-1.0.jar";
 
-        Path sha1Path = Paths.get( repoConfig.getLocation(),
-                                   path + ".sha1" );// new File( repoConfig.getLocation(), path + ".sha1" );
-        Path md5FilePath =
-            Paths.get( repoConfig.getLocation(), path + ".md5" );// new File( repoConfig.getLocation(), path + ".md5" );
+        Path sha1Path = Paths.get( repoConfig.getLocation(), path + ".sha1" );
+        Path md5FilePath = Paths.get( repoConfig.getLocation(), path + ".md5" );
 
         Files.deleteIfExists( sha1Path );
         Files.deleteIfExists( md5FilePath );
 
-        //sha1File.delete();
-        //md5File.delete();
-
-        Assertions.assertThat( sha1Path.toFile() ).doesNotExist();// assertFalse( sha1File.exists() );
-        Assertions.assertThat( md5FilePath.toFile() ).doesNotExist();// assertFalse( md5File.exists() );
+        Assertions.assertThat( sha1Path.toFile() ).doesNotExist();
+        Assertions.assertThat( md5FilePath.toFile() ).doesNotExist();
 
         consumer.beginScan( repoConfig, Calendar.getInstance().getTime() );
 
         consumer.processFile( path );
 
-        Assertions.assertThat( sha1Path.toFile() ).exists();// assertTrue( sha1File.exists() );
-        Assertions.assertThat( md5FilePath.toFile() ).exists();//assertTrue( md5File.exists() );
+        Assertions.assertThat( sha1Path.toFile() ).exists();
+        long sha1LastModified = sha1Path.toFile().lastModified();
+        Assertions.assertThat( md5FilePath.toFile() ).exists();
+        long md5LastModified = md5FilePath.toFile().lastModified();
+        Thread.sleep( 1 );
+        consumer.processFile( path );
+
+        Assertions.assertThat( sha1Path.toFile() ).exists();
+        Assertions.assertThat( md5FilePath.toFile() ).exists();
+
+        Assertions.assertThat( sha1Path.toFile().lastModified() ).isEqualTo( sha1LastModified );
+
+        Assertions.assertThat( md5FilePath.toFile().lastModified() ).isEqualTo( md5LastModified );
     }
 
     @Test
@@ -95,10 +101,8 @@ public class ArtifactMissingChecksumsConsumerTest
 
         String path = "/incorrect-checksums/1.0/incorrect-checksums-1.0.jar";
 
-        // new File( repoConfig.getLocation(), path + ".sha1" );
         Path sha1Path = Paths.get( repoConfig.getLocation(), path + ".sha1" );
 
-        //new File( repoConfig.getLocation(), path + ".md5" );
         Path md5Path = Paths.get( repoConfig.getLocation(), path + ".md5" );
 
         ChecksummedFile checksum = new ChecksummedFile( new File( repoConfig.getLocation(), path ) );