/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public CreateAppProfileRequest setRoutingPolicy(RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public UpdateAppProfileRequest setRoutingPolicy(@Nonnull RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask( com.google.bigtable.admin.v2.AppProfile.MULTI_CLUSTER_ROUTING_USE_ANY_FIELD_NUMBER); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask(com.google.bigtable.admin.v2.AppProfile.SINGLE_CLUSTER_ROUTING_FIELD_NUMBER); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
.setName(APP_PROFILE_NAME + i) .setDescription("profile" + i) .setMultiClusterRoutingUseAny( com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny .getDefaultInstance())
/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public UpdateAppProfileRequest setRoutingPolicy(@Nonnull RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask( com.google.bigtable.admin.v2.AppProfile.MULTI_CLUSTER_ROUTING_USE_ANY_FIELD_NUMBER); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask(com.google.bigtable.admin.v2.AppProfile.SINGLE_CLUSTER_ROUTING_FIELD_NUMBER); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public CreateAppProfileRequest setRoutingPolicy(RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
com.google.bigtable.admin.v2.AppProfile.newBuilder() .setDescription("my description") .setMultiClusterRoutingUseAny( com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny .getDefaultInstance())) .setName(APP_PROFILE_NAME) .setDescription("my description") .setMultiClusterRoutingUseAny( com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny .getDefaultInstance())
@Test public void testUpdateAppProfile() { // Setup com.google.bigtable.admin.v2.UpdateAppProfileRequest expectedRequest = com.google.bigtable.admin.v2.UpdateAppProfileRequest.newBuilder() .setAppProfile( com.google.bigtable.admin.v2.AppProfile.newBuilder() .setName(APP_PROFILE_NAME) .setDescription("updated description")) .setUpdateMask(FieldMask.newBuilder().addPaths("description")) .build(); com.google.bigtable.admin.v2.AppProfile expectedResponse = com.google.bigtable.admin.v2.AppProfile.newBuilder() .setName(APP_PROFILE_NAME) .setDescription("updated description") .setMultiClusterRoutingUseAny( com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny .getDefaultInstance()) .build(); mockOperationResult(mockUpdateAppProfileCallable, expectedRequest, expectedResponse); // Execute AppProfile actualResult = adminClient.updateAppProfile( UpdateAppProfileRequest.of(INSTANCE_ID, APP_PROFILE_ID) .setDescription("updated description")); // Verify assertThat(actualResult).isEqualTo(AppProfile.fromProto(expectedResponse)); }
@Test public void testGetAppProfile() { // Setup com.google.bigtable.admin.v2.GetAppProfileRequest expectedRequest = com.google.bigtable.admin.v2.GetAppProfileRequest.newBuilder() .setName(APP_PROFILE_NAME) .build(); com.google.bigtable.admin.v2.AppProfile expectedResponse = com.google.bigtable.admin.v2.AppProfile.newBuilder() .setName(APP_PROFILE_NAME) .setDescription("my description") .setMultiClusterRoutingUseAny( com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny .getDefaultInstance()) .build(); Mockito.when(mockGetAppProfileCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute AppProfile actualResult = adminClient.getAppProfile(INSTANCE_ID, APP_PROFILE_ID); // Verify assertThat(actualResult).isEqualTo(AppProfile.fromProto(expectedResponse)); }
@Test public void testUpdateExisting() { com.google.bigtable.admin.v2.AppProfile existingProto = com.google.bigtable.admin.v2.AppProfile.newBuilder() .setName("projects/my-project/instances/my-instance/appProfiles/my-profile") .setEtag("my-etag") .setDescription("description") .setMultiClusterRoutingUseAny(MultiClusterRoutingUseAny.getDefaultInstance()) .build(); AppProfile existingWrapper = AppProfile.fromProto(existingProto); UpdateAppProfileRequest updateWrapper = UpdateAppProfileRequest.of(existingWrapper).setDescription("new description"); assertThat(updateWrapper.toProto("my-project")) .isEqualTo( com.google.bigtable.admin.v2.UpdateAppProfileRequest.newBuilder() .setAppProfile(existingProto.toBuilder().setDescription("new description")) .setUpdateMask(FieldMask.newBuilder().addPaths("description")) .build()); } }