Example usage for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY

List of usage examples for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY

Introduction

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

Prototype

IOFileFilter DIRECTORY

To view the source code for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY.

Click Source Link

Document

Singleton instance of directory filter.

Usage

From source file:org.pentaho.supportutility.config.retriever.FileExtensionUtil.java

/**
 * Get the Tomcat Xmls from Server//w  w w.j  av a2  s  .  c om
 * 
 * @param tomPath
 * @param dstPath
 * @return
 */
@SuppressWarnings("deprecation")
public static boolean getTomcatXmlFiles(String tomPath, String dstPath) {

    Boolean result = false;
    File srcDir = new File(tomPath);
    File dstDir = new File(dstPath);
    IOFileFilter SuffixFilter = FileFilterUtils.suffixFileFilter(SupportUtilConstant.DOT_XML);
    IOFileFilter contextFilter = FileFilterUtils.nameFileFilter(SupportUtilConstant.CONT_XML);
    FileFilter ignorecontextFilter = FileFilterUtils.notFileFilter(contextFilter);
    IOFileFilter pentahoFilter = FileFilterUtils.nameFileFilter(SupportUtilConstant.PENT_XML);
    FileFilter ignorepentahoFilter = FileFilterUtils.notFileFilter(pentahoFilter);
    IOFileFilter filter1 = FileFilterUtils.asFileFilter(ignorecontextFilter);
    IOFileFilter filter2 = FileFilterUtils.asFileFilter(ignorepentahoFilter);
    IOFileFilter applyIgnoreFilter = FileFilterUtils.andFileFilter(filter1, filter2);
    IOFileFilter applySuffixFilter = FileFilterUtils.andFileFilter(FileFileFilter.FILE, SuffixFilter);
    IOFileFilter applySuffixIgnore = FileFilterUtils.andFileFilter(applySuffixFilter, applyIgnoreFilter);
    IOFileFilter finalFilter = FileFilterUtils.orFileFilter(applySuffixIgnore, DirectoryFileFilter.DIRECTORY);
    try {
        FileUtils.copyDirectory(srcDir, dstDir, finalFilter, false);
        if (deleteEmptyDir(dstDir)) {
            result = true;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return result;
}

From source file:org.silverpeas.core.process.io.file.AbstractFileHandler.java

/**
 * Gets handled root directories of a base path from the session. (reads, writes, deletes)
 * @param basePath/*from w  w w. j av a2 s  .  com*/
 * @param skipDeleted
 * @return
 */
protected Collection<String> getSessionHandledRootPathNames(final FileBasePath basePath,
        final boolean skipDeleted) {
    final Set<String> rootPathNames = new HashSet<>();
    if (isHandledPath(basePath)) {

        // reads and writes
        final String[] directories = getSessionPath(basePath).list(DirectoryFileFilter.DIRECTORY);
        if (directories != null) {
            rootPathNames.addAll(Arrays.asList(directories));
        }

        // deletes
        if (!skipDeleted) {
            String[] deletedFileNameParts;
            for (final File deleted : getMarkedToDelete(basePath)) {
                if (deleted.getPath().startsWith(basePath.getPath())) {
                    deletedFileNameParts = FilenameUtils
                            .separatorsToUnix(deleted.getPath().substring(basePath.getPath().length()))
                            .replaceAll("^/", "").split("/");
                    if (deletedFileNameParts != null && deletedFileNameParts.length > 0) {
                        rootPathNames.add(deletedFileNameParts[0]);
                    }
                }
            }
        }

        // Potential items to remove
        rootPathNames.remove(SESSION_TEMP_NODE);
        rootPathNames.remove(null);
        rootPathNames.remove("");
    }
    return rootPathNames;
}

From source file:org.silverpeas.core.process.io.file.AbstractFileHandler.java

/**
 * Gets handled root directory Files of a base path from the session. (reads, writes)
 * @param basePath//from  ww  w .  j  av a2  s  .  c  o  m
 * @return
 */
protected Collection<File> listAllSessionHandledRootPathFiles(final FileBasePath basePath) {
    final Set<File> rootPathNames = new HashSet<>();
    if (isHandledPath(basePath)) {

        // reads and writes
        final File[] directories = getSessionPath(basePath)
                .listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
        if (directories != null) {
            rootPathNames.addAll(Arrays.asList(directories));
        }
    }
    return rootPathNames;
}

From source file:org.silverpeas.core.silverstatistics.volume.service.DirectoryVolumeService.java

private File[] listDirectoriesToScan(File dataDirectory, String userId) {
    final OrganizationController controller = OrganizationController.get();
    final FileFilter filter;
    if (!StringUtil.isDefined(userId) || controller.getUserDetail(userId).isAccessAdmin()) {
        filter = DirectoryFileFilter.DIRECTORY;
    } else {//from  w ww  .j  a  v  a  2 s  .c o  m
        final String[] spaceIds = controller.getAllSpaceIds(userId);
        final List<String> componentIds = Arrays.stream(spaceIds)
                .flatMap(i -> Arrays.stream(controller.getAllComponentIdsRecur(i)))
                .collect(Collectors.toList());
        filter = new AndFileFilter(DirectoryFileFilter.DIRECTORY, new NameFileFilter(componentIds));
    }
    return dataDirectory.listFiles(filter);
}

From source file:org.silverpeas.process.io.file.AbstractFileHandler.java

/**
 * Gets handled root directories of a base path from the session. (reads, writes, deletes)
 * @param basePath//from   ww w .  j av a2s.com
 * @param skipDeleted
 * @return
 */
protected Collection<String> getSessionHandledRootPathNames(final FileBasePath basePath,
        final boolean skipDeleted) {
    final Set<String> rootPathNames = new HashSet<String>();
    if (isHandledPath(basePath)) {

        // reads and writes
        final String[] directories = getSessionPath(basePath).list(DirectoryFileFilter.DIRECTORY);
        if (directories != null) {
            rootPathNames.addAll(Arrays.asList(directories));
        }

        // deletes
        if (!skipDeleted) {
            String[] deletedFileNameParts;
            for (final File deleted : getMarkedToDelete(basePath)) {
                if (deleted.getPath().startsWith(basePath.getPath())) {
                    deletedFileNameParts = FilenameUtils
                            .separatorsToUnix(deleted.getPath().substring(basePath.getPath().length()))
                            .replaceAll("^/", "").split("/");
                    if (deletedFileNameParts != null && deletedFileNameParts.length > 0) {
                        rootPathNames.add(deletedFileNameParts[0]);
                    }
                }
            }
        }

        // Potential items to remove
        rootPathNames.remove(SESSION_TEMP_NODE);
        rootPathNames.remove(null);
        rootPathNames.remove("");
    }
    return rootPathNames;
}

From source file:org.silverpeas.process.io.file.AbstractFileHandler.java

/**
 * Gets handled root directory Files of a base path from the session. (reads, writes)
 * @param basePath//  w  w w. ja v  a  2  s .  c  o m
 * @return
 */
protected Collection<File> listAllSessionHandledRootPathFiles(final FileBasePath basePath) {
    final Set<File> rootPathNames = new HashSet<File>();
    if (isHandledPath(basePath)) {

        // reads and writes
        final File[] directories = getSessionPath(basePath)
                .listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
        if (directories != null) {
            rootPathNames.addAll(Arrays.asList(directories));
        }
    }
    return rootPathNames;
}

From source file:org.silverpeas.silverstatistics.volume.DirectoryVolumeService.java

@SuppressWarnings("unchecked")
private File[] listDirectoriesToScan(File dataDirectory, String userId) {
    FileFilter filter;//from ww w . ja v a  2s  .c  om
    OrganizationController controller = new OrganizationController();
    if (!StringUtil.isDefined(userId) || controller.getUserDetail(userId).isAccessAdmin()) {
        filter = DirectoryFileFilter.DIRECTORY;
    } else {
        String[] spaceIds = controller.getAllSpaceIds(userId);
        List<String> componentIds = new ArrayList<String>(spaceIds.length * 10);
        for (String spaceId : spaceIds) {
            componentIds.addAll(Arrays.asList(controller.getAllComponentIdsRecur(spaceId)));
        }
        filter = new AndFileFilter(DirectoryFileFilter.DIRECTORY, new NameFileFilter(componentIds));
    }
    return dataDirectory.listFiles(filter);
}

From source file:org.sipfoundry.sipxconfig.admin.LocalBackupPlan.java

/**
 * Prepares a list of backup files that can be used to restore sipX configuration or sipX
 * voice mail./*from  w w w . jav  a 2 s. c o m*/
 *
 * Each list items is a map: backup type -> backup bean(file name). Each list items contains
 * files from a single directory. List is sorted by directory name in the backup order.
 *
 */
@Override
public List<Map<Type, BackupBean>> getBackups() {
    File backupDirectory = new File(getBackupDirectory());
    FileFilter dirFilter = DirectoryFileFilter.DIRECTORY;
    File[] backupFolders = backupDirectory.listFiles(dirFilter);

    if (backupFolders == null) {
        return Collections.emptyList();
    }
    List<Map<Type, BackupBean>> backupBeans = new ArrayList<Map<Type, BackupBean>>();
    for (File backupFolder : backupFolders) {
        File[] backupFiles = backupFolder.listFiles(BackupPlan.BACKUP_FILE_FILTER);
        addBackupBeans(backupBeans, backupFiles);
    }
    Collections.sort(backupBeans, new BackupBean.CompareFolders());
    return backupBeans;
}

From source file:org.sonar.batch.bootstrap.TempDirectories.java

/**
 * This method is executed by picocontainer during shutdown.
 *//* w  w w  .  j  a  v  a  2s . com*/
public void stop() {
    directoriesByKey.clear();

    // Deleting temp directory does not work on MS Windows and Sun JVM because URLClassLoader locks JARs and resources.
    // The workaround is that sonar deletes orphans itself.

    // older than AGE_BEFORE_DELETION to be sure that the current dir is deleted on mac and linux.
    rootDir.setLastModified(System.currentTimeMillis() - AGE_BEFORE_DELETION - 60 * 60 * 1000);

    File[] directoriesToDelete = rootDir.getParentFile()
            .listFiles((FileFilter) new AndFileFilter(
                    Arrays.asList(DirectoryFileFilter.DIRECTORY, new PrefixFileFilter(DIR_PREFIX),
                            new AgeFileFilter(System.currentTimeMillis() - AGE_BEFORE_DELETION))));
    for (File dir : directoriesToDelete) {
        LoggerFactory.getLogger(getClass()).debug("Delete temporary directory: " + dir);
        FileUtils.deleteQuietly(dir);
    }
}

From source file:org.sonar.java.JavaClasspath.java

private List<File> getMatchingFiles(String pattern, File dir, boolean libraryProperty) {
    WilcardPatternFileFilter wilcardPatternFileFilter = new WilcardPatternFileFilter(dir, pattern);
    FileFilter fileFilter = wilcardPatternFileFilter;
    List<File> files = Lists.newArrayList();
    if (libraryProperty) {
        if (pattern.endsWith("*")) {
            fileFilter = new AndFileFilter((IOFileFilter) fileFilter,
                    new OrFileFilter(Lists.newArrayList(suffixFileFilter(".jar", IOCase.INSENSITIVE),
                            suffixFileFilter(".zip", IOCase.INSENSITIVE))));
        }//from www .  ja  v a  2  s . c o m
        //find jar and zip files
        files.addAll(
                Lists.newArrayList(FileUtils.listFiles(dir, (IOFileFilter) fileFilter, TrueFileFilter.TRUE)));
    }
    //find directories matching pattern.
    IOFileFilter subdirectories = pattern.isEmpty() ? FalseFileFilter.FALSE : TrueFileFilter.TRUE;
    Collection<File> dirs = FileUtils.listFilesAndDirs(dir,
            new AndFileFilter(wilcardPatternFileFilter, DirectoryFileFilter.DIRECTORY), subdirectories);
    //remove searching dir from matching as listFilesAndDirs always includes it in the list see https://issues.apache.org/jira/browse/IO-328
    if (!pattern.isEmpty()) {
        dirs.remove(dir);
        //remove subdirectories that were included during search
        Iterator<File> iterator = dirs.iterator();
        while (iterator.hasNext()) {
            File matchingDir = iterator.next();
            if (!wilcardPatternFileFilter.accept(matchingDir)) {
                iterator.remove();
            }
        }
    }

    if (libraryProperty) {
        for (File directory : dirs) {
            files.addAll(getMatchingFiles("**/*.jar", directory, true));
            files.addAll(getMatchingFiles("**/*.zip", directory, true));
        }
    }
    files.addAll(dirs);
    return files;
}