From 242486c0b14f583b504807b297738da96e0b6b4d Mon Sep 17 00:00:00 2001 From: Mohit Raju Date: Sun, 17 May 2015 16:57:22 +0300 Subject: [PATCH 1/5] Allowing webdav schema name fallback --- .../ui/util/mount/LinuxGvfsWebDavMounter.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java index 348a0f150..815bc5348 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java @@ -12,10 +12,14 @@ package org.cryptomator.ui.util.mount; import java.net.URI; import org.apache.commons.lang3.SystemUtils; +import org.cryptomator.ui.util.command.CommandResult; import org.cryptomator.ui.util.command.Script; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { + public static final Logger LOG = LoggerFactory.getLogger(LinuxGvfsWebDavMounter.class); @Override public boolean shouldWork() { if (SystemUtils.IS_OS_LINUX) { @@ -40,8 +44,7 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { public WebDavMount mount(URI uri, String name) throws CommandFailedException { final Script mountScript = Script.fromLines( "set -x", - "gvfs-mount \"dav:$DAV_SSP\"", - "xdg-open \"dav:$DAV_SSP\"") + "gvfs-mount \"dav:$DAV_SSP\"") .addEnv("DAV_SSP", uri.getRawSchemeSpecificPart()); final Script testMountStillExistsScript = Script.fromLines( "set -x", @@ -52,6 +55,12 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { "gvfs-mount -u \"dav:$DAV_SSP\"") .addEnv("DAV_SSP", uri.getRawSchemeSpecificPart()); mountScript.execute(); + try{ + openFMWithWebdavSchema("dav", uri).execute(); + }catch(CommandFailedException exception){ + LOG.debug("Openinig webdav with dav schema name failed, trying webdav schema name"); + openFMWithWebdavSchema("webdav", uri).execute(); + } return new AbstractWebDavMount() { @Override public void unmount() throws CommandFailedException { @@ -70,4 +79,11 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { }; } + private Script openFMWithWebdavSchema(String schemaName, URI uri){ + return Script.fromLines( + "set -x", + "xdg-open \""+schemaName+":$DAV_SSP\"") + .addEnv("DAV_SSP", uri.getRawSchemeSpecificPart()); + } + } From 13bcde318b96fe88d87763c6d892d568e2ae3646 Mon Sep 17 00:00:00 2001 From: Mohit Raju Date: Mon, 18 May 2015 10:10:07 +0300 Subject: [PATCH 2/5] removing debug logs --- .../cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java index 815bc5348..81bb49ff6 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java @@ -12,14 +12,10 @@ package org.cryptomator.ui.util.mount; import java.net.URI; import org.apache.commons.lang3.SystemUtils; -import org.cryptomator.ui.util.command.CommandResult; import org.cryptomator.ui.util.command.Script; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { - public static final Logger LOG = LoggerFactory.getLogger(LinuxGvfsWebDavMounter.class); @Override public boolean shouldWork() { if (SystemUtils.IS_OS_LINUX) { @@ -58,7 +54,6 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { try{ openFMWithWebdavSchema("dav", uri).execute(); }catch(CommandFailedException exception){ - LOG.debug("Openinig webdav with dav schema name failed, trying webdav schema name"); openFMWithWebdavSchema("webdav", uri).execute(); } return new AbstractWebDavMount() { From 6a3b4d486dd3fe480e68093abeec3d0a12fe952c Mon Sep 17 00:00:00 2001 From: Mohit Raju Date: Mon, 18 May 2015 11:50:35 +0300 Subject: [PATCH 3/5] added contributor name --- .../org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java index 81bb49ff6..84b620c6c 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java @@ -6,6 +6,7 @@ * Contributors: * Sebastian Stenzel - initial API and implementation * Markus Kreusch - Refactored WebDavMounter to use strategy pattern + * Mohit Raju - Added fallback schema-name "webdav" when opening file managers ******************************************************************************/ package org.cryptomator.ui.util.mount; From f4b07b9807b5b09445900c316631815c95f900f9 Mon Sep 17 00:00:00 2001 From: Mohit Raju Date: Mon, 18 May 2015 12:40:19 +0300 Subject: [PATCH 4/5] restructure openFMWithWebdavSchema --- .../ui/util/mount/LinuxGvfsWebDavMounter.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java index 84b620c6c..d1196727a 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java @@ -53,9 +53,9 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { .addEnv("DAV_SSP", uri.getRawSchemeSpecificPart()); mountScript.execute(); try{ - openFMWithWebdavSchema("dav", uri).execute(); + openFMWithWebdavSchema("dav:"+uri.getRawSchemeSpecificPart()).execute(); }catch(CommandFailedException exception){ - openFMWithWebdavSchema("webdav", uri).execute(); + openFMWithWebdavSchema("webdav:"+uri.getRawSchemeSpecificPart()).execute(); } return new AbstractWebDavMount() { @Override @@ -75,11 +75,11 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { }; } - private Script openFMWithWebdavSchema(String schemaName, URI uri){ + private Script openFMWithWebdavSchema(String schemaName){ return Script.fromLines( "set -x", - "xdg-open \""+schemaName+":$DAV_SSP\"") - .addEnv("DAV_SSP", uri.getRawSchemeSpecificPart()); + "xdg-open \"$DAV_SCHEME\"") + .addEnv("DAV_SCHEME", schemaName); } } From 103ea9047ffc1b53c26488e3eaacd7125eaccadc Mon Sep 17 00:00:00 2001 From: Mohit Raju Date: Mon, 18 May 2015 16:13:25 +0300 Subject: [PATCH 5/5] updated method and paramternames to openMountWithWebdavUri --- .../ui/util/mount/LinuxGvfsWebDavMounter.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java index d1196727a..65e023377 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/mount/LinuxGvfsWebDavMounter.java @@ -53,9 +53,9 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { .addEnv("DAV_SSP", uri.getRawSchemeSpecificPart()); mountScript.execute(); try{ - openFMWithWebdavSchema("dav:"+uri.getRawSchemeSpecificPart()).execute(); + openMountWithWebdavUri("dav:"+uri.getRawSchemeSpecificPart()).execute(); }catch(CommandFailedException exception){ - openFMWithWebdavSchema("webdav:"+uri.getRawSchemeSpecificPart()).execute(); + openMountWithWebdavUri("webdav:"+uri.getRawSchemeSpecificPart()).execute(); } return new AbstractWebDavMount() { @Override @@ -75,11 +75,11 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy { }; } - private Script openFMWithWebdavSchema(String schemaName){ + private Script openMountWithWebdavUri(String webdavUri){ return Script.fromLines( "set -x", - "xdg-open \"$DAV_SCHEME\"") - .addEnv("DAV_SCHEME", schemaName); + "xdg-open \"$DAV_URI\"") + .addEnv("DAV_URI", webdavUri); } }