Author: olamy
Date: Wed Sep 21 14:27:03 2011
New Revision: 1173672

URL: http://svn.apache.org/viewvc?rev=1173672&view=rev
Log:
preserve stack trace

Modified:
    
maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
    
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
    
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
    
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
    
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java

Modified: 
maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java?rev=1173672&r1=1173671&r2=1173672&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
 Wed Sep 21 14:27:03 2011
@@ -50,20 +50,21 @@ import java.util.Calendar;
 import java.util.List;
 
 /**
- * FtpWagon 
+ * FtpWagon
  *
  * @version $Id$
- * 
- * @plexus.component role="org.apache.maven.wagon.Wagon" 
- *   role-hint="ftp"
- *   instantiation-strategy="per-lookup"
+ * @plexus.component role="org.apache.maven.wagon.Wagon"
+ * role-hint="ftp"
+ * instantiation-strategy="per-lookup"
  */
 public class FtpWagon
     extends StreamWagon
 {
     private FTPClient ftp;
-    
-    /** @plexus.configuration default-value="true" */
+
+    /**
+     * @plexus.configuration default-value="true"
+     */
     private boolean passiveMode = true;
 
     public boolean isPassiveMode()
@@ -109,7 +110,7 @@ public class FtpWagon
         ftp = new FTPClient();
         ftp.setDefaultTimeout( getTimeout() );
         ftp.setDataTimeout( getTimeout() );
-        
+
         ftp.addProtocolCommandListener( new PrintCommandListener( this ) );
 
         try
@@ -170,7 +171,7 @@ public class FtpWagon
             // Use passive mode as default because most of us are
             // behind firewalls these days.
             if ( isPassiveMode() )
-            {                
+            {
                 ftp.enterLocalPassiveMode();
             }
         }
@@ -307,8 +308,9 @@ public class FtpWagon
 
             if ( os == null )
             {
-                String msg = "Cannot transfer resource:  '" + resource
-                    + "'. Output stream is null. FTP Server response: " + 
ftp.getReplyString();
+                String msg =
+                    "Cannot transfer resource:  '" + resource + "'. Output 
stream is null. FTP Server response: "
+                        + ftp.getReplyString();
 
                 throw new TransferFailedException( msg );
 
@@ -426,32 +428,32 @@ public class FtpWagon
         throws TransferFailedException, ResourceDoesNotExistException, 
AuthorizationException
     {
         Resource resource = new Resource( destinationDirectory );
-        
-        try 
+
+        try
         {
             ftpChangeDirectory( resource );
-    
+
             String filename = PathUtils.filename( resource.getName() );
             FTPFile[] ftpFiles = ftp.listFiles( filename );
-    
+
             if ( ftpFiles == null || ftpFiles.length <= 0 )
             {
                 throw new ResourceDoesNotExistException( "Could not find file: 
'" + resource + "'" );
             }
-            
+
             List<String> ret = new ArrayList<String>();
             for ( int i = 0; i < ftpFiles.length; i++ )
             {
                 String name = ftpFiles[i].getName();
-                
+
                 if ( ftpFiles[i].isDirectory() && !name.endsWith( "/" ) )
                 {
                     name += "/";
                 }
-                
+
                 ret.add( name );
             }
-            
+
             return ret;
         }
         catch ( IOException e )
@@ -473,9 +475,9 @@ public class FtpWagon
             int status = ftp.stat( filename );
 
             return ( ( status == FTPReply.FILE_STATUS ) || ( status == 
FTPReply.DIRECTORY_STATUS )
-                     || ( status == FTPReply.FILE_STATUS_OK ) // not in the 
RFC but used by some FTP servers
-                     || ( status == FTPReply.COMMAND_OK )     // not in the 
RFC but used by some FTP servers
-                     || ( status == FTPReply.SYSTEM_STATUS ) );
+                || ( status == FTPReply.FILE_STATUS_OK ) // not in the RFC but 
used by some FTP servers
+                || ( status == FTPReply.COMMAND_OK )     // not in the RFC but 
used by some FTP servers
+                || ( status == FTPReply.SYSTEM_STATUS ) );
         }
         catch ( IOException e )
         {
@@ -486,7 +488,7 @@ public class FtpWagon
             return false;
         }
     }
-    
+
     public boolean supportsDirectoryCopy()
     {
         return true;
@@ -502,31 +504,32 @@ public class FtpWagon
             if ( !ftp.changeWorkingDirectory( getRepository().getBasedir() ) )
             {
                 RepositoryPermissions permissions = 
getRepository().getPermissions();
-                if ( !makeFtpDirectoryRecursive( getRepository().getBasedir() 
, permissions ) )
+                if ( !makeFtpDirectoryRecursive( getRepository().getBasedir(), 
permissions ) )
                 {
-                    throw new TransferFailedException( "Required directory: '" 
+ getRepository().getBasedir() + "' "
-                                    + "could not get created" );
+                    throw new TransferFailedException(
+                        "Required directory: '" + getRepository().getBasedir() 
+ "' " + "could not get created" );
                 }
 
                 // try it again sam ...
                 if ( !ftp.changeWorkingDirectory( getRepository().getBasedir() 
) )
                 {
                     throw new TransferFailedException( "Required directory: '" 
+ getRepository().getBasedir() + "' "
-                                    + "is missing and could not get created" );
+                                                           + "is missing and 
could not get created" );
                 }
             }
         }
         catch ( IOException e )
         {
-            throw new TransferFailedException( "Cannot change to root path " + 
getRepository().getBasedir() );
+            throw new TransferFailedException( "Cannot change to root path " + 
getRepository().getBasedir(), e );
         }
 
-        fireTransferDebug( "Recursively uploading directory " + 
sourceDirectory.getAbsolutePath() + " as "
-                        + destinationDirectory );
+        fireTransferDebug(
+            "Recursively uploading directory " + 
sourceDirectory.getAbsolutePath() + " as " + destinationDirectory );
         ftpRecursivePut( sourceDirectory, destinationDirectory );
     }
 
