summaryrefslogtreecommitdiff
path: root/src/main/java/io/skas/melbjvm/nio2/App.java
blob: f6b986ae4677deab12465dd960a9aea5a1ae402c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package io.skas.melbjvm.nio2;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
 * @author Szymon Szukalski [szymon.szukalski@gmail.com]
 */
public class App {

    public static final Logger LOG = LoggerFactory.getLogger(App.class);

    public static void main(String[] args) throws IOException {

        final Path path = Paths.get("/tmp", "monkeys");

        if (Files.exists(path, LinkOption.NOFOLLOW_LINKS)) {

            Nio2MetaDataLoggingUtils.logFileStoreAttributes(path);
            Nio2MetaDataLoggingUtils.logBasicFileAttributes(path);
            Nio2MetaDataLoggingUtils.logDosFileAttributes(path);
            Nio2MetaDataLoggingUtils.logPosixFileAttributes(path);
            Nio2MetaDataLoggingUtils.logFileOwnerAttributes(path);

            Watcher watcher = new Watcher();

            try {
                watcher.watchDirectory(path);
            } catch (IOException | InterruptedException ex) {
                LOG.error(ex.getMessage());
            }

        } else {

            LOG.error("Path {} doesn't exist. Exiting", path);

        }
    }
}