List of usage examples for org.apache.commons.net.ftp FTPFile getTimestamp
public Calendar getTimestamp()
From source file:ch.cyberduck.core.ftp.parser.RumpusFTPEntryParserTest.java
@Test public void testParse() throws Exception { FTPFile parsed; parsed = parser.parseFTPEntry("drwxr-xr-x folder 0 Oct 18 13:02 Akrilik"); assertNotNull(parsed);// ww w.j a v a 2 s . c o m assertEquals("Akrilik", parsed.getName()); assertEquals(FTPFile.DIRECTORY_TYPE, parsed.getType()); assertEquals(Calendar.OCTOBER, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(18, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.WRITE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION)); parsed = parser.parseFTPEntry("drwxrwxrwx folder 0 Oct 11 14:53 Uploads"); assertNotNull(parsed); assertEquals("Uploads", parsed.getName()); assertEquals(FTPFile.DIRECTORY_TYPE, parsed.getType()); assertEquals(Calendar.OCTOBER, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(11, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.WRITE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.WRITE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION)); parsed = parser.parseFTPEntry("-rw-r--r-- 0 589878 589878 Oct 15 13:03 WebDAV SS.bmp"); assertNotNull(parsed); assertEquals("WebDAV SS.bmp", parsed.getName()); assertEquals(FTPFile.FILE_TYPE, parsed.getType()); assertEquals(Calendar.OCTOBER, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(15, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION)); }
From source file:com.naryx.tagfusion.cfm.tag.net.ftp.FtpList.java
public cfData execute(cfSession _session, cfArgStructData argStruct) throws cfmRunTimeException { cfFTPData ftpdata = getFTPData(_session, argStruct); boolean soe = getNamedBooleanParam(argStruct, "stoponerror", true); boolean passive = getNamedBooleanParam(argStruct, "passive", false); String directory = getNamedStringParam(argStruct, "directory", "/"); if (!directory.endsWith("/")) directory += "/"; // Perform the directory listing FTPFile[] files;//from ww w. ja v a 2 s . c om try { ftpdata.lock(); ftpdata.setPassive(passive); files = ftpdata.listFiles(directory); if (soe && !ftpdata.isSucceeded()) throwException(_session, ftpdata.getErrorText()); } finally { ftpdata.unlock(); } // Returning a query cfQueryResultData queryFile = new cfQueryResultData(new String[] { "name", "path", "url", "length", "lastmodified", "attributes", "isdirectory", "mode" }, "CFFTP"); if (!ftpdata.isSucceeded() || files.length == 0) return queryFile; // Fill out the query if (!directory.startsWith("/")) directory = "/" + directory; List<Map<String, cfData>> resultQuery = new ArrayList<Map<String, cfData>>(files.length); for (FTPFile ftpfile : files) { Map<String, cfData> HM = new FastMap<String, cfData>(); HM.put("name", new cfStringData(ftpfile.getName())); HM.put("length", new cfNumberData(ftpfile.getSize())); HM.put("lastmodified", new cfDateData(ftpfile.getTimestamp().getTime().getTime())); HM.put("isdirectory", cfBooleanData.getcfBooleanData(ftpfile.isDirectory())); HM.put("path", new cfStringData(directory + ftpfile.getName())); HM.put("url", new cfStringData("ftp://" + ftpdata.getServer() + directory + ftpfile.getName())); HM.put("attributes", new cfStringData(ftpfile.isDirectory() ? "Directory" : "Normal")); String mode = getMode(ftpfile, FTPFile.USER_ACCESS); mode += getMode(ftpfile, FTPFile.GROUP_ACCESS); mode += getMode(ftpfile, FTPFile.WORLD_ACCESS); HM.put("mode", new cfStringData(mode)); resultQuery.add(HM); } queryFile.populateQuery(resultQuery); return queryFile; }
From source file:com.unispezi.cpanelremotebackup.CPanelRemoteBackup.java
/** * Looks for the youngest backup which is on the server * * @param fileNamePattern pattern to recognize backups * @return file name of youngest backup file *//*ww w. ja v a 2 s.co m*/ private String findYoungestBackup(Pattern fileNamePattern) { List<FTPFile> files = ftp.listFilesInDirectory("/"); FTPFile youngest = null; for (FTPFile file : files) { if (fileNamePattern.matcher(file.getName()).matches()) { if ((youngest == null) || (youngest.getTimestamp().before(file.getTimestamp()))) { youngest = file; } } } if (youngest != null) { return youngest.getName(); } else { return null; } }
From source file:ch.cyberduck.core.ftp.parser.NetwareFTPEntryParserTest.java
/** * #1996// w w w. j av a 2 s . c o m */ @Test public void testDateYearParser() { FTPFile parsed; parsed = parser.parseFTPEntry("- [RWCEAFMS] wtubbs 24038 May 05 17:57 CIMSscheduler_log_May02_4.txt"); assertNotNull(parsed); assertEquals(parsed.getName(), "CIMSscheduler_log_May02_4.txt"); assertEquals(FTPFile.FILE_TYPE, parsed.getType()); assertEquals("wtubbs", parsed.getUser()); assertEquals(24038, parsed.getSize()); assertEquals(Calendar.MAY, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(5, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); parsed = parser.parseFTPEntry("- [RWCEAFMS] wtubbs 9965 May 01 18:15 CIMSscheduler_log_May01.txt"); assertNotNull(parsed); assertEquals(parsed.getName(), "CIMSscheduler_log_May01.txt"); assertEquals(FTPFile.FILE_TYPE, parsed.getType()); assertEquals("wtubbs", parsed.getUser()); assertEquals(9965, parsed.getSize()); assertEquals(Calendar.MAY, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(1, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); }
From source file:at.beris.virtualfile.client.ftp.FtpFileTranslator.java
public static void fillModel(FileModel model, FTPFile ftpFile, FtpClient client) throws IOException { String physicalRootPath = client.getPhysicalRootPath(); String parentPath = model.getParent() != null ? model.getParent().getUrl().getPath() : ""; if (!"".equals(physicalRootPath)) { if (parentPath.length() >= physicalRootPath.length() && parentPath.substring(0, physicalRootPath.length()).equals(physicalRootPath)) parentPath = "/" + parentPath.substring(physicalRootPath.length()); }//from w ww. j av a 2 s .co m if (ftpFile.isSymbolicLink()) { String linkPath = ftpFile.getLink() + (ftpFile.getLink().endsWith("/") ? "" : "/"); if (!"".equals(physicalRootPath)) { if (linkPath.length() >= physicalRootPath.length() && linkPath.substring(0, physicalRootPath.length()).equals(physicalRootPath)) linkPath = "/" + linkPath.substring(physicalRootPath.length()); } String filePath = parentPath + linkPath; URL linkTargetUrl = UrlUtils .normalizeUrl(UrlUtils.newUrlReplacePath(model.getParent().getUrl(), filePath)); model.setLinkTarget(linkTargetUrl); } model.setFileExists(true); model.setSize(ftpFile.getSize()); model.setCreationTime(null); model.setLastModifiedTime(FileTime.fromMillis(ftpFile.getTimestamp().getTime().getTime())); model.setLastAccessTime(null); model.setAttributes(createAttributes(ftpFile)); model.setOwner(new UnixUserPrincipal(ftpFile.getUser(), ftpFile.getGroup())); model.setGroup(new UnixGroupPrincipal(ftpFile.getGroup())); model.setDirectory(ftpFile.isDirectory()); model.setSymbolicLink(ftpFile.isSymbolicLink()); }
From source file:ch.cyberduck.core.ftp.parser.HPTru64ParserTest.java
/** * http://trac.cyberduck.ch/ticket/2246/*from w ww . ja va2 s.c om*/ */ @Test public void testParse() throws Exception { FTPFile parsed; parsed = parser.parseFTPEntry("drwxr-xr-x 7 ToysPKG advertise 8192 Jun 24 11:58 Private Label Mock"); assertNotNull(parsed); assertEquals(parsed.getName(), "Private Label Mock"); assertEquals(FTPFile.DIRECTORY_TYPE, parsed.getType()); assertEquals("ToysPKG", parsed.getUser()); assertEquals("advertise", parsed.getGroup()); assertEquals(8192, parsed.getSize()); assertEquals(Calendar.JUNE, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(24, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); parsed = parser.parseFTPEntry( "-rw-r--r-- 1 ToysPKG advertise24809879 Jun 25 10:54 TRU-Warning Guide Master CD.sitx"); assertNull(parsed); }
From source file:ch.cyberduck.core.ftp.parser.UnixFTPEntryParserTest.java
@Test @Ignore/*from w w w .j av a2s.c om*/ public void testLeapYear() { FTPFileEntryParser parser = new FTPParserSelector().getParser("UNIX"); FTPFile parsed; parsed = parser.parseFTPEntry("drwxr--r-- 1 user group 0 Feb 29 18:14 Downloads"); assertNotNull(parsed); assertNotNull(parsed.getTimestamp()); }
From source file:com.dp2345.plugin.ftp.FtpPlugin.java
@Override public List<FileInfo> browser(String path) { List<FileInfo> fileInfos = new ArrayList<FileInfo>(); PluginConfig pluginConfig = getPluginConfig(); if (pluginConfig != null) { String host = pluginConfig.getAttribute("host"); Integer port = Integer.valueOf(pluginConfig.getAttribute("port")); String username = pluginConfig.getAttribute("username"); String password = pluginConfig.getAttribute("password"); String urlPrefix = pluginConfig.getAttribute("urlPrefix"); FTPClient ftpClient = new FTPClient(); try {//from w ww .j a va 2 s . co m ftpClient.connect(host, port); ftpClient.login(username, password); ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); ftpClient.enterLocalPassiveMode(); if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode()) && ftpClient.changeWorkingDirectory(path)) { for (FTPFile ftpFile : ftpClient.listFiles()) { FileInfo fileInfo = new FileInfo(); fileInfo.setName(ftpFile.getName()); fileInfo.setUrl(urlPrefix + path + ftpFile.getName()); fileInfo.setIsDirectory(ftpFile.isDirectory()); fileInfo.setSize(ftpFile.getSize()); fileInfo.setLastModified(ftpFile.getTimestamp().getTime()); fileInfos.add(fileInfo); } } } catch (IOException e) { e.printStackTrace(); } finally { if (ftpClient.isConnected()) { try { ftpClient.disconnect(); } catch (IOException e) { } } } } return fileInfos; }
From source file:com.hibo.bas.fileplugin.file.FtpPlugin.java
@Override public List<FileInfo> browser(String path) { List<FileInfo> fileInfos = new ArrayList<FileInfo>(); // PluginConfig pluginConfig = getPluginConfig(); // if (pluginConfig != null) { Map<String, String> ftpInfo = getFtpInfo("all"); String urlPrefix = DataConfig.getConfig("IMGFTPROOT"); FTPClient ftpClient = new FTPClient(); try {/*from ww w . ja v a2s . com*/ ftpClient.connect(ftpInfo.get("host"), 21); ftpClient.login(ftpInfo.get("username"), ftpInfo.get("password")); ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); ftpClient.enterLocalPassiveMode(); if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode()) && ftpClient.changeWorkingDirectory(path)) { for (FTPFile ftpFile : ftpClient.listFiles()) { FileInfo fileInfo = new FileInfo(); fileInfo.setName(ftpFile.getName()); fileInfo.setUrl(urlPrefix + path + ftpFile.getName()); fileInfo.setIsDirectory(ftpFile.isDirectory()); fileInfo.setSize(ftpFile.getSize()); fileInfo.setLastModified(ftpFile.getTimestamp().getTime()); fileInfos.add(fileInfo); } } } catch (IOException e) { e.printStackTrace(); } finally { if (ftpClient.isConnected()) { try { ftpClient.disconnect(); } catch (IOException e) { } } } // } return fileInfos; }
From source file:ch.cyberduck.core.ftp.parser.FreeboxFTPEntryParserTest.java
@Test public void testParse() { FTPFile parsed; parsed = parser.parseFTPEntry(/*from w w w . j a va2 s. c o m*/ "-rw-r--r-- 1 freebox freebox 2064965868 Apr 15 21:17 M6 - Capital 15-04-2007 21h37 1h40m.ts"); assertNotNull(parsed); assertEquals(parsed.getName(), "M6 - Capital 15-04-2007 21h37 1h40m.ts"); assertEquals(FTPFile.FILE_TYPE, parsed.getType()); assertEquals("freebox", parsed.getUser()); assertEquals("freebox", parsed.getGroup()); assertEquals(2064965868, parsed.getSize()); assertEquals(Calendar.APRIL, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(15, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); parsed = parser.parseFTPEntry( "-rw-r--r-- 1 freebox freebox 75906880 Sep 08 06:33 Direct 8 - Gym direct - 08-09-2007 08h30 1h08m.ts"); assertNotNull(parsed); assertEquals("Direct 8 - Gym direct - 08-09-2007 08h30 1h08m.ts", parsed.getName()); assertEquals(FTPFile.FILE_TYPE, parsed.getType()); assertEquals("freebox", parsed.getUser()); assertEquals("freebox", parsed.getGroup()); assertEquals(75906880, parsed.getSize()); assertEquals(Calendar.SEPTEMBER, parsed.getTimestamp().get(Calendar.MONTH)); assertEquals(8, parsed.getTimestamp().get(Calendar.DAY_OF_MONTH)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.READ_PERMISSION)); assertTrue(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.WRITE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.GROUP_ACCESS, FTPFile.EXECUTE_PERMISSION)); assertFalse(parsed.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION)); parsed = parser.parseFTPEntry( "-rw-r--r-- 1 freebox freebox 1171138668 May 19 17:20 France 3 national - 19-05-2007 18h15 1h05m.ts"); assertNotNull(parsed); assertEquals("France 3 national - 19-05-2007 18h15 1h05m.ts", parsed.getName()); }