001package com.dev9.mvnwatcher.event; 002 003import com.dev9.mvnwatcher.MvnRunner; 004import com.google.common.eventbus.Subscribe; 005 006import java.util.Objects; 007 008 009public class FileChangeSubscriber implements PathEventSubscriber { 010 011 DirectoryEventWatcher dirWatcher; 012 MvnRunner runner; 013 014 public FileChangeSubscriber(DirectoryEventWatcher dirWatcher, MvnRunner runner) { 015 this.dirWatcher = Objects.requireNonNull(dirWatcher); 016 this.runner = Objects.requireNonNull(runner); 017 } 018 019 @Subscribe 020 @Override 021 public void handlePathEvents(PathEventContext pathEventContext) { 022 023 024 for (PathEvent evt : pathEventContext.getEvents()) { 025 026 if (evt.getEventTarget().getFileName().toString().indexOf(".") == 0) { 027 System.out.println("Ignoring change to path entry with a ."); 028 } else { 029 System.out.println("Noticed " + evt.getType().name() + " to " + evt.getEventTarget().getFileName()); 030 runner.changeEvent(); 031 } 032 033 //TODO add newly created directories to monitoring 034 //TODO remove deleted directories from monitoring 035 } 036 } 037 038}