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

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

Introduction

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

Prototype

public FileAlterationMonitor(long interval) 

Source Link

Document

Construct a monitor with the specified interval.

Usage

From source file:ddf.security.pdp.realm.xacml.processor.PollingPolicyFinderModule.java

private void initialize(long pollingInterval) {
    LOGGER.debug("initializing polling: {}, every {}", xacmlPolicyDirectories, pollingInterval);
    monitor = new FileAlterationMonitor(pollingInterval * MULTIPLIER);

    for (String xacmlPolicyDirectory : xacmlPolicyDirectories) {
        File directoryToMonitor = new File(xacmlPolicyDirectory);
        FileAlterationObserver observer = new FileAlterationObserver(directoryToMonitor, getXmlFileFilter());
        observer.addListener(this);
        monitor.addObserver(observer);//from ww w . j ava 2  s .c  o  m
        LOGGER.debug("Monitoring directory: " + directoryToMonitor);
    }
}

From source file:com.lxd.client.monitor.MonitorDir.java

private void fileWatch() {
    //?  /*www.java2  s.  c  om*/
    FileAlterationMonitor monitor = new FileAlterationMonitor(Define.SCANNING); //??
    //  
    FileAlterationObserver observer = new FileAlterationObserver(new File(filePath));

    ///< ??
    observer.addListener(new AdamFileListener());
    ///< ??
    monitor.addObserver(observer);
    try {
        monitor.start();
    } catch (Exception e) {
        e.printStackTrace();
    }

    ///< ??
    MonitorMsg msg = null;
    while ((msg = ClientResource.getSingleton().takeMonitorMsg()) != null) {
        if (msg.getStart() == 0 || msg.getStart() <= System.currentTimeMillis()) {
            ///< ?
            if (msg.getStart() == 0 && msg.getType() == Type.UPDATE) {
                ///< , ??, ?
                msg.setStart(System.currentTimeMillis() + Define.UPDATETIME);
                ClientResource.getSingleton().submitMonitorMsg(msg);
            } else {
                ///< ??
                if (msg.getType() == Type.DELETE || fileCanRead(msg.getFile())) {
                    ///< 
                    if (msg.getType() == Type.ADD
                            && msg.getState().equals(com.lxd.client.monitor.MonitorMsg.State.BEGIN)) {
                        msg.setStart(System.currentTimeMillis() + Define.CREATEFILETIME);
                        msg.setState(com.lxd.client.monitor.MonitorMsg.State.ACCESS);
                        ClientResource.getSingleton().submitMonitorMsg(msg);
                        continue;
                    }
                    msg = ClientResource.getSingleton().reviseMsg(msg);
                    msgPacking(msg);
                } else {

                    log.info("" + msg.getFile() + ", ?");
                    msg.setStart(System.currentTimeMillis() + Define.ERRORTIME);
                    ClientResource.getSingleton().submitMonitorMsg(msg);
                }
            }
        } else {
            ///< ??
            ClientResource.getSingleton().submitMonitorMsg(msg);
            try {
                ///< ??, , ?
                log.info("" + msg.getFile() + ", ?");
                sleep(Define.SLEEPTIME);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

From source file:ddf.security.pdp.xacml.processor.PollingPolicyFinderModule.java

private void initialize(Set<String> xacmlPolicyDirectories, long pollingInterval) {
    LOGGER.debug("initializing polling: {}, every {}", xacmlPolicyDirectories, pollingInterval);
    monitor = new FileAlterationMonitor(pollingInterval * MULTIPLIER);

    Iterator<String> iterator = xacmlPolicyDirectories.iterator();

    while (iterator.hasNext()) {
        File directoryToMonitor = new File(iterator.next());
        FileAlterationObserver observer = new FileAlterationObserver(directoryToMonitor, getXmlFileFilter());
        observer.addListener(this);
        monitor.addObserver(observer);// w  ww  .  ja va2  s. com
        LOGGER.debug("Monitoring directory: " + directoryToMonitor);
    }
}

From source file:com.owncloud.android.services.observer.InstantUploadsObserverBasedOnCommonsIOFileMonitor.java

public InstantUploadsObserverBasedOnCommonsIOFileMonitor(InstantUploadsConfiguration configuration,
        Context context) {/*  ww w  . j  a  v a  2  s .c  o  m*/

    super(configuration.getSourcePath());

    if (context == null) {
        throw new IllegalArgumentException("NULL context argument received");
    }

    mConfiguration = configuration;
    mContext = context;
    mInstantUploadsHandler = new InstantUploadsHandler();

    mMonitor = new FileAlterationMonitor(POLL_PERIOD_IN_MS); // TODO some reasonable period
}

From source file:edu.fullerton.framemonitor.FrameMonitor.java

public FrameMonitor() {
    // init the predefined queues and plots
    watchQueDefn = new ArrayList<>();

    watchQueDefn.add(new PlotQueDefn("H1_darm", "H-H1_llhoft", "/dev/shm/llhoft/H1"));
    watchQueDefn.add(new PlotQueDefn("L1_darm", "L-L1_llhoft", "/dev/shm/llhoft/L1"));
    watchQueDefn.add(new PlotQueDefn("V1_darm", "V-V1_llhoft", "/dev/shm/llhoft/V1"));
    watchQueDefn.add(new PlotQueDefn("H1_detchar", "H-H1_lldetchar", "/dev/shm/lldetchar/H1"));

    listenQueDefn = new ArrayList<>();

    listenQueDefn.add(new PlotQueDefn("L1_raw", "L-L1_R", "/archive/frames/A6/L0/L1/L-L1_R-10947"));
    listenQueDefn.add(new PlotQueDefn("H1_raw", "H-H1_R", "/archive/frames/A6/L0/H1/H-H1_R-10947"));
    listenQueDefn.add(new PlotQueDefn("H1_sensmon", "SenseMonitor_CAL_H1",
            "/archive/frames/dmt/H1/trends/SenseMonitor_CAL_H1/H-M-1094"));
    listenQueDefn.add(new PlotQueDefn("L1_sensmon", "SenseMonitor_CAL_L1",
            "/archive/frames/dmt/L1/trends/SenseMonitor_CAL_L1/L-M-1094/"));

    watchers = new ArrayList<>();
    processors = new ArrayList<>();

    monitor = new FileAlterationMonitor(pollingInterval);
}

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  ww  w . j  a v  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);//from   w ww.j a va  2 s .c o  m
        try {
            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:de.jakusys.jackhammer.cli.upload.command.WatchCommand.java

@Override
public void run() {

    if (!directory.exists()) {
        System.out.println(/*from w  w  w  .j av a  2 s.  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);
    }
}

From source file:com.amazonaws.eclipse.core.accounts.profiles.SdkCredentialsFileContentMonitor.java

public SdkCredentialsFileContentMonitor(File target, long pollingIntervalInMillis,
        FileAlterationListener listener) {

    _target = target;/*  w w w .  j  a v  a  2 s  .  c o m*/

    // IllegalArgumentException is expected if target.getParentFile == null
    _observer = new FileAlterationObserver(target.getParentFile(), new FileFilter() {
        public boolean accept(File file) {
            return file.equals(_target);
        }
    });

    _monitor = new FileAlterationMonitor(pollingIntervalInMillis);
    _listener = listener;

    _observer.addListener(_listener);
    _monitor.addObserver(_observer);

    // Use daemon thread to avoid thread leakage
    _monitor.setThreadFactory(new ThreadFactory() {
        public Thread newThread(Runnable runnable) {
            Thread t = new Thread(runnable);
            t.setDaemon(true);
            t.setName("aws-credentials-file-monitor-thread");
            return t;
        }
    });
}

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);//from ww w  .j  av a2s  .co  m
    monitor.addObserver(observer);
    monitor.start();

}