Example usage for org.apache.commons.io.monitor FileAlterationMonitor addObserver

List of usage examples for org.apache.commons.io.monitor FileAlterationMonitor addObserver

Introduction

In this page you can find the example usage for org.apache.commons.io.monitor FileAlterationMonitor addObserver.

Prototype

public void addObserver(final FileAlterationObserver observer) 

Source Link

Document

Add a file system observer to this monitor.

Usage

From source file:eu.optimis.ics.p2p.MyFileAlterationObserver.java

public static void main(String[] args) throws Exception {
    System.out.println("Present Working Directory is : " + System.getProperty("user.dir"));
    File directory = new File(System.getProperty("user.dir") + "/data");

    IOFileFilter files = FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
            FileFilterUtils.suffixFileFilter(".txt"));

    FileAlterationObserver observer = new FileAlterationObserver(directory, files);
    observer.initialize();//from w  ww  .  jav  a  2 s  .c  o m

    // Add Listener
    MyFileAlterationListener listener = new MyFileAlterationListener();
    observer.addListener(listener);

    FileAlterationMonitor monitor = new FileAlterationMonitor(1000, observer);
    monitor.addObserver(observer);

    monitor.start();

}

From source file:com.ctt.client.Client.java

public static void main(String[] args) throws Exception {

    Client.prop = new Properties();
    FileReader reader = new FileReader("../config.properties");
    Client.prop.load(reader);/*from w w w.  j  a va  2s  .  co m*/

    String directory = Client.prop.getProperty("directory");

    FilesMonitor listener = new FilesMonitor();
    File folder = new File(directory);

    try {
        FileAlterationObserver observer = new FileAlterationObserver(directory);
        FileAlterationMonitor monitor = new FileAlterationMonitor(1000);
        observer.addListener(listener);
        monitor.addObserver(observer);
        monitor.start();
    } catch (Exception io) {
    }
}

From source file:com.ctt.sshlistener.Main.java

public static void main(String[] args) throws Exception {

    Main.prop = new Properties();
    FileReader reader = new FileReader("../config.properties");
    Main.prop.load(reader);/*from   w ww . j a  v a  2 s. c o m*/

    String directory = Main.prop.getProperty("directory");

    FilesMonitor listener = new FilesMonitor();
    File folder = new File(directory);

    try {
        FileAlterationObserver observer = new FileAlterationObserver(directory);
        FileAlterationMonitor monitor = new FileAlterationMonitor(10000);
        observer.addListener(listener);
        monitor.addObserver(observer);
        monitor.start();
    } catch (Exception io) {
    }
}

From source file:com.prototype.utils.IndexChangeMonitorUtil.java

/**
 * The indexing monitoring thread/*from  w ww. j a  v  a2 s .c o m*/
 * 
 * @param client
 *            StompMessageClient used for routing messages to a subscribed
 *            endpoint
 * 
 * @throws Exception
 */
public static FileAlterationMonitor monitorSolr(StompMessageClient client) throws Exception {
    File directory = new File(AppConstants.INDEX_FOLDER);

    // Create an instance of a FileAlterationObserver that is given a
    // SolrIndexFileFilter.
    FileAlterationObserver observer = new FileAlterationObserver(directory, new SolrIndexFileFilter());

    // Add a IndexChangeListenerImpl that has a reference to an instance of
    // a StompMessageClient. The listener is invoked when an index change event happens, 
    // and uses StompMessageClient to send a message to a Websocket topic endpoint.
    observer.addListener(new IndexChangeListenerImpl(client));

    FileAlterationMonitor monitor = new FileAlterationMonitor(AppConstants.POLL_INTERVAL);

    // The FileAlterationObserver will observe file alterations and then
    // invoke the IndexChangeListenerImpl
    monitor.addObserver(observer);

    // Start the FileAlterationMonitor thread
    monitor.start();

    LOGGER.info("monitorSolr() The FileAlterationMonitor thread was started");

    return monitor;
}

From source file:io.fabric8.vertx.maven.plugin.FileFilterMain.java

private static FileAlterationMonitor fileWatcher(Set<Path> inclDirs) {
    FileAlterationMonitor monitor = new FileAlterationMonitor(1000);

    inclDirs.forEach(path -> {//from  w w w  . j av a  2  s . c om
        System.out.println("Adding Observer to " + path.toString());
        FileAlterationObserver observer = new FileAlterationObserver(path.toFile());
        observer.addListener(new FileAlterationListenerAdaptor() {
            @Override
            public void onFileCreate(File file) {
                System.out.println("File Create:" + file.toString());
            }

            @Override
            public void onFileChange(File file) {
                System.out.println("File Change:" + file.toString());
            }

            @Override
            public void onFileDelete(File file) {
                System.out.println("File Delete:" + file.toString());
            }

        });
        monitor.addObserver(observer);
    });

    return monitor;

}

