{
fireSessionConnectionRefused();
throw new AuthorizationException( e.getMessage() );
}
Commandline cl = createBaseCommandLine( putty, scpExecutable, privateKey );
cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
int port =
repository.getPort() == WagonConstants.UNKNOWN_PORT ? ScpHelper.DEFAULT_SSH_PORT : repository.getPort();
if ( port != ScpHelper.DEFAULT_SSH_PORT )
{
cl.createArg().setLine( "-P " + port );
}
if ( scpArgs != null )
{
cl.createArg().setLine( scpArgs );
}
String resourceName = normalizeResource( resource );
String remoteFile = getRepository().getBasedir() + "/" + resourceName;
remoteFile = StringUtils.replace( remoteFile, " ", "\\ " );
String qualifiedRemoteFile = this.buildRemoteHost() + ":" + remoteFile;
if ( put )
{
cl.createArg().setValue( localFile.getName() );
cl.createArg().setValue( qualifiedRemoteFile );
}
else
{
cl.createArg().setValue( qualifiedRemoteFile );
cl.createArg().setValue( localFile.getName() );
}
fireSessionDebug( "Executing command: " + cl.toString() );
try
{
CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
int exitCode = CommandLineUtils.executeCommandLine( cl, null, err );