com.google.api.services.storage.model.StorageObject

Here are the examples of the java api class com.google.api.services.storage.model.StorageObject taken from open source projects.

1. FakeStorageRpc#processedAsFolder()

Project: gcloud-java
File: FakeStorageRpc.java
// Returns true if this is a folder. Adds it to folders if it isn't already there.
private static boolean processedAsFolder(StorageObject so, String delimiter, String prefix, /* inout */
Map<String, StorageObject> folders) {
    if (delimiter == null) {
        return false;
    }
    int nextSlash = so.getName().indexOf(delimiter, prefix.length());
    if (nextSlash < 0) {
        return false;
    }
    String folderName = so.getName().substring(0, nextSlash + 1);
    if (folders.containsKey(folderName)) {
        return true;
    }
    StorageObject fakeFolder = new StorageObject();
    fakeFolder.setName(folderName);
    fakeFolder.setBucket(so.getBucket());
    fakeFolder.setGeneration(so.getGeneration());
    folders.put(folderName, fakeFolder);
    return true;
}

2. StorageImpl#copy()

Project: gcloud-java
File: StorageImpl.java
@Override
public CopyWriter copy(final CopyRequest copyRequest) {
    final StorageObject source = copyRequest.source().toPb();
    final Map<StorageRpc.Option, ?> sourceOptions = optionMap(copyRequest.source().generation(), null, copyRequest.sourceOptions(), true);
    final StorageObject targetObject = copyRequest.target().toPb();
    final Map<StorageRpc.Option, ?> targetOptions = optionMap(copyRequest.target().generation(), copyRequest.target().metageneration(), copyRequest.targetOptions());
    try {
        RewriteResponse rewriteResponse = runWithRetries(new Callable<RewriteResponse>() {

            @Override
            public RewriteResponse call() {
                return storageRpc.openRewrite(new StorageRpc.RewriteRequest(source, sourceOptions, copyRequest.overrideInfo(), targetObject, targetOptions, copyRequest.megabytesCopiedPerChunk()));
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock());
        return new CopyWriter(options(), rewriteResponse);
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

3. GoogleFileIterator#createIterator()

Project: Priam
File: GoogleFileIterator.java
/*
	 * Fetch a page of results
	 */
private Iterator<AbstractBackupPath> createIterator() throws Exception {
    //a container of results
    List<AbstractBackupPath> temp = Lists.newArrayList();
    //Sends the metadata request to the server and returns the parsed metadata response.
    this.objectsContainerHandle = listObjectsSrvcHandle.execute();
    for (//processing a page of results
    StorageObject object : //processing a page of results
    this.objectsContainerHandle.getItems()) {
        String fileName = GoogleEncryptedFileSystem.parseObjectname(object.getName());
        logger.debug("id: " + object.getId() + ", parse file name: " + fileName + ", name: " + object.getName());
        AbstractBackupPath path = pathProvider.get();
        //e.g. of objectname: prod_backup/us-east-1/cass_account/113427455640312821154458202479064646083/201408250801/META/meta.json
        path.parseRemote(object.getName());
        logger.debug("New key " + object.getName() + " path = " + path.getRemotePath() + " " + start + " end: " + till + " my " + path.getTime());
        if ((path.getTime().after(start) && path.getTime().before(till)) || path.getTime().equals(start)) {
            temp.add(path);
            logger.debug("Added key " + object.getName());
        }
    }
    this.nextPageToken = this.objectsContainerHandle.getNextPageToken();
    return temp.iterator();
}

4. StorageImpl#readAllBytes()

Project: gcloud-java
File: StorageImpl.java
@Override
public byte[] readAllBytes(BlobId blob, BlobSourceOption... options) {
    final StorageObject storageObject = blob.toPb();
    final Map<StorageRpc.Option, ?> optionsMap = optionMap(blob, options);
    try {
        return runWithRetries(new Callable<byte[]>() {

            @Override
            public byte[] call() {
                return storageRpc.load(storageObject, optionsMap);
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock());
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

5. StorageImpl#compose()

Project: gcloud-java
File: StorageImpl.java
@Override
public Blob compose(final ComposeRequest composeRequest) {
    final List<StorageObject> sources = Lists.newArrayListWithCapacity(composeRequest.sourceBlobs().size());
    for (ComposeRequest.SourceBlob sourceBlob : composeRequest.sourceBlobs()) {
        sources.add(BlobInfo.builder(BlobId.of(composeRequest.target().bucket(), sourceBlob.name(), sourceBlob.generation())).build().toPb());
    }
    final StorageObject target = composeRequest.target().toPb();
    final Map<StorageRpc.Option, ?> targetOptions = optionMap(composeRequest.target().generation(), composeRequest.target().metageneration(), composeRequest.targetOptions());
    try {
        return Blob.fromPb(this, runWithRetries(new Callable<StorageObject>() {

            @Override
            public StorageObject call() {
                return storageRpc.compose(sources, target, targetOptions);
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock()));
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

6. StorageImpl#delete()

Project: gcloud-java
File: StorageImpl.java
@Override
public boolean delete(BlobId blob, BlobSourceOption... options) {
    final StorageObject storageObject = blob.toPb();
    final Map<StorageRpc.Option, ?> optionsMap = optionMap(blob, options);
    try {
        return runWithRetries(new Callable<Boolean>() {

            @Override
            public Boolean call() {
                return storageRpc.delete(storageObject, optionsMap);
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock());
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

7. StorageImpl#update()

Project: gcloud-java
File: StorageImpl.java
@Override
public Blob update(BlobInfo blobInfo, BlobTargetOption... options) {
    final StorageObject storageObject = blobInfo.toPb();
    final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
    try {
        return Blob.fromPb(this, runWithRetries(new Callable<StorageObject>() {

            @Override
            public StorageObject call() {
                return storageRpc.patch(storageObject, optionsMap);
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock()));
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

8. StorageImpl#get()

Project: gcloud-java
File: StorageImpl.java
@Override
public Blob get(BlobId blob, BlobGetOption... options) {
    final StorageObject storedObject = blob.toPb();
    final Map<StorageRpc.Option, ?> optionsMap = optionMap(blob, options);
    try {
        StorageObject storageObject = runWithRetries(new Callable<StorageObject>() {

            @Override
            public StorageObject call() {
                return storageRpc.get(storedObject, optionsMap);
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock());
        return storageObject == null ? null : Blob.fromPb(this, storageObject);
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

9. StorageImpl#create()

Project: gcloud-java
File: StorageImpl.java
private Blob create(BlobInfo info, final InputStream content, BlobTargetOption... options) {
    final StorageObject blobPb = info.toPb();
    final Map<StorageRpc.Option, ?> optionsMap = optionMap(info, options);
    try {
        return Blob.fromPb(this, runWithRetries(new Callable<StorageObject>() {

            @Override
            public StorageObject call() {
                return storageRpc.create(blobPb, firstNonNull(content, new ByteArrayInputStream(EMPTY_BYTE_ARRAY)), optionsMap);
            }
        }, options().retryParams(), EXCEPTION_HANDLER, options().clock()));
    } catch (RetryHelperException e) {
        throw StorageException.translateAndThrow(e);
    }
}

10. BlobInfo#toPb()

Project: gcloud-java
File: BlobInfo.java
StorageObject toPb() {
    StorageObject storageObject = blobId.toPb();
    if (acl != null) {
        storageObject.setAcl(Lists.transform(acl, new Function<Acl, ObjectAccessControl>() {

            @Override
            public ObjectAccessControl apply(Acl acl) {
                return acl.toObjectPb();
            }
        }));
    }
    if (deleteTime != null) {
        storageObject.setTimeDeleted(new DateTime(deleteTime));
    }
    if (updateTime != null) {
        storageObject.setUpdated(new DateTime(updateTime));
    }
    if (createTime != null) {
        storageObject.setTimeCreated(new DateTime(createTime));
    }
    if (size != null) {
        storageObject.setSize(BigInteger.valueOf(size));
    }
    if (owner != null) {
        storageObject.setOwner(new Owner().setEntity(owner.toPb()));
    }
    Map<String, String> pbMetadata = metadata;
    if (metadata != null && !Data.isNull(metadata)) {
        pbMetadata = Maps.newHashMapWithExpectedSize(metadata.size());
        for (Map.Entry<String, String> entry : metadata.entrySet()) {
            pbMetadata.put(entry.getKey(), firstNonNull(entry.getValue(), Data.<String>nullOf(String.class)));
        }
    }
    storageObject.setMetadata(pbMetadata);
    storageObject.setCacheControl(cacheControl);
    storageObject.setContentEncoding(contentEncoding);
    storageObject.setCrc32c(crc32c);
    storageObject.setContentType(contentType);
    storageObject.setMd5Hash(md5);
    storageObject.setMediaLink(mediaLink);
    storageObject.setMetageneration(metageneration);
    storageObject.setContentDisposition(contentDisposition);
    storageObject.setComponentCount(componentCount);
    storageObject.setContentLanguage(contentLanguage);
    storageObject.setEtag(etag);
    storageObject.setId(generatedId);
    storageObject.setSelfLink(selfLink);
    return storageObject;
}

11. BlobId#toPb()

Project: gcloud-java
File: BlobId.java
StorageObject toPb() {
    StorageObject storageObject = new StorageObject();
    storageObject.setBucket(bucket);
    storageObject.setName(name);
    storageObject.setGeneration(generation);
    return storageObject;
}

12. GsUploadManager#upload()

Project: secor
File: GsUploadManager.java
@Override
public Handle<?> upload(LogFilePath localPath) throws Exception {
    final String gsBucket = mConfig.getGsBucket();
    final String gsKey = localPath.withPrefix(mConfig.getGsPath()).getLogFilePath();
    final File localFile = new File(localPath.getLogFilePath());
    final boolean directUpload = mConfig.getGsDirectUpload();
    LOG.info("uploading file {} to gs://{}/{}", localFile, gsBucket, gsKey);
    final StorageObject storageObject = new StorageObject().setName(gsKey);
    final FileContent storageContent = new FileContent(Files.probeContentType(localFile.toPath()), localFile);
    final Future<?> f = executor.submit(new Runnable() {

        @Override
        public void run() {
            try {
                Storage.Objects.Insert request = mClient.objects().insert(gsBucket, storageObject, storageContent);
                if (directUpload) {
                    request.getMediaHttpUploader().setDirectUploadEnabled(true);
                }
                request.getMediaHttpUploader().setProgressListener(new MediaHttpUploaderProgressListener() {

                    @Override
                    public void progressChanged(MediaHttpUploader uploader) throws IOException {
                        LOG.debug("[{} %] upload file {} to gs://{}/{}", (int) uploader.getProgress() * 100, localFile, gsBucket, gsKey);
                    }
                });
                request.execute();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    });
    return new FutureHandle(f);
}

13. BlobInfoTest#testToPbAndFromPb()

Project: gcloud-java
File: BlobInfoTest.java
@Test
public void testToPbAndFromPb() {
    compareBlobs(BLOB_INFO, BlobInfo.fromPb(BLOB_INFO.toPb()));
    BlobInfo blobInfo = BlobInfo.builder(BlobId.of("b", "n")).build();
    compareBlobs(blobInfo, BlobInfo.fromPb(blobInfo.toPb()));
    StorageObject object = new StorageObject().setName("n/").setBucket("b").setSize(BigInteger.ZERO).set("isDirectory", true);
    blobInfo = BlobInfo.fromPb(object);
    assertEquals("b", blobInfo.bucket());
    assertEquals("n/", blobInfo.name());
    assertNull(blobInfo.acl());
    assertNull(blobInfo.componentCount());
    assertNull(blobInfo.contentType());
    assertNull(blobInfo.cacheControl());
    assertNull(blobInfo.contentDisposition());
    assertNull(blobInfo.contentEncoding());
    assertNull(blobInfo.contentLanguage());
    assertNull(blobInfo.crc32c());
    assertNull(blobInfo.createTime());
    assertNull(blobInfo.deleteTime());
    assertNull(blobInfo.etag());
    assertNull(blobInfo.generation());
    assertNull(blobInfo.generatedId());
    assertNull(blobInfo.md5());
    assertNull(blobInfo.mediaLink());
    assertNull(blobInfo.metadata());
    assertNull(blobInfo.metageneration());
    assertNull(blobInfo.owner());
    assertNull(blobInfo.selfLink());
    assertEquals(0L, (long) blobInfo.size());
    assertNull(blobInfo.updateTime());
    assertTrue(blobInfo.isDirectory());
}

14. DefaultStorageRpc#compose()

Project: gcloud-java
File: DefaultStorageRpc.java
@Override
public StorageObject compose(Iterable<StorageObject> sources, StorageObject target, Map<Option, ?> targetOptions) {
    ComposeRequest request = new ComposeRequest();
    request.setDestination(target);
    List<ComposeRequest.SourceObjects> sourceObjects = new ArrayList<>();
    for (StorageObject source : sources) {
        ComposeRequest.SourceObjects sourceObject = new ComposeRequest.SourceObjects();
        sourceObject.setName(source.getName());
        Long generation = source.getGeneration();
        if (generation != null) {
            sourceObject.setGeneration(generation);
            sourceObject.setObjectPreconditions(new ObjectPreconditions().setIfGenerationMatch(generation));
        }
        sourceObjects.add(sourceObject);
    }
    request.setSourceObjects(sourceObjects);
    try {
        return storage.objects().compose(target.getBucket(), target.getName(), request).setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(targetOptions)).setIfGenerationMatch(IF_GENERATION_MATCH.getLong(targetOptions)).execute();
    } catch (IOException ex) {
        throw translate(ex);
    }
}

15. FakeStorageRpc#list()

Project: gcloud-java
File: FakeStorageRpc.java
@Override
public Tuple<String, Iterable<StorageObject>> list(String bucket, Map<Option, ?> options) throws StorageException {
    String delimiter = null;
    String preprefix = "";
    for (Map.Entry<Option, ?> e : options.entrySet()) {
        switch(e.getKey()) {
            case PREFIX:
                preprefix = (String) e.getValue();
                if (preprefix.startsWith("/")) {
                    preprefix = preprefix.substring(1);
                }
                break;
            case DELIMITER:
                delimiter = (String) e.getValue();
                break;
            case FIELDS:
                // ignore and return all the fields
                break;
            default:
                throw new UnsupportedOperationException("Unknown option: " + e.getKey());
        }
    }
    final String prefix = preprefix;
    List<StorageObject> values = new ArrayList<>();
    Map<String, StorageObject> folders = new HashMap<>();
    for (StorageObject so : metadata.values()) {
        if (!so.getName().startsWith(prefix)) {
            continue;
        }
        if (processedAsFolder(so, delimiter, prefix, folders)) {
            continue;
        }
        values.add(so);
    }
    values.addAll(folders.values());
    // The type cast seems to be necessary to help Java's typesystem remember that collections are iterable.
    return Tuple.of(null, (Iterable<StorageObject>) values);
}