From source file:jai.file.utils.FileMonitorTest.java

private void sample() {
    System.out.println("begin sample-> observer=" + FILE_TO_MONITOR);
    File directory = new File(FILE_TO_MONITOR);
    if (directory.exists()) {
        FileAlterationObserver observer = new FileAlterationObserver(directory);
        observer.addListener(new FAListener());

        long interval = 1000;
        FileAlterationMonitor monitor = new FileAlterationMonitor(interval);
        monitor.addObserver(observer);
        try {//from  w ww. j a va  2s . c om
            monitor.start();
            // monitor.stop();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else {
        System.out.println("Path " + FILE_TO_MONITOR + " does not exist.");
    }

}

From source file:com.cloudera.gertrude.file.FileExperimentSpaceLoader.java

private FileAlterationMonitor getMonitor(long pollIntervalMillis) {
    FileAlterationObserver observer = new FileAlterationObserver(dataFile.getParentFile(), new FileFilter() {
        @Override//from w  w w. j  a v a 2s  .c o  m
        public boolean accept(File file) {
            return dataFile.equals(file);
        }
    });

    observer.addListener(new FileAlterationListenerAdaptor() {
        @Override
        public void onFileChange(File file) {
            file.setLastModified(System.currentTimeMillis());
            reload(false);
        }
    });
    FileAlterationMonitor m = new FileAlterationMonitor(pollIntervalMillis);
    m.addObserver(observer);
    return m;
}

From source file:it.univaq.disim.connectorOTF.utils.FileMonitor.java

public void monitor(String path) throws Exception {
    // The monitor will perform polling on the folder every 5 seconds
    final long pollingInterval = 5 * 1000;

    File folder = new File(FOLDER);

    if (!folder.exists()) {
        // Test to see if monitored folder exists
        throw new RuntimeException("Directory not found: " + FOLDER);
    }/*from   ww  w.jav a2  s .c  om*/

    FileAlterationObserver observer = new FileAlterationObserver(folder);
    FileAlterationMonitor monitor = new FileAlterationMonitor(pollingInterval);
    FileAlterationListener listener = new SpringAlterationListener();

    observer.addListener(listener);
    monitor.addObserver(observer);
    monitor.start();
}

From source file:com.japp.FtpConfigTest.java

@Test
public void fTPClientPushTest() throws Exception {

    FileAlterationObserver observer = new FileAlterationObserver(folder);
    FileAlterationMonitor monitor = new FileAlterationMonitor(pollingInterval);

    observer.addListener(listener);//ww w.ja va 2 s.c  o m
    monitor.addObserver(observer);
    monitor.start();

}

From source file:de.jakusys.jackhammer.cli.upload.command.WatchCommand.java

@Override
public void run() {

    if (!directory.exists()) {
        System.out.println(/*from  w  w  w  .  j a va 2s .  c o m*/
                "Cannot watch directory " + directory.getPath() + ". The specified path could not be found.");
        return;
    }

    Node node;
    try {

        String tmp = rootPath;
        if (rootPath.startsWith("/"))
            tmp = rootPath.substring(1);

        if ("".equals(tmp)) {
            node = session.getRootNode();
        } else {
            node = session.getRootNode().getNode(tmp);
        }
    } catch (RepositoryException e) {
        throw new RuntimeException("Unable to get node", e);
    }

    final DefaultFileHandlerFactory fileHandlerFactory = new DefaultFileHandlerFactory(
            new PathRelativizer(directory));

    final EventBus eventBus = new EventBus();
    eventBus.register(new LoggingEventListener(new Path(rootPath)));
    eventBus.register(new UploadingEventListener(fileHandlerFactory, session, node));

    final FileAlterationObserver observer = new FileAlterationObserver(directory);
    final FileAlterationMonitor monitor = new FileAlterationMonitor(1000);

    PathRelativizer pathRelativizer = new PathRelativizer(directory);

    FileAlterationListener listener = new JackhammerFileAlternationListener(eventBus, pathRelativizer);

    observer.addListener(listener);

    monitor.addObserver(observer);
    try {
        System.out.println(
                "Watching " + directory.getCanonicalPath() + " and uploading changes to " + node.getPath());
        monitor.start();

    } catch (Exception e) {
        throw new RuntimeException("Unable to monitor files", e);
    }
}