for (Event event : notification.events()) { if (!notification.getPath().equals(event.getPath())) { changedInternal( Kind.ENTRY_DELETE, notification.getTimestamp(), notification.events())); for (Event event : notification.events()) { if (!notification.getPath().equals(event.getPath())) { createdParents.add(event.getPath()); isCreate ? Kind.ENTRY_CREATE : Kind.ENTRY_MODIFY, notification.getTimestamp(), relative(notification.events(), path)));
assertEquals(Kind.ENTRY_MODIFY, dirEvent.get().getKind()); assertEquals("DirB", dirEvent.get().getPath()); assertEquals(2, dirEvent.get().events().size()); assertEquals(Kind.ENTRY_CREATE, dirEvent.get().events().get(0).getKind()); assertEquals("DirNew/FileNew", dirEvent.get().events().get(0).getPath()); assertEquals(Kind.ENTRY_CREATE, dirEvent.get().events().get(1).getKind()); assertEquals("DirNew", dirEvent.get().events().get(1).getPath());
assertEquals(1, n.events().size()); Event e = n.events().get(0); assertEquals(Kind.ENTRY_MODIFY, e.getKind()); assertEquals("FileB", e.getPath()); assertEquals(Kind.ENTRY_MODIFY, n.getKind()); assertEquals(Paths.BASE, n.getPath()); e = n.events().get(0); assertEquals(Kind.ENTRY_DELETE, e.getKind()); assertEquals("FileA", e.getPath()); assertEquals(Kind.ENTRY_MODIFY, n.getKind()); assertEquals(Paths.BASE, n.getPath()); e = n.events().get(0); assertEquals(Kind.ENTRY_CREATE, e.getKind()); assertEquals("FileA", e.getPath());
@Test public void fileEvents() throws Exception { File fileD = Paths.toFile(store.baseDirectory, "DirC/FileD"); AwaitResourceListener listener = new AwaitResourceListener(); store.get("DirC/FileD").addListener(listener); store.watcher.schedule(30, TimeUnit.MILLISECONDS); long before = fileD.lastModified(); long after = touch(fileD); assertTrue("touched", after > before); ResourceNotification n = listener.await(5, TimeUnit.SECONDS); assertNotNull("detected event", n); assertEquals("file modified", Kind.ENTRY_MODIFY, n.getKind()); assertTrue("Resource only", n.events().isEmpty()); listener.reset(); fileD.delete(); n = listener.await(5, TimeUnit.SECONDS); assertEquals("file removed", Kind.ENTRY_DELETE, n.getKind()); listener.reset(); fileD.createNewFile(); n = listener.await(5, TimeUnit.SECONDS); assertEquals("file created", Kind.ENTRY_CREATE, n.getKind()); store.get("DirC/FileD").removeListener(listener); } /**
@Override public void changed(ResourceNotification notify) { for (Event event : notify.events()) { if (event.getKind() == ResourceNotification.Kind.ENTRY_DELETE && event.getPath().equals(resource.name())) { // clean up deleted resources expanded.remove(resource.path()); } } } }
@Override public void changed(ResourceNotification notify) { for (Event event : notify.events()) { final String repoId;
assertEquals(1, n.events().size()); Event e = n.events().get(0); assertEquals(Kind.ENTRY_MODIFY, e.getKind()); assertEquals("FileB", e.getPath()); assertEquals(Kind.ENTRY_MODIFY, n.getKind()); assertEquals(Paths.BASE, n.getPath()); e = n.events().get(0); assertEquals(Kind.ENTRY_DELETE, e.getKind()); assertEquals("FileA", e.getPath()); assertEquals(Kind.ENTRY_MODIFY, n.getKind()); assertEquals(Paths.BASE, n.getPath()); e = n.events().get(0); assertEquals(Kind.ENTRY_CREATE, e.getKind()); assertEquals("FileA", e.getPath());
@Test public void fileEvents() throws Exception { File fileD = Paths.toFile(store.baseDirectory, "DirC/FileD"); AwaitResourceListener listener = new AwaitResourceListener(); store.get("DirC/FileD").addListener(listener); store.watcher.schedule(30, TimeUnit.MILLISECONDS); long before = fileD.lastModified(); long after = touch(fileD); assertTrue("touched", after > before); ResourceNotification n = listener.await(5, TimeUnit.SECONDS); assertNotNull("detected event", n); assertEquals("file modified", Kind.ENTRY_MODIFY, n.getKind()); assertTrue("Resource only", n.events().isEmpty()); listener.reset(); fileD.delete(); n = listener.await(5, TimeUnit.SECONDS); assertEquals("file removed", Kind.ENTRY_DELETE, n.getKind()); listener.reset(); fileD.createNewFile(); n = listener.await(5, TimeUnit.SECONDS); assertEquals("file created", Kind.ENTRY_CREATE, n.getKind()); store.get("DirC/FileD").removeListener(listener); } /**
assertEquals(1, listener.getNotify().events().size()); long timeStamp = listener.getNotify().getTimestamp(); assertTrue(timeStamp > before); assertEquals(1, listener.getNotify().events().size()); assertNotNull(listener.getNotify()); assertEquals(Kind.ENTRY_CREATE, listener.getNotify().getKind()); assertEquals(1, listener.getNotify().events().size());
assertEquals(1, listener.getNotify().events().size()); assertEquals("DirC", listener.getNotify().getPath()); long timeStamp = listener.getNotify().getTimestamp(); assertTrue(timeStamp > before); Event e = listener.getNotify().events().get(0); assertEquals(Kind.ENTRY_MODIFY, e.getKind()); assertEquals("DirC/FileD", e.getPath()); assertEquals(1, listener.getNotify().events().size()); assertEquals(Paths.BASE, listener.getNotify().getPath()); e = listener.getNotify().events().get(0); assertEquals(Kind.ENTRY_DELETE, e.getKind()); assertEquals("FileA", e.getPath()); assertEquals(1, listener.getNotify().events().size()); assertEquals(Paths.BASE, listener.getNotify().getPath()); e = listener.getNotify().events().get(0); assertEquals(Kind.ENTRY_CREATE, e.getKind()); assertEquals("FileA", e.getPath());