-    private void ftpRecursivePut( File sourceFile, String fileName ) throws 
TransferFailedException
+    private void ftpRecursivePut( File sourceFile, String fileName )
+        throws TransferFailedException
     {
         final RepositoryPermissions permissions = repository.getPermissions();
 
@@ -546,21 +549,23 @@ public class FtpWagon
                         {
                             if ( !ftp.changeWorkingDirectory( fileName ) )
                             {
-                                throw new TransferFailedException( "Unable to 
change cwd on ftp server to " + fileName
-                                                + " when processing " + 
sourceFile.getAbsolutePath() );
+                                throw new TransferFailedException(
+                                    "Unable to change cwd on ftp server to " + 
fileName + " when processing "
+                                        + sourceFile.getAbsolutePath() );
                             }
                         }
                         else
                         {
-                            throw new TransferFailedException( "Unable to 
create directory " + fileName
-                                            + " when processing " + 
sourceFile.getAbsolutePath() );
+                            throw new TransferFailedException(
+                                "Unable to create directory " + fileName + " 
when processing "
+                                    + sourceFile.getAbsolutePath() );
                         }
                     }
                 }
                 catch ( IOException e )
                 {
-                    throw new TransferFailedException( "IOException caught 
while processing path at "
-                                    + sourceFile.getAbsolutePath(), e );
+                    throw new TransferFailedException(
+                        "IOException caught while processing path at " + 
sourceFile.getAbsolutePath(), e );
                 }
             }
 
