Example usage for org.apache.commons.io.filefilter HiddenFileFilter HIDDEN

List of usage examples for org.apache.commons.io.filefilter HiddenFileFilter HIDDEN

Introduction

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

Prototype

IOFileFilter HIDDEN

To view the source code for org.apache.commons.io.filefilter HiddenFileFilter HIDDEN.

Click Source Link

Document

Singleton instance of hidden filter

Usage

From source file:org.onexus.resource.manager.internal.providers.AbstractProjectProvider.java

public AbstractProjectProvider(String projectName, String projectUrl, File projectFolder,
        FileAlterationMonitor monitor, List<IResourceListener> listeners) {
    super();/* w  w  w.  jav  a  2  s  . co m*/
    this.projectName = projectName;
    this.projectUrl = projectUrl;
    this.projectFolder = projectFolder;
    this.listeners = listeners;

    // Don't watch hidden folders and files
    IOFileFilter notHiddenDirectoryFilter = FileFilterUtils.notFileFilter(FileFilterUtils.or(
            FileFilterUtils.and(FileFilterUtils.directoryFileFilter(), HiddenFileFilter.HIDDEN),
            HiddenFileFilter.HIDDEN));

    String MONITOR_PROJECTS = System.getProperty("onexus.monitor.projects");
    if (MONITOR_PROJECTS == null || Boolean.valueOf(MONITOR_PROJECTS)) {
        observer = new FileAlterationObserver(projectFolder, notHiddenDirectoryFilter);
        observer.addListener(new FileAlterationListenerAdaptor() {

            @Override
            public void onDirectoryCreate(File directory) {
                LOGGER.info("Creating folder '" + directory.getName() + "'");
                onResourceCreate(loadFile(directory));
            }

            @Override
            public void onDirectoryDelete(File directory) {
                LOGGER.info("Deleting folder '" + directory.getName() + "'");
                ORI resourceOri = convertFileToORI(directory);
                onResourceDelete(resources.remove(resourceOri));
            }

            @Override
            public void onFileChange(File file) {
                LOGGER.info("Reloading file '" + file.getName() + "'");
                onResourceChange(loadFile(file));
            }

            @Override
            public void onFileCreate(File file) {
                LOGGER.info("Creating file '" + file.getName() + "'");
                onResourceCreate(loadFile(file));
            }

            @Override
            public void onFileDelete(File file) {
                LOGGER.info("Deleting file '" + file.getName() + "'");
                ORI resourceOri = convertFileToORI(file);
                onResourceDelete(resources.remove(resourceOri));
            }

        });

        monitor.addObserver(observer);
    }

    // Initialize template engine
    try {
        freemarkerConfig.setDirectoryForTemplateLoading(projectFolder);
    } catch (IOException e) {
        LOGGER.error("At template engine configuration. Project folder: '" + projectFolder + "'", e);
        throw new RuntimeException(e);
    }

    freemarkerConfig.setObjectWrapper(new DefaultObjectWrapper());
    freemarkerConfig.setDefaultEncoding("UTF-8");
    freemarkerConfig.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
    freemarkerConfig.setIncompatibleImprovements(new Version(2, 3, 20)); // FreeMarker 2.3.20

}