You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2017/05/17 17:37:59 UTC

jclouds git commit: JCLOUDS-1299: Handle % in names during Swift list

Repository: jclouds
Updated Branches:
  refs/heads/master a299a6c1f -> 2b49bf361


JCLOUDS-1299: Handle % in names during Swift list

uriBuilder.appendPath assumes an encoded path.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/2b49bf36
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/2b49bf36
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/2b49bf36

Branch: refs/heads/master
Commit: 2b49bf36183981e26ed80ffbcc266929560f431e
Parents: a299a6c
Author: Andrew Gaul <ga...@apache.org>
Authored: Tue May 16 14:39:46 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Tue May 16 17:29:02 2017 -0700

----------------------------------------------------------------------
 .../openstack/swift/v1/functions/ParseObjectListFromResponse.java | 3 ++-
 .../integration/internal/BaseContainerIntegrationTest.java        | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/2b49bf36/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java
----------------------------------------------------------------------
diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java
index 09d2893..a31fe85 100644
--- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java
+++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java
@@ -18,6 +18,7 @@ package org.jclouds.openstack.swift.v1.functions;
 
 import static com.google.common.io.BaseEncoding.base16;
 import static org.jclouds.http.Uris.uriBuilder;
+import static org.jclouds.util.Strings2.urlEncode;
 
 import java.util.Date;
 import java.util.List;
@@ -96,7 +97,7 @@ public class ParseObjectListFromResponse implements Function<HttpResponse, Objec
          String etag = Strings.nullToEmpty(input.hash);
          Date lastModified = input.last_modified == null ? new Date() : input.last_modified;
          return SwiftObject.builder()
-               .uri(uriBuilder(containerUri).clearQuery().appendPath(input.name).build())
+               .uri(uriBuilder(containerUri).clearQuery().appendPath(urlEncode(input.name)).build())
                .name(name)
                .etag(etag)
                .payload(payload(input.bytes, etag, input.content_type, input.expires))

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2b49bf36/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
index 735784a..e2cc632 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
@@ -597,7 +597,7 @@ public class BaseContainerIntegrationTest extends BaseBlobStoreIntegrationTest {
 
    @DataProvider
    public Object[][] getBlobsToEscape() {
-      ImmutableSet<String> testNames = ImmutableSet.of("%20", "%20 ", " %20", " ");
+      ImmutableSet<String> testNames = ImmutableSet.of("%20", "%20 ", " %20", " ", "%", "%%");
       Object[][] result = new Object[1][1];
       result[0][0] = testNames;
       return result;