List of usage examples for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY
IOFileFilter DIRECTORY
To view the source code for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY.
Click Source Link
From source file:org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.java
private void backupRootFolder(String folderName, IOFileFilter fileFilter) throws IOException { final File srcDirectory = new File(hudsonHome.getAbsolutePath(), folderName); if (srcDirectory.exists() && srcDirectory.isDirectory()) { LOGGER.fine(String.format("Backing up %s...", folderName)); final File destDirectory = new File(backupDirectory.getAbsolutePath(), folderName); IOFileFilter filter = FileFilterUtils.and(fileFilter, getFileAgeDiffFilter(), getExcludedFilesFilter()); filter = FileFilterUtils.or(filter, DirectoryFileFilter.DIRECTORY); FileUtils.copyDirectory(srcDirectory, destDirectory, filter); LOGGER.fine(String.format("DONE backing up %s.", folderName)); }/*from ww w.jav a 2 s .c o m*/ }
From source file:org.jvnet.hudson.plugins.thinbackup.restore.HudsonRestore.java
private boolean restoreFromDirectories(final String parentDirectory) throws IOException { boolean success = false; IOFileFilter suffixFilter = FileFilterUtils.and( FileFilterUtils.suffixFileFilter(Utils.DIRECTORY_NAME_DATE_FORMAT.format(restoreFromDate)), DirectoryFileFilter.DIRECTORY); final File[] candidates = new File(parentDirectory).listFiles((FileFilter) suffixFilter); if (candidates.length > 1) { LOGGER.severe(String.format( "More than one backup with date '%s' found. This is not allowed. Aborting restore.", Utils.DISPLAY_DATE_FORMAT.format(restoreFromDate))); } else if (candidates.length == 1) { final File toRestore = candidates[0]; if (toRestore.getName().startsWith(BackupType.DIFF.toString())) { final File referencedFullBackup = Utils.getReferencedFullBackup(toRestore); restore(referencedFullBackup); }/* ww w. jav a 2s . c o m*/ restore(toRestore); success = true; } else { LOGGER.info(String.format( "No backup directories with date '%s' found. Will try to find a backup in ZIP files next...", Utils.DISPLAY_DATE_FORMAT.format(restoreFromDate))); } return success; }
From source file:org.jvnet.hudson.plugins.thinbackup.utils.Utils.java
/** * @param parentDir root directory of all backups * @param backupType type of backup/* w w w. j ava 2 s . c om*/ * @return an unordered list of backup directories of the given backup type. */ public static List<File> getBackupTypeDirectories(final File parentDir, final BackupType backupType) { IOFileFilter prefixFilter = FileFilterUtils.and(FileFilterUtils.prefixFileFilter(backupType.toString()), DirectoryFileFilter.DIRECTORY); final File[] existingDirs = parentDir.listFiles((FilenameFilter) prefixFilter); if (existingDirs == null) { return Collections.emptyList(); } return Arrays.asList(existingDirs); }
From source file:org.kawanfw.file.api.client.FileSession.java
/** * get the list of files or directories in a directory * /*w ww. j av a2 s.c o m*/ * @param pathname * the directory pathname to list * @param type * the type of File list to return: LIST_FILES_ONLY or * LIST_DIRECTORIES_ONLY * @return the files or directories list * * @throws InvalidLoginException */ private List<String> listFilesOrDirectories(String pathname, int type) throws InvalidLoginException { pathname = PathUtil.rewriteToUnixSyntax(pathname); RemoteFile theRemoteFile = new RemoteFile(remoteSession, pathname); FileFilter fileFilter = null; if (type == LIST_FILES_ONLY) { fileFilter = FileFileFilter.FILE; } else if (type == LIST_DIRECTORIES_ONLY) { fileFilter = DirectoryFileFilter.DIRECTORY; } else { throw new IllegalArgumentException(Tag.PRODUCT_PRODUCT_FAIL + " Invalid type. Msust be LIST_FILES_ONLY or LIST_DIRECTORIES_ONLY. Is: " + type); } RemoteFile[] remoteFiles = theRemoteFile.listFiles(fileFilter); if (remoteFiles == null) { return null; } List<String> filenameList = new ArrayList<String>(); for (RemoteFile remoteFileItem : remoteFiles) { filenameList.add(remoteFileItem.getName()); } return filenameList; }
From source file:org.kawanfw.file.test.api.client.nio.DeleteAllNio.java
/** * @param remoteSession/*from w w w .j a v a 2 s .c om*/ * the Awake FILE Session * * @throws IllegalArgumentException * @throws InvalidLoginException * @throws FileNotFoundException * @throws UnknownHostException * @throws ConnectException * @throws InterruptedException * @throws RemoteException * @throws IOException */ public void test(RemoteSession remoteSession) throws IllegalArgumentException, InvalidLoginException, FileNotFoundException, UnknownHostException, ConnectException, InterruptedException, RemoteException, IOException { // Create a remote directory; MessageDisplayer.display(""); System.out .println("Deleting remote files list in /" + TestParms.MYDIR1 + " with RemoteFiles.listFiles()..."); FileFilter fileFilter = DirectoryFileFilter.DIRECTORY; RemoteFile[] remoteFileArray = new RemoteFile(remoteSession, "/" + TestParms.MYDIR1).listFiles(fileFilter); if (remoteFileArray != null) { for (RemoteFile remoteFile : remoteFileArray) { remoteFile.delete(); MessageDisplayer.display(remoteFile + " deleted."); } } MessageDisplayer.display(""); System.out .println("Deleting remote files list in /" + TestParms.MYDIR3 + " with RemoteFiles.listFiles()..."); fileFilter = DirectoryFileFilter.DIRECTORY; remoteFileArray = new RemoteFile(remoteSession, "/" + TestParms.MYDIR3).listFiles(fileFilter); if (remoteFileArray != null) { for (RemoteFile remoteFile : remoteFileArray) { remoteFile.delete(); MessageDisplayer.display(remoteFile + " deleted."); } } boolean deleted = new RemoteFile(remoteSession, "/" + TestParms.MYDIR1).delete(); boolean deleted3 = new RemoteFile(remoteSession, "/" + TestParms.MYDIR3).delete(); if (deleted) { MessageDisplayer.display(TestParms.MYDIR1 + " deleted : " + deleted); } if (deleted3) { MessageDisplayer.display(TestParms.MYDIR3 + " deleted : " + deleted); } }
From source file:org.kawanfw.file.test.api.client.nio.MkdirsRemoteNio.java
/** * /*w ww . j av a2 s .c o m*/ * @param remoteSession the Awake FILE Session * * @throws IllegalArgumentException * @throws InvalidLoginException * @throws UnknownHostException * @throws ConnectException * @throws RemoteException * @throws IOException */ public void test(RemoteSession remoteSession) throws IllegalArgumentException, InvalidLoginException, UnknownHostException, ConnectException, RemoteException, IOException { // Create a remote directory MessageDisplayer.display(""); MessageDisplayer.display("creating 3 remote directories with RemoteFile.mkdirs()..."); new RemoteFile(remoteSession, "/" + TestParms.MYDIR1).mkdirs(); new RemoteFile(remoteSession, "/" + TestParms.MYDIR2).mkdirs(); new RemoteFile(remoteSession, "/" + TestParms.MYDIR3).mkdirs(); new RemoteFile(remoteSession, "/" + TestParms.MYDIR4).mkdirs(); // TestReload if the directory really exists MessageDisplayer.display( "Testing remote directories list with RemoteFile.listFiles(DirectoryFileFilter.DIRECTOR()..."); FileFilter fileFilter = DirectoryFileFilter.DIRECTORY; RemoteFile[] remoteFileArray = new RemoteFile(remoteSession, "/").listFiles(fileFilter); List<String> directories = new ArrayList<String>(); for (RemoteFile remoteFile : remoteFileArray) { if (remoteFile.toString().contains(TestParms.MYDIR1)) directories.add(remoteFile.getName()); if (remoteFile.toString().contains(TestParms.MYDIR2)) directories.add(remoteFile.getName()); if (remoteFile.toString().contains(TestParms.MYDIR3)) directories.add(remoteFile.getName()); if (remoteFile.toString().contains(TestParms.MYDIR4)) directories.add(remoteFile.getName()); } Assert.assertTrue("directories contains " + TestParms.MYDIR1, directories.contains(TestParms.MYDIR1)); Assert.assertTrue("directories contains " + TestParms.MYDIR2, directories.contains(TestParms.MYDIR2)); Assert.assertTrue("directories contains " + TestParms.MYDIR3, directories.contains(TestParms.MYDIR3)); Assert.assertTrue("directories contains " + TestParms.MYDIR4, directories.contains(TestParms.MYDIR4)); MessageDisplayer.display("Remote directories: " + directories); MessageDisplayer.display(""); // Try to delete the directory MessageDisplayer.display("Testing remote directory delete with deleteRemoteFile()..."); new RemoteFile(remoteSession, "/" + TestParms.MYDIR2).delete(); fileFilter = DirectoryFileFilter.DIRECTORY; remoteFileArray = new RemoteFile(remoteSession, "/").listFiles(fileFilter); //Assert.assertEquals("2 directories exists now", directories.size(), 2); Assert.assertTrue("directory exists " + TestParms.MYDIR1, new RemoteFile(remoteSession, "/" + TestParms.MYDIR1).exists()); Assert.assertFalse("directory doe NOT exists " + TestParms.MYDIR2, new RemoteFile(remoteSession, "/" + TestParms.MYDIR2).exists()); Assert.assertTrue("directory exists " + TestParms.MYDIR3, new RemoteFile(remoteSession, "/" + TestParms.MYDIR3).exists()); MessageDisplayer.display(TestParms.MYDIR2 + " deleted!"); for (RemoteFile remoteFile : remoteFileArray) { MessageDisplayer.display("Remote directory: " + remoteFile); if (remoteFile.toString().contains("//AVG")) { Assert.assertTrue("is directory ", remoteFile.isDirectory()); } } }
From source file:org.kawanfw.file.test.run.filter.BuiltInFilterTest.java
/** * @throws MalformedURLException// w ww .j ava 2 s . co m * @throws UnknownHostException * @throws ConnectException * @throws SocketException * @throws InvalidLoginException * @throws RemoteException * @throws IOException * @throws SecurityException */ public void doIt(RemoteSession remoteSession) throws MalformedURLException, UnknownHostException, ConnectException, SocketException, InvalidLoginException, RemoteException, IOException, SecurityException { RemoteFile file = new RemoteFile(remoteSession, "/"); // List all text files in out root directory // using an Apache Commons FileFiter AndFileFilter andFileFilter = new AndFileFilter(); andFileFilter.addFileFilter(new SuffixFileFilter(".txt")); RemoteFile[] files = file.listFiles((FileFilter) andFileFilter); for (RemoteFile remoteFile : files) { MessageDisplayer.display("Remote text file: " + remoteFile); } MessageDisplayer.display(); MessageDisplayer.display("file.listFiles( new SuffixFileFilter(\".txt\") " + file); MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { Assert.assertTrue("file is file", files[i].isFile()); Assert.assertTrue("file is a text file", files[i].toString().endsWith(".txt")); MessageDisplayer.display(files[i]); } FileFilter fileFilter = FileFileFilter.FILE; files = file.listFiles(fileFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(FileFileFilter.FILE) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); Assert.assertTrue("file is non-directory", files[i].isFile()); } } fileFilter = DirectoryFileFilter.DIRECTORY; files = file.listFiles(fileFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(DirectoryFileFilter.DIRECTORY) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { Assert.assertTrue("file is directory", files[i].isDirectory()); MessageDisplayer.display(files[i]); } } MessageDisplayer.display(); // Force huge filter test andFileFilter = new AndFileFilter(); int cpt = 0; while (cpt < 500) { cpt++; andFileFilter.addFileFilter(new SuffixFileFilter(".txt")); } String serialFilterBase64 = new ClassSerializer<FileFilter>().toBase64(andFileFilter); System.out.println("serialFilterBase64 size: " + (serialFilterBase64.length() / 1024) + " Kb."); files = file.listFiles((FileFilter) andFileFilter); for (RemoteFile remoteFile : files) { MessageDisplayer.display("Remote text file with huge FileFilter: " + remoteFile); } MessageDisplayer.display(); MessageDisplayer.display("file.listFiles( new SuffixFileFilter(\".txt\") " + file); MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { Assert.assertTrue("file is file", files[i].isFile()); Assert.assertTrue("file is a text file", files[i].toString().endsWith(".txt")); MessageDisplayer.display(files[i]); } MessageDisplayer.display(); System.out.println("serialFilterBase64 size: " + (serialFilterBase64.length() / 1024) + " Kb."); String[] filesStr = file.list((FilenameFilter) andFileFilter); for (String fileStr : filesStr) { MessageDisplayer.display("Remote text file with huge FilenameFilter: " + fileStr); } MessageDisplayer.display(); MessageDisplayer.display("file.list( new SuffixFileFilter(\".txt\") " + file); MessageDisplayer.display("String [] filesStr: " + filesStr.length); for (int i = 0; i < filesStr.length; i++) { Assert.assertTrue("file is a text file", filesStr[i].endsWith(".txt")); MessageDisplayer.display(filesStr[i]); } }
From source file:org.kawanfw.file.test.run.remotefiles.RemoteFileTest.java
/** * TestReload the methods that apply to directories only * @throws IOException /*from w w w .j av a 2s .c om*/ * @throws ClassNotFoundException * * @throws Exception */ public void testListMethods() throws IOException, ClassNotFoundException { MessageDisplayer.display(""); String[] filenames = file.list(); MessageDisplayer.display(); MessageDisplayer.display("file.list() " + file); if (filenames == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("filenames.length: " + filenames.length); for (int i = 0; i < filenames.length; i++) { MessageDisplayer.display(filenames[i]); } } RemoteFile[] files = file.listFiles(); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles() " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } FilenameFilter filenameFilter = DirectoryFileFilter.DIRECTORY; filenames = file.list(filenameFilter); MessageDisplayer.display(); MessageDisplayer.display("file.list(DirectoryFileFilter.DIRECTORY) " + file); if (filenames == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("filenames.length: " + filenames.length); for (int i = 0; i < filenames.length; i++) { MessageDisplayer.display(filenames[i]); } } FileFilter fileFilter = FileFileFilter.FILE; files = file.listFiles(fileFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(FileFileFilter.FILE) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } fileFilter = DirectoryFileFilter.DIRECTORY; files = file.listFiles(fileFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(DirectoryFileFilter.DIRECTORY) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } filenameFilter = DirectoryFileFilter.DIRECTORY; files = file.listFiles(filenameFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(filenameFilter) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } boolean bypass = true; if (bypass) { System.err.println("WARNING: tests on remote file filters are bypassed!"); return; } FilenameFilter theFilenameFilter = new TheFilenameFilter(); FileFilter theFileFilter = new TheFileFilter(); filenames = file.list(theFilenameFilter); MessageDisplayer.display(); MessageDisplayer.display("file.list(theFilenameFilter) " + file); if (filenames == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("filenames.length: " + filenames.length); for (int i = 0; i < filenames.length; i++) { MessageDisplayer.display(filenames[i]); } } files = file.listFiles(theFilenameFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(theFilenameFilter) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } files = file.listFiles(theFileFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(theFileFilter) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } MyFileFilter myFileFilter = new MyFileFilter(); files = file.listFiles(myFileFilter); MessageDisplayer.display(); MessageDisplayer.display("file.listFiles(MyFileFilter) " + file); if (files == null) { MessageDisplayer.display("remote directory is empty: " + file); } else { MessageDisplayer.display("RemoteFile [] files.length: " + files.length); for (int i = 0; i < files.length; i++) { MessageDisplayer.display(files[i]); } } }
From source file:org.kie.guvnor.m2repo.backend.server.GuvnorM2Repository.java
/** * Finds files within the repository with the given filters. * * @param filters filter to apply when finding files. The filter is used to create a wildcard matcher, ie., "*fileter*.*", in which "*" is * to represent a multiple wildcard characters. * @return an collection of java.io.File with the matching files *///ww w . j a v a2 s . c o m public Collection<File> listFiles(String filters) { String wildcard = "*.jar"; if (filters != null) { wildcard = "*" + filters + "*.jar"; } Collection<File> files = FileUtils.listFiles(new File(M2_REPO_ROOT), new WildcardFileFilter(wildcard, IOCase.INSENSITIVE), DirectoryFileFilter.DIRECTORY); return files; }
From source file:org.lamport.tla.toolbox.tool.tlc.model.Model.java
public Model snapshot() throws CoreException { // Create a copy of the underlying launch configuration. final Model snapshot = copy(getName() + SNAP_SHOT + System.currentTimeMillis()); // Snapshot the model's markers as well (e.g. the information about errors, see hasErrors()). final IMarker[] markers = getMarkers(); for (IMarker iMarker : markers) { snapshot.setMarker(iMarker.getAttributes(), iMarker.getType()); }/* w w w.j av a 2 s. c o m*/ // Set the snapshot to be locked? Do we want the user to be able to run it again? // snapshot.setLocked(true); /* * Snapshot (copy) the model folder which include the TLC output as well as the version * of the spec and module overwrites with which TLC ran. */ final IPath snapshotPath = getSpec().getProject().getFolder(snapshot.getName()).getLocation(); final IPath modelFolder = getSpec().getProject().getFolder(this.getName()).getLocation(); // Use non-Eclipse API instead of modelFolder.copy(snapshotFolder, false, // monitor which supports a non-recursive copy. A recursive copy includes the // states/ directory leftover from TLC which waste quite some space and might // take some time to copy. try { FileUtils.copyDirectory(modelFolder.toFile(), snapshotPath.toFile(), new NotFileFilter(DirectoryFileFilter.DIRECTORY)); // Rename .dot file name because hasStateGraphDump checks if a .dot file exists // that matches the name of the model. if (hasStateGraphDump()) { final IPath oldDotFile = getSpec().getProject() .getFolder(snapshot.getName() + File.separator + this.getName() + ".dot").getLocation(); final IPath newDotFile = getSpec().getProject() .getFolder(snapshot.getName() + File.separator + snapshot.getName() + ".dot").getLocation(); FileUtils.moveFile(oldDotFile.toFile(), newDotFile.toFile()); } // Now that we've had a successful save, prune any snapshots, starting with the oldest, in order to assure the // cardinality no greater than snapshotKeepCount. pruneOldestSnapshots(); // Refresh the snapshot folder after having copied files without using the // Eclipse resource API. Otherwise, the resource API does not see the files // which e.g. results in an incomplete model deletion or hasStateGraphDump // incorrectly returning false. snapshot.getFolder().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } catch (IOException e) { throw new CoreException(new Status(Status.ERROR, TLCActivator.PLUGIN_ID, e.getMessage(), e)); } return snapshot; }