public static void main(String... args) { // Create Resource Manager service object // By default, credentials are inferred from the runtime environment. ResourceManager resourceManager = ResourceManagerOptions.getDefaultInstance().getService(); // Get a project from the server Project project = resourceManager.get("some-project-id"); // Use an existing project's ID // Update a project if (project != null) { Project newProject = project.toBuilder().addLabel("launch-status", "in-development").build().replace(); System.out.println( "Updated the labels of project " + newProject.getProjectId() + " to be " + newProject.getLabels()); } // List all the projects you have permission to view. System.out.println("Projects I can view:"); for (Project currentProject : resourceManager.list().iterateAll()) { System.out.println(currentProject.getProjectId()); } } }
@Override public Builder toBuilder() { return new Builder(this); }
replay(resourceManager); Project.Builder builder = new Project.Builder(new Project(resourceManager, new ProjectInfo.BuilderImpl("wrong-id"))); Project project = builder .setProjectId(PROJECT_ID) .setName(NAME) .setLabels(LABELS) .setProjectNumber(PROJECT_NUMBER) .setCreateTimeMillis(CREATE_TIME_MILLIS) .setState(STATE) .build(); assertEquals(PROJECT_ID, project.getProjectId()); assertEquals(NAME, project.getName()); project .toBuilder() .clearLabels() .addLabel("k3", "v3") .addLabel("k4", "v4") .removeLabel("k4") .setParent(parent) .build(); assertEquals(PROJECT_ID, project.getProjectId()); assertEquals(NAME, project.getName());
@Test public void testReplace() { initializeExpectedProject(2); Project expectedReplacedProject = expectedProject.toBuilder().addLabel("k3", "v3").build(); expect(resourceManager.getOptions()).andReturn(mockOptions).times(2); expect(resourceManager.replace(anyObject(Project.class))).andReturn(expectedReplacedProject); replay(resourceManager); initializeProject(); Project newProject = new Project(resourceManager, new ProjectInfo.BuilderImpl(expectedReplacedProject)); Project actualReplacedProject = newProject.replace(); compareProjectInfos(expectedReplacedProject, actualReplacedProject); }
@Test public void testToBuilder() { initializeExpectedProject(4); replay(resourceManager); compareProjects(expectedProject, expectedProject.toBuilder().build()); }
@Override public Builder toBuilder() { return new Builder(this); }