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.onebusaway.admin.service.bundle.impl.LocalBundleArchiverServiceImpl.java

@SuppressWarnings("unchecked")
private Response getContents(File bundleDir, String filter) {
    Collection<File> files = FileUtils.listFiles(bundleDir, new RegexFileFilter("^(.*?)"),
            DirectoryFileFilter.DIRECTORY);
    JSONArray response = new JSONArray();
    for (File file : files) {
        URI relativeName = bundleDir.toURI().relativize(file.toURI());
        if (filter != null) {
            if (relativeName.toString().contains(filter)) {
                response.put(relativeName);
            }/*from  ww w.  j a  v a2 s.  c  o m*/
        } else {
            response.put(relativeName);
        }
    }
    return Response.ok(response.toString(), "application/json").build();
}

From source file:org.onesec.raven.ivr.impl.CallRecorderNode.java

public void executeScheduledJob(Scheduler scheduler) {
    Integer days = keepRecordsForDays;
    if (days == null || days <= 0) {
        if (isLogLevelEnabled(LogLevel.WARN))
            getLogger().warn("Can't clean up old call records because of keepRecordsForDays "
                    + "is null or has invalid value");
        return;//from w ww .  j a v a  2 s  .com
    }
    File[] dirs = baseDirFile.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
    Calendar c = Calendar.getInstance();
    c.add(Calendar.DATE, -1 * days);
    int yearMonth = new Integer(new SimpleDateFormat("yyyyMM").format(c.getTime()));
    int day = c.get(Calendar.DATE);
    if (dirs != null)
        for (File dir : dirs) {
            try {
                String elems[] = dir.getName().split("\\.");
                if (elems == null || elems.length != 2)
                    throw new Exception(String
                            .format("Invalid directory name (%s) must have a format (yyyy.MM)", dir.getName()));
                int dirYearMonth = new Integer(elems[0] + elems[1]);
                if (dirYearMonth < yearMonth)
                    deleteDir(dir);
                else if (dirYearMonth == yearMonth) {
                    File[] dayDirs = dir.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
                    if (dayDirs != null)
                        for (File dayDir : dayDirs) {
                            int dirDay = new Integer(dayDir.getName());
                            if (dirDay < day)
                                deleteDir(dayDir);
                        }
                }
            } catch (Throwable e) {
                if (isLogLevelEnabled(LogLevel.ERROR))
                    getLogger().error(
                            String.format("Error analyzing (%s) directory for old calls", dir.getName()), e);
            }
        }
}

From source file:org.orbisgis.dbjobs.service.DriverFunctionContainerImpl.java

/**
 * The user can load several files from a folder
 * @param type Driver type//w  w  w  . j ava 2  s .  co  m
 */
@Override
public void addFilesFromFolder(DatabaseView dbView, DriverFunction.IMPORT_DRIVER_TYPE type, String schema) {
    String message;
    if (type == DriverFunction.IMPORT_DRIVER_TYPE.COPY) {
        message = I18N.tr("Select the folder to import");
    } else {
        message = I18N.tr("Select the folder to open");
    }

    OpenFolderPanel folderSourcePanel = new OpenFolderPanel("Geocatalog.LinkFolder", message);
    for (DriverFunction driverFunction : fileDrivers) {
        try {
            if (driverFunction.getImportDriverType() == type) {
                for (String fileExt : driverFunction.getImportFormats()) {
                    folderSourcePanel.addFilter(fileExt, driverFunction.getFormatDescription(fileExt));
                }
            }
        } catch (Exception ex) {
            LOGGER.debug(ex.getLocalizedMessage(), ex);
        }
    }
    folderSourcePanel.loadState();
    if (UIFactory.showDialog(folderSourcePanel, true, true)) {
        File directory = folderSourcePanel.getSelectedFile();
        Collection files = org.apache.commons.io.FileUtils.listFiles(directory,
                new ImportFileFilter(folderSourcePanel.getSelectedFilter()), DirectoryFileFilter.DIRECTORY);
        List<File> fileToLoad = new ArrayList<>(files.size());
        for (Object file : files) {
            if (file instanceof File) {
                fileToLoad.add((File) file);
            }
        }
        // for each folder, we apply the method processFolder.
        // We use the filter selected by the user in the panel
        // to succeed in this operation.
        executeJob(new ImportFiles(dbView, this, fileToLoad, dataManager, type, schema));
    }
}

From source file:org.orbisgis.framework.BundleTools.java

/**
 * Delete OSGi fragment bundles that are both in OSGi cache and in bundle sub-dir
 * @param bundleCache OSGi bundle cache  ex: ~/.Orbisgis/4.X/cache/
 *//*  www .  ja  v a2 s  .  c  om*/
