From 70f9ac229c91fc281fd685a69b0f46cf79ff9e2c Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Wed, 6 Sep 2023 13:34:58 +0200 Subject: [PATCH] replace `WindowsUtil` with `OS` enum --- .../org/cryptomator/frontend/fuse/OS.java | 32 +++++++++++++++++++ .../frontend/fuse/ReadWriteAdapter.java | 2 +- .../frontend/fuse/WindowsUtil.java | 10 ------ 3 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 src/main/java/org/cryptomator/frontend/fuse/OS.java delete mode 100644 src/main/java/org/cryptomator/frontend/fuse/WindowsUtil.java diff --git a/src/main/java/org/cryptomator/frontend/fuse/OS.java b/src/main/java/org/cryptomator/frontend/fuse/OS.java new file mode 100644 index 0000000..a39f884 --- /dev/null +++ b/src/main/java/org/cryptomator/frontend/fuse/OS.java @@ -0,0 +1,32 @@ +package org.cryptomator.frontend.fuse; + +enum OS { + LINUX, + MAC, + WINDOWS, + UNKNOWN; + + private static String osName() { + class Holder { + private static final String OS_NAME = System.getProperty("os.name", "").toLowerCase(); + } + return Holder.OS_NAME; + } + + public static OS current() { + var name = osName(); + if (name.contains("linux")) { + return LINUX; + } else if (name.contains("mac")) { + return MAC; + } else if (name.contains("windows")) { + return WINDOWS; + } else { + return UNKNOWN; + } + } + + public boolean isCurrent() { + return equals(OS.current()); + } +} \ No newline at end of file diff --git a/src/main/java/org/cryptomator/frontend/fuse/ReadWriteAdapter.java b/src/main/java/org/cryptomator/frontend/fuse/ReadWriteAdapter.java index 810c312..b8f069f 100644 --- a/src/main/java/org/cryptomator/frontend/fuse/ReadWriteAdapter.java +++ b/src/main/java/org/cryptomator/frontend/fuse/ReadWriteAdapter.java @@ -160,7 +160,7 @@ public int chmod(String path, int mode, FileInfo fi) { LOG.warn("chmod {} failed, file not found.", path); return -errno.enoent(); } catch (UnsupportedOperationException e) { - if (!WindowsUtil.IS_RUNNING_OS) { //prevent spamming warnings + if (OS.WINDOWS.isCurrent()) { //prevent spamming warnings LOG.warn("Setting posix permissions not supported by underlying file system."); } return -errno.enosys(); diff --git a/src/main/java/org/cryptomator/frontend/fuse/WindowsUtil.java b/src/main/java/org/cryptomator/frontend/fuse/WindowsUtil.java deleted file mode 100644 index d5705a1..0000000 --- a/src/main/java/org/cryptomator/frontend/fuse/WindowsUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.cryptomator.frontend.fuse; - -public class WindowsUtil { - - public static final boolean IS_RUNNING_OS = System.getProperty("os.name").toLowerCase().contains("windows"); - - private WindowsUtil() {} - - -}