/** Update the ACLs for a dataset. */ // [TARGET getAcl()] // [VARIABLE bigquery.getDataset(DatasetId.of("my_dataset"))] public List<Acl> updateDatasetAccess(DatasetInfo dataset) { // [START bigquery_update_dataset_access] List<Acl> beforeAcls = dataset.getAcl(); // Make a copy of the ACLs so that they can be modified. ArrayList<Acl> acls = new ArrayList<>(beforeAcls); acls.add(Acl.of(new Acl.User("sample.bigquery.dev@gmail.com"), Acl.Role.READER)); DatasetInfo.Builder builder = dataset.toBuilder(); builder.setAcl(acls); bigquery.update(builder.build()); // API request. // [END bigquery_update_dataset_access] return beforeAcls; }
DatasetInfo setProjectId(String projectId) { Builder builder = toBuilder(); builder.setDatasetId(getDatasetId().setProjectId(projectId)); if (getAcl() != null) { List<Acl> acls = Lists.newArrayListWithCapacity(getAcl().size()); for (Acl acl : getAcl()) { if (acl.getEntity().getType() == Acl.Entity.Type.VIEW) { Dataset.Access accessPb = acl.toPb(); TableReference viewReferencePb = accessPb.getView(); if (viewReferencePb.getProjectId() == null) { viewReferencePb.setProjectId(projectId); } acls.add(Acl.of(new Acl.View(TableId.fromPb(viewReferencePb)))); } else { acls.add(acl); } } builder.setAcl(acls); } return builder.build(); }
DatasetInfo setProjectId(String projectId) { Builder builder = toBuilder(); builder.setDatasetId(getDatasetId().setProjectId(projectId)); if (getAcl() != null) { List<Acl> acls = Lists.newArrayListWithCapacity(getAcl().size()); for (Acl acl : getAcl()) { if (acl.getEntity().getType() == Acl.Entity.Type.VIEW) { Dataset.Access accessPb = acl.toPb(); TableReference viewReferencePb = accessPb.getView(); if (viewReferencePb.getProjectId() == null) { viewReferencePb.setProjectId(projectId); } acls.add(Acl.of(new Acl.View(TableId.fromPb(viewReferencePb)))); } else { acls.add(acl); } } builder.setAcl(acls); } return builder.build(); }