List of usage examples for org.apache.commons.net.ftp FTPClient FTPClient
public FTPClient()
From source file:org.compiere.model.MMediaServer.java
/** * (Re-)Deploy all media//from w w w . j a v a 2s.com * @param media array of media to deploy * @return true if deployed */ public boolean deploy(MMedia[] media) { // Check whether the host is our example localhost, we will not deploy locally, but this is no error if (this.getIP_Address().equals("127.0.0.1") || this.getName().equals("localhost")) { log.warning("You have not defined your own server, we will not really deploy to localhost!"); return true; } FTPClient ftp = new FTPClient(); try { ftp.connect(getIP_Address()); if (ftp.login(getUserName(), getPassword())) log.info("Connected to " + getIP_Address() + " as " + getUserName()); else { log.warning("Could NOT connect to " + getIP_Address() + " as " + getUserName()); return false; } } catch (Exception e) { log.log(Level.WARNING, "Could NOT connect to " + getIP_Address() + " as " + getUserName(), e); return false; } boolean success = true; String cmd = null; // List the files in the directory try { cmd = "cwd"; ftp.changeWorkingDirectory(getFolder()); // cmd = "list"; String[] fileNames = ftp.listNames(); log.log(Level.FINE, "Number of files in " + getFolder() + ": " + fileNames.length); /* FTPFile[] files = ftp.listFiles(); log.config("Number of files in " + getFolder() + ": " + files.length); for (int i = 0; i < files.length; i++) log.fine(files[i].getTimestamp() + " \t" + files[i].getName());*/ // cmd = "bin"; ftp.setFileType(FTPClient.BINARY_FILE_TYPE); // for (int i = 0; i < media.length; i++) { if (!media[i].isSummary()) { log.log(Level.INFO, " Deploying Media Item:" + media[i].get_ID() + media[i].getExtension()); MImage thisImage = media[i].getImage(); // Open the file and output streams byte[] buffer = thisImage.getData(); ByteArrayInputStream is = new ByteArrayInputStream(buffer); String fileName = media[i].get_ID() + media[i].getExtension(); cmd = "put " + fileName; ftp.storeFile(fileName, is); is.close(); } } } catch (Exception e) { log.log(Level.WARNING, cmd, e); success = false; } // Logout from the FTP Server and disconnect try { cmd = "logout"; ftp.logout(); cmd = "disconnect"; ftp.disconnect(); } catch (Exception e) { log.log(Level.WARNING, cmd, e); } ftp = null; return success; }
From source file:org.covito.kit.file.support.FtpFileServiceImpl.java
/** * ?FTP Client//www. ja v a2s. co m * <p>??</p> * * @author covito */ protected void initFTPClient() { ftp = new FTPClient(); ftp.setControlEncoding("UTF-8"); try { ftp.connect(url, port); if (isPassiveMode) { ftp.enterLocalPassiveMode(); } ftp.login(username, password); int reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); ftp = null; throw new FileServiceException("FTP ?"); } ftp.setFileType(FTPClient.BINARY_FILE_TYPE); } catch (Exception e) { e.printStackTrace(); throw new FileServiceException(e); } }
From source file:org.drftpd.tests.ConnectionStressTest.java
public void run() { try {/*from ww w . j av a2 s . c o m*/ FTPClient c = new FTPClient(); c.configure(ftpConfig); logger.debug("Trying to connect"); c.connect("127.0.0.1", 21211); logger.debug("Connected"); c.setSoTimeout(5000); if (!FTPReply.isPositiveCompletion(c.getReplyCode())) { logger.debug("Houston, we have a problem. D/C"); c.disconnect(); throw new Exception(); } if (c.login("drftpd", "drftpd")) { logger.debug("Logged-in, now waiting 5 secs and kill the thread."); _sc.addSuccess(); Thread.sleep(5000); c.disconnect(); } else { logger.debug("Login failed, D/C!"); throw new Exception(); } } catch (Exception e) { logger.debug(e, e); _sc.addFailure(); } logger.debug("exiting"); }
From source file:org.drools.process.workitem.ftp.FTPUploadWorkItemHandler.java
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { this.user = (String) workItem.getParameter("User"); this.password = (String) workItem.getParameter("Password"); this.filePath = (String) workItem.getParameter("FilePath"); client = new FTPClient(); try {// w w w.j a v a 2s .c o m if (connection != null) { client.connect(connection.getHost(), Integer.parseInt(connection.getPort())); int reply = client.getReplyCode(); if (FTPReply.isPositiveCompletion(reply)) { if (client.login(user, password)) { InputStream input; input = new FileInputStream(filePath); client.setFileType(FTP.BINARY_FILE_TYPE); this.setResult(client.storeFile(filePath, input)); client.logout(); } } } } catch (SocketException ex) { Logger.getLogger(FTPUploadWorkItemHandler.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(FTPUploadWorkItemHandler.class.getName()).log(Level.SEVERE, null, ex); } manager.completeWorkItem(workItem.getId(), null); }
From source file:org.eclipse.datatools.connectivity.sample.ftp.internal.FtpConnection.java
/** * Constructor/* ww w . j a va 2s . c o m*/ * @param profile */ public FtpConnection(IConnectionProfile profile) { this.mProfile = profile; Properties props = profile.getBaseProperties(); String server = props.getProperty(IFtpProfileConstants.FTP_SERVER); String port = props.getProperty(IFtpProfileConstants.FTP_PORT); String user = props.getProperty(IFtpProfileConstants.FTP_UID); String pass = props.getProperty(IFtpProfileConstants.FTP_PWD); try { int reply; this.mFtpClient = new FTPClient(); this.mFtpClientObject = new FTPClientObject(profile, this.mFtpClient); if (port != null && port.length() != 0) this.mFtpClient.setDefaultPort(new Integer(port).intValue()); this.mFtpClient.setDefaultTimeout(2 * 60 * 1000); this.mFtpClient.setDataTimeout(2 * 60 * 1000); this.mFtpClient.connect(server); if (!this.mFtpClient.login(user, pass)) { throw new Exception(mFtpClient.getReplyString()); } reply = this.mFtpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { this.mFtpClient.disconnect(); throw new Exception(FTPProfileMessages.getString("FtpConnection.errormessage")); //$NON-NLS-1$ } } catch (Exception e) { this.mException = e; return; } this.mFtpClient.enterLocalPassiveMode(); FtpConnection.counter++; }
From source file:org.ecoinformatics.datamanager.download.DownloadHandler.java
/** * Gets content from given source and writes it to DataStorageInterface * to store them. This method will be called by run() * /*from w w w . j a va2s. c om*/ * @param resourceName the URL to the source data to be retrieved */ protected boolean getContentFromSource(String resourceName) { boolean successFlag = false; QualityCheck onlineURLsQualityCheck = null; boolean onlineURLsException = false; // used to determine status of onlineURLs quality check if (resourceName != null) { resourceName = resourceName.trim(); } if (resourceName != null && (resourceName.startsWith("http://") || resourceName.startsWith("https://") || resourceName.startsWith("file://") || resourceName.startsWith("ftp://"))) { // get the data from a URL int responseCode = 0; String responseMessage = null; try { URL url = new URL(resourceName); boolean isFTP = false; if (entity != null) { String contentType = null; // Find the right MIME type and set it as content type if (resourceName.startsWith("http")) { HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("HEAD"); httpURLConnection.connect(); contentType = httpURLConnection.getContentType(); responseCode = httpURLConnection.getResponseCode(); responseMessage = httpURLConnection.getResponseMessage(); } else if (resourceName.startsWith("file")) { URLConnection urlConnection = url.openConnection(); urlConnection.connect(); contentType = urlConnection.getContentType(); } else { // FTP isFTP = true; contentType = "application/octet-stream"; } entity.setUrlContentType(contentType); } if (!isFTP) { // HTTP(S) or FILE InputStream filestream = url.openStream(); try { successFlag = this.writeRemoteInputStreamIntoDataStorage(filestream); } catch (IOException e) { exception = e; String errorMessage = e.getMessage(); if (errorMessage.startsWith(ONLINE_URLS_EXCEPTION_MESSAGE)) { onlineURLsException = true; } } finally { filestream.close(); } } else { // FTP String[] urlParts = resourceName.split("/"); String address = urlParts[2]; String dir = "/"; for (int i = 3; i < urlParts.length - 1; i++) { dir += urlParts[i] + "/"; } String fileName = urlParts[urlParts.length - 1]; FTPClient ftpClient = new FTPClient(); ftpClient.connect(address); ftpClient.login(ANONYMOUS, anonymousFtpPasswd); ftpClient.changeWorkingDirectory(dir); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); ftpClient.enterLocalPassiveMode(); // necessary to avoid firewall blocking InputStream filestream = ftpClient.retrieveFileStream(fileName); try { successFlag = this.writeRemoteInputStreamIntoDataStorage(filestream); } catch (IOException e) { exception = e; String errorMessage = e.getMessage(); if (errorMessage.startsWith(ONLINE_URLS_EXCEPTION_MESSAGE)) { onlineURLsException = true; } } finally { try { filestream.close(); } catch (IOException e) { exception = new DataSourceNotFoundException(String .format("Error closing local file '%s': %s", resourceName, e.getMessage())); onlineURLsException = true; } } // logout and disconnect if FTP session if (resourceName.startsWith("ftp") && ftpClient != null) { try { ftpClient.enterLocalActiveMode(); ftpClient.logout(); ftpClient.disconnect(); } catch (IOException e) { exception = new DataSourceNotFoundException( String.format("Error disconnecting from FTP with resource '%s': %s", resourceName, e.getMessage())); onlineURLsException = true; } } } } catch (MalformedURLException e) { String eClassName = e.getClass().getName(); String eMessage = String.format("%s: %s", eClassName, e.getMessage()); exception = new DataSourceNotFoundException( String.format("The URL '%s' is a malformed URL: %s", resourceName, eMessage)); } catch (IOException e) { String eClassName = e.getClass().getName(); String eMessage = String.format("%s: %s", eClassName, e.getMessage()); if (responseCode > 0) { eMessage = String.format("Response Code: %d %s; %s", responseCode, responseMessage, eMessage); } exception = new DataSourceNotFoundException( String.format("The URL '%s' is not reachable: %s", resourceName, eMessage)); } // Initialize the "Online URLs are live" quality check String qualityCheckIdentifier = "onlineURLs"; QualityCheck qualityCheckTemplate = QualityReport.getQualityCheckTemplate(qualityCheckIdentifier); onlineURLsQualityCheck = new QualityCheck(qualityCheckIdentifier, qualityCheckTemplate); if (QualityCheck.shouldRunQualityCheck(entity, onlineURLsQualityCheck)) { String resourceNameEscaped = embedInCDATA(resourceName); if (!onlineURLsException) { onlineURLsQualityCheck.setStatus(Status.valid); onlineURLsQualityCheck.setFound("true"); onlineURLsQualityCheck.setExplanation("Succeeded in accessing URL: " + resourceNameEscaped); } else { onlineURLsQualityCheck.setFailedStatus(); onlineURLsQualityCheck.setFound("false"); String explanation = "Failed to access URL: " + resourceNameEscaped; explanation = explanation + "; " + embedInCDATA(exception.getMessage()); onlineURLsQualityCheck.setExplanation(explanation); } entity.addQualityCheck(onlineURLsQualityCheck); } return successFlag; } else if (resourceName != null && resourceName.startsWith("ecogrid://")) { // get the docid from url int start = resourceName.indexOf("/", 11) + 1; //log.debug("start: " + start); int end = resourceName.indexOf("/", start); if (end == -1) { end = resourceName.length(); } //log.debug("end: " + end); String ecogridIdentifier = resourceName.substring(start, end); // pass this docid and get data item //System.out.println("the endpoint is "+ECOGRIDENDPOINT); //System.out.println("The identifier is "+ecogridIdentifier); //return false; return getContentFromEcoGridSource(ecogridEndPoint, ecogridIdentifier); } else if (resourceName != null && resourceName.startsWith("srb://")) { // get srb docid from the url String srbIdentifier = transformSRBurlToDocid(resourceName); // reset endpoint for srb (This is hack we need to figure ou // elegent way to do this //mEndPoint = Config.getValue("//ecogridService/srb/endPoint"); // pass this docid and get data item //log.debug("before get srb data"); return getContentFromEcoGridSource(SRBENDPOINT, srbIdentifier); } else { successFlag = false; return successFlag; } }
From source file:org.eftp.ftpserver.st.FTPServerWrapperIT.java
@Before public void init() { this.client = new FTPClient(); }
From source file:org.ensembl.gti.seqstore.database.cramstore.EnaCramUploader.java
public EnaCramUploader(String ftpUri, String user, String password) { this.ftpUri = ftpUri; this.user = user; this.password = password; ftpClient = new FTPClient(); }
From source file:org.fabric3.binding.ftp.runtime.FtpTargetInterceptor.java
public Message invoke(Message msg) { FTPClient ftpClient = new FTPClient(); ftpClient.setSocketFactory(factory); try {// w ww .j a v a2 s .c om if (timeout > 0) { ftpClient.setDefaultTimeout(timeout); ftpClient.setDataTimeout(timeout); } monitor.onConnect(hostAddress, port); ftpClient.connect(hostAddress, port); monitor.onResponse(ftpClient.getReplyString()); String type = msg.getWorkContext().getHeader(String.class, FtpConstants.HEADER_CONTENT_TYPE); if (type != null && type.equalsIgnoreCase(FtpConstants.BINARY_TYPE)) { monitor.onCommand("TYPE I"); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); monitor.onResponse(ftpClient.getReplyString()); } else if (type != null && type.equalsIgnoreCase(FtpConstants.TEXT_TYPE)) { monitor.onCommand("TYPE A"); ftpClient.setFileType(FTP.ASCII_FILE_TYPE); monitor.onResponse(ftpClient.getReplyString()); } /*if (!ftpClient.login(security.getUser(), security.getPassword())) { throw new ServiceUnavailableException("Invalid credentials"); }*/ // TODO Fix above monitor.onAuthenticate(); ftpClient.login(security.getUser(), security.getPassword()); monitor.onResponse(ftpClient.getReplyString()); Object[] args = (Object[]) msg.getBody(); String fileName = (String) args[0]; String remoteFileLocation = fileName; InputStream data = (InputStream) args[1]; if (active) { monitor.onCommand("ACTV"); ftpClient.enterLocalActiveMode(); monitor.onResponse(ftpClient.getReplyString()); } else { monitor.onCommand("PASV"); ftpClient.enterLocalPassiveMode(); monitor.onResponse(ftpClient.getReplyString()); } if (commands != null) { for (String command : commands) { monitor.onCommand(command); ftpClient.sendCommand(command); monitor.onResponse(ftpClient.getReplyString()); } } if (remotePath != null && remotePath.length() > 0) { remoteFileLocation = remotePath.endsWith("/") ? remotePath + fileName : remotePath + "/" + fileName; } String remoteTmpFileLocation = remoteFileLocation; if (tmpFileSuffix != null && tmpFileSuffix.length() > 0) { remoteTmpFileLocation += tmpFileSuffix; } monitor.onCommand("STOR " + remoteFileLocation); if (!ftpClient.storeFile(remoteTmpFileLocation, data)) { throw new ServiceUnavailableException("Unable to upload data. Response sent from server: " + ftpClient.getReplyString() + " ,remoteFileLocation:" + remoteFileLocation); } monitor.onResponse(ftpClient.getReplyString()); //Rename file back to original name if temporary file suffix was used while transmission. if (!remoteTmpFileLocation.equals(remoteFileLocation)) { ftpClient.rename(remoteTmpFileLocation, remoteFileLocation); } } catch (IOException e) { throw new ServiceUnavailableException(e); } // reset the message to return an empty response msg.reset(); return msg; }
From source file:org.fabric3.transport.ftp.server.host.F3FtpHostTest.java
public void testValidLogin() throws IOException { FTPClient ftpClient = new FTPClient(); ftpClient.connect(InetAddress.getLocalHost(), 1234); ftpClient.user("user"); assertEquals(230, ftpClient.pass("password")); }