private String contentType(StorageMetadata meta) { if (meta instanceof BlobMetadata) { String contentType = ((BlobMetadata) meta).getContentMetadata().getContentType(); if (contentType != null && !contentType.isEmpty()) { return contentType; } } if (meta.getType().equals(StorageType.RELATIVE_PATH) || meta.getName().endsWith("/")) { return "application/directory"; } return MediaType.APPLICATION_OCTET_STREAM; }
@Override public StorageMetadata apply(@Nullable org.jclouds.blobstore.domain.StorageMetadata input) { if (input == null) { return null; } return StorageMetadata.builder().type(input.getType().name()).providerId(input.getProviderId()) .name(input.getName()).uri(input.getUri()).userMetadata(input.getUserMetadata()) .eTag(input.getETag()).creationDate(input.getCreationDate()).lastModifiedDate(input.getLastModified()) .build(); } }
@Override public BlobMetadata apply(@Nullable org.jclouds.blobstore.domain.BlobMetadata input) { if (input == null) { return null; } return BlobMetadata.builder() .publicUri(input.getPublicUri()).type(input.getType().name()).providerId(input.getProviderId()) .name(input.getName()).uri(input.getUri()).userMetadata(input.getUserMetadata()) .eTag(input.getETag()).creationDate(input.getCreationDate()).lastModifiedDate(input.getLastModified()) .content(ToContentContentMetadata.INSTANCE.apply(input.getContentMetadata())) .build(); } }
LinkedHashSet<StorageMetadata> set = new LinkedHashSet<StorageMetadata>(); for (org.jclouds.blobstore.domain.StorageMetadata s : ps) { StorageType type = s.getType()==null?null:StorageType.valueOf(s.getType().name()); Location location = copyLocation(new HashSet<String>(), s.getLocation()); StorageMetadata e = new StorageMetadataImpl(type, s.getProviderId(),
@Override protected int poll() throws Exception { shutdownRunningTask = null; pendingExchanges = 0; Queue<Exchange> queue = new LinkedList<>(); String directory = endpoint.getDirectory(); ListContainerOptions opt = new ListContainerOptions(); if (!Strings.isNullOrEmpty(directory)) { opt = opt.inDirectory(directory); } for (StorageMetadata md : blobStore.list(container, opt.maxResults(maxMessagesPerPoll).recursive())) { String blobName = md.getName(); if (md.getType().equals(StorageType.BLOB)) { if (!Strings.isNullOrEmpty(blobName)) { InputStream body = JcloudsBlobStoreHelper.readBlob(blobStore, container, blobName); if (body != null) { Exchange exchange = endpoint.createExchange(); CachedOutputStream cos = new CachedOutputStream(exchange); IOHelper.copy(body, cos); exchange.getIn().setBody(cos.newStreamCache()); exchange.setProperty(JcloudsConstants.BLOB_NAME, blobName); queue.add(exchange); } } } } return queue.isEmpty() ? 0 : processBatch(CastUtils.cast(queue)); }