Example usage for com.amazonaws.services.s3.model CanonicalGrantee getIdentifier

List of usage examples for com.amazonaws.services.s3.model CanonicalGrantee getIdentifier

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model CanonicalGrantee getIdentifier.

Prototype

public String getIdentifier() 

Source Link

Document

Returns the unique identifier for this grantee.

Usage

From source file:org.exem.flamingo.web.filesystem.s3.S3BrowserController.java

License:Apache License

private Collection<S3Grant> generateGrants(AccessControlList acl) {
    List<Grant> grants = acl.getGrantsAsList();
    Map<String, S3Grant> s3Grants = new HashMap<>();
    String name = "";
    S3Grant grant;/* w w  w.j av a2  s .c o  m*/

    for (Grant g : grants) {
        if (S3Constansts.CANONICAL_GRANTEE_TYPE_ID.equals(g.getGrantee().getTypeIdentifier())) {
            CanonicalGrantee grantee = (CanonicalGrantee) g.getGrantee();
            name = grantee.getDisplayName();
            if (StringUtils.isEmpty(name) && acl.getOwner().getId().equals(grantee.getIdentifier())) {
                name = acl.getOwner().getDisplayName();
            }
        } else if (S3Constansts.GROUP_GRANTEE_TYPE_ID.equals(g.getGrantee().getTypeIdentifier())) {
            GroupGrantee groupGrantee = (GroupGrantee) g.getGrantee();
            name = groupGrantee.name();
        }

        if (s3Grants.containsKey(name)) {
            grant = s3Grants.get(name);
        } else {
            grant = new S3Grant();
            grant.setName(name);
        }

        grant.setPermission(g.getPermission().name());
        s3Grants.put(name, grant);
    }
    return s3Grants.values();
}