List of usage examples for org.apache.commons.net.ftp FTP BINARY_FILE_TYPE
int BINARY_FILE_TYPE
To view the source code for org.apache.commons.net.ftp FTP BINARY_FILE_TYPE.
Click Source Link
From source file:org.wavescale.sourcesync.synchronizer.FTPSFileSynchronizer.java
@Override public void syncFile(String sourcePath, String destinationPath) { // preserve timestamp for now boolean preserveTimestamp = true; File localFile = new File(getProject().getBasePath(), sourcePath); String finalSourcePath = Utils.getUnixPath(localFile.getAbsolutePath()); String remotePath = Utils.buildUnixPath(this.getConnectionInfo().getRootPath(), destinationPath); String[] dirsToCreate = Utils.splitPath(destinationPath); // change location to root path try {/* ww w . jav a 2 s . co m*/ this.ftps.changeWorkingDirectory(Utils.getUnixPath(this.getConnectionInfo().getRootPath())); } catch (IOException e) { EventDataLogger.logError("Remote dir <b>" + this.getConnectionInfo().getRootPath() + "</b> might not exist or you don't have permission on this path!", this.getProject()); return; } // try to create for (String dirToCreate : dirsToCreate) { try { this.ftps.makeDirectory(dirToCreate); } catch (IOException e) { // this dir probably exist so just ignore now it will fail later // if there are other reasons this could not be executed. } try { this.ftps.changeWorkingDirectory(dirToCreate); } catch (IOException e) { // probably it doesn't exist or maybe no permission EventDataLogger.logError( "Remote dir <b>" + remotePath + "</b> might not exist or you don't have permission on this path!", this.getProject()); return; } } // upload try { this.ftps.setFileType(FTP.BINARY_FILE_TYPE); FileInputStream in = new FileInputStream(finalSourcePath); OutputStream outputStream = this.ftps.storeFileStream(localFile.getName()); this.getIndicator().setIndeterminate(false); this.getIndicator().setText("Uploading...[" + localFile.getName() + "]"); byte[] buffer = new byte[1024]; int len; double totalSize = localFile.length() + 0.0; long totalUploaded = 0; while (true) { len = in.read(buffer, 0, buffer.length); if (len <= 0) { break; } outputStream.write(buffer, 0, len); totalUploaded += len; this.getIndicator().setFraction(totalUploaded / totalSize); } if (preserveTimestamp) { // TODO - implement preserve timestamp mechanism } in.close(); outputStream.close(); } catch (FileNotFoundException e) { EventDataLogger.logWarning(e.toString(), getProject()); } catch (IOException e) { EventDataLogger.logError(e.toString(), getProject()); } }
From source file:org.witness.ssc.xfer.utils.PublishingUtils.java
public Thread videoUploadToFTPserver(final Activity activity, final Handler handler, final String latestVideoFile_filename, final String latestVideoFile_absolutepath, final String emailAddress, final long sdrecord_id) { Log.d(TAG, "doVideoFTP starting"); // Make the progress bar view visible. ((SSCXferActivity) activity).startedUploading(); final Resources res = activity.getResources(); Thread t = new Thread(new Runnable() { public void run() { // Do background task. // FTP; connect preferences here! ////from w w w . j a va2 s . c om SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity.getBaseContext()); String ftpHostName = prefs.getString("defaultFTPhostPreference", null); String ftpUsername = prefs.getString("defaultFTPusernamePreference", null); String ftpPassword = prefs.getString("defaultFTPpasswordPreference", null); // use name of local file. String ftpRemoteFtpFilename = latestVideoFile_filename; // FTP FTPClient ftpClient = new FTPClient(); InetAddress uploadhost = null; try { uploadhost = InetAddress.getByName(ftpHostName); } catch (UnknownHostException e1) { // If DNS resolution fails then abort immediately - show // dialog to // inform user first. e1.printStackTrace(); Log.e(TAG, " got exception resolving " + ftpHostName + " - video uploading failed."); uploadhost = null; } if (uploadhost == null) { // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); new AlertDialog.Builder(activity).setMessage(R.string.cant_find_upload_host) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }).show(); } }, 0); return; } boolean connected = false; try { ftpClient.connect(uploadhost); connected = true; } catch (SocketException e) { e.printStackTrace(); connected = false; } catch (UnknownHostException e) { // e.printStackTrace(); connected = false; } catch (IOException e) { // e.printStackTrace(); connected = false; } if (!connected) { // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); new AlertDialog.Builder(activity).setMessage(R.string.cant_login_upload_host) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }).show(); } }, 0); return; } boolean reply = false; try { reply = ftpClient.login(ftpUsername, ftpPassword); } catch (IOException e) { // e.printStackTrace(); Log.e(TAG, " got exception on ftp.login - video uploading failed."); } // check the reply code here // If we cant login, abort after showing user a dialog. if (!reply) { try { ftpClient.disconnect(); } catch (IOException e) { // e.printStackTrace(); } // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); new AlertDialog.Builder(activity).setMessage(R.string.cant_login_upload_host) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }).show(); } }, 0); return; } // Set File type to binary try { ftpClient.setFileType(FTP.BINARY_FILE_TYPE); } catch (IOException e) { // e.printStackTrace(); // keep going?! } // BEYOND HERE DONT USE DIALOGS! // Construct the input stream to send to Ftp server, from the // local // video file on the sd card BufferedInputStream buffIn = null; File file = new File(latestVideoFile_absolutepath); try { buffIn = new BufferedInputStream(new FileInputStream(file)); } catch (FileNotFoundException e) { // e.printStackTrace(); Log.e(TAG, " got exception on local video file - video uploading failed."); // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); } }, 0); // This is a bad error, lets abort. // user dialog ?! shouldnt happen, but still... return; } ftpClient.enterLocalPassiveMode(); try { // UPLOAD THE LOCAL VIDEO FILE. ftpClient.storeFile(ftpRemoteFtpFilename, buffIn); } catch (IOException e) { // e.printStackTrace(); Log.e(TAG, " got exception on storeFile - video uploading failed."); // This is a bad error, lets abort. // user dialog ?! shouldnt happen, but still... // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); } }, 0); return; } try { buffIn.close(); } catch (IOException e) { // e.printStackTrace(); Log.e(TAG, " got exception on buff.close - video uploading failed."); // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); } }, 0); return; } try { ftpClient.logout(); } catch (IOException e) { // e.printStackTrace(); Log.e(TAG, " got exception on ftp logout - video uploading failed."); // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); } }, 0); return; } try { ftpClient.disconnect(); } catch (IOException e) { // e.printStackTrace(); Log.e(TAG, " got exception on ftp disconnect - video uploading failed."); // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Hide the progress bar ((SSCXferActivity) activity).finishedUploading(false); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_failed_)); } }, 0); return; } if (emailAddress != null && ftpHostName != null) { // EmailSender through IR controlled gmail system. SSLEmailSender sender = new SSLEmailSender( activity.getString(R.string.automatic_email_username), activity.getString(R.string.automatic_email_password)); // consider // this // public // knowledge. try { sender.sendMail(activity.getString(R.string.vidiom_automatic_email), // subject.getText().toString(), activity.getString(R.string.url_of_hosted_video_is_) + " " + ftpHostName, // body.getText().toString(), activity.getString(R.string.automatic_email_from), // from.getText().toString(), emailAddress // to.getText().toString() ); } catch (Exception e) { Log.e(TAG, e.getMessage(), e); } } // Log record of this URL in POSTs table dbutils.creatHostDetailRecordwithNewVideoUploaded(sdrecord_id, ftpHostName, ftpHostName, ""); // Use the handler to execute a Runnable on the // main thread in order to have access to the // UI elements. handler.postDelayed(new Runnable() { public void run() { // Update UI // Indicate back to calling activity the result! // update uploadInProgress state also. ((SSCXferActivity) activity).finishedUploading(true); ((SSCXferActivity) activity) .createNotification(res.getString(R.string.upload_to_ftp_host_succeeded_)); } }, 0); } }); t.start(); return t; }
From source file:org.wso2.carbon.connector.FileFtpOverProxy.java
/** * Send file FTP over Proxy./* w w w .j av a 2 s. c om*/ * * @param proxyHost Name of the proxy host. * @param proxyPort Proxy port number. * @param proxyUsername User name of the proxy. * @param proxyPassword Password of the proxy. * @param ftpServer FTP server. * @param ftpPort Port number of FTP. * @param ftpUsername User name of the FTP. * @param ftpPassword Password of the FTP. * @param messageContext he message context that is generated for processing the ftpOverHttp method. * @return true, if the FTP client tunnels over an HTTP proxy connection or stores a file on the server. */ public boolean ftpOverHttp(String proxyHost, String proxyPort, String proxyUsername, String proxyPassword, String ftpServer, String ftpPort, String ftpUsername, String ftpPassword, MessageContext messageContext) { String keepAliveTimeout = (String) ConnectorUtils.lookupTemplateParamater(messageContext, FileConstants.KEEP_ALIVE_TIMEOUT); String controlKeepAliveReplyTimeout = (String) ConnectorUtils.lookupTemplateParamater(messageContext, FileConstants.CONTROL_KEEP_ALIVE_REPLY_TIMEOUT); String targetPath = (String) ConnectorUtils.lookupTemplateParamater(messageContext, FileConstants.TARGET_PATH); String targetFile = (String) ConnectorUtils.lookupTemplateParamater(messageContext, FileConstants.TARGET_FILE); String binaryTransfer = (String) ConnectorUtils.lookupTemplateParamater(messageContext, FileConstants.BINARY_TRANSFER); String localActive = (String) ConnectorUtils.lookupTemplateParamater(messageContext, FileConstants.LOCAL_ACTIVE); boolean resultStatus = false; InputStream inputStream = null; final FTPClient ftp; if (StringUtils.isNotEmpty(proxyHost) && StringUtils.isNotEmpty(proxyPort) && StringUtils.isNotEmpty(proxyUsername) && StringUtils.isNotEmpty(proxyPassword)) { proxyHost = proxyHost.trim(); proxyPort = proxyPort.trim(); proxyUsername = proxyUsername.trim(); proxyPassword = proxyPassword.trim(); ftp = new FTPHTTPClient(proxyHost, Integer.parseInt(proxyPort), proxyUsername, proxyPassword); } else { ftp = new FTPClient(); } //Set the time to wait between sending control connection keep alive messages when // processing file upload or download (Zero (or less) disables). keepAliveTimeout = keepAliveTimeout.trim(); if (StringUtils.isNotEmpty(keepAliveTimeout)) { ftp.setControlKeepAliveTimeout(Long.parseLong(keepAliveTimeout.trim())); } //Set how long to wait for control keep-alive message replies.(defaults to 1000 milliseconds.) if (StringUtils.isNotEmpty(controlKeepAliveReplyTimeout)) { ftp.setControlKeepAliveReplyTimeout(Integer.parseInt(controlKeepAliveReplyTimeout.trim())); } try { int reply; ftpPort = ftpPort.trim(); int IntFtpPort = Integer.parseInt(ftpPort); if (IntFtpPort > 0) { ftp.connect(ftpServer, IntFtpPort); } else { ftpServer = ftpServer.trim(); ftp.connect(ftpServer); } if (log.isDebugEnabled()) { log.debug( " Connected to " + ftpServer + " on " + (IntFtpPort > 0 ? ftpPort : ftp.getDefaultPort())); } // After connection attempt, should check the reply code to verify success. reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); log.error("FTP ftpServer refused connection."); } if (ftp.login(ftpUsername, ftpPassword)) { if (StringUtils.isNotEmpty(binaryTransfer)) { if (Boolean.valueOf(binaryTransfer.trim())) { ftp.setFileType(FTP.BINARY_FILE_TYPE); } else { // in theory this should not be necessary as servers should default to ASCII // but they don't all do so - see NET-500 ftp.setFileType(FTP.ASCII_FILE_TYPE); } } else { ftp.setFileType(FTP.ASCII_FILE_TYPE); } // Use passive mode as default because most of us are behind firewalls these days. if (StringUtils.isNotEmpty(localActive)) { if (Boolean.valueOf(localActive.trim())) { ftp.enterLocalActiveMode(); } else { ftp.enterLocalPassiveMode(); } } else { ftp.enterLocalPassiveMode(); } inputStream = new ByteArrayInputStream( messageContext.getEnvelope().getBody().getFirstElement().toString().getBytes()); if (StringUtils.isNotEmpty(targetPath)) { ftp.changeWorkingDirectory(targetPath); ftp.storeFile(targetFile, inputStream); if (log.isDebugEnabled()) { log.debug("Successfully FTP transfered the File"); } } // check that control connection is working if (log.isDebugEnabled()) { log.debug("The code received from the server." + ftp.noop()); } resultStatus = true; } else { ftp.logout(); handleException("Error while login ftp server.", messageContext); } } catch (FTPConnectionClosedException e) { // log.error("Server closed connection " + e.getMessage(), e); handleException("Server closed connection: " + e.getMessage(), e, messageContext); } catch (IOException e) { //log.error("Error occurred while uploading:" + e.getMessage(), e); handleException("Could not connect to FTP ftpServer: " + e.getMessage(), e, messageContext); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); ftp.logout(); } catch (IOException f) { log.error("Error while disconnecting/logging out ftp server"); } } if (inputStream != null) { try { inputStream.close(); } catch (IOException f) { log.error("Error while closing inputStream"); } } } return resultStatus; }
From source file:org.wso2.carbon.connector.FileFtpOverProxyConnector.java
/** * Set the file type to be transferred./* ww w . j a v a2s . c om*/ * * @param fileType The type of the file. * @param ftp The FTPClient which is used to transfer the file. * @throws IOException If an I/O error occurs while either sending a command to the server or receiving a reply * from the server. */ private void setFileType(String fileType, FTPClient ftp) throws IOException { switch (fileType) { case "BINARY": ftp.setFileType(FTP.BINARY_FILE_TYPE); break; case "ASCII": ftp.setFileType(FTP.ASCII_FILE_TYPE); break; case "EBCDIC": ftp.setFileType(FTP.EBCDIC_FILE_TYPE); break; case "LOCAL": ftp.setFileType(FTP.LOCAL_FILE_TYPE); break; default: ftp.setFileType(FTP.ASCII_FILE_TYPE); } }
From source file:org.wso2.carbon.esb.scenario.test.common.ftp.FTPClientWrapper.java
/** * Function to upload a file to an FTP Server. * * @param sourceFilePath source file path * @param targetFilePath target path of the remote file * @throws IOException if file upload fails *//* w w w. j a v a 2s . c o m*/ public void ftpFileUpload(String sourceFilePath, String targetFilePath) throws IOException { ftpClient.setFileType(FTP.BINARY_FILE_TYPE); File localFile = new File(sourceFilePath); try (InputStream inputStream = new FileInputStream(localFile)) { log.info("Start uploading file " + sourceFilePath + " to " + targetFilePath); try { if (ftpClient.storeFile(targetFilePath, inputStream)) { log.info("File has been uploaded to " + targetFilePath + " successfully."); } } catch (IOException ex) { throw new IOException( "Error occurred while uploading file from " + sourceFilePath + " to " + targetFilePath, ex); } } catch (FileNotFoundException ex) { throw new IOException("File Not Found in " + sourceFilePath, ex); } }
From source file:org.wso2.carbon.esb.scenario.test.common.ftp.FTPClientWrapper.java
/** * Function to download a file from an FTP Server. * * @param sourceFilePath source file path * @param targetFilePath target path/*from w ww .java 2 s . c om*/ * @throws IOException if file download fails */ public void ftpFileDownload(String sourceFilePath, File targetFilePath) throws IOException { ftpClient.setFileType(FTP.BINARY_FILE_TYPE); try (OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(targetFilePath))) { log.info("Start downloading file " + sourceFilePath + " to " + targetFilePath); try { if (ftpClient.retrieveFile(sourceFilePath, outputStream)) { log.info("File has been uploaded to " + targetFilePath + " successfully."); } } catch (IOException ex) { throw new IOException( "Error occurred while downloading file from " + sourceFilePath + " to " + targetFilePath, ex); } } catch (FileNotFoundException ex) { throw new IOException("File Not Found in " + sourceFilePath, ex); } }
From source file:password.pwm.svc.telemetry.FtpTelemetrySender.java
private void ftpPut(final TelemetryPublishBean telemetryPublishBean) throws PwmUnrecoverableException { final FTPClient ftpClient; switch (settings.getFtpMode()) { case ftp:/*from w w w. j ava2 s.com*/ ftpClient = new FTPClient(); break; case ftps: ftpClient = new FTPSClient(); break; default: JavaHelper.unhandledSwitchStatement(settings.getFtpMode()); throw new UnsupportedOperationException(); } // connect try { LOGGER.trace(SessionLabel.TELEMETRY_SESSION_LABEL, "establishing " + settings.getFtpMode() + " connection to " + settings.getHost()); ftpClient.connect(settings.getHost()); final int reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { disconnectFtpClient(ftpClient); final String msg = "error " + reply + " connecting to " + settings.getHost(); throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } LOGGER.trace(SessionLabel.TELEMETRY_SESSION_LABEL, "connected to " + settings.getHost()); } catch (IOException e) { disconnectFtpClient(ftpClient); final String msg = "unable to connect to " + settings.getHost() + ", error: " + e.getMessage(); throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } // set modes try { ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); final int reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { disconnectFtpClient(ftpClient); final String msg = "error setting file type mode to binary, error=" + reply; throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } } catch (IOException e) { disconnectFtpClient(ftpClient); final String msg = "unable to connect to " + settings.getHost() + ", error: " + e.getMessage(); throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } // authenticate try { ftpClient.login(settings.getUsername(), settings.getPassword()); final int reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { disconnectFtpClient(ftpClient); final String msg = "error authenticating as " + settings.getUsername() + " to " + settings.getHost() + ", error=" + reply; throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } LOGGER.trace(SessionLabel.TELEMETRY_SESSION_LABEL, "authenticated to " + settings.getHost() + " as " + settings.getUsername()); } catch (IOException e) { disconnectFtpClient(ftpClient); final String msg = "error authenticating as " + settings.getUsername() + " to " + settings.getHost() + ", error: " + e.getMessage(); throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } // upload try { final String filePath = settings.getPath() + "/" + telemetryPublishBean.getId() + ".zip"; final byte[] fileBytes = dataToJsonZipFile(telemetryPublishBean); final ByteArrayInputStream fileStream = new ByteArrayInputStream(fileBytes); LOGGER.trace(SessionLabel.TELEMETRY_SESSION_LABEL, "preparing to transfer " + fileBytes.length + " bytes to file path " + filePath); final Instant startTime = Instant.now(); ftpClient.storeFile(filePath, fileStream); final int reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { disconnectFtpClient(ftpClient); final String msg = "error uploading file to " + settings.getHost() + ", error=" + reply; throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } LOGGER.trace(SessionLabel.TELEMETRY_SESSION_LABEL, "completed transfer of " + fileBytes.length + " in " + TimeDuration.compactFromCurrent(startTime)); } catch (IOException e) { disconnectFtpClient(ftpClient); final String msg = "error uploading file to " + settings.getHost() + ", error: " + e.getMessage(); throw new PwmUnrecoverableException(new ErrorInformation(PwmError.ERROR_TELEMETRY_SEND_ERROR, msg)); } }
From source file:pl.edu.icm.maven.wagon.provider.FTPSWagon.java
protected void openConnectionInternal() throws ConnectionException, AuthenticationException { AuthenticationInfo authInfo = getAuthenticationInfo(); if (authInfo == null) { throw new IllegalArgumentException("Authentication Credentials cannot be null for FTP protocol"); }//from w w w.j a va 2s . com if (authInfo.getUserName() == null) { authInfo.setUserName(System.getProperty("user.name")); } String username = authInfo.getUserName(); String password = authInfo.getPassword(); if (username == null) { throw new AuthenticationException("Username not specified for repository " + getRepository().getId()); } if (password == null) { throw new AuthenticationException("Password not specified for repository " + getRepository().getId()); } String host = getRepository().getHost(); FTPSClient ftps = new FTPSClient(); ftps.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager()); ftp = ftps; ftp.setDefaultTimeout(getTimeout()); ftp.setDataTimeout(getTimeout()); ftp.setControlEncoding(getControlEncoding()); ftp.addProtocolCommandListener(new PrintCommandListener(this)); try { if (getRepository().getPort() != WagonConstants.UNKNOWN_PORT) { ftp.connect(host, getRepository().getPort()); } else { ftp.connect(host); } // After connection attempt, you should check the reply code to // verify // success. int reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); throw new AuthenticationException("FTP server refused connection."); } } catch (IOException e) { if (ftp.isConnected()) { try { fireSessionError(e); ftp.disconnect(); } catch (IOException f) { // do nothing } } throw new AuthenticationException("Could not connect to server.", e); } try { if (!ftp.login(username, password)) { throw new AuthenticationException("Cannot login to remote system"); } fireSessionDebug("Remote system is " + ftp.getSystemType()); // Set to binary mode. ftp.setFileType(FTP.BINARY_FILE_TYPE); ftp.setListHiddenFiles(true); // Use passive mode as default because most of us are // behind firewalls these days. if (isPassiveMode()) { ftp.enterLocalPassiveMode(); } } catch (IOException e) { throw new ConnectionException("Cannot login to remote system", e); } }
From source file:pl.psnc.synat.wrdz.zmd.download.adapters.FtpDownloadAdapter.java
/** * Performs login operation to log to the server or throws exceptions if any problems with logging in occur. * /*from www . j ava2s.c o m*/ * @param ftpClient * client instance to operate on. * @throws DownloadAdapterException * should any problems occur. */ private void loginToFtp(FTPClient ftpClient) throws DownloadAdapterException { try { if (ftpClient.login(connectionInfo.getUsername(), connectionInfo.getPassword())) { ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); } else { throw new DownloadAdapterException("Unable to login to the server, authentication failed."); } } catch (IOException e) { throw new DownloadAdapterException("Exception while trying to login to the server.", e); } }
From source file:primarydatamanager.mirrorupdater.data.FtpDataTarget.java
private void reset() throws UpdateException { if (mFTPClient != null && mFTPClient.isConnected()) { try {/*from w ww . ja v a 2s. c om*/ mFTPClient.disconnect(); } catch (IOException e) { // ignore } } // Connect to the server mFTPClient = new FTPClient(); try { mFTPClient.connect(mServerUrl, mPort); mLog.fine("Connected to " + mServerUrl + ":" + mPort); mFTPClient.setSoTimeout(30000); checkReplyCode(); } catch (Exception exc) { if (mFTPClient.isConnected()) { try { mFTPClient.disconnect(); } catch (IOException exc2) { // do nothing } } throw new UpdateException("Could not connect to server '" + mServerUrl + "'", exc); } // Log in try { boolean success = mFTPClient.login(mUser, mPassword); checkReplyCode(); if (!success) { throw new UpdateException("Login failed"); } } catch (Exception exc) { throw new UpdateException( "Login using user='" + mUser + "' and password=(" + mPassword.length() + " characters) failed", exc); } // Set the file type to binary try { boolean success = mFTPClient.setFileType(FTP.BINARY_FILE_TYPE); checkReplyCode(); if (!success) { throw new UpdateException("Setting file type to binary failed"); } } catch (Exception exc) { throw new UpdateException("Setting file type to binary failed", exc); } // Change directory try { boolean success = mFTPClient.changeWorkingDirectory(mPath); checkReplyCode(); if (!success) { throw new UpdateException("Could not change to directory '" + mPath + "'"); } } catch (Exception exc) { throw new UpdateException("Could not change to directory '" + mPath + "'", exc); } mLog.fine("Changed to directory " + mPath); }