BucketAccessControl toBucketPb() { BucketAccessControl bucketPb = new BucketAccessControl(); bucketPb.setEntity(getEntity().toString()); bucketPb.setRole(getRole().toString()); bucketPb.setId(getId()); bucketPb.setEtag(getEtag()); return bucketPb; }
static Acl fromPb(BucketAccessControl bucketAccessControl) { Role role = Role.valueOf(bucketAccessControl.getRole()); Entity entity = Entity.fromPb(bucketAccessControl.getEntity()); return newBuilder(entity, role) .setEtag(bucketAccessControl.getEtag()) .setId(bucketAccessControl.getId()) .build(); } }
@Override public Acl createAcl(String bucket, Acl acl, BucketSourceOption... options) { final BucketAccessControl aclPb = acl.toBucketPb().setBucket(bucket); try { final Map<StorageRpc.Option, ?> optionsMap = optionMap(options); return Acl.fromPb( runWithRetries( new Callable<BucketAccessControl>() { @Override public BucketAccessControl call() { return storageRpc.createAcl(aclPb, optionsMap); } }, getOptions().getRetrySettings(), EXCEPTION_HANDLER, getOptions().getClock())); } catch (RetryHelperException e) { throw StorageException.translateAndThrow(e); } }
@Override public BucketAccessControl patchAcl(BucketAccessControl acl, Map<Option, ?> options) { Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_PATCH_BUCKET_ACL); Scope scope = tracer.withSpan(span); try { return storage .bucketAccessControls() .patch(acl.getBucket(), acl.getEntity(), acl) .setUserProject(Option.USER_PROJECT.getString(options)) .execute(); } catch (IOException ex) { span.setStatus(Status.UNKNOWN.withDescription(ex.getMessage())); throw translate(ex); } finally { scope.close(); span.end(); } }
BucketAccessControl toBucketPb() { BucketAccessControl bucketPb = new BucketAccessControl(); bucketPb.setRole(role().toString()); bucketPb.setEntity(entity().toString()); return bucketPb; }
@Override public BucketAccessControl createAcl(BucketAccessControl acl, Map<Option, ?> options) { Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_CREATE_BUCKET_ACL); Scope scope = tracer.withSpan(span); try { return storage .bucketAccessControls() .insert(acl.getBucket(), acl) .setUserProject(Option.USER_PROJECT.getString(options)) .execute(); } catch (IOException ex) { span.setStatus(Status.UNKNOWN.withDescription(ex.getMessage())); throw translate(ex); } finally { scope.close(); span.end(); } }
@Override public BucketAccessControl patchAcl(BucketAccessControl acl, Map<Option, ?> options) { Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_PATCH_BUCKET_ACL); Scope scope = tracer.withSpan(span); try { return storage .bucketAccessControls() .patch(acl.getBucket(), acl.getEntity(), acl) .setUserProject(Option.USER_PROJECT.getString(options)) .execute(); } catch (IOException ex) { span.setStatus(Status.UNKNOWN.withDescription(ex.getMessage())); throw translate(ex); } finally { scope.close(); span.end(); } }
@Override public BucketAccessControl createAcl(BucketAccessControl acl, Map<Option, ?> options) { Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_CREATE_BUCKET_ACL); Scope scope = tracer.withSpan(span); try { return storage .bucketAccessControls() .insert(acl.getBucket(), acl) .setUserProject(Option.USER_PROJECT.getString(options)) .execute(); } catch (IOException ex) { span.setStatus(Status.UNKNOWN.withDescription(ex.getMessage())); throw translate(ex); } finally { scope.close(); span.end(); } }
BucketAccessControl toBucketPb() { BucketAccessControl bucketPb = new BucketAccessControl(); bucketPb.setEntity(getEntity().toString()); bucketPb.setRole(getRole().toString()); bucketPb.setId(getId()); bucketPb.setEtag(getEtag()); return bucketPb; }
static Acl fromPb(BucketAccessControl bucketAccessControl) { Role role = Role.valueOf(bucketAccessControl.getRole()); Entity entity = Entity.fromPb(bucketAccessControl.getEntity()); return newBuilder(entity, role) .setEtag(bucketAccessControl.getEtag()) .setId(bucketAccessControl.getId()) .build(); } }
@Override public Acl updateAcl(String bucket, Acl acl, BucketSourceOption... options) { final BucketAccessControl aclPb = acl.toBucketPb().setBucket(bucket); try { final Map<StorageRpc.Option, ?> optionsMap = optionMap(options); return Acl.fromPb( runWithRetries( new Callable<BucketAccessControl>() { @Override public BucketAccessControl call() { return storageRpc.patchAcl(aclPb, optionsMap); } }, getOptions().getRetrySettings(), EXCEPTION_HANDLER, getOptions().getClock())); } catch (RetryHelperException e) { throw StorageException.translateAndThrow(e); } }
@Test public void testUpdateBucketAcl() { Acl returnedAcl = ACL.toBuilder().setEtag("ETAG").setId("ID").build(); EasyMock.expect( storageRpcMock.patchAcl( ACL.toBucketPb().setBucket(BUCKET_NAME1), new HashMap<StorageRpc.Option, Object>())) .andReturn(returnedAcl.toBucketPb()); EasyMock.replay(storageRpcMock); initializeService(); Acl acl = storage.updateAcl(BUCKET_NAME1, ACL); assertEquals(returnedAcl, acl); }
@Test public void testCreateBucketAcl() { Acl returnedAcl = ACL.toBuilder().setEtag("ETAG").setId("ID").build(); EasyMock.expect( storageRpcMock.createAcl( ACL.toBucketPb().setBucket(BUCKET_NAME1), new HashMap<StorageRpc.Option, Object>())) .andReturn(returnedAcl.toBucketPb()); EasyMock.replay(storageRpcMock); initializeService(); Acl acl = storage.createAcl(BUCKET_NAME1, ACL); assertEquals(returnedAcl, acl); }
@Override public Acl updateAcl(String bucket, Acl acl, BucketSourceOption... options) { final BucketAccessControl aclPb = acl.toBucketPb().setBucket(bucket); try { final Map<StorageRpc.Option, ?> optionsMap = optionMap(options); return Acl.fromPb( runWithRetries( new Callable<BucketAccessControl>() { @Override public BucketAccessControl call() { return storageRpc.patchAcl(aclPb, optionsMap); } }, getOptions().getRetrySettings(), EXCEPTION_HANDLER, getOptions().getClock())); } catch (RetryHelperException e) { throw StorageException.translateAndThrow(e); } }
@Override public Acl createAcl(String bucket, Acl acl, BucketSourceOption... options) { final BucketAccessControl aclPb = acl.toBucketPb().setBucket(bucket); try { final Map<StorageRpc.Option, ?> optionsMap = optionMap(options); return Acl.fromPb( runWithRetries( new Callable<BucketAccessControl>() { @Override public BucketAccessControl call() { return storageRpc.createAcl(aclPb, optionsMap); } }, getOptions().getRetrySettings(), EXCEPTION_HANDLER, getOptions().getClock())); } catch (RetryHelperException e) { throw StorageException.translateAndThrow(e); } }