/** 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(); }
private void compareDatasetInfo(DatasetInfo expected, DatasetInfo value) { assertEquals(expected, value); assertEquals(expected.getDatasetId(), value.getDatasetId()); assertEquals(expected.getDescription(), value.getDescription()); assertEquals(expected.getEtag(), value.getEtag()); assertEquals(expected.getFriendlyName(), value.getFriendlyName()); assertEquals(expected.getGeneratedId(), value.getGeneratedId()); assertEquals(expected.getLocation(), value.getLocation()); assertEquals(expected.getSelfLink(), value.getSelfLink()); assertEquals(expected.getAcl(), value.getAcl()); assertEquals(expected.getCreationTime(), value.getCreationTime()); assertEquals(expected.getDefaultTableLifetime(), value.getDefaultTableLifetime()); assertEquals(expected.getLastModified(), value.getLastModified()); } }
private void compareDatasets(DatasetInfo expected, DatasetInfo value) { assertEquals(expected, value); assertEquals(expected.getDatasetId(), value.getDatasetId()); assertEquals(expected.getDescription(), value.getDescription()); assertEquals(expected.getEtag(), value.getEtag()); assertEquals(expected.getFriendlyName(), value.getFriendlyName()); assertEquals(expected.getGeneratedId(), value.getGeneratedId()); assertEquals(expected.getLocation(), value.getLocation()); assertEquals(expected.getSelfLink(), value.getSelfLink()); assertEquals(expected.getAcl(), value.getAcl()); assertEquals(expected.getCreationTime(), value.getCreationTime()); assertEquals(expected.getDefaultTableLifetime(), value.getDefaultTableLifetime()); assertEquals(expected.getLastModified(), value.getLastModified()); assertEquals(expected.getLabels(), value.getLabels()); } }
@Test public void testOf() { DatasetInfo datasetInfo = DatasetInfo.of(DATASET_ID.getDataset()); assertEquals(DATASET_ID, datasetInfo.getDatasetId()); assertNull(datasetInfo.getAcl()); assertNull(datasetInfo.getCreationTime()); assertNull(datasetInfo.getDefaultTableLifetime()); assertNull(datasetInfo.getDescription()); assertNull(datasetInfo.getEtag()); assertNull(datasetInfo.getFriendlyName()); assertNull(datasetInfo.getGeneratedId()); assertNull(datasetInfo.getLastModified()); assertNull(datasetInfo.getLocation()); assertNull(datasetInfo.getSelfLink()); assertTrue(datasetInfo.getLabels().isEmpty()); datasetInfo = DatasetInfo.of(DATASET_ID); assertEquals(DATASET_ID, datasetInfo.getDatasetId()); assertNull(datasetInfo.getAcl()); assertNull(datasetInfo.getCreationTime()); assertNull(datasetInfo.getDefaultTableLifetime()); assertNull(datasetInfo.getDescription()); assertNull(datasetInfo.getEtag()); assertNull(datasetInfo.getFriendlyName()); assertNull(datasetInfo.getGeneratedId()); assertNull(datasetInfo.getLastModified()); assertNull(datasetInfo.getLocation()); assertNull(datasetInfo.getSelfLink()); assertTrue(datasetInfo.getLabels().isEmpty()); }
@Test public void testBuilder() { assertNull(DATASET_INFO.getDatasetId().getProject()); assertEquals(DATASET_ID, DATASET_INFO.getDatasetId()); assertEquals(ACCESS_RULES, DATASET_INFO.getAcl()); assertEquals(CREATION_TIME, DATASET_INFO.getCreationTime()); assertEquals(DEFAULT_TABLE_EXPIRATION, DATASET_INFO.getDefaultTableLifetime()); assertEquals(DESCRIPTION, DATASET_INFO.getDescription()); assertEquals(ETAG, DATASET_INFO.getEtag()); assertEquals(FRIENDLY_NAME, DATASET_INFO.getFriendlyName()); assertEquals(GENERATED_ID, DATASET_INFO.getGeneratedId()); assertEquals(LAST_MODIFIED, DATASET_INFO.getLastModified()); assertEquals(LOCATION, DATASET_INFO.getLocation()); assertEquals(SELF_LINK, DATASET_INFO.getSelfLink()); assertEquals(DATASET_ID_COMPLETE, DATASET_INFO_COMPLETE.getDatasetId()); assertEquals(ACCESS_RULES_COMPLETE, DATASET_INFO_COMPLETE.getAcl()); assertEquals(CREATION_TIME, DATASET_INFO_COMPLETE.getCreationTime()); assertEquals(DEFAULT_TABLE_EXPIRATION, DATASET_INFO_COMPLETE.getDefaultTableLifetime()); assertEquals(DESCRIPTION, DATASET_INFO_COMPLETE.getDescription()); assertEquals(ETAG, DATASET_INFO_COMPLETE.getEtag()); assertEquals(FRIENDLY_NAME, DATASET_INFO_COMPLETE.getFriendlyName()); assertEquals(GENERATED_ID, DATASET_INFO_COMPLETE.getGeneratedId()); assertEquals(LAST_MODIFIED, DATASET_INFO_COMPLETE.getLastModified()); assertEquals(LOCATION, DATASET_INFO_COMPLETE.getLocation()); assertEquals(SELF_LINK, DATASET_INFO_COMPLETE.getSelfLink()); assertEquals(LABELS, DATASET_INFO_COMPLETE.getLabels()); }
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(); }