List of usage examples for org.apache.commons.io.filefilter FileFilterUtils makeCVSAware
public static IOFileFilter makeCVSAware(IOFileFilter filter)
From source file:com.sangupta.keepwalking.MergeRepo.java
/** * @param args/*w w w.ja v a 2 s .co m*/ * @throws IOException */ public static void main(String[] args) throws IOException { if (args.length != 3) { usage(); return; } final String previousRepo = args[0]; final String newerRepo = args[1]; final String mergedRepo = args[2]; final File previous = new File(previousRepo); final File newer = new File(newerRepo); final File merged = new File(mergedRepo); if (!(previous.exists() && previous.isDirectory())) { System.out.println("The previous version does not exists or is not a directory."); return; } if (!(newer.exists() && newer.isDirectory())) { System.out.println("The newer version does not exists or is not a directory."); return; } final IOFileFilter directoryFilter = FileFilterUtils.makeCVSAware(FileFilterUtils.makeSVNAware(null)); final Collection<File> olderFiles = FileUtils.listFiles(previous, TrueFileFilter.TRUE, directoryFilter); final Collection<File> newerFiles = FileUtils.listFiles(newer, TrueFileFilter.TRUE, directoryFilter); // build a list of unique paths System.out.println("Reading files from older version..."); List<String> olderPaths = new ArrayList<String>(); for (File oldFile : olderFiles) { olderPaths.add(getRelativePath(oldFile, previous)); } System.out.println("Reading files from newer version..."); List<String> newerPaths = new ArrayList<String>(); for (File newerFile : newerFiles) { newerPaths.add(getRelativePath(newerFile, newer)); } // find which files have been removed from Perforce depot List<String> filesRemoved = new ArrayList<String>(olderPaths); filesRemoved.removeAll(newerPaths); System.out.println("Files removed in newer version: " + filesRemoved.size()); for (String removed : filesRemoved) { System.out.print(" "); System.out.println(removed); } // find which files have been added in Perforce depot List<String> filesAdded = new ArrayList<String>(newerPaths); filesAdded.removeAll(olderPaths); System.out.println("Files added in newer version: " + filesAdded.size()); for (String added : filesAdded) { System.out.print(" "); System.out.println(added); } // find which files are common // now check if they have modified or not newerPaths.retainAll(olderPaths); List<String> modified = checkModifiedFiles(newerPaths, previous, newer); System.out.println("Files modified in newer version: " + modified.size()); for (String modify : modified) { System.out.print(" "); System.out.println(modify); } // clean any previous existence of merged repo System.out.println("Cleaning any previous merged repositories..."); if (merged.exists() && merged.isDirectory()) { FileUtils.deleteDirectory(merged); } System.out.println("Merging from newer to older repository..."); // copy the original SVN repo to merged FileUtils.copyDirectory(previous, merged); // now remove all files that need to be for (String removed : filesRemoved) { File toRemove = new File(merged, removed); toRemove.delete(); } // now add all files that are new in perforce for (String added : filesAdded) { File toAdd = new File(newer, added); File destination = new File(merged, added); FileUtils.copyFile(toAdd, destination); } // now over-write modified files for (String changed : modified) { File change = new File(newer, changed); File destination = new File(merged, changed); destination.delete(); FileUtils.copyFile(change, destination); } System.out.println("Done merging."); }
From source file:avantssar.aslanpp.testing.DiskSpecificationsProvider.java
public DiskSpecificationsProvider(String baseDirectory) { File base = new File(baseDirectory); if (!base.exists() || !base.isDirectory()) { throw new IllegalArgumentException( "Path '" + baseDirectory + "' cannot be accessed or does not point to a directory."); }//from w w w. jav a 2 s . c o m IOFileFilter filter = FileFilterUtils.suffixFileFilter(".aslan++"); IOFileFilter dirFilter = FileFilterUtils.makeCVSAware(FileFilterUtils.makeSVNAware(null)); Collection<File> specs = FileUtils.listFiles(base, filter, dirFilter); List<String> forSort = new ArrayList<String>(); SortedSet<String> forASLanPath = new TreeSet<String>(); for (File f : specs) { if (isSpec(f)) { forSort.add(f.getAbsolutePath()); forASLanPath.add(f.getParent()); } } Collections.sort(forSort); for (String s : forSort) { add(new DiskTestTask(new File(s))); } String temp = ""; for (String s : forASLanPath) { if (temp.length() > 0) { temp += File.pathSeparator; } temp += s; } aslanPath = temp; }
From source file:com.soebes.maven.plugins.iterator.AbstractIteratorMojo.java
public List<String> getFolders() throws MojoExecutionException { IOFileFilter folders = FileFilterUtils.and(HiddenFileFilter.VISIBLE, DirectoryFileFilter.DIRECTORY); IOFileFilter makeSVNAware = FileFilterUtils.makeSVNAware(folders); IOFileFilter makeCVSAware = FileFilterUtils.makeCVSAware(makeSVNAware); String[] list = folder.list(makeCVSAware); if (list == null) { throw new MojoExecutionException("The specified folder doesn't exist: " + folder); }/* w w w .java2s. com*/ List<File> listOfDirectories = new ArrayList<File>(); for (String item : list) { listOfDirectories.add(new File(folder, item)); } Collections.sort(listOfDirectories, convertSortOrder()); List<String> resultList = new ArrayList<String>(); for (File file : listOfDirectories) { resultList.add(file.getName()); } return resultList; }
From source file:com.jaxio.celerio.util.IOUtil.java
/** * Recurse in the folder to get the list all files and folders * <ul>/*w ww .j a v a2s . c om*/ * <li>do not recurse in svn folder</li> * <li>do not recurse in cvs folder</li> * <li>do not match .bak files</li> * <li>do not match .old files</li> * </ul> * * @param folder the folder to parse * @param ioFileFilter additionnal IOFilter */ @SuppressWarnings("unchecked") public Collection<String> listFiles(File folder, IOFileFilter ioFileFilter) { if (ioFileFilter == null) { ioFileFilter = FileFilterUtils.fileFileFilter(); } OrFileFilter oldFilesFilter = new OrFileFilter(); for (String exclude : DEFAULT_EXCLUDES_SUFFIXES) { oldFilesFilter.addFileFilter(FileFilterUtils.suffixFileFilter(exclude)); } IOFileFilter notOldFilesFilter = FileFilterUtils.notFileFilter(oldFilesFilter); Collection<File> files = FileUtils.listFiles(folder, FileFilterUtils.andFileFilter(ioFileFilter, notOldFilesFilter), FileFilterUtils.makeSVNAware(FileFilterUtils.makeCVSAware(null))); Collection<String> ret = newArrayList(); for (File file : files) { ret.add(file.getAbsolutePath()); } return ret; }
From source file:com.jaxio.celerio.util.IOUtil.java
/** * Recurse in the folder to get the list all files and folders of all non svn files * * @param folder the folder to parse/*from www . jav a 2s . com*/ */ @SuppressWarnings("unchecked") public Collection<String> listFolders(File folder) { IOFileFilter ioFileFilter = FileFilterUtils .makeSVNAware(FileFilterUtils.makeCVSAware(FileFilterUtils.trueFileFilter())); Collection<File> files = FileUtils.listFiles(folder, FileFilterUtils.fileFileFilter(), ioFileFilter); Set<String> ret = newTreeSet(); for (File file : files) { ret.add(file.getParentFile().getAbsolutePath()); } return ret; }
From source file:adalid.util.io.FileBrowser.java
private IOFileFilter dirFilter() { IOFileFilter makeCVSSVNAware = FileFilterUtils.makeCVSAware(FileFilterUtils.makeSVNAware(null)); IOFileFilter[] noes = new IOFileFilter[] { new RegexFileFilter(B + X + D + "git" + E), new RegexFileFilter(B + "build" + E), new RegexFileFilter(B + "dist" + E), new RegexFileFilter(B + "target" + E) }; IOFileFilter noesFileFilter = FileFilterUtils.notFileFilter(FileFilterUtils.or(noes)); IOFileFilter filter = FileFilterUtils.and(makeCVSSVNAware, noesFileFilter); return filter; }
From source file:adalid.util.meta.sql.MetaFolderSql.java
private IOFileFilter dirFilter() { IOFileFilter makeFileFilter = FileFilterUtils.makeCVSAware(FileFilterUtils.makeSVNAware(null)); IOFileFilter metaFileFilter = new RegexPathFilter( B + X + S + "velocity" + S + "templates" + S + "meta" + S + X + E); IOFileFilter mesaFileFilter = FileFilterUtils.notFileFilter(metaFileFilter); IOFileFilter[] noes = new IOFileFilter[] { new RegexFileFilter(B + "build" + E), new RegexFileFilter(B + "dist" + E), new RegexFileFilter(B + "private" + E), new RegexFileFilter(B + "test" + E) }; IOFileFilter noesFileFilter = FileFilterUtils.notFileFilter(FileFilterUtils.or(noes)); IOFileFilter filter = FileFilterUtils.and(makeFileFilter, mesaFileFilter, noesFileFilter); return filter; }
From source file:org.clickframes.testframes.TestPreparationUtil.java
/** * Use this advanced interface to only run tests approved by this filter * * @param appspec//w w w. j a v a 2s. c o m * @param filenameFilter * * @throws Exception * * @author Vineet Manohar */ @SuppressWarnings("unchecked") static void prepareAllTestSuites(final TestProfile testProfile, Techspec techspec, Appspec appspec, String filterName, final FileFilter fileFilter) throws Exception { File suiteSourceDirectory = new File( "src" + File.separator + "test" + File.separator + "selenium" + File.separator + "clickframes"); File suiteTargetDirectory = new File( "target" + File.separator + "clickframes" + File.separator + "selenium" + File.separator + ClickframeUtils.convertSlashToPathSeparator(filterName) + File.separator + "tests"); // copy selected tests from source to suite directory FileUtils.deleteDirectory(suiteTargetDirectory); suiteTargetDirectory.mkdirs(); // select for suites which match the given pattern IOFileFilter regexIOFilter = new IOFileFilter() { @Override public boolean accept(File file) { return fileFilter.accept(file); } @Override public boolean accept(File dir, String name) { return fileFilter.accept(new File(dir, name)); } }; Collection<File> filesFound; if (suiteSourceDirectory.exists() && suiteSourceDirectory.isDirectory()) { filesFound = FileUtils.listFiles(suiteSourceDirectory, regexIOFilter, FileFilterUtils.makeSVNAware(FileFilterUtils.makeCVSAware(TrueFileFilter.INSTANCE))); } else { filesFound = new ArrayList<File>(); } log.info(filesFound.size() + " files found for " + fileFilter + " => " + filesFound); Map<File, String> listOfFlattenedSuites = new LinkedHashMap<File, String>(); StepFilter profileStepFilter = new StepFilter() { @Override public SeleniumTestStep filter(SeleniumTestCase testCase, SeleniumTestStep testStep) { // if testCase name is "applicationInitialize.html", apply // substitution vars if (testCase.getFile().getName().equals("applicationInitialize.html")) { String target = testStep.getTarget(); // apply profile target = VelocityHelper.resolveText(testProfile.getProperties(), target); // modify step testStep.setTarget(target); } return testStep; } }; for (File sourceSuiteFile : filesFound) { int counter = 1; File targetSuiteFile; do { // name is 'some-suite.html' // remove suite - as multisuite runner uses suite as a keyword targetSuiteFile = new File(suiteTargetDirectory, sourceSuiteFile.getName() .replaceAll(".html$", counter++ + ".html").replaceAll("suite", "")); } while (targetSuiteFile.exists()); validateFilePathLength(targetSuiteFile); // flatten SeleniumUtils.flattenTestSuiteToTestCase(sourceSuiteFile, targetSuiteFile, profileStepFilter); // store names listOfFlattenedSuites.put(targetSuiteFile, getRelativePath(sourceSuiteFile.getAbsolutePath())); } // write one master suite to suite target directory File masterTestSuite = new File(suiteTargetDirectory, "master-test-suite.html"); SeleniumUtils.testCasesToTestSuite(listOfFlattenedSuites, masterTestSuite); File resultsDir = new File( "target" + File.separator + "clickframes" + File.separator + "selenium" + File.separator + ClickframeUtils.convertSlashToPathSeparator(filterName) + File.separator + "results"); FileUtils.deleteDirectory(resultsDir); resultsDir.mkdirs(); // prepare user extensions File userExtensionsFile = new File(System.getProperty("java.io.tmpdir"), "user-extensions.js"); if (userExtensionsFile.exists()) { userExtensionsFile.delete(); } }
From source file:org.codehaus.mojo.appassembler.util.FileFilterHelper.java
/** * This will create a FileFilter which is the same as in plexus-utils (DirectoryScanner.DEFAULTEXCLUDES). * //from w w w.j a v a 2 s . com * @return The initialized filter. */ public static IOFileFilter createDefaultFilter() { IOFileFilter filter = null; // CVS // "**/CVS", "**/CVS/**", filter = FileFilterUtils.makeCVSAware(filter); // "**/.cvsignore", filter = makeFileNameAware(filter, ".cvsignore"); // Subversion // "**/.svn", "**/.svn/**", filter = FileFilterUtils.makeSVNAware(filter); // RCS // "**/RCS", "**/RCS/**", filter = makeDirectoryAware(filter, "RCS"); // SCCS // "**/SCCS", "**/SCCS/**", filter = makeDirectoryAware(filter, "SCCS"); // "**/*~", "**/#*#", "**/.#*", "**/%*%", "**/._*", filter = makeSuffixAware(filter, "~"); filter = makePatternFileNameAware(filter, "#.*#"); filter = makePatternFileNameAware(filter, "%.*%"); filter = makeSuffixAware(filter, ".#"); filter = makeSuffixAware(filter, "._"); // Visual SourceSafe // "**/vssver.scc", filter = makeFileNameAware(filter, "vssver.scc"); // MKS // "**/project.pj", filter = makeFileNameAware(filter, "project.pj"); // Arch // "**/.arch-ids", "**/.arch-ids/**", filter = makeDirectoryAware(filter, ".arch-ids"); // Bazaar // "**/.bzr", "**/.bzr/**", filter = makeDirectoryAware(filter, ".bzr"); // SurroundSCM // "**/.MySCMServerInfo", filter = makeFileNameAware(filter, ".MySCMServerInfo"); // Mac // "**/.DS_Store", filter = makeDirectoryAware(filter, ".DS_Store"); // Serena Dimensions Version 10 // "**/.metadata", "**/.metadata/**", filter = makeDirectoryAware(filter, ".metadata"); // Mercurial // "**/.hg", "**/.hg/**", filter = makeDirectoryAware(filter, ".hg"); // git // "**/.git", "**/.gitignore", "**/.gitattributes", "**/.git/**", filter = makeDirectoryAware(filter, ".git"); filter = makeFileNameAware(filter, ".gitignore"); // BitKeeper // "**/BitKeeper", "**/BitKeeper/**", "**/ChangeSet", "**/ChangeSet/**", filter = makeDirectoryAware(filter, "BitKeeper"); filter = makeDirectoryAware(filter, "ChangeSet"); // darcs // "**/_darcs", "**/_darcs/**", "**/.darcsrepo", "**/.darcsrepo/**", "**/-darcs-backup*", "**/.darcs-temp-mail" // }; filter = makeDirectoryAware(filter, "_darcs"); filter = makeDirectoryAware(filter, ".darcsrepo"); return filter; }
From source file:org.sonatype.flexmojos.htmlwrapper.HtmlWrapperMojo.java
private void copyFolderTemplate(String path) throws MojoExecutionException { File source = new File(path); if (!source.isAbsolute()) { source = new File(project.getBasedir(), path); }//w ww . j a va 2s.c o m if (!source.exists() || !source.isDirectory()) { throw new MojoExecutionException("Template folder doesn't exists. " + source); } try { FileUtils.copyDirectory(source, templateOutputDirectory, FileFilterUtils.makeSVNAware(FileFilterUtils.makeCVSAware(null))); } catch (IOException e) { throw new MojoExecutionException("Unable to copy template to: " + templateOutputDirectory, e); } }