You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2017/09/02 16:19:21 UTC
[2/2] archiva git commit: Next part for moving to java.nio
Next part for moving to java.nio
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/47811555
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/47811555
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/47811555
Branch: refs/heads/master
Commit: 478115559621e6ca27cd51835363b246824c6d4d
Parents: ad9fee4
Author: Martin Stockhammer <ma...@apache.org>
Authored: Sat Sep 2 18:18:56 2017 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Sat Sep 2 18:18:56 2017 +0200
----------------------------------------------------------------------
.../apache/archiva/common/utils/FileUtils.java | 30 +++
.../archiva/common/utils/FileUtilsTest.java | 113 ++++++++++
.../archiva/proxy/model/ProxyFetchResult.java | 9 +-
.../proxy/model/RepositoryProxyConnectors.java | 6 +-
.../proxy/DefaultRepositoryProxyConnectors.java | 162 ++++++++------
.../archiva/proxy/AbstractProxyTestCase.java | 224 +++++++++----------
.../proxy/CacheFailuresTransferTest.java | 23 +-
.../archiva/proxy/ChecksumTransferTest.java | 193 ++++++++--------
.../apache/archiva/proxy/ErrorHandlingTest.java | 103 +++++----
.../archiva/proxy/HttpProxyTransferTest.java | 29 +--
.../proxy/ManagedDefaultTransferTest.java | 107 ++++-----
.../archiva/proxy/MetadataTransferTest.java | 82 +++----
.../archiva/proxy/SnapshotTransferTest.java | 102 +++++----
.../rest/services/DefaultBrowseService.java | 2 +-
.../webdav/ArchivaDavResourceFactory.java | 7 +-
.../webdav/ArchivaDavResourceFactoryTest.java | 2 +-
16 files changed, 688 insertions(+), 506 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/FileUtils.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/FileUtils.java b/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/FileUtils.java
index 45a68ec..0c8683d 100644
--- a/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/FileUtils.java
+++ b/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/FileUtils.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
+import java.util.Optional;
/**
*
@@ -31,6 +32,11 @@ import java.util.Comparator;
*/
public class FileUtils
{
+ /**
+ * Deletes the directory recursively and quietly.
+ *
+ * @param dir
+ */
public static void deleteQuietly(Path dir) {
try
{
@@ -55,4 +61,28 @@ public class FileUtils
}
+
+ public static void deleteDirectory( Path dir ) throws IOException
+ {
+ if (!Files.isDirectory( dir )) {
+ throw new IOException("Given path is not a directory ");
+ }
+ boolean result = Files.walk(dir)
+ .sorted( Comparator.reverseOrder())
+ .map( file -> {
+ try
+ {
+ Files.delete( file );
+ return Optional.of(Boolean.TRUE);
+ }
+ catch ( IOException e )
+ {
+ return Optional.empty();
+ }
+
+ }).allMatch( Optional::isPresent );
+ if (!result) {
+ throw new IOException("Error during recursive delete of "+dir.toAbsolutePath());
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-common/src/test/java/org/apache/archiva/common/utils/FileUtilsTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-common/src/test/java/org/apache/archiva/common/utils/FileUtilsTest.java b/archiva-modules/archiva-base/archiva-common/src/test/java/org/apache/archiva/common/utils/FileUtilsTest.java
new file mode 100644
index 0000000..d165cbd
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-common/src/test/java/org/apache/archiva/common/utils/FileUtilsTest.java
@@ -0,0 +1,113 @@
+package org.apache.archiva.common.utils;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.junit.Test;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Martin Stockhammer <ma...@apache.org>
+ */
+public class FileUtilsTest
+{
+ @Test
+ public void testDeleteQuietly() throws IOException
+ {
+ Path tf = Files.createTempFile( "FileUtilsTest", ".txt" );
+ assertTrue(Files.exists(tf));
+ FileUtils.deleteQuietly( tf );
+ assertFalse(Files.exists(tf));
+
+ Path td = Files.createTempDirectory( "FileUtilsTest" );
+ Path f1 = td.resolve("file1.txt");
+ Path f2 = td.resolve("file2.txt");
+ Path d1 = td.resolve("dir1");
+ Files.createDirectory( d1 );
+ Path d11 = d1.resolve("dir11");
+ Files.createDirectory( d11 );
+ Path f111 = d11.resolve("file111.txt");
+ Path f112 = d11.resolve("file112.txt");
+ Files.write(f1,"file1".getBytes());
+ Files.write(f2, "file2".getBytes());
+ Files.write(f111, "file111".getBytes());
+ Files.write(f112, "file112".getBytes());
+ assertTrue(Files.exists(d1));
+ assertTrue(Files.exists(f1));
+ assertTrue(Files.exists(f2));
+ assertTrue(Files.exists(f111));
+ assertTrue(Files.exists(f112));
+
+ FileUtils.deleteQuietly( td );
+ assertFalse(Files.exists(f1));
+ assertFalse(Files.exists(f2));
+ assertFalse(Files.exists(f111));
+ assertFalse(Files.exists(f112));
+ assertFalse(Files.exists(d1));
+
+
+ }
+
+ @Test
+ public void testDelete() throws IOException
+ {
+ Path td = Files.createTempDirectory( "FileUtilsTest" );
+ Path f1 = td.resolve("file1.txt");
+ Path f2 = td.resolve("file2.txt");
+ Path d1 = td.resolve("dir1");
+ Files.createDirectory( d1 );
+ Path d11 = d1.resolve("dir11");
+ Files.createDirectory( d11 );
+ Path f111 = d11.resolve("file111.txt");
+ Path f112 = d11.resolve("file112.txt");
+ Files.write(f1,"file1".getBytes());
+ Files.write(f2, "file2".getBytes());
+ Files.write(f111, "file111".getBytes());
+ Files.write(f112, "file112".getBytes());
+ assertTrue(Files.exists(d1));
+ assertTrue(Files.exists(f1));
+ assertTrue(Files.exists(f2));
+ assertTrue(Files.exists(f111));
+ assertTrue(Files.exists(f112));
+
+ FileUtils.deleteDirectory( td );
+ assertFalse(Files.exists(f1));
+ assertFalse(Files.exists(f2));
+ assertFalse(Files.exists(f111));
+ assertFalse(Files.exists(f112));
+ assertFalse(Files.exists(d1));
+
+ }
+
+ @Test(expected = java.io.IOException.class)
+ public void testDeleteException() throws IOException
+ {
+ Path tf = Paths.get("aaserijdmcjdjhdejeidmdjdlasrjerjnbmckdkdk");
+ assertFalse(Files.exists(tf));
+ FileUtils.deleteDirectory( tf );
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/ProxyFetchResult.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/ProxyFetchResult.java b/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/ProxyFetchResult.java
index 94df725..28e8cb9 100644
--- a/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/ProxyFetchResult.java
+++ b/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/ProxyFetchResult.java
@@ -19,7 +19,8 @@ package org.apache.archiva.proxy.model;
* under the License.
*/
-import java.io.File;
+
+import java.nio.file.Path;
/**
* A result from a proxy fetch operation.
@@ -30,18 +31,18 @@ public class ProxyFetchResult
{
//The file returned
- private File file;
+ private Path file;
//Was the local file modified by the fetch?
private boolean modified;
- public ProxyFetchResult( File file, boolean modified )
+ public ProxyFetchResult( Path file, boolean modified )
{
this.file = file;
this.modified = modified;
}
- public File getFile()
+ public Path getFile()
{
return file;
}
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/RepositoryProxyConnectors.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/RepositoryProxyConnectors.java b/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/RepositoryProxyConnectors.java
index e63f623..1216fe2 100644
--- a/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/RepositoryProxyConnectors.java
+++ b/archiva-modules/archiva-base/archiva-proxy-api/src/main/java/org/apache/archiva/proxy/model/RepositoryProxyConnectors.java
@@ -23,7 +23,7 @@ import org.apache.archiva.model.ArtifactReference;
import org.apache.archiva.policies.ProxyDownloadException;
import org.apache.archiva.repository.ManagedRepositoryContent;
-import java.io.File;
+import java.nio.file.Path;
import java.util.List;
/**
@@ -45,7 +45,7 @@ public interface RepositoryProxyConnectors
* @return the file that was obtained, or null if no content was obtained
* @throws ProxyDownloadException if there was a problem fetching the content from the target repositories.
*/
- File fetchFromProxies( ManagedRepositoryContent repository, ArtifactReference artifact )
+ Path fetchFromProxies( ManagedRepositoryContent repository, ArtifactReference artifact )
throws ProxyDownloadException;
/**
@@ -69,7 +69,7 @@ public interface RepositoryProxyConnectors
* @param path the path of the resource to fetch
* @return the file that was obtained, or null if no content was obtained
*/
- File fetchFromProxies( ManagedRepositoryContent managedRepository, String path );
+ Path fetchFromProxies( ManagedRepositoryContent managedRepository, String path );
/**
* Get the List of {@link ProxyConnector} objects of the source repository.
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
index 3e8aab8..5869f67 100644
--- a/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
+++ b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
@@ -28,6 +28,7 @@ import org.apache.archiva.common.filelock.FileLockException;
import org.apache.archiva.common.filelock.FileLockManager;
import org.apache.archiva.common.filelock.FileLockTimeoutException;
import org.apache.archiva.common.filelock.Lock;
+import org.apache.archiva.common.utils.FileUtil;
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.Configuration;
import org.apache.archiva.configuration.ConfigurationNames;
@@ -87,7 +88,10 @@ import javax.inject.Inject;
import javax.inject.Named;
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Proxy;
import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
@@ -302,10 +306,10 @@ public class DefaultRepositoryProxyConnectors
}
@Override
- public File fetchFromProxies( ManagedRepositoryContent repository, ArtifactReference artifact )
+ public Path fetchFromProxies( ManagedRepositoryContent repository, ArtifactReference artifact )
throws ProxyDownloadException
{
- File localFile = toLocalFile( repository, artifact );
+ Path localFile = toLocalFile( repository, artifact );
Properties requestProperties = new Properties();
requestProperties.setProperty( "filetype", "artifact" );
@@ -334,13 +338,13 @@ public class DefaultRepositoryProxyConnectors
try
{
- File downloadedFile =
+ Path downloadedFile =
transferFile( connector, targetRepository, targetPath, repository, localFile, requestProperties,
true );
if ( fileExists( downloadedFile ) )
{
- log.debug( "Successfully transferred: {}", downloadedFile.getAbsolutePath() );
+ log.debug( "Successfully transferred: {}", downloadedFile.toAbsolutePath() );
return downloadedFile;
}
}
@@ -373,12 +377,12 @@ public class DefaultRepositoryProxyConnectors
}
@Override
- public File fetchFromProxies( ManagedRepositoryContent repository, String path )
+ public Path fetchFromProxies( ManagedRepositoryContent repository, String path )
{
- File localFile = new File( repository.getRepoRoot(), path );
+ Path localFile = Paths.get( repository.getRepoRoot(), path );
// no update policies for these paths
- if ( localFile.exists() )
+ if ( Files.exists(localFile) )
{
return null;
}
@@ -402,13 +406,13 @@ public class DefaultRepositoryProxyConnectors
try
{
- File downloadedFile =
+ Path downloadedFile =
transferFile( connector, targetRepository, targetPath, repository, localFile, requestProperties,
false );
if ( fileExists( downloadedFile ) )
{
- log.debug( "Successfully transferred: {}", downloadedFile.getAbsolutePath() );
+ log.debug( "Successfully transferred: {}", downloadedFile.toAbsolutePath() );
return downloadedFile;
}
}
@@ -449,7 +453,7 @@ public class DefaultRepositoryProxyConnectors
@Override
public ProxyFetchResult fetchMetadataFromProxies( ManagedRepositoryContent repository, String logicalPath )
{
- File localFile = new File( repository.getRepoRoot(), logicalPath );
+ Path localFile = Paths.get( repository.getRepoRoot(), logicalPath );
Properties requestProperties = new Properties();
requestProperties.setProperty( "filetype", "metadata" );
@@ -466,7 +470,7 @@ public class DefaultRepositoryProxyConnectors
RemoteRepositoryContent targetRepository = connector.getTargetRepository();
- File localRepoFile = toLocalRepoFile( repository, targetRepository, logicalPath );
+ Path localRepoFile = toLocalRepoFile( repository, targetRepository, logicalPath );
long originalMetadataTimestamp = getLastModified( localRepoFile );
try
@@ -507,7 +511,7 @@ public class DefaultRepositoryProxyConnectors
metadataNeedsUpdating = true;
}
- if ( metadataNeedsUpdating || !localFile.exists() )
+ if ( metadataNeedsUpdating || !Files.exists(localFile))
{
try
{
@@ -515,7 +519,7 @@ public class DefaultRepositoryProxyConnectors
}
catch ( RepositoryMetadataException e )
{
- log.warn( "Unable to update metadata {}:{}", localFile.getAbsolutePath(), e.getMessage(), e );
+ log.warn( "Unable to update metadata {}:{}", localFile.toAbsolutePath(), e.getMessage(), e );
}
}
@@ -543,9 +547,9 @@ public class DefaultRepositoryProxyConnectors
* @throws NotModifiedException
* @throws org.apache.archiva.admin.model.RepositoryAdminException
*/
- protected void transferResources( ProxyConnector connector, RemoteRepositoryContent remoteRepository, File tmpMd5,
- File tmpSha1, File tmpResource, String url, String remotePath, File resource,
- File workingDirectory, ManagedRepositoryContent repository )
+ protected void transferResources( ProxyConnector connector, RemoteRepositoryContent remoteRepository, Path tmpMd5,
+ Path tmpSha1, Path tmpResource, String url, String remotePath, Path resource,
+ Path workingDirectory, ManagedRepositoryContent repository )
throws ProxyException, NotModifiedException, RepositoryAdminException
{
Wagon wagon = null;
@@ -623,26 +627,34 @@ public class DefaultRepositoryProxyConnectors
}
private void transferArtifact( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath,
- ManagedRepositoryContent repository, File resource, File tmpDirectory,
- File destFile )
+ ManagedRepositoryContent repository, Path resource, Path tmpDirectory,
+ Path destFile )
throws ProxyException
{
transferSimpleFile( wagon, remoteRepository, remotePath, repository, resource, destFile );
}
- private long getLastModified( File file )
+ private long getLastModified( Path file )
{
- if ( !file.exists() || !file.isFile() )
+ if ( !Files.exists(file) || !Files.isRegularFile(file) )
{
return 0;
}
- return file.lastModified();
+ try
+ {
+ return Files.getLastModifiedTime(file).toMillis();
+ }
+ catch ( IOException e )
+ {
+ log.error("Could get the modified time of file {}", file.toAbsolutePath());
+ return 0;
+ }
}
- private boolean hasBeenUpdated( File file, long originalLastModified )
+ private boolean hasBeenUpdated( Path file, long originalLastModified )
{
- if ( !file.exists() || !file.isFile() )
+ if ( !Files.exists(file) || !Files.isRegularFile(file) )
{
return false;
}
@@ -651,11 +663,11 @@ public class DefaultRepositoryProxyConnectors
return ( currentLastModified > originalLastModified );
}
- private File toLocalRepoFile( ManagedRepositoryContent repository, RemoteRepositoryContent targetRepository,
+ private Path toLocalRepoFile( ManagedRepositoryContent repository, RemoteRepositoryContent targetRepository,
String targetPath )
{
String repoPath = metadataTools.getRepositorySpecificName( targetRepository, targetPath );
- return new File( repository.getRepoRoot(), repoPath );
+ return Paths.get( repository.getRepoRoot(), repoPath );
}
/**
@@ -670,9 +682,9 @@ public class DefaultRepositoryProxyConnectors
}
}
- private File toLocalFile( ManagedRepositoryContent repository, ArtifactReference artifact )
+ private Path toLocalFile( ManagedRepositoryContent repository, ArtifactReference artifact )
{
- return repository.toFile( artifact ).toFile();
+ return repository.toFile( artifact );
}
/**
@@ -681,19 +693,19 @@ public class DefaultRepositoryProxyConnectors
* @param file the file to test. (may be null)
* @return true if file exists. false if the file param is null, doesn't exist, or is not of type File.
*/
- private boolean fileExists( File file )
+ private boolean fileExists( Path file )
{
if ( file == null )
{
return false;
}
- if ( !file.exists() )
+ if ( !Files.exists(file))
{
return false;
}
- return file.isFile();
+ return Files.isRegularFile(file);
}
/**
@@ -712,8 +724,8 @@ public class DefaultRepositoryProxyConnectors
* the remote resource is not newer than the local File.
* @throws ProxyException if transfer was unsuccessful.
*/
- private File transferFile( ProxyConnector connector, RemoteRepositoryContent remoteRepository, String remotePath,
- ManagedRepositoryContent repository, File resource, Properties requestProperties,
+ private Path transferFile( ProxyConnector connector, RemoteRepositoryContent remoteRepository, String remotePath,
+ ManagedRepositoryContent repository, Path resource, Properties requestProperties,
boolean executeConsumers )
throws ProxyException, NotModifiedException, RepositoryAdminException
{
@@ -763,10 +775,10 @@ public class DefaultRepositoryProxyConnectors
return null;
}
- File workingDirectory = createWorkingDirectory( repository );
- File tmpResource = new File( workingDirectory, resource.getName() );
- File tmpMd5 = new File( workingDirectory, resource.getName() + ".md5" );
- File tmpSha1 = new File( workingDirectory, resource.getName() + ".sha1" );
+ Path workingDirectory = createWorkingDirectory( repository );
+ Path tmpResource = workingDirectory.resolve(resource.getFileName());
+ Path tmpMd5 = workingDirectory.resolve(resource.getFileName().toString() + ".md5" );
+ Path tmpSha1 = workingDirectory.resolve( resource.getFileName().toString() + ".sha1" );
try
{
@@ -791,9 +803,9 @@ public class DefaultRepositoryProxyConnectors
if ( resource != null )
{
- synchronized ( resource.getAbsolutePath().intern() )
+ synchronized ( resource.toAbsolutePath().toString().intern() )
{
- File directory = resource.getParentFile();
+ Path directory = resource.getParent();
moveFileIfExists( tmpMd5, directory );
moveFileIfExists( tmpSha1, directory );
moveFileIfExists( tmpResource, directory );
@@ -802,7 +814,7 @@ public class DefaultRepositoryProxyConnectors
}
finally
{
- FileUtils.deleteQuietly( workingDirectory );
+ org.apache.archiva.common.utils.FileUtils.deleteQuietly( workingDirectory );
}
if ( executeConsumers )
@@ -815,11 +827,11 @@ public class DefaultRepositoryProxyConnectors
return resource;
}
- private void queueRepositoryTask( String repositoryId, File localFile )
+ private void queueRepositoryTask( String repositoryId, Path localFile )
{
RepositoryTask task = new RepositoryTask();
task.setRepositoryId( repositoryId );
- task.setResourceFile( localFile );
+ task.setResourceFile( localFile.toFile() );
task.setUpdateRelatedArtifacts( true );
task.setScanAll( true );
@@ -830,7 +842,7 @@ public class DefaultRepositoryProxyConnectors
catch ( TaskQueueException e )
{
log.error( "Unable to queue repository task to execute consumers on resource file ['{}"
- + "'].", localFile.getName() );
+ + "'].", localFile.getFileName() );
}
}
@@ -840,12 +852,12 @@ public class DefaultRepositoryProxyConnectors
* @param fileToMove this could be either the main artifact, sha1 or md5 checksum file.
* @param directory directory to write files to
*/
- private void moveFileIfExists( File fileToMove, File directory )
+ private void moveFileIfExists( Path fileToMove, Path directory )
throws ProxyException
{
- if ( fileToMove != null && fileToMove.exists() )
+ if ( fileToMove != null && Files.exists(fileToMove) )
{
- File newLocation = new File( directory, fileToMove.getName() );
+ Path newLocation = directory.resolve(fileToMove.getFileName());
moveTempToTarget( fileToMove, newLocation );
}
}
@@ -865,8 +877,8 @@ public class DefaultRepositoryProxyConnectors
* @throws ProxyException if copying the downloaded file into place did not succeed.
*/
private void transferChecksum( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath,
- ManagedRepositoryContent repository, File resource, File tmpDirectory, String ext,
- File destFile )
+ ManagedRepositoryContent repository, Path resource, Path tmpDirectory, String ext,
+ Path destFile )
throws ProxyException
{
String url = remoteRepository.getURL().getUrl() + remotePath + ext;
@@ -913,7 +925,7 @@ public class DefaultRepositoryProxyConnectors
* @throws ProxyException if there was a problem moving the downloaded file into place.
*/
private void transferSimpleFile( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath,
- ManagedRepositoryContent repository, File origFile, File destFile )
+ ManagedRepositoryContent repository, Path origFile, Path destFile )
throws ProxyException
{
assert ( remotePath != null );
@@ -923,10 +935,10 @@ public class DefaultRepositoryProxyConnectors
{
boolean success = false;
- if ( !origFile.exists() )
+ if ( !Files.exists(origFile))
{
log.debug( "Retrieving {} from {}", remotePath, remoteRepository.getRepository().getName() );
- wagon.get( addParameters( remotePath, remoteRepository.getRepository() ), destFile );
+ wagon.get( addParameters( remotePath, remoteRepository.getRepository() ), destFile.toFile() );
success = true;
// You wouldn't get here on failure, a WagonException would have been thrown.
@@ -935,15 +947,22 @@ public class DefaultRepositoryProxyConnectors
else
{
log.debug( "Retrieving {} from {} if updated", remotePath, remoteRepository.getRepository().getName() );
- success = wagon.getIfNewer( addParameters( remotePath, remoteRepository.getRepository() ), destFile,
- origFile.lastModified() );
+ try
+ {
+ success = wagon.getIfNewer( addParameters( remotePath, remoteRepository.getRepository() ), destFile.toFile(),
+ Files.getLastModifiedTime(origFile).toMillis());
+ }
+ catch ( IOException e )
+ {
+ throw new ProxyException( "Failed to the modification time of "+origFile.toAbsolutePath() );
+ }
if ( !success )
{
throw new NotModifiedException(
- "Not downloaded, as local file is newer than remote side: " + origFile.getAbsolutePath() );
+ "Not downloaded, as local file is newer than remote side: " + origFile.toAbsolutePath() );
}
- if ( destFile.exists() )
+ if ( Files.exists(destFile))
{
log.debug( "Downloaded successfully." );
}
@@ -981,7 +1000,7 @@ public class DefaultRepositoryProxyConnectors
* @throws PolicyViolationException
*/
private void validatePolicies( Map<String, ? extends DownloadPolicy> policies, Map<String, String> settings,
- Properties request, File localFile )
+ Properties request, Path localFile )
throws PolicyViolationException
{
for ( Entry<String, ? extends DownloadPolicy> entry : policies.entrySet() )
@@ -997,7 +1016,7 @@ public class DefaultRepositoryProxyConnectors
log.debug( "Applying [{}] policy with [{}]", key, setting );
try
{
- policy.applyPolicy( setting, request, localFile );
+ policy.applyPolicy( setting, request, localFile.toFile() );
}
catch ( PolicyConfigurationException e )
{
@@ -1008,7 +1027,7 @@ public class DefaultRepositoryProxyConnectors
private void validatePolicies( Map<String, DownloadErrorPolicy> policies, Map<String, String> settings,
Properties request, ArtifactReference artifact, RemoteRepositoryContent content,
- File localFile, Exception exception, Map<String, Exception> previousExceptions )
+ Path localFile, Exception exception, Map<String, Exception> previousExceptions )
throws ProxyDownloadException
{
boolean process = true;
@@ -1026,7 +1045,7 @@ public class DefaultRepositoryProxyConnectors
try
{
// all policies must approve the exception, any can cancel
- process = policy.applyPolicy( setting, request, localFile, exception, previousExceptions );
+ process = policy.applyPolicy( setting, request, localFile.toFile(), exception, previousExceptions );
if ( !process )
{
break;
@@ -1066,11 +1085,11 @@ public class DefaultRepositoryProxyConnectors
* @param repository
* @return file location of working directory
*/
- private File createWorkingDirectory( ManagedRepositoryContent repository )
+ private Path createWorkingDirectory( ManagedRepositoryContent repository )
{
try
{
- return Files.createTempDirectory( "temp" ).toFile();
+ return Files.createTempDirectory( "temp" );
}
catch ( IOException e )
{
@@ -1087,47 +1106,52 @@ public class DefaultRepositoryProxyConnectors
* @param target The final location of the downloaded file
* @throws ProxyException when the temp file cannot replace the target file
*/
- private void moveTempToTarget( File temp, File target )
+ private void moveTempToTarget( Path temp, Path target )
throws ProxyException
{
Lock lock;
try
{
- lock = fileLockManager.writeFileLock( target );
+ lock = fileLockManager.writeFileLock( target.toFile() );
if ( lock.getFile().exists() && !lock.getFile().delete() )
{
- throw new ProxyException( "Unable to overwrite existing target file: " + target.getAbsolutePath() );
+ throw new ProxyException( "Unable to overwrite existing target file: " + target.toAbsolutePath() );
}
lock.getFile().getParentFile().mkdirs();
- if ( !temp.renameTo( lock.getFile() ) )
+ try
+ {
+ Files.move(temp, lock.getFile().toPath() );
+ }
+ catch ( IOException e )
{
log.warn( "Unable to rename tmp file to its final name... resorting to copy command." );
try
{
- FileUtils.copyFile( temp, lock.getFile() );
+ Files.copy( temp, lock.getFile().toPath() );
}
- catch ( IOException e )
+ catch ( IOException e2 )
{
if ( lock.getFile().exists() )
{
log.debug( "Tried to copy file {} to {} but file with this name already exists.",
- temp.getName(), lock.getFile().getAbsolutePath() );
+ temp.getFileName(), lock.getFile().getAbsolutePath() );
}
else
{
throw new ProxyException(
- "Cannot copy tmp file " + temp.getAbsolutePath() + " to its final location", e );
+ "Cannot copy tmp file " + temp.toAbsolutePath() + " to its final location", e2 );
}
}
finally
{
- FileUtils.deleteQuietly( temp );
+ org.apache.archiva.common.utils.FileUtils.deleteQuietly( temp );
}
}
+
}
catch ( FileLockException | FileLockTimeoutException e )
{
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java
index 4d0a9a8..124e7a5 100644
--- a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java
+++ b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java
@@ -57,6 +57,10 @@ import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.attribute.FileTime;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -64,6 +68,7 @@ import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.Locale;
+import java.util.concurrent.TimeUnit;
import static org.junit.Assert.*;
@@ -108,7 +113,7 @@ public abstract class AbstractProxyTestCase
protected ManagedRepositoryContent managedDefaultRepository;
- protected File managedDefaultDir;
+ protected Path managedDefaultDir;
protected MockConfiguration config;
@@ -140,7 +145,7 @@ public abstract class AbstractProxyTestCase
managedDefaultRepository =
createRepository( ID_DEFAULT_MANAGED, "Default Managed Repository", repoPath, "default" );
- managedDefaultDir = new File( managedDefaultRepository.getRepoRoot() );
+ managedDefaultDir = Paths.get( managedDefaultRepository.getRepoRoot() );
ManagedRepository repoConfig = managedDefaultRepository.getRepository();
@@ -205,127 +210,72 @@ public abstract class AbstractProxyTestCase
}
}
- /*
- protected static final ArgumentsMatcher customWagonGetIfNewerMatcher = new ArgumentsMatcher()
- {
-
- public boolean matches( Object[] expected, Object[] actual )
- {
- if ( expected.length < 1 || actual.length < 1 )
- {
- return false;
- }
- return MockControl.ARRAY_MATCHER.matches( ArrayUtils.remove( expected, 1 ),
- ArrayUtils.remove( actual, 1 ) );
- }
-
- public String toString( Object[] arguments )
- {
- return ArrayUtils.toString( arguments );
- }
- };
-
- protected static final ArgumentsMatcher customWagonGetMatcher = new ArgumentsMatcher()
- {
-
- public boolean matches( Object[] expected, Object[] actual )
- {
- if ( expected.length == 2 && actual.length == 2 )
- {
- if ( expected[0] == null && actual[0] == null )
- {
- return true;
- }
-
- if ( expected[0] == null )
- {
- return actual[0] == null;
- }
-
- if ( actual[0] == null )
- {
- return expected[0] == null;
- }
-
- return expected[0].equals( actual[0] );
- }
- return false;
- }
-
- public String toString( Object[] arguments )
- {
- return ArrayUtils.toString( arguments );
- }
- };
- */
- protected void assertChecksums( File expectedFile, String expectedSha1Contents, String expectedMd5Contents )
+ protected void assertChecksums( Path expectedFile, String expectedSha1Contents, String expectedMd5Contents )
throws Exception
{
- File sha1File = new File( expectedFile.getAbsolutePath() + ".sha1" );
- File md5File = new File( expectedFile.getAbsolutePath() + ".md5" );
+ Path sha1File = expectedFile.toAbsolutePath().resolveSibling( expectedFile.getFileName().toString()+ ".sha1" );
+ Path md5File = expectedFile.toAbsolutePath().resolveSibling( expectedFile.getFileName().toString() + ".md5" );
if ( expectedSha1Contents == null )
{
- assertFalse( "SHA1 File should NOT exist: " + sha1File.getPath(), sha1File.exists() );
+ assertFalse( "SHA1 File should NOT exist: " + sha1File.toAbsolutePath(), Files.exists(sha1File) );
}
else
{
- assertTrue( "SHA1 File should exist: " + sha1File.getPath(), sha1File.exists() );
+ assertTrue( "SHA1 File should exist: " + sha1File.toAbsolutePath(), Files.exists(sha1File) );
String actualSha1Contents = readChecksumFile( sha1File );
- assertEquals( "SHA1 File contents: " + sha1File.getPath(), expectedSha1Contents, actualSha1Contents );
+ assertEquals( "SHA1 File contents: " + sha1File.toAbsolutePath(), expectedSha1Contents, actualSha1Contents );
}
if ( expectedMd5Contents == null )
{
- assertFalse( "MD5 File should NOT exist: " + md5File.getPath(), md5File.exists() );
+ assertFalse( "MD5 File should NOT exist: " + md5File.toAbsolutePath(), Files.exists(md5File) );
}
else
{
- assertTrue( "MD5 File should exist: " + md5File.getPath(), md5File.exists() );
+ assertTrue( "MD5 File should exist: " + md5File.toAbsolutePath(), Files.exists(md5File) );
String actualMd5Contents = readChecksumFile( md5File );
- assertEquals( "MD5 File contents: " + md5File.getPath(), expectedMd5Contents, actualMd5Contents );
+ assertEquals( "MD5 File contents: " + md5File.toAbsolutePath(), expectedMd5Contents, actualMd5Contents );
}
}
- protected void assertFileEquals( File expectedFile, File actualFile, File sourceFile )
+ protected void assertFileEquals( Path expectedFile, Path actualFile, Path sourceFile )
throws Exception
{
assertNotNull( "Expected File should not be null.", expectedFile );
assertNotNull( "Actual File should not be null.", actualFile );
- assertTrue( "Check actual file exists.", actualFile.exists() );
- assertEquals( "Check filename path is appropriate.", expectedFile.getCanonicalPath(),
- actualFile.getCanonicalPath() );
- assertEquals( "Check file path matches.", expectedFile.getAbsolutePath(), actualFile.getAbsolutePath() );
-
+ assertTrue( "Check actual file exists.", Files.exists(actualFile) );
+ assertTrue( "Check file is the same.", Files.isSameFile( expectedFile,
+ actualFile));
String expectedContents =
- org.apache.commons.io.FileUtils.readFileToString( sourceFile, Charset.defaultCharset() );
+ org.apache.commons.io.FileUtils.readFileToString( sourceFile.toFile(), Charset.defaultCharset() );
String actualContents =
- org.apache.commons.io.FileUtils.readFileToString( actualFile, Charset.defaultCharset() );
+ org.apache.commons.io.FileUtils.readFileToString( actualFile.toFile(), Charset.defaultCharset() );
assertEquals( "Check file contents.", expectedContents, actualContents );
}
- protected void assertNotDownloaded( File downloadedFile )
+ protected void assertNotDownloaded( Path downloadedFile )
{
assertNull( "Found file: " + downloadedFile + "; but was expecting a failure", downloadedFile );
}
@SuppressWarnings( "unchecked" )
- protected void assertNoTempFiles( File expectedFile )
+ protected void assertNoTempFiles( Path expectedFile )
{
- File workingDir = expectedFile.getParentFile();
- if ( ( workingDir == null ) || !workingDir.isDirectory() )
+ Path workingDir = expectedFile.getParent();
+ if ( ( workingDir == null ) || !Files.isDirectory( workingDir) )
{
return;
}
Collection<File> tmpFiles =
- org.apache.commons.io.FileUtils.listFiles( workingDir, new String[]{ "tmp" }, false );
+ org.apache.commons.io.FileUtils.listFiles( workingDir.toFile(), new String[]{ "tmp" }, false );
if ( !tmpFiles.isEmpty() )
{
StringBuilder emsg = new StringBuilder();
- emsg.append( "Found Temp Files in dir: " ).append( workingDir.getPath() );
+ emsg.append( "Found Temp Files in dir: " ).append( workingDir.toString() );
for ( File tfile : tmpFiles )
{
emsg.append( "\n " ).append( tfile.getName() );
@@ -342,17 +292,17 @@ public abstract class AbstractProxyTestCase
* @throws java.io.IOException if there is a copying problem
* @todo get back into plexus-utils, share with converter module
*/
- protected void copyDirectoryStructure( File sourceDirectory, File destDirectory )
+ protected void copyDirectoryStructure( Path sourceDirectory, Path destDirectory )
throws IOException
{
- if ( !sourceDirectory.exists() )
+ if ( !Files.exists(sourceDirectory) )
{
- throw new IOException( "Source directory doesn't exists (" + sourceDirectory.getAbsolutePath() + ")." );
+ throw new IOException( "Source directory doesn't exists (" + sourceDirectory.toAbsolutePath() + ")." );
}
- File[] files = sourceDirectory.listFiles();
+ File[] files = sourceDirectory.toFile().listFiles();
- String sourcePath = sourceDirectory.getAbsolutePath();
+ String sourcePath = sourceDirectory.toAbsolutePath().toString();
for ( int i = 0; i < files.length; i++ )
{
@@ -362,7 +312,7 @@ public abstract class AbstractProxyTestCase
dest = dest.substring( sourcePath.length() + 1 );
- File destination = new File( destDirectory, dest );
+ File destination = new File( destDirectory.toFile(), dest );
if ( file.isFile() )
{
@@ -382,7 +332,7 @@ public abstract class AbstractProxyTestCase
"Could not create destination directory '" + destination.getAbsolutePath() + "'." );
}
- copyDirectoryStructure( file, destination );
+ copyDirectoryStructure( file.toPath(), destination.toPath() );
}
}
else
@@ -411,7 +361,7 @@ public abstract class AbstractProxyTestCase
/**
* Read the first line from the checksum file, and return it (trimmed).
*/
- protected String readChecksumFile( File checksumFile )
+ protected String readChecksumFile( Path checksumFile )
throws Exception
{
FileReader freader = null;
@@ -419,7 +369,7 @@ public abstract class AbstractProxyTestCase
try
{
- freader = new FileReader( checksumFile );
+ freader = new FileReader( checksumFile.toFile() );
buf = new BufferedReader( freader );
return buf.readLine();
}
@@ -530,12 +480,12 @@ public abstract class AbstractProxyTestCase
config.triggerChange( prefix + ".layout", repoConfig.getLayout() );
}
- protected File saveTargetedRepositoryConfig( String id, String originalPath, String targetPath, String layout )
+ protected Path saveTargetedRepositoryConfig( String id, String originalPath, String targetPath, String layout )
throws IOException
{
- File repoLocation = new File( targetPath );
- FileUtils.deleteDirectory( repoLocation );
- copyDirectoryStructure( new File( originalPath ), repoLocation );
+ Path repoLocation = Paths.get( targetPath );
+ org.apache.archiva.common.utils.FileUtils.deleteDirectory( repoLocation );
+ copyDirectoryStructure( Paths.get(originalPath) , repoLocation );
saveRemoteRepositoryConfig( id, "Target Repo-" + id, targetPath, layout );
@@ -561,23 +511,23 @@ public abstract class AbstractProxyTestCase
resourceDir = resourcePath.substring( 0, idx );
}
- File sourceRepoDir = new File( REPOPATH_DEFAULT_MANAGED );
- File sourceDir = new File( sourceRepoDir, resourceDir );
+ Path sourceRepoDir = Paths.get( REPOPATH_DEFAULT_MANAGED );
+ Path sourceDir = sourceRepoDir.resolve(resourceDir );
- File destRepoDir = managedDefaultDir;
- File destDir = new File( destRepoDir, resourceDir );
+ Path destRepoDir = managedDefaultDir;
+ Path destDir = destRepoDir.resolve(resourceDir );
// Cleanout destination dirs.
- if ( destDir.exists() )
+ if ( Files.exists(destDir))
{
- FileUtils.deleteDirectory( destDir );
+ org.apache.archiva.common.utils.FileUtils.deleteDirectory( destDir );
}
// Make the destination dir.
- destDir.mkdirs();
+ Files.createDirectories(destDir);
// Test the source dir.
- if ( !sourceDir.exists() )
+ if ( !Files.exists(sourceDir) )
{
// This is just a warning.
log.error( "[WARN] Skipping setup of testable managed repository, source dir does not exist: {}", //
@@ -587,7 +537,7 @@ public abstract class AbstractProxyTestCase
{
// Test that the source is a dir.
- if ( !sourceDir.isDirectory() )
+ if ( !Files.isDirectory( sourceDir) )
{
fail( "Unable to setup testable managed repository, source is not a directory: " + sourceDir );
}
@@ -597,55 +547,91 @@ public abstract class AbstractProxyTestCase
}
}
- protected void setManagedNewerThanRemote( File managedFile, File remoteFile )
+ protected void setManagedNewerThanRemote( Path managedFile, Path remoteFile )
{
setManagedNewerThanRemote( managedFile, remoteFile, 55000 );
}
- protected void setManagedNewerThanRemote( File managedFile, File remoteFile, long time )
+ protected void setManagedNewerThanRemote( Path managedFile, Path remoteFile, long time )
{
- assertTrue( "Managed File should exist: ", managedFile.exists() );
- assertTrue( "Remote File should exist: ", remoteFile.exists() );
+ assertTrue( "Managed File should exist: ", Files.exists(managedFile) );
+ assertTrue( "Remote File should exist: ", Files.exists(remoteFile) );
- managedFile.setLastModified( remoteFile.lastModified() + time );
+ try
+ {
+ Files.setLastModifiedTime( managedFile,
+ FileTime.from(Files.getLastModifiedTime( remoteFile ).toMillis() + time, TimeUnit.MILLISECONDS ));
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace( );
+ }
- assertTrue( managedFile.lastModified() > remoteFile.lastModified() );
+ try
+ {
+ assertTrue( Files.getLastModifiedTime( managedFile).compareTo( Files.getLastModifiedTime( remoteFile )) > 0);
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace( );
+ }
}
- protected void setManagedOlderThanRemote( File managedFile, File remoteFile )
+ protected void setManagedOlderThanRemote( Path managedFile, Path remoteFile )
{
setManagedOlderThanRemote( managedFile, remoteFile, 55000 );
}
- protected void setManagedOlderThanRemote( File managedFile, File remoteFile, long time )
+ protected void setManagedOlderThanRemote( Path managedFile, Path remoteFile, long time )
{
- assertTrue( "Managed File should exist: ", managedFile.exists() );
- assertTrue( "Remote File should exist: ", remoteFile.exists() );
+ assertTrue( "Managed File should exist: ", Files.exists(managedFile) );
+ assertTrue( "Remote File should exist: ", Files.exists(remoteFile) );
- managedFile.setLastModified( remoteFile.lastModified() - time );
+ try
+ {
+ Files.setLastModifiedTime( managedFile,
+ FileTime.from(Files.getLastModifiedTime( remoteFile ).toMillis() - time, TimeUnit.MILLISECONDS ));
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace( );
+ }
- assertTrue( managedFile.lastModified() < remoteFile.lastModified() );
+ try
+ {
+ assertTrue( Files.getLastModifiedTime( managedFile ).compareTo(Files.getLastModifiedTime( remoteFile )) < 0 );
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace( );
+ }
}
- protected void assertNotModified( File file, long expectedModificationTime )
+ protected void assertNotModified( Path file, long expectedModificationTime )
{
- assertEquals( "File <" + file.getAbsolutePath() + "> not have been modified.", expectedModificationTime,
- file.lastModified() );
+ try
+ {
+ assertEquals( "File <" + file.toAbsolutePath() + "> not have been modified.", expectedModificationTime,
+ Files.getLastModifiedTime( file ).toMillis());
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace( );
+ }
}
- protected void assertNotExistsInManagedDefaultRepo( File file )
+ protected void assertNotExistsInManagedDefaultRepo( Path testFile )
throws Exception
{
- String managedDefaultPath = managedDefaultDir.getCanonicalPath();
- String testFile = file.getCanonicalPath();
+ Path managedDefaultPath = managedDefaultDir;
assertTrue( "Unit Test Failure: File <" + testFile
+ "> should be have been defined within the managed default path of <" + managedDefaultPath
+ ">", testFile.startsWith( managedDefaultPath ) );
- assertFalse( "File < " + testFile + "> should not exist in managed default repository.", file.exists() );
+ assertFalse( "File < " + testFile + "> should not exist in managed default repository.", Files.exists(testFile) );
}
protected static Date getFutureDate()
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/CacheFailuresTransferTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/CacheFailuresTransferTest.java b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/CacheFailuresTransferTest.java
index e668db8..f1857fb 100644
--- a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/CacheFailuresTransferTest.java
+++ b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/CacheFailuresTransferTest.java
@@ -31,6 +31,9 @@ import org.easymock.EasyMock;
import org.junit.Test;
import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import javax.inject.Inject;
import static org.junit.Assert.assertFalse;
@@ -55,7 +58,7 @@ public class CacheFailuresTransferTest
throws Exception
{
String path = "org/apache/maven/test/get-in-second-proxy/1.0/get-in-second-proxy-1.0.jar";
- File expectedFile = new File( managedDefaultDir.getAbsoluteFile(), path );
+ Path expectedFile = managedDefaultDir.resolve( path );
setupTestableManagedRepository( path );
assertNotExistsInManagedDefaultRepo( expectedFile );
@@ -79,7 +82,7 @@ public class CacheFailuresTransferTest
wagonMockControl.replay();
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
wagonMockControl.verify();
@@ -89,7 +92,7 @@ public class CacheFailuresTransferTest
downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
wagonMockControl.verify();
- assertNotDownloaded( downloadedFile );
+ assertNotDownloaded( downloadedFile);
assertNoTempFiles( expectedFile );
}
@@ -98,7 +101,7 @@ public class CacheFailuresTransferTest
throws Exception
{
String path = "org/apache/maven/test/get-in-second-proxy/1.0/get-in-second-proxy-1.0.jar";
- File expectedFile = new File( managedDefaultDir.getAbsoluteFile(), path );
+ Path expectedFile = managedDefaultDir.resolve( path );
setupTestableManagedRepository( path );
assertNotExistsInManagedDefaultRepo( expectedFile );
@@ -120,7 +123,7 @@ public class CacheFailuresTransferTest
wagonMockControl.replay();
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
wagonMockControl.verify();
@@ -146,11 +149,11 @@ public class CacheFailuresTransferTest
{
String path = "org/apache/maven/test/get-in-second-proxy/1.0/get-in-second-proxy-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- expectedFile.delete();
- assertFalse( expectedFile.exists() );
+ Files.deleteIfExists(expectedFile);
+ assertFalse( Files.exists(expectedFile) );
String url = PathUtil.toUrl( REPOPATH_PROXIED1 + "/" + path );
@@ -164,10 +167,10 @@ public class CacheFailuresTransferTest
saveConnector( ID_DEFAULT_MANAGED, "proxied2", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
// Validate that file actually came from proxied2 (as intended).
- File proxied2File = new File( REPOPATH_PROXIED2, path );
+ Path proxied2File = Paths.get( REPOPATH_PROXIED2, path );
assertFileEquals( expectedFile, downloadedFile, proxied2File );
assertNoTempFiles( expectedFile );
}
http://git-wip-us.apache.org/repos/asf/archiva/blob/47811555/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/ChecksumTransferTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/ChecksumTransferTest.java b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/ChecksumTransferTest.java
index c1ebf9c..51e53e7 100644
--- a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/ChecksumTransferTest.java
+++ b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/ChecksumTransferTest.java
@@ -19,7 +19,7 @@ package org.apache.archiva.proxy;
* under the License.
*/
-import org.apache.commons.io.FileUtils;
+import org.apache.archiva.common.utils.FileUtils;
import org.apache.archiva.model.ArtifactReference;
import org.apache.archiva.policies.CachedFailuresPolicy;
import org.apache.archiva.policies.ChecksumPolicy;
@@ -30,6 +30,11 @@ import org.easymock.EasyMock;
import org.junit.Test;
import java.io.File;
+import java.nio.file.CopyOption;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
@@ -49,17 +54,17 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-both-right/1.0/get-checksum-both-right-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ org.apache.archiva.common.utils.FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, true );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
assertNull( downloadedFile );
}
@@ -71,19 +76,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-both-right/1.0/get-checksum-both-right-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ org.apache.archiva.common.utils.FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "066d76e459f7782c312c31e8a11b3c0f1e3e43a7 *get-checksum-both-right-1.0.jar",
@@ -97,19 +102,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-sha1-only/1.0/get-checksum-sha1-only-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "748a3a013bf5eacf2bbb40a2ac7d37889b728837 *get-checksum-sha1-only-1.0.jar",
@@ -123,19 +128,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-md5-only/1.0/get-checksum-md5-only-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, null, "f3af5201bf8da801da37db8842846e1c *get-checksum-md5-only-1.0.jar" );
@@ -148,19 +153,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, null, null );
@@ -173,19 +178,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-both-bad/1.0/get-checksum-both-bad-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "invalid checksum file", "invalid checksum file" );
@@ -198,17 +203,17 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-both-bad/1.0/get-checksum-both-bad-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
assertNotDownloaded( downloadedFile );
assertChecksums( expectedFile, null, null );
@@ -221,19 +226,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-both-bad/1.0/get-checksum-both-bad-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "4ec20a12dc91557330bd0b39d1805be5e329ae56 get-checksum-both-bad-1.0.jar",
@@ -247,17 +252,17 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-sha1-bad-md5/1.0/get-checksum-sha1-bad-md5-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
assertNotDownloaded( downloadedFile );
assertChecksums( expectedFile, null, null );
@@ -270,20 +275,20 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-md5-only/1.0/get-checksum-md5-only-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
// This is a success situation. No SHA1 with a Good MD5.
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get(REPOPATH_PROXIED1, path);
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, null, "f3af5201bf8da801da37db8842846e1c *get-checksum-md5-only-1.0.jar" );
@@ -296,17 +301,17 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
assertNotDownloaded( downloadedFile );
assertChecksums( expectedFile, null, null );
@@ -319,19 +324,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-sha1-bad-md5/1.0/get-checksum-sha1-bad-md5-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get(REPOPATH_PROXIED1, path);
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "3dd1a3a57b807d3ef3fbc6013d926c891cbb8670 *get-checksum-sha1-bad-md5-1.0.jar",
@@ -345,19 +350,20 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-sha1-bad-md5/1.0/get-checksum-sha1-bad-md5-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+
+ Path proxied1File = Paths.get(REPOPATH_PROXIED1, path);
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "3dd1a3a57b807d3ef3fbc6013d926c891cbb8670 *get-checksum-sha1-bad-md5-1.0.jar",
@@ -371,19 +377,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-md5-only/1.0/get-checksum-md5-only-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get(REPOPATH_PROXIED1, path);
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "71f7dc3f72053a3f2d9fdd6fef9db055ef957ffb get-checksum-md5-only-1.0.jar",
@@ -397,19 +403,19 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile) );
// Configure Connector (usually done within archiva.xml configuration)
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get(REPOPATH_PROXIED1, path);
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "1f12821c5e43e1a0b76b9564a6ddb0548ccb9486 get-default-layout-1.0.jar",
@@ -423,12 +429,12 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-checksum-sha1-only/1.0/get-checksum-sha1-only-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
- FileUtils.deleteDirectory( expectedFile.getParentFile() );
- assertFalse( expectedFile.getParentFile().exists() );
- assertFalse( expectedFile.exists() );
+ FileUtils.deleteDirectory( expectedFile.getParent() );
+ assertFalse( Files.exists(expectedFile.getParent()) );
+ assertFalse( Files.exists(expectedFile) );
saveRemoteRepositoryConfig( "badproxied", "Bad Proxied", "test://bad.machine.com/repo/", "default" );
@@ -447,18 +453,19 @@ public class ChecksumTransferTest
wagonMockControl.replay();
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
wagonMockControl.verify();
// Do what the mock doesn't do.
- String proxyPath = new File( REPOPATH_PROXIED1, path ).getAbsolutePath();
- String localPath = new File( managedDefaultDir, path ).getAbsolutePath();
- FileUtils.copyFile( new File( proxyPath ), new File( localPath ) );
- FileUtils.copyFile( new File( proxyPath + ".sha1" ), new File( localPath + ".sha1" ) );
+ Path proxyPath = Paths.get( REPOPATH_PROXIED1, path ).toAbsolutePath();
+ Path localPath = managedDefaultDir.resolve( path ).toAbsolutePath();
+ Files.copy( proxyPath, localPath, StandardCopyOption.REPLACE_EXISTING);
+ Files.copy( proxyPath.resolveSibling( proxyPath.getFileName() + ".sha1" ),
+ localPath.resolveSibling( localPath.getFileName() + ".sha1" ), StandardCopyOption.REPLACE_EXISTING );
// Test results.
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "748a3a013bf5eacf2bbb40a2ac7d37889b728837 *get-checksum-sha1-only-1.0.jar",
@@ -472,8 +479,8 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-bad-local-checksum/1.0/get-bad-local-checksum-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
- File remoteFile = new File( REPOPATH_PROXIED1, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
+ Path remoteFile = Paths.get( REPOPATH_PROXIED1, path );
setManagedOlderThanRemote( expectedFile, remoteFile );
@@ -483,9 +490,9 @@ public class ChecksumTransferTest
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get( REPOPATH_PROXIED1, path );
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
// There are no hashcodes on the proxy side to download, hence the local ones should remain invalid.
@@ -499,8 +506,8 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-bad-local-checksum/1.0/get-bad-local-checksum-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
- File remoteFile = new File( REPOPATH_PROXIED1, path );
+ Path expectedFile = managedDefaultDir.resolve( path );
+ Path remoteFile = Paths.get( REPOPATH_PROXIED1, path );
setManagedOlderThanRemote( expectedFile, remoteFile );
@@ -510,7 +517,7 @@ public class ChecksumTransferTest
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
assertNotDownloaded( downloadedFile );
assertNoTempFiles( expectedFile );
@@ -527,8 +534,8 @@ public class ChecksumTransferTest
String path = "org/apache/maven/test/get-bad-local-checksum/1.0/get-bad-local-checksum-1.0.jar";
setupTestableManagedRepository( path );
- File expectedFile = new File( managedDefaultDir, path );
- File remoteFile = new File( REPOPATH_PROXIED1, path );
+ Path expectedFile = managedDefaultDir.resolve(path);
+ Path remoteFile = Paths.get(REPOPATH_PROXIED1, path);
setManagedOlderThanRemote( expectedFile, remoteFile );
@@ -538,9 +545,9 @@ public class ChecksumTransferTest
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
- File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
+ Path downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
- File proxied1File = new File( REPOPATH_PROXIED1, path );
+ Path proxied1File = Paths.get(REPOPATH_PROXIED1, path);
assertFileEquals( expectedFile, downloadedFile, proxied1File );
assertNoTempFiles( expectedFile );
assertChecksums( expectedFile, "96a08dc80a108cba8efd3b20aec91b32a0b2cbd4 get-bad-local-checksum-1.0.jar",