List of usage examples for org.apache.commons.vfs2 FileChangeEvent FileChangeEvent
public FileChangeEvent(final FileObject file)
From source file:org.apache.hadoop.gateway.topology.file.FileTopologyProviderTest.java
@Test public void testGetTopologies() throws Exception { FileObject dir = createDir("ram:///test/dir"); createFile(dir, "one.xml", "org/apache/hadoop/gateway/topology/file/topology-one.xml", 1L); TestTopologyListener topoListener = new TestTopologyListener(); FileListenerDelegator fileListener = new FileListenerDelegator(); NoOpFileMonitor monitor = new NoOpFileMonitor(fileListener); FileTopologyProvider provider = new FileTopologyProvider(monitor, dir); provider.addTopologyChangeListener(topoListener); fileListener.delegate = provider;//from www. j av a 2s . c om // Unit test "hack" to force monitor to execute. provider.reloadTopologies(); Collection<Topology> topologies = provider.getTopologies(); assertThat(topologies, notNullValue()); assertThat(topologies.size(), is(1)); Topology topology = topologies.iterator().next(); assertThat(topology.getName(), is("one")); assertThat(topology.getTimestamp(), is(1L)); assertThat(topoListener.events.size(), is(1)); topoListener.events.clear(); // Add a file to the directory. FileObject two = createFile(dir, "two.xml", "org/apache/hadoop/gateway/topology/file/topology-two.xml", 1L); fileListener.fileCreated(new FileChangeEvent(two)); topologies = provider.getTopologies(); assertThat(topologies.size(), is(2)); Set<String> names = new HashSet<String>(Arrays.asList("one", "two")); Iterator<Topology> iterator = topologies.iterator(); topology = iterator.next(); assertThat(names, hasItem(topology.getName())); names.remove(topology.getName()); topology = iterator.next(); assertThat(names, hasItem(topology.getName())); names.remove(topology.getName()); assertThat(names.size(), is(0)); assertThat(topoListener.events.size(), is(1)); List<TopologyEvent> events = topoListener.events.get(0); assertThat(events.size(), is(1)); TopologyEvent event = events.get(0); assertThat(event.getType(), is(TopologyEvent.Type.CREATED)); assertThat(event.getTopology(), notNullValue()); // Update a file in the directory. two = createFile(dir, "two.xml", "org/apache/hadoop/gateway/topology/file/topology-three.xml", 2L); fileListener.fileChanged(new FileChangeEvent(two)); topologies = provider.getTopologies(); assertThat(topologies.size(), is(2)); names = new HashSet<String>(Arrays.asList("one", "two")); iterator = topologies.iterator(); topology = iterator.next(); assertThat(names, hasItem(topology.getName())); names.remove(topology.getName()); topology = iterator.next(); assertThat(names, hasItem(topology.getName())); names.remove(topology.getName()); assertThat(names.size(), is(0)); // Remove a file from the directory. two.delete(); fileListener.fileDeleted(new FileChangeEvent(two)); topologies = provider.getTopologies(); assertThat(topologies.size(), is(1)); topology = topologies.iterator().next(); assertThat(topology.getName(), is("one")); assertThat(topology.getTimestamp(), is(1L)); }
From source file:org.bonitasoft.web.designer.livebuild.BuilderFileListenerTest.java
@Test public void should_call_build_on_file_change() throws Exception { given(builder.isBuildable(anyString())).willReturn(true); BuilderFileListener builderFileListener = new BuilderFileListener(builder, new Watcher()); File file = folder.newFile(); builderFileListener.fileChanged(new FileChangeEvent(VFS.getManager().resolveFile(file.getPath()))); verify(builder).build(file.toPath()); }
From source file:org.bonitasoft.web.designer.livebuild.BuilderFileListenerTest.java
@Test public void should_not_call_build_on_a_changing_file_filtered_by_the_extension_passed_through() throws Exception { given(builder.isBuildable(anyString())).willReturn(false); BuilderFileListener builderFileListener = new BuilderFileListener(builder, new Watcher()); File file = folder.newFile("test - file.js"); builderFileListener.fileChanged(new FileChangeEvent(VFS.getManager().resolveFile(file.getPath()))); verify(builder, never()).build(any(Path.class)); }
From source file:org.bonitasoft.web.designer.livebuild.BuilderFileListenerTest.java
@Test public void should_call_build_on_file_creation() throws Exception { given(builder.isBuildable(anyString())).willReturn(true); BuilderFileListener builderFileListener = new BuilderFileListener(builder, new Watcher()); File file = folder.newFile("test - file.js"); builderFileListener.fileChanged(new FileChangeEvent(VFS.getManager().resolveFile(file.getPath()))); verify(builder).build(file.toPath()); }
From source file:org.bonitasoft.web.designer.livebuild.BuilderFileListenerTest.java
@Test public void should_not_call_build_on_created_file_filtered_by_the_extension_passed_through() throws Exception { given(builder.isBuildable(anyString())).willReturn(false); BuilderFileListener builderFileListener = new BuilderFileListener(builder, new Watcher()); File file = folder.newFile("test - file.js"); builderFileListener.fileCreated(new FileChangeEvent(VFS.getManager().resolveFile(file.getPath()))); verify(builder, never()).build(any(Path.class)); }