private void downloadFromAllRepos()

in archiva-artifact-downloader-cli/src/main/java/org/apache/archiva/artifact/downloader/Downloader.java [113:156]


    private void downloadFromAllRepos( ArtifactKey key )
        throws TransferException, IOException, URISyntaxException
    {
        LayoutUtil layout = new LayoutUtil( this.config );
        List<DownloadTask> downloadTasks;
        Transfer transfer;
        TransferDownloader transferDownloader;
        for ( Repository repository : config.getRepositories() )
        {
            transfer = TransferFactory.getTransfer( repository.getRootUri() );
            System.out.println( "URI: " + repository.getRootUri().toASCIIString() );
            transferDownloader = transfer.getDownloader( repository.getRootUri() );

            downloadTasks = createDownloadTasks( layout, repository, key );

            for ( DownloadTask task : downloadTasks )
            {
                if ( task.localFile.exists() )
                {
                    System.out.println( "Task Skipped (local file exists): " + task.localFile.getAbsolutePath() );
                    continue;
                }

                File tmpFile = File.createTempFile( "artifact-download.", ".dat" );
                try
                {
                    transferDownloader.download( task.remoteRepoRelURI, tmpFile );
                    if ( tmpFile.exists() && tmpFile.length() > 0 )
                    {
                        System.out.println( "Successful Transfer: " + task.localFile );
                        FileUtils.copyFile( tmpFile, task.localFile );
                    }
                }
                catch ( TransferException e )
                {
                    System.out.println( "Transfer Warning: " + e.getMessage() );
                }
                finally
                {
                    tmpFile.delete();
                }
            }
        }
    }