List of usage examples for org.apache.commons.io.monitor FileAlterationObserver FileAlterationObserver
protected FileAlterationObserver(FileEntry rootEntry, FileFilter fileFilter, IOCase caseSensitivity)
From source file:com.hj.blog.common.utils.SensitiveWordMonitor.java
public void monitor(String directory, int interval) { FileAlterationObserver fileAlterationObserver = new FileAlterationObserver(directory, FileFilterUtils.and(FileFilterUtils.nameFileFilter(SENSITIVE_WORD_FILE_NAME)), null); fileAlterationObserver.addListener(this); FileAlterationMonitor fileAlterationMonitor = new FileAlterationMonitor(interval, fileAlterationObserver); try {//from ww w . j av a2 s . c o m fileAlterationMonitor.start(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.moneydance.modules.features.importlist.io.FileAdmin.java
private void setFileMonitorToCurrentImportDir() { if (this.getBaseDirectory() == null) { return;/* w ww .j a va 2s. c om*/ } this.observer = new FileAlterationObserver(this.getBaseDirectory(), this.readableFileFilter, IOCase.SYSTEM); this.observer.addListener(this.listener); this.monitor.addObserver(this.observer); }
From source file:org.cytoscape.app.internal.manager.AppManager.java
private void setupAlterationMonitor() { // Set up the FileAlterationMonitor to install/uninstall apps when apps are moved in/out of the // installed/uninstalled app directories fileAlterationMonitor = new FileAlterationMonitor(2000L); File installedAppsPath = new File(getInstalledAppsPath()); FileAlterationObserver installAlterationObserver = new FileAlterationObserver(installedAppsPath, new SingleLevelFileFilter(installedAppsPath), IOCase.SYSTEM); final AppManager appManager = this; // Listen for events on the "installed apps" folder installAlterationObserver.addListener(new FileAlterationListenerAdaptor() { @Override//from w w w.j a v a 2 s.com public void onFileCreate(File file) { App parsedApp = null; try { parsedApp = appParser.parseApp(file); } catch (AppParsingException e) { return; } App registeredApp = null; for (App app : apps) { if (parsedApp.heuristicEquals(app)) { registeredApp = app; // Delete old file if it was still there File oldFile = registeredApp.getAppFile(); if (oldFile.exists() && !registeredApp.getAppFile().equals(parsedApp.getAppFile())) { FileUtils.deleteQuietly(oldFile); } // Update file reference to reflect file having been moved registeredApp.setAppFile(file); } } try { if (registeredApp == null) { apps.add(parsedApp); parsedApp.install(appManager); } else { registeredApp.install(appManager); } } catch (AppInstallException e) { logger.warn(e.getLocalizedMessage()); } fireAppsChangedEvent(); } @Override public void onFileChange(File file) { // Can treat file replacements/changes as old file deleted, new file added this.onFileDelete(file); this.onFileCreate(file); fireAppsChangedEvent(); } @Override public void onFileDelete(File file) { // System.out.println(file + " on delete"); DebugHelper.print(this + " installObserverDelete", file.getAbsolutePath() + " deleted."); for (App app : apps) { if (app.getAppFile().equals(file)) { app.setStatus(AppStatus.FILE_MOVED); } } fireAppsChangedEvent(); } }); FileAlterationObserver disableAlterationObserver = new FileAlterationObserver(getDisabledAppsPath(), new SingleLevelFileFilter(new File(getDisabledAppsPath())), IOCase.SYSTEM); // Listen for events on the "disabled apps" folder disableAlterationObserver.addListener(new FileAlterationListenerAdaptor() { @Override public void onFileCreate(File file) { App parsedApp = null; try { parsedApp = appParser.parseApp(file); } catch (AppParsingException e) { logger.warn(e.getLocalizedMessage()); return; } DebugHelper.print(this + " disableObserver Create", parsedApp.getAppName() + " parsed"); App registeredApp = null; for (App app : apps) { if (parsedApp.heuristicEquals(app)) { registeredApp = app; // Delete old file if it was still there // TODO: Possible rename from filename-2 to filename? File oldFile = registeredApp.getAppFile(); if (oldFile.exists() && !registeredApp.getAppFile().equals(parsedApp.getAppFile())) { DebugHelper.print(this + " disableObserverCreate", registeredApp.getAppName() + " moved from " + registeredApp.getAppFile().getAbsolutePath() + " to " + parsedApp.getAppFile().getAbsolutePath() + ". deleting: " + oldFile); FileUtils.deleteQuietly(oldFile); } // Update file reference to reflect file having been moved registeredApp.setAppFile(file); } } try { if (registeredApp == null) { apps.add(parsedApp); parsedApp.disable(appManager); } else { registeredApp.disable(appManager); } fireAppsChangedEvent(); } catch (AppDisableException e) { } // System.out.println(file + " on create"); } @Override public void onFileChange(File file) { // Can treat file replacements/changes as old file deleted, new file added this.onFileDelete(file); this.onFileCreate(file); fireAppsChangedEvent(); } @Override public void onFileDelete(File file) { // System.out.println(file + " on delete"); DebugHelper.print(this + " disableObserverDelete", file.getAbsolutePath() + " deleted."); for (App app : apps) { // System.out.println("checking " + app.getAppFile().getAbsolutePath()); if (app.getAppFile().equals(file)) { // System.out.println(app + " moved"); app.setStatus(AppStatus.FILE_MOVED); } } fireAppsChangedEvent(); } }); FileAlterationObserver uninstallAlterationObserver = new FileAlterationObserver(getUninstalledAppsPath(), new SingleLevelFileFilter(new File(getUninstalledAppsPath())), IOCase.SYSTEM); // Listen for events on the "uninstalled apps" folder uninstallAlterationObserver.addListener(new FileAlterationListenerAdaptor() { @Override public void onFileCreate(File file) { App parsedApp = null; try { parsedApp = appParser.parseApp(file); } catch (AppParsingException e) { return; } DebugHelper.print(this + " uninstallObserverCreate", parsedApp.getAppName() + " parsed"); App registeredApp = null; for (App app : apps) { if (parsedApp.heuristicEquals(app)) { registeredApp = app; // Delete old file if it was still there // TODO: Possible rename from filename-2 to filename? File oldFile = registeredApp.getAppFile(); if (oldFile.exists() && !registeredApp.getAppFile().equals(parsedApp.getAppFile())) { DebugHelper.print(this + " uninstallObserverCreate", registeredApp.getAppName() + " moved from " + registeredApp.getAppFile().getAbsolutePath() + " to " + parsedApp.getAppFile().getAbsolutePath() + ". deleting: " + oldFile); FileUtils.deleteQuietly(oldFile); } // Update file reference to reflect file having been moved registeredApp.setAppFile(file); } } try { // Checks if the app file moved here belonged to a known app, if so, uninstall it. if (registeredApp == null) { apps.add(parsedApp); parsedApp.uninstall(appManager); } else { registeredApp.uninstall(appManager); } fireAppsChangedEvent(); } catch (AppUninstallException e) { } // System.out.println(file + " on create"); } @Override public void onFileChange(File file) { // Can treat file replacements/changes as old file deleted, new file added this.onFileDelete(file); this.onFileCreate(file); fireAppsChangedEvent(); } @Override public void onFileDelete(File file) { // System.out.println(file + " on delete"); DebugHelper.print(this + " uninstallObserverDelete", file.getAbsolutePath() + " deleted."); for (App app : apps) { // System.out.println("checking " + app.getAppFile().getAbsolutePath()); if (app.getAppFile().equals(file)) { // System.out.println(app + " moved"); app.setStatus(AppStatus.FILE_MOVED); } } fireAppsChangedEvent(); } }); // setupKarafDeployMonitor(fileAlterationMonitor); try { installAlterationObserver.initialize(); fileAlterationMonitor.addObserver(installAlterationObserver); disableAlterationObserver.initialize(); fileAlterationMonitor.addObserver(disableAlterationObserver); uninstallAlterationObserver.initialize(); fileAlterationMonitor.addObserver(uninstallAlterationObserver); fileAlterationMonitor.start(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }