@Override public boolean equals(Object obj) { return obj instanceof Role && Objects.equals(value, ((Role) obj).getValue()); } }
static com.google.api.services.storage.model.Policy convertToApiPolicy(Policy policy) { List<Bindings> bindings = new ArrayList<>(policy.getBindings().size()); for (Map.Entry<Role, Set<Identity>> entry : policy.getBindings().entrySet()) { List<String> members = new ArrayList<>(entry.getValue().size()); for (Identity identity : entry.getValue()) { members.add(identity.strValue()); } bindings.add(new Bindings().setMembers(members).setRole(entry.getKey().getValue())); } return new com.google.api.services.storage.model.Policy() .setBindings(bindings) .setEtag(policy.getEtag()); }
@Override protected com.google.iam.v1.Policy toPb(Policy policy) { com.google.iam.v1.Policy.Builder policyBuilder = com.google.iam.v1.Policy.newBuilder(); List<com.google.iam.v1.Binding> bindingPbList = new LinkedList<>(); for (Map.Entry<Role, Set<Identity>> binding : policy.getBindings().entrySet()) { com.google.iam.v1.Binding.Builder bindingBuilder = com.google.iam.v1.Binding.newBuilder(); bindingBuilder.setRole(binding.getKey().getValue()); bindingBuilder.addAllMembers( Lists.transform( new ArrayList<>(binding.getValue()), new Function<Identity, String>() { @Override public String apply(Identity identity) { return IDENTITY_STR_VALUE_FUNCTION.apply(identity); } })); bindingPbList.add(bindingBuilder.build()); } policyBuilder.addAllBindings(bindingPbList); if (policy.etag != null) { policyBuilder.setEtag(ByteString.copyFrom(BaseEncoding.base64().decode(policy.etag))); } policyBuilder.setVersion(policy.version); return policyBuilder.build(); } }
@Override protected com.google.api.services.cloudresourcemanager.model.Policy toPb(Policy policy) { com.google.api.services.cloudresourcemanager.model.Policy policyPb = new com.google.api.services.cloudresourcemanager.model.Policy(); List<Binding> bindingPbList = new LinkedList<>(); for (Map.Entry<Role, Set<Identity>> binding : policy.getBindings().entrySet()) { Binding bindingPb = new Binding(); bindingPb.setRole(binding.getKey().getValue()); bindingPb.setMembers( Lists.transform( new ArrayList<>(binding.getValue()), new Function<Identity, String>() { @Override public String apply(Identity identity) { return IDENTITY_STR_VALUE_FUNCTION.apply(identity); } })); bindingPbList.add(bindingPb); } policyPb.setBindings(bindingPbList); policyPb.setEtag(policy.getEtag()); policyPb.setVersion(policy.getVersion()); return policyPb; } }
@Test public void testOf() { assertThat(VIEWER.getValue()).isEqualTo("roles/viewer"); assertThat(EDITOR.getValue()).isEqualTo("roles/editor"); assertThat(OWNER.getValue()).isEqualTo("roles/owner"); compareRoles(VIEWER, Role.of("roles/viewer")); compareRoles(EDITOR, Role.of("roles/editor")); compareRoles(OWNER, Role.of("roles/owner")); String customRole = "projects/foo/roles/bar"; assertThat(Role.of(customRole).getValue()).isEqualTo(customRole); }
@Test public void testViewer() { assertThat(Role.viewer().getValue()).isEqualTo("roles/viewer"); }
@Test public void testEditor() { assertThat(Role.editor().getValue()).isEqualTo("roles/editor"); }
@Test public void testOwner() { assertThat(Role.owner().getValue()).isEqualTo("roles/owner"); }
@Override public boolean equals(Object obj) { return obj instanceof Role && Objects.equals(value, ((Role) obj).getValue()); } }
static com.google.api.services.storage.model.Policy convertToApiPolicy(Policy policy) { List<Bindings> bindings = new ArrayList<>(policy.getBindings().size()); for (Map.Entry<Role, Set<Identity>> entry : policy.getBindings().entrySet()) { List<String> members = new ArrayList<>(entry.getValue().size()); for (Identity identity : entry.getValue()) { members.add(identity.strValue()); } bindings.add(new Bindings().setMembers(members).setRole(entry.getKey().getValue())); } return new com.google.api.services.storage.model.Policy() .setBindings(bindings) .setEtag(policy.getEtag()); }
@Override protected com.google.iam.v1.Policy toPb(Policy policy) { com.google.iam.v1.Policy.Builder policyBuilder = com.google.iam.v1.Policy.newBuilder(); List<com.google.iam.v1.Binding> bindingPbList = new LinkedList<>(); for (Map.Entry<Role, Set<Identity>> binding : policy.getBindings().entrySet()) { com.google.iam.v1.Binding.Builder bindingBuilder = com.google.iam.v1.Binding.newBuilder(); bindingBuilder.setRole(binding.getKey().getValue()); bindingBuilder.addAllMembers( Lists.transform( new ArrayList<>(binding.getValue()), new Function<Identity, String>() { @Override public String apply(Identity identity) { return IDENTITY_STR_VALUE_FUNCTION.apply(identity); } })); bindingPbList.add(bindingBuilder.build()); } policyBuilder.addAllBindings(bindingPbList); if (policy.etag != null) { policyBuilder.setEtag(ByteString.copyFrom(BaseEncoding.base64().decode(policy.etag))); } policyBuilder.setVersion(policy.version); return policyBuilder.build(); } }