From a6c73dcde2a11d763a576edff292f9361a2fdb16 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 23 Mar 2015 14:57:49 +1100 Subject: [PATCH] use more java 1.7 for file io --- .../archiva/checksum/ChecksummedFile.java | 5 +++- .../ArtifactMissingChecksumsConsumer.java | 2 +- .../ArtifactMissingChecksumsConsumerTest.java | 30 +++++++++++-------- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java b/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java index 2cd0169f0..0f36ce1c1 100644 --- a/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java +++ b/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java @@ -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; } diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java index 954ac6bf3..9b5510ca2 100644 --- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java +++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java @@ -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() ) { diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumerTest.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumerTest.java index 8645ab01d..6c0d8a736 100644 --- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumerTest.java +++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/ArtifactMissingChecksumsConsumerTest.java @@ -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 ) ); -- 2.39.5