public JobEntryFTPPUTDialog( Shell parent, JobEntryInterface jobEntryInt, Repository rep, JobMeta jobMeta ) { super( parent, jobEntryInt, rep, jobMeta ); jobEntry = (JobEntryFTPPUT) jobEntryInt; if ( this.jobEntry.getName() == null ) { this.jobEntry.setName( BaseMessages.getString( PKG, "JobFTPPUT.Name.Default" ) ); } }
public JobEntryFTPPUT( String n ) { super( n, "" ); serverName = null; serverPort = "21"; socksProxyPort = "1080"; remoteDirectory = null; localDirectory = null; setControlEncoding( DEFAULT_CONTROL_ENCODING ); }
return; jobEntry.setName( wName.getText() ); jobEntry.setServerName( wServerName.getText() ); jobEntry.setServerPort( wServerPort.getText() ); jobEntry.setUserName( wUserName.getText() ); jobEntry.setPassword( wPassword.getText() ); jobEntry.setRemoteDirectory( wRemoteDirectory.getText() ); jobEntry.setLocalDirectory( wLocalDirectory.getText() ); jobEntry.setWildcard( wWildcard.getText() ); jobEntry.setRemove( wRemove.getSelection() ); jobEntry.setBinaryMode( wBinaryMode.getSelection() ); jobEntry.setTimeout( Const.toInt( wTimeout.getText(), 10000 ) ); jobEntry.setOnlyPuttingNewFiles( wOnlyNew.getSelection() ); jobEntry.setActiveConnection( wActive.getSelection() ); jobEntry.setControlEncoding( wControlEncoding.getText() ); jobEntry.setProxyHost( wProxyHost.getText() ); jobEntry.setProxyPort( wProxyPort.getText() ); jobEntry.setProxyUsername( wProxyUsername.getText() ); jobEntry.setProxyPassword( wProxyPassword.getText() ); jobEntry.setSocksProxyHost( wSocksProxyHost.getText() ); jobEntry.setSocksProxyPort( wSocksProxyPort.getText() ); jobEntry.setSocksProxyUsername( wSocksProxyUsername.getText() ); jobEntry.setSocksProxyPassword( wSocksProxyPassword.getText() ); dispose();
if ( jobEntry.getName() != null ) { wName.setText( jobEntry.getName() ); wServerName.setText( Const.NVL( jobEntry.getServerName(), "" ) ); wServerPort.setText( Const.NVL( jobEntry.getServerPort(), "" ) ); wUserName.setText( Const.NVL( jobEntry.getUserName(), "" ) ); wPassword.setText( Const.NVL( jobEntry.getPassword(), "" ) ); wRemoteDirectory.setText( Const.NVL( jobEntry.getRemoteDirectory(), "" ) ); wLocalDirectory.setText( Const.NVL( jobEntry.getLocalDirectory(), "" ) ); wWildcard.setText( Const.NVL( jobEntry.getWildcard(), "" ) ); wRemove.setSelection( jobEntry.getRemove() ); wBinaryMode.setSelection( jobEntry.isBinaryMode() ); wTimeout.setText( "" + jobEntry.getTimeout() ); wOnlyNew.setSelection( jobEntry.isOnlyPuttingNewFiles() ); wActive.setSelection( jobEntry.isActiveConnection() ); wControlEncoding.setText( jobEntry.getControlEncoding() ); wProxyHost.setText( Const.NVL( jobEntry.getProxyHost(), "" ) ); wProxyPort.setText( Const.NVL( jobEntry.getProxyPort(), "" ) ); wProxyUsername.setText( Const.NVL( jobEntry.getProxyUsername(), "" ) ); wProxyPassword.setText( Const.NVL( jobEntry.getProxyPassword(), "" ) ); wSocksProxyHost.setText( Const.NVL( jobEntry.getSocksProxyHost(), "" ) ); wSocksProxyPort.setText( Const.NVL( jobEntry.getSocksProxyPort(), "1080" ) ); wSocksProxyUsername.setText( Const.NVL( jobEntry.getSocksProxyUsername(), "" ) ); wSocksProxyPassword.setText( Const.NVL( jobEntry.getSocksProxyPassword(), "" ) );
logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.Starting" ) ); ftpclient = createAndSetUpFtpClient(); String realUsername = environmentSubstitute( userName ); String realPassword = Encr.decryptPasswordOptionallyEncrypted( environmentSubstitute( password ) ); ftpclient.connect(); ftpclient.login( realUsername, realPassword ); ftpclient.setType( FTPTransferType.BINARY ); if ( log.isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.BinaryMode" ) ); logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.Logged", realUsername ) ); this.hookInOtherParsers( ftpclient ); String realRemoteDirectory = environmentSubstitute( remoteDirectory ); if ( !Utils.isEmpty( realRemoteDirectory ) ) { ftpclient.chdir( realRemoteDirectory ); if ( log.isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.ChangedDirectory", realRemoteDirectory ) ); String realLocalDirectory = environmentSubstitute( localDirectory ); if ( realLocalDirectory == null ) { throw new FTPException( BaseMessages.getString( PKG, "JobFTPPUT.LocalDir.NotSpecified" ) ); logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.FoundFileLocalDirectory", "" + files.size(), realLocalDirectory ) );
@Test public void createFtpClient_UsesProxyIfSet() throws Exception { entry.setProxyHost( "localhost" ); entry.setProxyPort( "123" ); entry.createAndSetUpFtpClient(); assertEquals( "localhost", getHostFromClient() ); // we cannot distinguish values of proxy and target server, as both of them refers to localhost // that is why I put invocation counter here verify( ftpClient, times( 2 ) ).setRemoteAddr( InetAddress.getByName( "localhost" ) ); verify( ftpClient ).setRemotePort( 123 ); }
FTPClient createAndSetUpFtpClient() throws IOException, FTPException { String realServerName = environmentSubstitute( serverName ); String realServerPort = environmentSubstitute( serverPort ); FTPClient ftpClient = createFtpClient(); ftpClient.setRemoteAddr( InetAddress.getByName( realServerName ) ); if ( !Utils.isEmpty( realServerPort ) ) { String realProxyHost = environmentSubstitute( proxyHost ); ftpClient.setRemoteAddr( InetAddress.getByName( realProxyHost ) ); if ( log.isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "JobEntryFTPPUT.OpenedProxyConnectionOn", realProxyHost ) ); int port = Const.toInt( environmentSubstitute( proxyPort ), FTP_DEFAULT_PORT ); if ( port != 0 ) { ftpClient.setRemotePort( port ); logDetailed( BaseMessages.getString( PKG, "JobEntryFTPPUT.OpenConnection", realServerName ) ); ftpClient.setConnectMode( FTPConnectMode.ACTIVE ); if ( log.isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.SetActiveConnection" ) ); logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.SetPassiveConnection" ) ); ftpClient.setTimeout( timeout ); if ( log.isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.SetTimeout", "" + timeout ) ); logDetailed( BaseMessages.getString( PKG, "JobFTPPUT.Log.SetEncoding", controlEncoding ) );
@Test public void createFtpClient_UsesTimeoutIfSet() throws Exception { entry.setTimeout( 10 ); entry.createAndSetUpFtpClient(); verify( ftpClient ).setTimeout( 10 ); }
@Test public void createFtpClient_DoesNotChangePortByDefault() throws Exception { entry.setServerPort( null ); entry.createAndSetUpFtpClient(); verify( ftpClient, never() ).setRemotePort( anyInt() ); }
@Test public void createFtpClient_SetsLocalhostByDefault() throws Exception { entry.setServerName( null ); entry.createAndSetUpFtpClient(); assertEquals( "localhost", getHostFromClient() ); }
@Before public void setUp() throws Exception { ftpClient = mock( FTPClient.class ); entry = spy( new JobEntryFTPPUT() ); doReturn( ftpClient ).when( entry ).createFtpClient(); }
public String getXML() { StringBuilder retval = new StringBuilder( 450 ); // 365 characters in spaces and tag names alone retval.append( super.getXML() ); retval.append( " " ).append( XMLHandler.addTagValue( "servername", serverName ) ); retval.append( " " ).append( XMLHandler.addTagValue( "serverport", serverPort ) ); retval.append( " " ).append( XMLHandler.addTagValue( "username", userName ) ); retval.append( " " ).append( XMLHandler.addTagValue( "password", Encr.encryptPasswordIfNotUsingVariables( getPassword() ) ) ); retval.append( " " ).append( XMLHandler.addTagValue( "remoteDirectory", remoteDirectory ) ); retval.append( " " ).append( XMLHandler.addTagValue( "localDirectory", localDirectory ) ); retval.append( " " ).append( XMLHandler.addTagValue( "wildcard", wildcard ) ); retval.append( " " ).append( XMLHandler.addTagValue( "binary", binaryMode ) ); retval.append( " " ).append( XMLHandler.addTagValue( "timeout", timeout ) ); retval.append( " " ).append( XMLHandler.addTagValue( "remove", remove ) ); retval.append( " " ).append( XMLHandler.addTagValue( "only_new", onlyPuttingNewFiles ) ); retval.append( " " ).append( XMLHandler.addTagValue( "active", activeConnection ) ); retval.append( " " ).append( XMLHandler.addTagValue( "control_encoding", controlEncoding ) ); retval.append( " " ).append( XMLHandler.addTagValue( "proxy_host", proxyHost ) ); retval.append( " " ).append( XMLHandler.addTagValue( "proxy_port", proxyPort ) ); retval.append( " " ).append( XMLHandler.addTagValue( "proxy_username", proxyUsername ) ); retval.append( " " ).append( XMLHandler.addTagValue( "proxy_password", Encr.encryptPasswordIfNotUsingVariables( proxyPassword ) ) ); retval.append( " " ).append( XMLHandler.addTagValue( "socksproxy_host", socksProxyHost ) ); retval.append( " " ).append( XMLHandler.addTagValue( "socksproxy_port", socksProxyPort ) ); retval.append( " " ).append( XMLHandler.addTagValue( "socksproxy_username", socksProxyUsername ) ); retval.append( " " ).append( XMLHandler.addTagValue( "socksproxy_password", Encr .encryptPasswordIfNotUsingVariables( socksProxyPassword ) ) ); return retval.toString(); }