@@ -594,19 +599,19 @@ public class FtpWagon
             catch ( IOException e )
             {
                 throw new TransferFailedException( "IOException caught while 
attempting to step up to parent directory"
-                                                   + " after successfully 
processing " + sourceFile.getAbsolutePath(),
-                                                   e );
+                                                       + " after successfully 
processing "
+                                                       + 
sourceFile.getAbsolutePath(), e );
             }
         }
         else
         {
             // Oh how I hope and pray, in denial, but today I am still just a 
file.
-            
+
             FileInputStream sourceFileStream = null;
             try
             {
                 sourceFileStream = new FileInputStream( sourceFile );
-                
+
                 // It's a file. Upload it in the current directory.
                 if ( ftp.storeFile( fileName, sourceFileStream ) )
                 {
@@ -642,14 +647,14 @@ public class FtpWagon
                 {
                     String msg =
                         "Cannot transfer resource:  '" + 
sourceFile.getAbsolutePath() + "' FTP Server response: "
-                                        + ftp.getReplyString();
+                            + ftp.getReplyString();
                     throw new TransferFailedException( msg );
                 }
             }
             catch ( IOException e )
             {
-                throw new TransferFailedException( "IOException caught while 
attempting to upload "
-                                + sourceFile.getAbsolutePath(), e );
+                throw new TransferFailedException(
+                    "IOException caught while attempting to upload " + 
sourceFile.getAbsolutePath(), e );
             }
             finally
             {
@@ -703,7 +708,7 @@ public class FtpWagon
     /**
      * Recursively create directories.
      *
-     * @param fileName the path to create (might be nested)
+     * @param fileName    the path to create (might be nested)
      * @param permissions
      * @return ok
      * @throws IOException
@@ -712,7 +717,7 @@ public class FtpWagon
         throws IOException
     {
         if ( fileName == null || fileName.length() == 0
-            || fileName.replace('/',  '_').trim().length() == 0 ) // if a 
string is '/', '//' or similar
+            || fileName.replace( '/', '_' ).trim().length() == 0 ) // if a 
string is '/', '//' or similar
         {
             return false;
         }
@@ -734,8 +739,7 @@ public class FtpWagon
             slashPos = fileName.indexOf( "/" );
         }
 
-        if ( slashPos >= 0
-             && slashPos < ( fileName.length() - 1 ) ) // not only a slash at 
the end, like in 'newDir/'
+        if ( slashPos >= 0 && slashPos < ( fileName.length() - 1 ) ) // not 
only a slash at the end, like in 'newDir/'
         {
             if ( oldPwd == null )
             {

Modified: 
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java?rev=1173672&r1=1173671&r2=1173672&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
 Wed Sep 21 14:27:03 2011
@@ -74,7 +74,7 @@ public class HtmlFileListParser
         }
         catch ( URISyntaxException e )
         {
-            throw new TransferFailedException( "Unable to parse as URI: " + 
baseurl );
+            throw new TransferFailedException( "Unable to parse as URI: " + 
baseurl, e );
         }
         catch ( IOException e )
         {

Modified: 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java?rev=1173672&r1=1173671&r2=1173672&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HtmlFileListParser.java
 Wed Sep 21 14:27:03 2011
@@ -100,7 +100,7 @@ public class HtmlFileListParser
         }
         catch ( URISyntaxException e )
         {
-            throw new TransferFailedException( "Unable to parse as base URI: " 
+ baseurl );
+            throw new TransferFailedException( "Unable to parse as base URI: " 
+ baseurl, e );
         }
         catch ( IOException e )
         {

Modified: 
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java?rev=1173672&r1=1173671&r2=1173672&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
 Wed Sep 21 14:27:03 2011
@@ -19,15 +19,6 @@ package org.apache.maven.wagon.providers
  * under the License.
  */
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
 import org.apache.maven.wagon.CommandExecutionException;
 import org.apache.maven.wagon.CommandExecutor;
 import org.apache.maven.wagon.PathUtils;
@@ -45,14 +36,23 @@ import org.codehaus.plexus.util.FileUtil
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.List;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
 public class ScpHelper
 {
     public static final char PATH_SEPARATOR = '/';
 
     public static final int DEFAULT_SSH_PORT = 22;
-    
+
     private final CommandExecutor executor;
-    
+
     public ScpHelper( CommandExecutor executor )
     {
         this.executor = executor;
@@ -139,7 +139,7 @@ public class ScpHelper
 
         return privateKey;
     }
-    
+
     public static void createZip( List<String> files, File zipName, File 
basedir )
         throws IOException
     {
@@ -202,7 +202,7 @@ public class ScpHelper
         throws TransferFailedException, ResourceDoesNotExistException, 
AuthorizationException
     {
         Repository repository = wagon.getRepository();
-        
+
         String basedir = repository.getBasedir();
 
         String destDir = StringUtils.replace( destinationDirectory, "\\", "/" 
);
@@ -249,8 +249,8 @@ public class ScpHelper
 
         try
         {
-            executor.executeCommand( "cd " + path + "; unzip -q -o " + 
zipFile.getName() + "; rm -f "
-                + zipFile.getName() );
+            executor.executeCommand(
+                "cd " + path + "; unzip -q -o " + zipFile.getName() + "; rm -f 
" + zipFile.getName() );
 
             zipFile.delete();
 
@@ -281,7 +281,7 @@ public class ScpHelper
             Streams streams = executor.executeCommand( "ls -FlA " + path, 
false );
 
             List<String> ret = new LSParser().parseFiles( streams.getOut() );
-            if (ret == null || ret.isEmpty())
+            if ( ret == null || ret.isEmpty() )
             {
                 throw new ResourceDoesNotExistException( "No such file or 
directory" );
             }
@@ -291,12 +291,12 @@ public class ScpHelper
         {
             if ( e.getMessage().trim().endsWith( "No such file or directory" ) 
)
             {
-                throw new ResourceDoesNotExistException( e.getMessage().trim() 
);
+                throw new ResourceDoesNotExistException( 
e.getMessage().trim(), e );
             }
             else if ( e.getMessage().trim().endsWith( "Not a directory" ) )
             {
-                throw new ResourceDoesNotExistException( e.getMessage().trim() 
);
-            }            
+                throw new ResourceDoesNotExistException( 
e.getMessage().trim(), e );
+            }
             else
             {
                 throw new TransferFailedException( "Error performing file 
listing.", e );

Modified: 
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java?rev=1173672&r1=1173671&r2=1173672&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
 Wed Sep 21 14:27:03 2011
@@ -19,11 +19,6 @@ package org.apache.maven.wagon.providers
  * under the License.
  */
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.List;
-import java.util.Locale;
-
 import org.apache.maven.wagon.AbstractWagon;
 import org.apache.maven.wagon.CommandExecutionException;
 import org.apache.maven.wagon.CommandExecutor;
@@ -45,6 +40,11 @@ import org.codehaus.plexus.util.cli.Comm
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.List;
+import java.util.Locale;
+
 /**
  * SCP deployer using "external" scp program.  To allow for
  * ssh-agent type behavior, until we can construct a Java SSH Agent and 
interface for JSch.
@@ -52,10 +52,9 @@ import org.codehaus.plexus.util.cli.Comm
  * @author <a href="mailto:[email protected]";>Brett Porter</a>
  * @version $Id:ScpExternalWagon.java 477260 2006-11-20 17:11:39Z brett $
  * @todo [BP] add compression flag
- * 
- * @plexus.component role="org.apache.maven.wagon.Wagon" 
- *   role-hint="scpexe"
- *   instantiation-strategy="per-lookup"
+ * @plexus.component role="org.apache.maven.wagon.Wagon"
+ * role-hint="scpexe"
+ * instantiation-strategy="per-lookup"
  */
 public class ScpExternalWagon
     extends AbstractWagon
@@ -130,7 +129,7 @@ public class ScpExternalWagon
         {
             username = authenticationInfo.getUserName();
         }
-        
+
         if ( username == null )
         {
             return getRepository().getHost();
@@ -140,7 +139,7 @@ public class ScpExternalWagon
             return username + "@" + getRepository().getHost();
         }
     }
-    
+
     public void executeCommand( String command )
         throws CommandExecutionException
     {
@@ -161,7 +160,7 @@ public class ScpExternalWagon
         }
         catch ( FileNotFoundException e )
         {
-            throw new CommandExecutionException( e.getMessage() );
+            throw new CommandExecutionException( e.getMessage(), e );
         }
         Commandline cl = createBaseCommandLine( putty, sshExecutable, 
privateKey );
 
@@ -183,7 +182,7 @@ public class ScpExternalWagon
         {
             cl.createArgument().setLine( sshArgs );
         }
-        
+
         String remoteHost = this.buildRemoteHost();
 
         cl.createArgument().setValue( remoteHost );
@@ -268,7 +267,7 @@ public class ScpExternalWagon
         catch ( FileNotFoundException e )
         {
             fireSessionConnectionRefused();
-            
+
             throw new AuthorizationException( e.getMessage() );
         }
         Commandline cl = createBaseCommandLine( putty, scpExecutable, 
privateKey );
@@ -286,12 +285,12 @@ public class ScpExternalWagon
         {
             cl.createArgument().setLine( scpArgs );
         }
-        
+
         String resourceName = normalizeResource( resource );
         String remoteFile = getRepository().getBasedir() + "/" + resourceName;
-        
+
         remoteFile = StringUtils.replace( remoteFile, " ", "\\ " );
-        
+
         String qualifiedRemoteFile = this.buildRemoteHost() + ":" + remoteFile;
         if ( put )
         {
@@ -312,15 +311,15 @@ public class ScpExternalWagon
             int exitCode = CommandLineUtils.executeCommandLine( cl, null, err 
);
             if ( exitCode != 0 )
             {
-                if ( !put
-                    && err.getOutput().trim().toLowerCase( Locale.ENGLISH 
).indexOf( "no such file or directory" ) != -1 )
+                if ( !put && err.getOutput().trim().toLowerCase( 
Locale.ENGLISH ).indexOf( "no such file or directory" )
+                    != -1 )
                 {
                     throw new ResourceDoesNotExistException( err.getOutput() );
                 }
                 else
                 {
-                    TransferFailedException e = new TransferFailedException( 
"Exit code: " + exitCode + " - "
-                                                                             + 
err.getOutput() );
+                    TransferFailedException e =
+                        new TransferFailedException( "Exit code: " + exitCode 
+ " - " + err.getOutput() );
 
                     fireTransferError( resource, e, put ? 
TransferEvent.REQUEST_PUT : TransferEvent.REQUEST_GET );
 
@@ -391,12 +390,12 @@ public class ScpExternalWagon
         catch ( CommandExecutionException e )
         {
             fireTransferError( resource, e, TransferEvent.REQUEST_PUT );
-            
+
             throw new TransferFailedException( "Error executing command for 
transfer", e );
         }
-        
+
         resource.setContentLength( source.length() );
-        
+
         resource.setLastModified( source.lastModified() );
 
         firePutStarted( resource, source );
@@ -438,7 +437,7 @@ public class ScpExternalWagon
         Resource resource = new Resource( path );
 
         fireGetInitiated( resource, destination );
-        
+
         createParentDirectories( destination );
 
         fireGetStarted( resource, destination );


Reply via email to