@Test
public void testResourceMonitorDirectoryWindows() throws Exception
{
Assume.assumeTrue("FORGE-1679", OperatingSystemUtils.isWindows());
File tempDir = OperatingSystemUtils.createTempDir();
DirectoryResource tempDirResource = resourceFactory.create(DirectoryResource.class, tempDir);
monitor = resourceFactory.monitor(tempDirResource);
final Set<ResourceEvent> eventCollector = new LinkedHashSet<>();
monitor.addResourceListener(new ResourceListener()
{
@Override
public void processEvent(ResourceEvent event)
{
eventCollector.add(event);
}
});
final DirectoryResource childDir = tempDirResource.getChildDirectory("child_dir");
waitForMonitor(new Callable<Void>()
{
@Override
public Void call() throws Exception
{
// NEW EVENT: ResourceCreated
childDir.mkdir();
return null;
}
}, new Callable<Boolean>()
{
@Override
public Boolean call() throws Exception
{
return eventCollector.size() == 1;
}
}, 5, TimeUnit.SECONDS);
final FileResource<?> childFile = childDir.getChild("child_file.txt").reify(FileResource.class);
waitForMonitor(new Callable<Void>()
{
@Override
public Void call() throws Exception