public void deleteFragmentInCache(File bundleCache) {
    if (bundleCache.exists()) {
        // List bundles in the /bundle subdirectory
        File bundleFolder = new File(BUNDLE_DIRECTORY);
        if (!bundleFolder.exists()) {
            return;
        }
        File[] files = bundleFolder.listFiles();
        if (files != null) {
            List<String> fragmentBundlesArtifacts = new ArrayList<>(files.length);
            // Search for Fragment in /bundle/ subdir
            for (File file : files) {
                if (FilenameUtils.isExtension(file.getName(), "jar")) {
                    // Read Manifest
                    try (JarFile jar = new JarFile(file)) {
                        Manifest manifest = jar.getManifest();
                        if (manifest != null && manifest.getMainAttributes() != null) {
                            String artifact = manifest.getMainAttributes().getValue(Constants.FRAGMENT_HOST);
                            if (artifact != null) {
                                fragmentBundlesArtifacts.add(parseManifest(manifest, null).getArtifactId());
                            }
                        }
                    } catch (IOException ex) {
                        LOGGER.log(Logger.LOG_ERROR, "Error while reading Jar manifest:\n" + file.getPath());
                    }
                }
            }
            // Remove folders in bundle cache that contain a fragment cache
            File[] cacheFolders = bundleCache.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
            if (cacheFolders != null) {
                for (File folder : cacheFolders) {
                    try {
                        // Get the first folder, may contain only one ex:"version0.0"
                        File[] cacheBundleFolder = folder.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
                        if (cacheBundleFolder != null && cacheBundleFolder.length > 0) {
                            // Read Jar manifest
                            File jarBundle = new File(cacheBundleFolder[0], "bundle.jar");
                            if (jarBundle.exists()) {
                                // Read artifact
                                String artifact = parseJarManifest(jarBundle, null).getArtifactId();
                                if (fragmentBundlesArtifacts.contains(artifact)) {
                                    // Delete the cache folder
                                    int tryCount = 0;
                                    while (tryCount < DELETE_TRY_COUNT) {
                                        try {
                                            if (jarBundle.delete()) {
                                                FileUtils.deleteDirectory(folder);
                                            } else {
                                                throw new IOException("Could not delete jar file");
                                            }
                                            break;
                                        } catch (IOException ex) {
                                            tryCount++;
                                            try {
                                                Thread.sleep(WAIT_RETRY_DELETE);
                                            } catch (InterruptedException iex) {
                                                break;
                                            }
                                        }
                                    }
                                    if (folder.exists()) {
                                        LOGGER.log(Logger.LOG_ERROR,
                                                "Cannot delete a bundle cache folder, library may not be up to"
                                                        + " date, please delete the following folder and restart OrbisGIS:"
                                                        + "\n" + folder.getPath());
                                    } else {
                                        LOGGER.log(Logger.LOG_INFO,
                                                I18N.tr("Delete fragment bundle {0} in " + "cache directory",
                                                        artifact));
                                    }
                                }
                            }
                        }
                    } catch (IOException ex) {
                        LOGGER.log(Logger.LOG_ERROR, "Error while reading Jar manifest:\n" + folder.getPath(),
                                ex);
                    }
                }
            }
        }
    }
}

From source file:org.overture.core.tests.examples.ExamplesUtility.java

private static Collection<ExampleSourceData> getExamples_(String externalsRoot, String examplesRoot,
        Dialect dialect) throws IOException, URISyntaxException {
    List<ExampleSourceData> r = new LinkedList<ExampleSourceData>();

    File dir = new File(externalsRoot + examplesRoot);

    List<File> source = new LinkedList<File>();
    // grab examples groups
    for (File f : dir.listFiles()) {
        // grab example projects
        if (f.isDirectory()) {
            ExamplePacker p = new ExamplePacker(f, dialect);
            if (p.isCheckable()) {
                Collection<File> files = FileUtils.listFiles(f, new RegexFileFilter(getFilterString(dialect)),
                        DirectoryFileFilter.DIRECTORY);
                source.addAll(files);/*from www . j  a  v a2s  . co m*/

                if (p.getLibs().size() > 0) {
                    for (String lib : p.getLibs()) {
                        source.add(new File(
                                externalsRoot + LIBS_ROOT + ExamplePacker.getName(dialect) + "/" + lib));

                    }
                }
                r.add(new ExampleSourceData(p.getName(), dialect, p.getLanguageVersion(), source));
                source = new LinkedList<File>();
            }
        }
    }

    return r;
}

From source file:org.overture.core.tests.PathsProvider.java

