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

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

Introduction

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

Prototype

public static IOFileFilter makeSVNAware(IOFileFilter filter) 

Source Link

Document

Decorates a filter to make it ignore SVN directories.

Usage

From source file:com.sangupta.keepwalking.MergeRepo.java

/**
 * @param args/*  w w w. j  a va2 s .com*/
 * @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.");
    }//  w  w  w .  jav  a 2 s.  co  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:LicenseHeaderUpdate.java

public static void handleJavaStyleComments(String baseDir) throws Exception {
    IOFileFilter sourceFileFilter = FileFilterUtils.orFileFilter(FileFilterUtils.suffixFileFilter("java"),
            FileFilterUtils.suffixFileFilter("js"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("css"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter,
            FileFilterUtils.suffixFileFilter("groovy"));
    sourceFileFilter = FileFilterUtils.makeSVNAware(sourceFileFilter);
    sourceFileFilter = FileFilterUtils.makeFileOnly(sourceFileFilter);

    LicensableFileDirectoryWalker dw = new LicensableFileDirectoryWalker(sourceFileFilter, "/*", " * ", " */");
    Collection<String> results = dw.run(baseDir);
    System.out.println(results);// ww w.  j  a  v a 2s  .com
}

From source file:ch.systemsx.cisd.openbis.generic.shared.util.WebClientFilesUpdater.java

private final static String[] scanAllTechnologies(final File rootDirectory) {
    final File pluginRootDirectory = getPluginRootDirectory(rootDirectory);
    final File[] pluginDirs = pluginRootDirectory
            .listFiles((FileFilter) FileFilterUtils.makeSVNAware(FileFilterUtils.directoryFileFilter()));
    return FileUtilities.toFileNames(pluginDirs);
}

From source file:LicenseHeaderUpdate.java

public static void handleJSPStyleComments(String baseDir) throws Exception {
    IOFileFilter sourceFileFilter = FileFilterUtils.orFileFilter(FileFilterUtils.suffixFileFilter("jsp"),
            FileFilterUtils.suffixFileFilter("tag"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("inc"));
    sourceFileFilter = FileFilterUtils.makeSVNAware(sourceFileFilter);
    sourceFileFilter = FileFilterUtils.makeFileOnly(sourceFileFilter);

    LicensableFileDirectoryWalker dw = new LicensableFileDirectoryWalker(sourceFileFilter, "<%--", "   - ",
            "--%>");
    Collection<String> results = dw.run(baseDir);
    System.out.println(results);/*from  ww  w.ja  v a  2s . c  om*/
}

From source file:LicenseHeaderUpdate.java

public static void handlePropertyStyleComments(String baseDir) throws Exception {
    IOFileFilter sourceFileFilter = FileFilterUtils.orFileFilter(FileFilterUtils.suffixFileFilter("properties"),
            FileFilterUtils.suffixFileFilter("cmd"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("sh"));
    sourceFileFilter = FileFilterUtils.makeSVNAware(sourceFileFilter);
    sourceFileFilter = FileFilterUtils.makeFileOnly(sourceFileFilter);

    LicensableFileDirectoryWalker dw = new LicensableFileDirectoryWalker(sourceFileFilter,
            "########################################", "# ", "########################################");
    Collection<String> results = dw.run(baseDir);
    System.out.println(results);/*from  w  w w  . j av a  2s . c  o m*/
}

From source file:LicenseHeaderUpdate.java

public static void handleSQLStyleComments(String baseDir) throws Exception {
    IOFileFilter sourceFileFilter = FileFilterUtils.suffixFileFilter("sql");
    sourceFileFilter = FileFilterUtils.makeSVNAware(sourceFileFilter);
    sourceFileFilter = FileFilterUtils.makeFileOnly(sourceFileFilter);

    LicensableFileDirectoryWalker dw = new LicensableFileDirectoryWalker(sourceFileFilter, "--", "-- ",
            LINE_SEPARATOR);/*from   w  w w .ja  v a  2  s.  co  m*/
    Collection<String> results = dw.run(baseDir);
    System.out.println(results);
}

From source file:LicenseHeaderUpdate.java

public static void handleXMLStyleComments(String baseDir) throws Exception {
    IOFileFilter sourceFileFilter = FileFilterUtils.orFileFilter(FileFilterUtils.suffixFileFilter("xml"),
            FileFilterUtils.suffixFileFilter("jrxml"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("html"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("htm"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("xsd"));
    sourceFileFilter = FileFilterUtils.orFileFilter(sourceFileFilter, FileFilterUtils.suffixFileFilter("tld"));
    sourceFileFilter = FileFilterUtils.makeSVNAware(sourceFileFilter);
    sourceFileFilter = FileFilterUtils.makeFileOnly(sourceFileFilter);

    LicensableFileDirectoryWalker dw = new LicensableFileDirectoryWalker(sourceFileFilter, "<!--", "   - ",
            " -->");
    Collection<String> results = dw.run(baseDir);
    System.out.println(results);/*ww w . j a va  2  s . co m*/
}

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 .  j a v  a  2 s. co m

    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  .jav  a 2  s  .  com*/
 * <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;
}