Mariusz Czarnowski 3 lat temu
rodzic
commit
5d6515872c

+ 1 - 1
assira.commons/src/main/java/net/ranides/assira/io/FileObserver.java

@@ -271,9 +271,9 @@ public class FileObserver implements AutoCloseable {
     }
 
     private void cancel(Path filepath) {
-        // @todo #76 signal cancelation
         log.debug("Remove directory: " + filepath);
         directories.remove(filepath).cancel();
+        router.handleEvent(FileObserverEvent.modify(filepath));
     }
 
     private WatchEvent.Kind<?> merge(WatchEvent.Kind<?> prev, WatchEvent.Kind<?> next) {

+ 13 - 0
assira.commons/src/main/java/net/ranides/assira/io/FileObserverEvent.java

@@ -60,6 +60,10 @@ public abstract class FileObserverEvent implements Event {
         return new Delete(path);
     }
 
+    public static Cancel cancel(Path path) {
+        return new Cancel(path);
+    }
+
     /**
      * Event: create
      */
@@ -87,4 +91,13 @@ public abstract class FileObserverEvent implements Event {
         }
     }
 
+    /**
+     * Event: cancel
+     */
+    public static class Cancel extends FileObserverEvent {
+        protected Cancel(Path path) {
+            super(path);
+        }
+    }
+
 }