private static Collection<Object[]> externalFiles(File dir) {
    Collection<File> files = FileUtils.listFiles(dir, new RegexFileFilter(EXTERNAL_VDM_EXTENSION_REGEX),
            DirectoryFileFilter.DIRECTORY);

    List<Object[]> paths = new Vector<Object[]>();

    for (File file : files) {
        if (!(file.getPath().contains("sltest") || file.getPath().contains("pptest")
                || file.getPath().contains("rttest"))) {
            continue;
        }//w  w  w  .  java 2s .c  o  m

        paths.add(
                new Object[] { file.getName(), file.getPath(),
                        (RESULTS_EXTERNAL
                                + file.getPath().substring(dir.getPath().length(), file.getPath().length())
                                + RESULT_EXTENSION).replace('\\', '/').replace('/', File.separatorChar) });

    }

    return paths;
}

From source file:org.overture.core.tests.PathsProvider.java

private static Collection<Object[]> searchForFiles(File dir) {
    Collection<File> files = FileUtils.listFiles(dir, new RegexFileFilter(VDM_EXTENSION_REGEX),
            DirectoryFileFilter.DIRECTORY);

    List<Object[]> paths = new Vector<Object[]>();

    for (File file : files) {
        paths.add(new Object[] { file.getName(), file.getPath(), file.getPath() + RESULT_EXTENSION });

    }//from  ww  w  .  jav a 2  s  .c om

    return paths;
}

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

/**
 * Get the Server Xmls from server//from  ww w . j  a va  2 s . c o m
 * 
 * @param biPath
 * @param dstPath
 * @return
 */
@SuppressWarnings("deprecation")
public static boolean getServerXmlFile(String biPath, String dstPath) {

    Boolean result = false;
    File srcDir = new File(biPath);
    File dstDir = new File(dstPath);
    IOFileFilter SuffixFilter = FileFilterUtils.suffixFileFilter(SupportUtilConstant.DOT_XML);
    IOFileFilter applySuffixFilter = FileFilterUtils.andFileFilter(FileFileFilter.FILE, SuffixFilter);
    IOFileFilter finalFilter = FileFilterUtils.orFileFilter(applySuffixFilter, 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.pentaho.supportutility.config.retriever.FileExtensionUtil.java

/**
 * /*from  w  w w.ja  v a 2  s. c  o m*/
 * Get the Server Properties from Server
 * 
 * @param biPath
 * @param dstPath
 * @return
 */
@SuppressWarnings("deprecation")
public static boolean getServerProperties(String biPath, String dstPath) {

    Boolean result = false;
    File srcDir = new File(biPath);
    File dstDir = new File(dstPath);
    IOFileFilter SuffixFilter = FileFilterUtils.suffixFileFilter(SupportUtilConstant.DOT_PROP);
    IOFileFilter hibFilter = FileFilterUtils.nameFileFilter(SupportUtilConstant.SPRING_JDBC_PROP);
    FileFilter ignorehibFilter = FileFilterUtils.notFileFilter(hibFilter);
    IOFileFilter ldapFilter = FileFilterUtils.nameFileFilter(SupportUtilConstant.SPRING_LDAP_PROP);
    FileFilter ignoreldapFilter = FileFilterUtils.notFileFilter(ldapFilter);
    IOFileFilter filter1 = FileFilterUtils.asFileFilter(ignorehibFilter);
    IOFileFilter filter2 = FileFilterUtils.asFileFilter(ignoreldapFilter);
    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.pentaho.supportutility.config.retriever.FileExtensionUtil.java

/**
 * Get the Server Batch from Server//  w  ww . jav  a2 s. co  m
 * 
 * @param biPath
 * @param dstPath
 * @return
 */
@SuppressWarnings("deprecation")
public static boolean getServerStartUpFile(String biPath, String dstPath) {

    Boolean result = false;
    File srcDir = new File(biPath);
    File dstDir = new File(dstPath);
    IOFileFilter SuffixFilter = null;
    String os = System.getProperty(SupportUtilConstant.OS_NAME).toLowerCase().substring(0, 3);
    if (os.equals("win")) {
        SuffixFilter = FileFilterUtils.suffixFileFilter(SupportUtilConstant.DOT_BAT);
    } else if (os.equals("lin") || os.equals("mac")) {
        SuffixFilter = FileFilterUtils.suffixFileFilter(SupportUtilConstant.DOT_SH);
    }

    IOFileFilter applySuffixFilter = FileFilterUtils.andFileFilter(FileFileFilter.FILE, SuffixFilter);
    IOFileFilter finalFilter = FileFilterUtils.orFileFilter(applySuffixFilter, DirectoryFileFilter.DIRECTORY);
    try {
        FileUtils.copyDirectory(srcDir, dstDir, finalFilter, false);
        if (deleteEmptyDir(dstDir)) {
            result = true;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return result;
}