private void closeConnection() { try { if (objVFS4Handler != null) { objVFS4Handler.CloseConnection(); objVFS4Handler.CloseSession(); } } catch (Exception e) { throw new JobSchedulerException(e); } }
private void doConnect( final ISOSVFSHandler objVFS4Handler, final SOSConnection2OptionsAlternate objConnectOptions) { try { objVFS4Handler.Connect(objConnectOptions); } catch (Exception e) { // Problem to connect, try alternate host // TODO respect alternate data-source type? alternate port etc. ? JobSchedulerException.LastErrorMessage = ""; try { objVFS4Handler.Connect(objConnectOptions.Alternatives()); objConnectOptions.setAlternateOptionsUsed("true"); } catch (Exception e1) { throw new JobSchedulerException(e); } // TODO get an instance of .Alternatives for Authentication ... } }
private boolean isConnected() { boolean flgR = true; if (objVFS4Handler != null) { flgR = objVFS4Handler.isConnected(); } return flgR; }
private void doAuthenticate( final ISOSVFSHandler objVFS4Handler, final SOSConnection2OptionsAlternate objConnectOptions, final boolean pflgIsDataSource) throws Exception { try { objVFS4Handler.Authenticate(objConnectOptions); } catch (Exception e) { // SOSFTP-113: Problem to login, try alternate User // TODO respect alternate authentication, eg password and/or public key JobSchedulerException.LastErrorMessage = ""; try { objVFS4Handler.Authenticate(objConnectOptions.Alternatives()); } catch (RuntimeException e1) { throw e1; } objConnectOptions.setAlternateOptionsUsed("true"); } ISOSVfsFileTransfer objDataClient = (ISOSVfsFileTransfer) objVFS4Handler; if (objOptions.passive_mode.value() || objConnectOptions.passive_mode.isTrue()) { objDataClient.passive(); } // objConnectOptions.transfer_mode is not used? if (objConnectOptions.transfer_mode.isDirty() && objConnectOptions.transfer_mode.IsNotEmpty()) { objDataClient.TransferMode(objConnectOptions.transfer_mode); } else { objDataClient.TransferMode(objOptions.transfer_mode); } objDataClient.ControlEncoding(objOptions.ControlEncoding.Value()); // TODO pre-commands for source and target separately if (objOptions.PreFtpCommands.IsNotEmpty() && pflgIsDataSource == false) { // TODO Command separator as option for (String strCmd : objOptions.PreFtpCommands.split()) { strCmd = objOptions.replaceVars(strCmd); objDataClient.getHandler().ExecuteCommand(strCmd); } } if (objConnectOptions.PreFtpCommands.IsNotEmpty()) { // TODO Command separator as option for (String strCmd : objConnectOptions.PreFtpCommands.split()) { strCmd = objConnectOptions.replaceVars(strCmd); objDataClient.getHandler().ExecuteCommand(strCmd); } } }