options.prefix(prefix);
/** * @see ListContainerOptions#prefix(String) */ public static ListContainerOptions prefix(String prefix) { ListContainerOptions options = new ListContainerOptions(); return options.prefix(prefix); } /**
/** * @see ListContainerOptions#prefix(String) */ public static ListContainerOptions prefix(String prefix) { ListContainerOptions options = new ListContainerOptions(); return options.prefix(prefix); } /**
/** * @see ListContainerOptions#prefix(String) */ public static ListContainerOptions prefix(String prefix) { ListContainerOptions options = new ListContainerOptions(); return options.prefix(prefix); } /**
/** * @see ListContainerOptions#prefix(String) */ public static ListContainerOptions prefix(String prefix) { ListContainerOptions options = new ListContainerOptions(); return options.prefix(prefix); } /**
@Override public List<MultipartUpload> listMultipartUploads(String container) { ImmutableList.Builder<MultipartUpload> mpus = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX).recursive(); int uuidLength = UUID.randomUUID().toString().length(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(container, options); for (StorageMetadata sm : pageSet) { if (!sm.getName().endsWith("-stub")) { continue; } String uploadId = sm.getName().substring(MULTIPART_PREFIX.length(), MULTIPART_PREFIX.length() + uuidLength); String blobName = sm.getName().substring(MULTIPART_PREFIX.length() + uuidLength + 1); int index = blobName.lastIndexOf('-'); blobName = blobName.substring(0, index); mpus.add(MultipartUpload.create(container, blobName, uploadId, null, null)); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return mpus.build(); }
@Override public List<MultipartUpload> listMultipartUploads(String container) { ImmutableList.Builder<MultipartUpload> mpus = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX).recursive(); int uuidLength = UUID.randomUUID().toString().length(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(container, options); for (StorageMetadata sm : pageSet) { if (!sm.getName().endsWith("-stub")) { continue; } String uploadId = sm.getName().substring(MULTIPART_PREFIX.length(), MULTIPART_PREFIX.length() + uuidLength); String blobName = sm.getName().substring(MULTIPART_PREFIX.length() + uuidLength + 1); int index = blobName.lastIndexOf('-'); blobName = blobName.substring(0, index); mpus.add(MultipartUpload.create(container, blobName, uploadId, null, null)); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return mpus.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), new ListContainerOptions().prefix(mpu.id() + "_")); // TODO: pagination for (StorageMetadata sm : pageSet) { int lastUnderscore = sm.getName().lastIndexOf('_'); int partNumber = Integer.parseInt(sm.getName().substring(lastUnderscore + 1)); parts.add(MultipartPart.create(partNumber, sm.getSize(), sm.getETag(), sm.getLastModified())); } return parts.build(); }
@Override public List<MultipartUpload> listMultipartUploads(String container) { ImmutableList.Builder<MultipartUpload> mpus = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX).recursive(); int uuidLength = UUID.randomUUID().toString().length(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(container, options); for (StorageMetadata sm : pageSet) { if (!sm.getName().endsWith("-stub")) { continue; } String uploadId = sm.getName().substring(MULTIPART_PREFIX.length(), MULTIPART_PREFIX.length() + uuidLength); String blobName = sm.getName().substring(MULTIPART_PREFIX.length() + uuidLength + 1); int index = blobName.lastIndexOf('-'); blobName = blobName.substring(0, index); mpus.add(MultipartUpload.create(container, blobName, uploadId, null, null)); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return mpus.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), new ListContainerOptions().prefix(mpu.id() + "_")); // TODO: pagination for (StorageMetadata sm : pageSet) { int lastUnderscore = sm.getName().lastIndexOf('_'); int partNumber = Integer.parseInt(sm.getName().substring(lastUnderscore + 1)); parts.add(MultipartPart.create(partNumber, sm.getSize(), sm.getETag(), sm.getLastModified())); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), new ListContainerOptions().prefix(mpu.id() + "_")); // TODO: pagination for (StorageMetadata sm : pageSet) { int lastUnderscore = sm.getName().lastIndexOf('_'); int partNumber = Integer.parseInt(sm.getName().substring(lastUnderscore + 1)); parts.add(MultipartPart.create(partNumber, sm.getSize(), sm.getETag(), sm.getLastModified())); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), new ListContainerOptions().prefix(mpu.id() + "/")); // TODO: pagination for (StorageMetadata sm : pageSet) { int lastSlash = sm.getName().lastIndexOf('/'); int partNumber = Integer.parseInt(sm.getName().substring(lastSlash + 1)); parts.add(MultipartPart.create(partNumber, sm.getSize(), sm.getETag(), sm.getLastModified())); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), new ListContainerOptions().prefix(mpu.id() + "/")); // TODO: pagination for (StorageMetadata sm : pageSet) { int lastSlash = sm.getName().lastIndexOf('/'); int partNumber = Integer.parseInt(sm.getName().substring(lastSlash + 1)); parts.add(MultipartPart.create(partNumber, sm.getSize(), sm.getETag(), sm.getLastModified())); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), new ListContainerOptions().prefix(mpu.id() + "/")); // TODO: pagination for (StorageMetadata sm : pageSet) { int lastSlash = sm.getName().lastIndexOf('/'); int partNumber = Integer.parseInt(sm.getName().substring(lastSlash + 1)); parts.add(MultipartPart.create(partNumber, sm.getSize(), sm.getETag(), sm.getLastModified())); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").recursive(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), options); for (StorageMetadata sm : pageSet) { if (sm.getName().endsWith("-stub")) { continue; } int partNumber = Integer.parseInt(sm.getName().substring((MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").length())); long partSize = -1; // TODO: could call getContentMetadata but did not above parts.add(MultipartPart.create(partNumber, partSize, sm.getETag())); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").recursive(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), options); for (StorageMetadata sm : pageSet) { if (sm.getName().endsWith("-stub")) { continue; } int partNumber = Integer.parseInt(sm.getName().substring((MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").length())); long partSize = sm.getSize(); parts.add(MultipartPart.create(partNumber, partSize, sm.getETag(), sm.getLastModified())); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").recursive(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), options); for (StorageMetadata sm : pageSet) { if (sm.getName().endsWith("-stub")) { continue; } int partNumber = Integer.parseInt(sm.getName().substring((MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").length())); long partSize = sm.getSize(); parts.add(MultipartPart.create(partNumber, partSize, sm.getETag(), sm.getLastModified())); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return parts.build(); }
@Override public List<MultipartPart> listMultipartUpload(MultipartUpload mpu) { ImmutableList.Builder<MultipartPart> parts = ImmutableList.builder(); ListContainerOptions options = new ListContainerOptions().prefix(MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").recursive(); while (true) { PageSet<? extends StorageMetadata> pageSet = list(mpu.containerName(), options); for (StorageMetadata sm : pageSet) { if (sm.getName().endsWith("-stub")) { continue; } int partNumber = Integer.parseInt(sm.getName().substring((MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-").length())); long partSize = sm.getSize(); parts.add(MultipartPart.create(partNumber, partSize, sm.getETag(), sm.getLastModified())); } if (pageSet.isEmpty() || pageSet.getNextMarker() == null) { break; } options.afterMarker(pageSet.getNextMarker()); } return parts.build(); }
/** Test that listing with an empty string for prefix and delimiter returns all of the keys. */ @Test(groups = {"integration", "live"}) public void testListEmptyPrefixDelimiter() throws Exception { final String container = getContainerName(); BlobStore blobStore = view.getBlobStore(); blobStore.createContainerInLocation(null, container); try { ImmutableList<String> blobs = ImmutableList.of("a", "b", "c"); for (String blob : blobs) { blobStore.putBlob(container, blobStore.blobBuilder(blob).payload("").build()); } ListContainerOptions options = ListContainerOptions.Builder.delimiter("") .prefix("").afterMarker(""); PageSet<? extends StorageMetadata> rs = blobStore.list(container, options); ImmutableList.Builder<String> builder = ImmutableList.builder(); for (StorageMetadata sm : rs) { builder.add(sm.getName()); } assertThat(builder.build()).containsExactlyElementsOf(blobs); } finally { returnContainer(container); } }
@Test(groups = { "integration", "live" }) public void testListContainerPrefix() throws InterruptedException { String containerName = getContainerName(); try { String prefix = "containerprefix"; addTenObjectsUnderPrefix(containerName, prefix); add15UnderRoot(containerName); awaitConsistency(); PageSet<? extends StorageMetadata> container = view.getBlobStore().list( containerName, new ListContainerOptions().prefix(prefix + "/").delimiter("/")); assert container.getNextMarker() == null; assertEquals(container.size(), 10); } finally { returnContainer(containerName); } }