Example usage for org.apache.commons.io.filefilter FileFilterUtils makeCVSAware

List of usage examples for org.apache.commons.io.filefilter FileFilterUtils makeCVSAware

Introduction

In this page you can find the example usage for org.apache.commons.io.filefilter FileFilterUtils makeCVSAware.

Prototype

public static IOFileFilter makeCVSAware(IOFileFilter filter) 

Source Link

Document

Decorates a filter to make it ignore CVS directories.

Usage

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);
    }
}