[2/5] jclouds git commit: JCLOUDS-945: fix local blobstore marker handling

2016-10-13 Thread nacx
JCLOUDS-945: fix local blobstore marker handling

Previously using prefix markers would not correctly find the next key.
Add test for this behavior.


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

Branch: refs/heads/fix/AzureTemplateBuilderLiveTest
Commit: 50e6d4443343c19d037d35726597e0ff7608dede
Parents: 26c060a
Author: Andrew Gaul 
Authored: Tue Oct 4 20:45:41 2016 -0700
Committer: Andrew Gaul 
Committed: Wed Oct 12 22:22:28 2016 -0700

--
 .../AtmosContainerIntegrationLiveTest.java  |  5 +
 .../blobstore/config/LocalBlobStore.java| 20 +---
 .../internal/BaseContainerIntegrationTest.java  | 18 ++
 .../AzureBlobContainerIntegrationLiveTest.java  |  5 +
 4 files changed, 33 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/jclouds/blob/50e6d444/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
--
diff --git 
a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
 
b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
index 4db5244..8561ecd 100644
--- 
a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
+++ 
b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
@@ -47,6 +47,11 @@ public class AtmosContainerIntegrationLiveTest extends 
BaseContainerIntegrationT
}
 
@Override
+   public void testListMarkerPrefix() throws Exception {
+  throw new SkipException("cannot specify arbitrary markers");
+   }
+
+   @Override
public void testListContainerWithZeroMaxResults() throws Exception {
   throw new SkipException("Atmos requires a positive integer for max 
results");
}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/50e6d444/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
--
diff --git 
a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java 
b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
index 56b91ff..63f2e3e 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -276,21 +276,11 @@ public final class LocalBlobStore implements BlobStore {
  if (options.getMarker() != null) {
 final String finalMarker = options.getMarker();
 String delimiter = storageStrategy.getSeparator();
-Optional lastMarkerMetadata;
-if (finalMarker.endsWith(delimiter)) {
-   lastMarkerMetadata = tryFind(contents, new 
Predicate() {
-  public boolean apply(StorageMetadata metadata) {
- int length = finalMarker.length() - 1;
- return metadata.getName().substring(0, 
length).compareTo(finalMarker.substring(0, length)) > 0;
-  }
-   });
-} else {
-   lastMarkerMetadata = tryFind(contents, new 
Predicate() {
-  public boolean apply(StorageMetadata metadata) {
- return metadata.getName().compareTo(finalMarker) > 0;
-  }
-   });
-}
+Optional lastMarkerMetadata = tryFind(contents, 
new Predicate() {
+   public boolean apply(StorageMetadata metadata) {
+  return metadata.getName().compareTo(finalMarker) > 0;
+   }
+});
 if (lastMarkerMetadata.isPresent()) {
contents = contents.tailSet(lastMarkerMetadata.get());
 } else {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/50e6d444/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 6ed679b..735784a 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
@@ -577,6 +577,24 @@ public 

jclouds git commit: JCLOUDS-945: fix local blobstore marker handling

2016-10-12 Thread gaul
Repository: jclouds
Updated Branches:
  refs/heads/master 26c060a0e -> 50e6d4443


JCLOUDS-945: fix local blobstore marker handling

Previously using prefix markers would not correctly find the next key.
Add test for this behavior.


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

Branch: refs/heads/master
Commit: 50e6d4443343c19d037d35726597e0ff7608dede
Parents: 26c060a
Author: Andrew Gaul 
Authored: Tue Oct 4 20:45:41 2016 -0700
Committer: Andrew Gaul 
Committed: Wed Oct 12 22:22:28 2016 -0700

--
 .../AtmosContainerIntegrationLiveTest.java  |  5 +
 .../blobstore/config/LocalBlobStore.java| 20 +---
 .../internal/BaseContainerIntegrationTest.java  | 18 ++
 .../AzureBlobContainerIntegrationLiveTest.java  |  5 +
 4 files changed, 33 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/jclouds/blob/50e6d444/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
--
diff --git 
a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
 
b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
index 4db5244..8561ecd 100644
--- 
a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
+++ 
b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
@@ -47,6 +47,11 @@ public class AtmosContainerIntegrationLiveTest extends 
BaseContainerIntegrationT
}
 
@Override
+   public void testListMarkerPrefix() throws Exception {
+  throw new SkipException("cannot specify arbitrary markers");
+   }
+
+   @Override
public void testListContainerWithZeroMaxResults() throws Exception {
   throw new SkipException("Atmos requires a positive integer for max 
results");
}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/50e6d444/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
--
diff --git 
a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java 
b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
index 56b91ff..63f2e3e 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -276,21 +276,11 @@ public final class LocalBlobStore implements BlobStore {
  if (options.getMarker() != null) {
 final String finalMarker = options.getMarker();
 String delimiter = storageStrategy.getSeparator();
-Optional lastMarkerMetadata;
-if (finalMarker.endsWith(delimiter)) {
-   lastMarkerMetadata = tryFind(contents, new 
Predicate() {
-  public boolean apply(StorageMetadata metadata) {
- int length = finalMarker.length() - 1;
- return metadata.getName().substring(0, 
length).compareTo(finalMarker.substring(0, length)) > 0;
-  }
-   });
-} else {
-   lastMarkerMetadata = tryFind(contents, new 
Predicate() {
-  public boolean apply(StorageMetadata metadata) {
- return metadata.getName().compareTo(finalMarker) > 0;
-  }
-   });
-}
+Optional lastMarkerMetadata = tryFind(contents, 
new Predicate() {
+   public boolean apply(StorageMetadata metadata) {
+  return metadata.getName().compareTo(finalMarker) > 0;
+   }
+});
 if (lastMarkerMetadata.isPresent()) {
contents = contents.tailSet(lastMarkerMetadata.get());
 } else {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/50e6d444/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 6ed679b..735784a 100644
--- 
a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
+++