Example usage for org.apache.commons.vfs2 FileChangeEvent FileChangeEvent

List of usage examples for org.apache.commons.vfs2 FileChangeEvent FileChangeEvent

Introduction

In this page you can find the example usage for org.apache.commons.vfs2 FileChangeEvent FileChangeEvent.

Prototype

public FileChangeEvent(final FileObject file) 

Source Link

Usage

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));
}