final List<WatchEvent<?>> events = wk.pollEvents(); DescriptiveRunnable job = new DescriptiveRunnable() { @Override
final List<WatchEvent<?>> events = wk.pollEvents(); boolean valid = wk.reset(); if (!valid) { break;
@Override public void execute(final IOWatchServiceExecutor wsExecutor) { while (!isDisposed) { final WatchKey wk; try { wk = ws.take(); } catch (final Exception ex) { break; } try { wsExecutor.execute(wk, AbstractIOWatchService.this); } catch (final Exception ex) { LOG.error("Unexpected error during WatchService execution", ex); } // Reset the key -- this step is critical if you want to // receive further watch events. If the key is no longer valid, // the directory is inaccessible so exit the loop. boolean valid = wk.reset(); if (!valid) { break; } } }
final List<WatchEvent<?>> events = wk.pollEvents(); DescriptiveRunnable job = new DescriptiveRunnable() { @Override
final List<WatchEvent<?>> events = wk.pollEvents(); boolean valid = wk.reset(); if (!valid) { break;
@Override public void execute(final WatchKey wk, final Filter<WatchEvent<?>> filter) { final List<WatchEvent<?>> events = wk.pollEvents(); WatchContext firstContext = null;
final List<WatchEvent<?>> events = wk.pollEvents(); for (final WatchEvent<?> event : events) { final boolean created = event.kind().equals(StandardWatchEventKind.ENTRY_CREATE); if (!wk.reset()) { break;
false); List<WatchEvent<?>> watchEvents = fsDora1.poll().pollEvents(); assertEquals(3, watchEvents.size()); watchEvents = fsDora2.poll().pollEvents(); assertEquals(3, watchEvents.size()); false); watchEvents = fsDora2.poll().pollEvents(); assertEquals(3, watchEvents.size()); watchEvents = fsDora2.poll().pollEvents(); assertEquals(2, watchEvents.size()); watchEvents = fsDora1.poll().pollEvents(); assertEquals(3, watchEvents.size()); watchEvents = fsDora1.poll().pollEvents(); assertEquals(2, watchEvents.size());
false); List<WatchEvent<?>> watchEvents = fsDora1.poll().pollEvents(); assertEquals(3, watchEvents.size()); watchEvents = fsDora2.poll().pollEvents(); assertEquals(3, watchEvents.size()); false); watchEvents = fsDora2.poll().pollEvents(); assertEquals(3, watchEvents.size()); watchEvents = fsDora2.poll().pollEvents(); assertEquals(2, watchEvents.size()); watchEvents = fsDora1.poll().pollEvents(); assertEquals(3, watchEvents.size()); watchEvents = fsDora1.poll().pollEvents(); assertEquals(2, watchEvents.size());
userId, commitMessage)); when(watchKey.pollEvents()).thenReturn(events); when(filter.doFilter(any(WatchEvent.class))).thenReturn(false);
userId, commitMessage)); when(watchKey.pollEvents()).thenReturn(events); when(filter.doFilter(any(WatchEvent.class))).thenReturn(false);
final List<WatchEvent<?>> events = k.pollEvents(); for (WatchEvent object : events) { if (object.kind() == StandardWatchEventKind.ENTRY_MODIFY) {
when(watchKey.pollEvents()).thenReturn(events); when(filter.doFilter(any(WatchEvent.class))).thenReturn(false);
final List<WatchEvent<?>> events = k.pollEvents(); for (WatchEvent object : events) { if (object.kind() == StandardWatchEventKind.ENTRY_MODIFY) {
when(watchKey.pollEvents()).thenReturn(events); when(filter.doFilter(any(WatchEvent.class))).thenReturn(false);
@Test public void simpleWatcherTest() { final Path init = ioService.get(URI.create("git://amend-repo-test/dora1.txt")); final WatchService ws = init.getFileSystem().newWatchService(); ioService.write(init, "init!"); { List<WatchEvent<?>> events = ws.poll().pollEvents(); WatchEvent.Kind<?> kind = events.get(0).kind(); assertEquals(kind.name(), StandardWatchEventKind.ENTRY_CREATE.name()); assertEquals(1, events.size()); } ioService.write(init, "init 2!"); { List<WatchEvent<?>> events = ws.poll().pollEvents(); WatchEvent.Kind<?> kind = events.get(0).kind(); assertEquals(kind.name(), StandardWatchEventKind.ENTRY_MODIFY.name()); assertEquals(1, events.size()); } } }
@Test public void simpleWatcherTest() { final Path init = ioService.get(URI.create("git://amend-repo-test/dora1.txt")); final WatchService ws = init.getFileSystem().newWatchService(); ioService.write(init, "init!"); { List<WatchEvent<?>> events = ws.poll().pollEvents(); WatchEvent.Kind<?> kind = events.get(0).kind(); assertEquals(kind.name(), StandardWatchEventKind.ENTRY_CREATE.name()); assertEquals(1, events.size()); } ioService.write(init, "init 2!"); { List<WatchEvent<?>> events = ws.poll().pollEvents(); WatchEvent.Kind<?> kind = events.get(0).kind(); assertEquals(kind.name(), StandardWatchEventKind.ENTRY_MODIFY.name()); assertEquals(1, events.size()); } } }
"message1")); List<WatchEvent<?>> events = ws.poll().pollEvents(); assertEquals(1, events.size()); List<WatchEvent<?>> events = ws.poll().pollEvents(); assertEquals(1, events.size()); List<WatchEvent<?>> events = ws.poll().pollEvents(); assertEquals(1, events.size()); List<WatchEvent<?>> events = ws.poll().pollEvents();
@Test public void deleteOnBatchEventShouldKeepUserInfo() { final Path init = ioService.get(URI.create("git://amend-repo-test/file.txt")); final WatchService ws = init.getFileSystem().newWatchService(); String user = "dora"; String message = "message"; ioService.write(init, "init!", new CommentedOption(user, message)); { List<WatchEvent<?>> events = ws.poll().pollEvents(); } ioService.startBatch(init.getFileSystem()); ioService.delete(init, new CommentedOption(user, message)); ioService.endBatch(); { List<WatchEvent<?>> events = ws.poll().pollEvents(); JGitWatchEvent event = (JGitWatchEvent) events.get(0); WatchContext context = (WatchContext) event.context(); assertEquals(user, context.getUser()); } }
@Test public void deleteOnBatchEventShouldKeepUserInfo() { final Path init = ioService.get(URI.create("git://amend-repo-test/file.txt")); final WatchService ws = init.getFileSystem().newWatchService(); String user = "dora"; String message = "message"; ioService.write(init, "init!", new CommentedOption(user, message)); { List<WatchEvent<?>> events = ws.poll().pollEvents(); } ioService.startBatch(init.getFileSystem()); ioService.delete(init, new CommentedOption(user, message)); ioService.endBatch(); { List<WatchEvent<?>> events = ws.poll().pollEvents(); JGitWatchEvent event = (JGitWatchEvent) events.get(0); WatchContext context = (WatchContext) event.context(); assertEquals(user, context.getUser()); } }