Package org.jclouds.s3.domain

Examples of org.jclouds.s3.domain.AccessControlList


   public void testUpdateBucketACL() throws InterruptedException, ExecutionException, TimeoutException, IOException,
         Exception {
      String bucketName = getContainerName();
      try {
         // Confirm the bucket is private
         AccessControlList acl = getApi().getBucketACL(bucketName);
         String ownerId = acl.getOwner().getId();
         assertEquals(acl.getGrants().size(), 1);
         assertTrue(acl.hasPermission(ownerId, FULL_CONTROL));

         addGrantsToACL(acl);
         assertEquals(acl.getGrants().size(), 4);
         assertTrue(getApi().putBucketACL(bucketName, acl));

         // Confirm that the updated ACL has stuck.
         acl = getApi().getBucketACL(bucketName);
         checkGrants(acl);
View Full Code Here


   public void testPublicReadAccessPolicy() throws Exception {
      String bucketName = getScratchContainerName();
      try {
         getApi().putBucketInRegion(null, bucketName, withBucketAcl(PUBLIC_READ));
         AccessControlList acl = getApi().getBucketACL(bucketName);
         assertTrue(acl.hasPermission(ALL_USERS, READ), acl.toString());
         // TODO: I believe that the following should work based on the above acl assertion passing.
         // However, it fails on 403
         // URL url = new URL(String.format("http://%s.s3.amazonaws.com", bucketName));
         // Utils.toStringAndClose(url.openStream());
      } finally {
View Full Code Here

         assertConsistencyAware(new Runnable() {
            public void run() {
               try {
                  BucketLogging newLogging = getApi().getBucketLogging(bucketName);
                  assert newLogging != null;
                  AccessControlList acl = new AccessControlList();
                  for (Grant grant : newLogging.getTargetGrants()) { // TODO: add permission
                     // checking features to
                     // bucketlogging
                     acl.addPermission(grant.getGrantee(), grant.getPermission());
                  }
                  // EmailAddressGrantee is replaced by a CanonicalUserGrantee, so we cannot test by
                  // email addr
                  assertTrue(acl.hasPermission(TEST_ACL_ID, FULL_CONTROL), acl.toString());
                  assertEquals(logging.getTargetBucket(), newLogging.getTargetBucket());
                  assertEquals(logging.getTargetPrefix(), newLogging.getTargetPrefix());
               } catch (Exception e) {
                  Throwables.propagateIfPossible(e);
               }
View Full Code Here

         destroyContainer(targetBucket);
      }
   }

   private void setupAclForBucketLoggingTarget(final String targetBucket) {
      AccessControlList acl = getApi().getBucketACL(targetBucket);
      acl.addPermission(LOG_DELIVERY, WRITE);
      acl.addPermission(LOG_DELIVERY, READ_ACP);
      assertTrue(getApi().putBucketACL(targetBucket, acl));
   }
View Full Code Here

      if (from == null)
         return null;
      MutableBlobMetadata to = new MutableBlobMetadataImpl();
      HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata());
      try {
         AccessControlList bucketAcl = bucketAcls.getUnchecked(from.getBucket());
         if (bucketAcl.hasPermission(GroupGranteeURI.ALL_USERS, Permission.READ))
            to.setPublicUri(from.getUri());
      } catch (CacheLoader.InvalidCacheLoadException e) {
         // nulls not permitted from cache loader
      }
      to.setUri(from.getUri());
View Full Code Here

   }

   @Test
   public void testAccessControlListOwnerOnly() throws HttpException {
      String ownerId = "1a405254c932b52e5b5caaa88186bc431a1bacb9ece631f835daddaf0c47677c";
      AccessControlList acl = createParser().parse(Strings2.toInputStream(aclOwnerOnly));
      assertEquals(acl.getOwner().getId(), ownerId);
      assertEquals(acl.getOwner().getDisplayName(), "jamesmurty");
      assertEquals(acl.getPermissions(ownerId).size(), 1);
      assertTrue(acl.hasPermission(ownerId, Permission.FULL_CONTROL));
      assertEquals(acl.getGrants().size(), 1);
      assertEquals(acl.getPermissions(GroupGranteeURI.ALL_USERS).size(), 0);
      assertEquals(acl.getPermissions(GroupGranteeURI.AUTHENTICATED_USERS).size(), 0);
      assertEquals(acl.getPermissions(GroupGranteeURI.LOG_DELIVERY).size(), 0);
   }
View Full Code Here

   }

   @Test
   public void testAccessControlListExtreme() throws HttpException {
      String ownerId = "1a405254c932b52e5b5caaa88186bc431a1bacb9ece631f835daddaf0c47677c";
      AccessControlList acl = createParser().parse(Strings2.toInputStream(aclExtreme));
      assertEquals(acl.getOwner().getId(), ownerId);
      assertEquals(acl.getOwner().getDisplayName(), "jamesmurty");
      assertEquals(acl.getPermissions(ownerId).size(), 3);
      assertTrue(acl.hasPermission(ownerId, Permission.FULL_CONTROL));
      assertTrue(acl.hasPermission(ownerId, Permission.READ));
      assertTrue(acl.hasPermission(ownerId, Permission.WRITE));
      assertEquals(acl.getGrants().size(), 9);
      assertTrue(acl.hasPermission(GroupGranteeURI.ALL_USERS, Permission.READ));
      assertTrue(acl.hasPermission(GroupGranteeURI.AUTHENTICATED_USERS, Permission.READ));
      assertTrue(acl.hasPermission(GroupGranteeURI.AUTHENTICATED_USERS, Permission.WRITE));
      assertTrue(acl.hasPermission(GroupGranteeURI.AUTHENTICATED_USERS, Permission.READ_ACP));
      assertTrue(acl.hasPermission(GroupGranteeURI.AUTHENTICATED_USERS, Permission.WRITE_ACP));
      assertTrue(acl.hasPermission(GroupGranteeURI.LOG_DELIVERY, Permission.WRITE));
   }
View Full Code Here

   @Override
   public String putBlob(String container, Blob blob, PutOptions overrides) {
      // TODO: Make use of options overrides
      PutObjectOptions options = new PutObjectOptions();
      try {
         AccessControlList acl = bucketAcls.getUnchecked(container);
         if (acl != null && acl.hasPermission(GroupGranteeURI.ALL_USERS, Permission.READ))
            options.withAcl(CannedAccessPolicy.PUBLIC_READ);
      } catch (CacheLoader.InvalidCacheLoadException e) {
         // nulls not permitted from cache loader
      }
      return sync.putObject(container, blob2Object.apply(blob), options);
View Full Code Here

@Singleton
public class BindACLToXMLPayload implements Binder {
   @Override
   public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
      AccessControlList from = (AccessControlList) payload;
      Properties outputProperties = new Properties();
      outputProperties.put(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "yes");
      try {
         String stringPayload = generateBuilder(from).asString(outputProperties);
         request.setPayload(stringPayload);
View Full Code Here

   }

   private String putBlobWithReducedRedundancy(String container, Blob blob) {
      AWSS3PutObjectOptions options = new AWSS3PutObjectOptions();
      try {
         AccessControlList acl = bucketAcls.getUnchecked(container);
         if (acl != null && acl.hasPermission(AccessControlList.GroupGranteeURI.ALL_USERS,
                                              AccessControlList.Permission.READ)) {
            options.withAcl(CannedAccessPolicy.PUBLIC_READ);
         }
         options.storageClass(ObjectMetadata.StorageClass.REDUCED_REDUNDANCY);
View Full Code Here

TOP

Related Classes of org.jclouds.s3.domain.AccessControlList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.