Example usage for org.apache.commons.io.filefilter WildcardFilter WildcardFilter

List of usage examples for org.apache.commons.io.filefilter WildcardFilter WildcardFilter

Introduction

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

Prototype

public WildcardFilter(List wildcards) 

Source Link

Document

Construct a new case-sensitive wildcard filter for a list of wildcards.

Usage

From source file:com.thruzero.common.core.fs.FileRenamingVisitorTest.java

@Test
public void testRenameOfSimpleDirectory() {
    // clean the temp directory
    deleteTempDirContents();//from  w ww. j  av a2  s. c om

    // copy test directory to a temp directory, as a rename target
    File renamingTestDir = copyDirToTemp(RENAMING_TEST_DIR_NAME);

    // walk the temp directory
    try {
        // rename the files and verify
        SubstitutionStrategy strategy = new KeyValuePairSubstitutionStrategy(
                new KeyValuePair("${sub1}", SUBSTITUTION_ONE_VALUE));
        FileWalkerStatus renamingStatus = new HierarchicalFileWalker(renamingTestDir, null)
                .accept(new FileRenamingVisitor(strategy));
        assertEquals("Wrong number of files/directories were renamed.", 4, renamingStatus.getNumProcessed());

        // verify files were renamed, using FileListFileWalker
        FileAndDirectoryFilter filter = new FileAndDirectoryFilter((FileFilter) DirectoryFileFilter.INSTANCE,
                new WildcardFilter("*" + SUBSTITUTION_ONE_VALUE + "*"));
        FileWalkerStatus listingStatus = new HierarchicalFileWalker(renamingTestDir, filter)
                .accept(new FileListVisitor());
        assertEquals("Wrong number of files were renamed.", 3, listingStatus.getNumProcessed()); // 3 files should be renamed (plus one directory that's not
                                                                                                 // sslisted here)
    } catch (IOException e) {
        fail("FileRenamingFileWalker generated exception: " + e);
    }
}

From source file:it.cilea.osd.jdyna.widget.WidgetFile.java

/**
 * /*ww w  .ja  v  a  2s  .  com*/
 * Remove file on server by researcher get from parameter method.
 * 
 * @param fileRP
 * @param researcher
 */
public void remove(EmbeddedFile fileRP) {
    File directory = new File(getBasePath() + File.separatorChar + fileRP.getFolderFile());

    if (directory.exists()) {
        String fileName = fileRP.getValueFile();
        if (fileRP.getExtFile() != null && !fileRP.getExtFile().isEmpty()) {
            fileName += ("." + fileRP.getExtFile());
        }
        Collection<File> files = FileUtils.listFiles(directory, new WildcardFilter(fileName), null);

        for (File file : files) {
            file.delete();
        }
    }
}

From source file:net.sourceforge.vulcan.spring.jdbc.JdbcSchemaMigratorTest.java

@SuppressWarnings("unchecked")
static Resource[] getMigrationScripts() {
    File dir = TestUtils.resolveRelativeFile("source/main/sql/hsql");
    List<Resource> scripts = new ArrayList<Resource>();
    for (File file : (Collection<File>) FileUtils.listFiles(dir, new WildcardFilter("S*.sql"),
            FalseFileFilter.INSTANCE)) {
        scripts.add(new FileSystemResource(file));
    }/* w  ww  . ja  va2  s . c o m*/
    return scripts.toArray(new Resource[scripts.size()]);
}

From source file:org.wyona.yanel.core.ResourceTypeRegistry.java

/**
 * Load/register resource types (e.g. from local/apache-tomcat-5.5.33/webapps/yanel/WEB-INF/classes/resource-types.xml)
 *///from   w  w  w  .  j ava 2  s  .  c  o m
