regression

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@675159 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nicolas De Loof 2008-07-09 13:19:04 +00:00
parent 6ce6a9c218
commit a693bc6872
1 changed files with 29 additions and 33 deletions

View File

@ -76,7 +76,6 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Properties; import java.util.Properties;
/** /**
* DefaultRepositoryProxyConnectors * DefaultRepositoryProxyConnectors
* *
@ -89,7 +88,7 @@ public class DefaultRepositoryProxyConnectors
implements RepositoryProxyConnectors, RegistryListener, Initializable implements RepositoryProxyConnectors, RegistryListener, Initializable
{ {
private Logger log = LoggerFactory.getLogger( DefaultRepositoryProxyConnectors.class ); private Logger log = LoggerFactory.getLogger( DefaultRepositoryProxyConnectors.class );
/** /**
* @plexus.requirement * @plexus.requirement
*/ */
@ -170,7 +169,7 @@ public class DefaultRepositoryProxyConnectors
try try
{ {
File downloadedFile = File downloadedFile =
transferFile( connector, targetRepository, targetPath, repository, localFile, requestProperties ); transferFile( connector, targetRepository, targetPath, localFile, requestProperties );
if ( fileExists( downloadedFile ) ) if ( fileExists( downloadedFile ) )
{ {
@ -231,7 +230,7 @@ public class DefaultRepositoryProxyConnectors
try try
{ {
transferFile( connector, targetRepository, targetPath, repository, localRepoFile, requestProperties ); transferFile( connector, targetRepository, targetPath, localRepoFile, requestProperties );
if ( hasBeenUpdated( localRepoFile, originalMetadataTimestamp ) ) if ( hasBeenUpdated( localRepoFile, originalMetadataTimestamp ) )
{ {
@ -349,7 +348,7 @@ public class DefaultRepositoryProxyConnectors
long originalMetadataTimestamp = getLastModified( localRepoFile ); long originalMetadataTimestamp = getLastModified( localRepoFile );
try try
{ {
transferFile( connector, targetRepository, targetPath, repository, localRepoFile, requestProperties ); transferFile( connector, targetRepository, targetPath, localRepoFile, requestProperties );
if ( hasBeenUpdated( localRepoFile, originalMetadataTimestamp ) ) if ( hasBeenUpdated( localRepoFile, originalMetadataTimestamp ) )
{ {
@ -485,20 +484,19 @@ public class DefaultRepositoryProxyConnectors
/** /**
* Perform the transfer of the file. * Perform the transfer of the file.
* *
* @param connector the connector configuration to use. * @param connector the connector configuration to use.
* @param remoteRepository the remote repository get the resource from. * @param remoteRepository the remote repository get the resource from.
* @param remotePath the path in the remote repository to the resource to get. * @param remotePath the path in the remote repository to the resource to get.
* @param repository the managed repository that will hold the transfered file * @param localFile the local file to place the downloaded resource into
* @param localFile the local file to place the downloaded resource into
* @param requestProperties the request properties to utilize for policy handling. * @param requestProperties the request properties to utilize for policy handling.
* @return the local file that was downloaded, or null if not downloaded. * @return the local file that was downloaded, or null if not downloaded.
* @throws NotFoundException if the file was not found on the remote repository. * @throws NotFoundException if the file was not found on the remote repository.
* @throws NotModifiedException if the localFile was present, and the resource was present on remote repository, but * @throws NotModifiedException if the localFile was present, and the resource was present on remote repository,
* the remote resource is not newer than the local File. * but the remote resource is not newer than the local File.
* @throws ProxyException if transfer was unsuccessful. * @throws ProxyException if transfer was unsuccessful.
*/ */
private File transferFile( ProxyConnector connector, RemoteRepositoryContent remoteRepository, String remotePath, private File transferFile( ProxyConnector connector, RemoteRepositoryContent remoteRepository, String remotePath,
ManagedRepositoryContent repository, File localFile, Properties requestProperties ) File localFile, Properties requestProperties )
throws ProxyException, NotModifiedException throws ProxyException, NotModifiedException
{ {
String url = remoteRepository.getURL().getUrl(); String url = remoteRepository.getURL().getUrl();
@ -562,10 +560,10 @@ public class DefaultRepositoryProxyConnectors
boolean connected = connectToRepository( connector, wagon, remoteRepository ); boolean connected = connectToRepository( connector, wagon, remoteRepository );
if ( connected ) if ( connected )
{ {
localFile = transferSimpleFile( wagon, remoteRepository, remotePath, repository, localFile ); localFile = transferSimpleFile( wagon, remoteRepository, remotePath, localFile );
transferChecksum( wagon, remoteRepository, remotePath, repository, localFile, ".sha1" ); transferChecksum( wagon, remoteRepository, remotePath, localFile, ".sha1" );
transferChecksum( wagon, remoteRepository, remotePath, repository, localFile, ".md5" ); transferChecksum( wagon, remoteRepository, remotePath, localFile, ".md5" );
} }
} }
catch ( NotFoundException e ) catch ( NotFoundException e )
@ -629,13 +627,12 @@ public class DefaultRepositoryProxyConnectors
* @param wagon the wagon instance (should already be connected) to use. * @param wagon the wagon instance (should already be connected) to use.
* @param remoteRepository the remote repository to transfer from. * @param remoteRepository the remote repository to transfer from.
* @param remotePath the remote path to the resource to get. * @param remotePath the remote path to the resource to get.
* @param repository the managed repository that will hold the transfered file
* @param localFile the local file that should contain the downloaded contents * @param localFile the local file that should contain the downloaded contents
* @param type the type of checksum to transfer (example: ".md5" or ".sha1") * @param type the type of checksum to transfer (example: ".md5" or ".sha1")
* @throws ProxyException if copying the downloaded file into place did not succeed. * @throws ProxyException if copying the downloaded file into place did not succeed.
*/ */
private void transferChecksum( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath, private void transferChecksum( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath,
ManagedRepositoryContent repository, File localFile, String type ) File localFile, String type )
throws ProxyException throws ProxyException
{ {
String url = remoteRepository.getURL().getUrl() + remotePath; String url = remoteRepository.getURL().getUrl() + remotePath;
@ -649,7 +646,7 @@ public class DefaultRepositoryProxyConnectors
try try
{ {
File hashFile = new File( localFile.getAbsolutePath() + type ); File hashFile = new File( localFile.getAbsolutePath() + type );
transferSimpleFile( wagon, remoteRepository, remotePath + type, repository, hashFile ); transferSimpleFile( wagon, remoteRepository, remotePath + type, hashFile );
log.debug( "Checksum" + type + " Downloaded: " + hashFile ); log.debug( "Checksum" + type + " Downloaded: " + hashFile );
} }
catch ( NotFoundException e ) catch ( NotFoundException e )
@ -675,17 +672,16 @@ public class DefaultRepositoryProxyConnectors
/** /**
* Perform the transfer of the remote file to the local file specified. * Perform the transfer of the remote file to the local file specified.
* *
* @param wagon the wagon instance to use. * @param wagon the wagon instance to use.
* @param remoteRepository the remote repository to use * @param remoteRepository the remote repository to use
* @param remotePath the remote path to attempt to get * @param remotePath the remote path to attempt to get
* @param repository the managed repository that will hold the transfered file * @param localFile the local file to save to
* @param localFile the local file to save to
* @return The local file that was transfered. * @return The local file that was transfered.
* @throws ProxyException if there was a problem moving the downloaded file into place. * @throws ProxyException if there was a problem moving the downloaded file into place.
* @throws WagonException if there was a problem tranfering the file. * @throws WagonException if there was a problem tranfering the file.
*/ */
private File transferSimpleFile( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath, private File transferSimpleFile( Wagon wagon, RemoteRepositoryContent remoteRepository, String remotePath,
ManagedRepositoryContent repository, File localFile ) File localFile )
throws ProxyException throws ProxyException
{ {
assert ( remotePath != null ); assert ( remotePath != null );
@ -695,8 +691,9 @@ public class DefaultRepositoryProxyConnectors
try try
{ {
temp = File.createTempFile( localFile.getName() + ".", null, new File( repository.getRepoRoot() ) ); localFile.getParentFile().mkdirs();
temp = File.createTempFile(localFile.getName() + ".", null, localFile.getParentFile());
boolean success = false; boolean success = false;
if ( !localFile.exists() ) if ( !localFile.exists() )
@ -852,7 +849,6 @@ public class DefaultRepositoryProxyConnectors
throw new ProxyException( "Unable to overwrite existing target file: " + target.getAbsolutePath() ); throw new ProxyException( "Unable to overwrite existing target file: " + target.getAbsolutePath() );
} }
target.getParentFile().mkdirs();
if ( !temp.renameTo( target ) ) if ( !temp.renameTo( target ) )
{ {
log.warn( "Unable to rename tmp file to its final name... resorting to copy command." ); log.warn( "Unable to rename tmp file to its final name... resorting to copy command." );
@ -1008,15 +1004,15 @@ public class DefaultRepositoryProxyConnectors
{ {
/* do nothing */ /* do nothing */
} }
private void logProcess( String managedRepoId, String resource, String event ) private void logProcess( String managedRepoId, String resource, String event )
{ {
} }
private void logRejection( String managedRepoId, String remoteRepoId, String resource, String reason ) private void logRejection( String managedRepoId, String remoteRepoId, String resource, String reason )
{ {
} }
private void initConnectorsAndNetworkProxies() private void initConnectorsAndNetworkProxies()