You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ca...@apache.org on 2016/12/07 02:49:55 UTC

curator git commit: [CURATOR-361] Prevent removal of leading slash from path when empty namespace used

Repository: curator
Updated Branches:
  refs/heads/master 0a0a1e7d8 -> 82a8906dd


[CURATOR-361] Prevent removal of leading slash from path when empty namespace used


Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/82a8906d
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/82a8906d
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/82a8906d

Branch: refs/heads/master
Commit: 82a8906ddb185e4d405056aeed8abc807f440440
Parents: 0a0a1e7
Author: Charles Ruhland <ch...@mesosphere.io>
Authored: Tue Dec 6 17:53:12 2016 -0800
Committer: Charles Ruhland <ch...@mesosphere.io>
Committed: Tue Dec 6 17:53:12 2016 -0800

----------------------------------------------------------------------
 .../org/apache/curator/framework/imps/NamespaceImpl.java  |  2 +-
 .../curator/framework/imps/TestNamespaceFacade.java       | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/82a8906d/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java b/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java
index 29adbc6..c8dfce7 100644
--- a/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java
@@ -64,7 +64,7 @@ class NamespaceImpl
         if ( (namespace != null) && (path != null) )
         {
             String      namespacePath = ZKPaths.makePath(namespace, null);
-            if ( path.startsWith(namespacePath) )
+            if ( !namespacePath.equals("/") && path.startsWith(namespacePath) )
             {
                 path = (path.length() > namespacePath.length()) ? path.substring(namespacePath.length()) : "/";
             }

http://git-wip-us.apache.org/repos/asf/curator/blob/82a8906d/curator-framework/src/test/java/org/apache/curator/framework/imps/TestNamespaceFacade.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestNamespaceFacade.java b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestNamespaceFacade.java
index d09dd18..9357d00 100644
--- a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestNamespaceFacade.java
+++ b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestNamespaceFacade.java
@@ -229,4 +229,14 @@ public class TestNamespaceFacade extends BaseClassForTests
             //Expected
         }
     }
+
+    @Test
+    public void testUnfixForEmptyNamespace() {
+        CuratorFramework client = CuratorFrameworkFactory.builder().namespace("").retryPolicy(new RetryOneTime(1)).connectString("").build();
+        CuratorFrameworkImpl clientImpl = (CuratorFrameworkImpl) client;
+
+        Assert.assertEquals(clientImpl.unfixForNamespace("/foo/bar"), "/foo/bar");
+
+        CloseableUtils.closeQuietly(client);
+    }
 }