public void readResourceTypes() throws ConfigurationException {
    try {
        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder(true);
        Configuration config;
        config = builder.buildFromFile(resourceTypeConfigFile);
        if (log.isDebugEnabled())
            log.debug("Resource types config file: " + resourceTypeConfigFile);

        Configuration resourceTypes[] = config.getChildren("resource-type");

        log.debug("Try to register " + resourceTypes.length + " resource types ...");

        for (int i = 0; i < resourceTypes.length; i++) {
            boolean hasPackageAttribute = false;
            String packageName = null;
            try {
                packageName = resourceTypes[i].getAttribute("package");
                hasPackageAttribute = true;
            } catch (Exception e) {
                log.warn(e.getMessage());
                hasPackageAttribute = false;
            }
            if (hasPackageAttribute && packageName != null && packageName.trim().length() > 0) {
                log.info("Loading resource(s) from package: " + packageName);

                // WARN: Please note that when there are two jars containing the same package, then the loading of the resource configuration is likely to fail! See for example the problem with yanel-HtmlUnitTests.jar or yanel-JunitTests.jar
                URL packageURL = ResourceTypeRegistry.class.getClassLoader()
                        .getResource(packageName.replace('.', '/'));
                if (packageURL == null) { // TODO: Make more fault tolerant!
                    throw new ConfigurationException("Could not determine package URL for package name: "
                            + packageName
                            + " (Probably package name is wrong/misspelt (check WEB-INF/classes/resource-types.xml) or corresponding library/resource does not exists (check WEB-INF/lib))!)");
                }
                log.debug("Package: " + packageURL.getFile());
                //log.info("Package: " + packageURL.getFile());
                File jarFile = null;
                if (packageURL.getPath().indexOf("!") > 0) {
                    jarFile = new File(packageURL.getPath().substring(5, packageURL.getPath().indexOf("!")));
                }
                if (jarFile != null && jarFile.isFile()) {
                    log.debug("Jar file: " + jarFile);
                    java.util.zip.ZipFile zipFile = new java.util.zip.ZipFile(jarFile);
                    java.util.Enumeration entries = zipFile.entries();
                    boolean containsResourceConfig = false;
                    while (entries.hasMoreElements()) {
                        String entryName = ((java.util.zip.ZipEntry) entries.nextElement()).getName();
                        //log.debug("Entry: " + entryName);
                        if (entryName.indexOf("resource.xml") >= 0 || entryName.indexOf("resource-") >= 0) { // INFO: see for example src/resources/user-mgmt/
                            containsResourceConfig = true;
                            log.info("Resource definition: " + entryName);
                            URL resourceURL = ResourceTypeRegistry.class.getClassLoader()
                                    .getResource(entryName);
                            //URL resourceURL = ResourceTypeRegistry.class.getClassLoader().getResource(packageName.replace('.','/') + "/resource.xml");
                            log.info("Resource config URL: " + resourceURL);
                            try {
                                ResourceTypeDefinition rtd = new ResourceTypeDefinition(resourceURL);
                                //ResourceTypeDefinition rtd = new ResourceTypeDefinition(resourceURL.openStream());
                                log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
                                log.debug("Classname: " + rtd.getResourceTypeClassname());
                                hm.put(rtd.getResourceTypeUniversalName(), rtd);
                            } catch (Exception exception) {
                                log.error("Exception re registring resource with package '" + packageName
                                        + "' and resource definition URL '" + resourceURL + "'!");
                                log.error(exception, exception);
                            }
                        } else {
                            log.debug("Entry '" + entryName + "' of package '" + packageURL.getFile()
                                    + "' is not a resource configuration!");
                        }
                    }
                    if (!containsResourceConfig) {
                        log.error("Package '" + packageURL.getFile()
                                + "' does not contain a resource configuration associated with the package name '"
                                + packageName + "'!");
                    }
                } else if (new File(packageURL.getPath()).isDirectory()) {
                    log.debug("Library seems to be extracted: " + packageURL.getPath());
                    String[] resourceFilenames = new File(packageURL.getPath())
                            .list(new ResourceFilenameFilter());
                    if (resourceFilenames != null && resourceFilenames.length > 0) {
                        for (int k = 0; k < resourceFilenames.length; k++) {
                            try {
                                ResourceTypeDefinition rtd = new ResourceTypeDefinition(
                                        new java.io.FileInputStream(
                                                new File(packageURL.getPath(), resourceFilenames[k])));
                                log.debug("Register resource type from resource definition: "
                                        + rtd.getConfigFile());
                                log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
                                log.debug("Classname: " + rtd.getResourceTypeClassname());
                                hm.put(rtd.getResourceTypeUniversalName(), rtd);
                            } catch (Exception exception) {
                                log.error(
                                        "Exception re registring resource with package '" + packageName + "'!");
                                log.error(exception, exception);
                            }
                        }
                    } else {
                        log.error("Extracted jar '" + packageURL.getPath()
                                + "' does not seem to contain any resource definitions!");
                    }
                } else {
                    log.error("No such file or directory: " + packageURL.getPath());
                }
            } else {
                log.info("Resource type element has no package attribute, hence try src attribute...");
                try {
                    File resConfigFile = new File(resourceTypes[i].getAttribute("src"));
                    log.info("Loading resource from source: " + resConfigFile);
                    if (!resConfigFile.isAbsolute()) {
                        resConfigFile = FileUtil.file(resourceTypeConfigFile.getParentFile().getAbsolutePath(),
                                resourceTypes[i].getAttribute("src"));
                    }

                    if (resConfigFile.isDirectory()) {
                        File resDir = resConfigFile;

                        Iterator iter = FileUtils.listFiles(resDir, new WildcardFilter("resource*.xml"), null)
                                .iterator();
                        while (iter.hasNext()) {
                            resConfigFile = (File) iter.next();
                            log.debug("found resource config: " + resConfigFile);
                            ResourceTypeDefinition rtd = new ResourceTypeDefinition(resConfigFile);
                            if (log.isDebugEnabled()) {
                                log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
                                log.debug("Classname: " + rtd.getResourceTypeClassname());
                            }
                            hm.put(rtd.getResourceTypeUniversalName(), rtd);
                        }
                    } else if (resConfigFile.isFile()) {
                        ResourceTypeDefinition rtd = new ResourceTypeDefinition(resConfigFile);
                        if (log.isDebugEnabled()) {
                            log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
                            log.debug("Classname: " + rtd.getResourceTypeClassname());
                        }
                        hm.put(rtd.getResourceTypeUniversalName(), rtd);
                    } else {
                        log.error("No such file or directory: " + resConfigFile);
                    }
                } catch (Exception exception) {
                    log.error(exception, exception);
                }
            }
        }
    } catch (Exception e) {
        log.error(e, e);
        String errorMsg = "Failure while reading configuration: " + e.getMessage();
        throw new ConfigurationException(errorMsg, e);
    }
}