OperationCallableImpl( UnaryCallable<RequestT, OperationSnapshot> initialCallable, RetryingExecutorWithContext<OperationSnapshot> executor, LongRunningClient longRunningClient, OperationCallSettings<RequestT, ResponseT, MetadataT> operationCallSettings) { this.initialCallable = checkNotNull(initialCallable); this.executor = checkNotNull(executor); this.longRunningClient = checkNotNull(longRunningClient); this.responseTransformer = operationCallSettings.getResponseTransformer(); this.metadataTransformer = operationCallSettings.getMetadataTransformer(); }
OperationCallableImpl( UnaryCallable<RequestT, OperationSnapshot> initialCallable, RetryingExecutorWithContext<OperationSnapshot> executor, LongRunningClient longRunningClient, OperationCallSettings<RequestT, ResponseT, MetadataT> operationCallSettings) { this.initialCallable = checkNotNull(initialCallable); this.executor = checkNotNull(executor); this.longRunningClient = checkNotNull(longRunningClient); this.responseTransformer = operationCallSettings.getResponseTransformer(); this.metadataTransformer = operationCallSettings.getMetadataTransformer(); }
@Test public void testBuilder() { OperationCallSettings.Builder<Integer, String, Long> builder = OperationCallSettings.newBuilder(); UnaryCallSettings<Integer, OperationSnapshot> initialCallSettings = UnaryCallSettings.<Integer, OperationSnapshot>newUnaryCallSettingsBuilder() .setRetryableCodes(Code.UNAVAILABLE) .build(); TimedRetryAlgorithm pollingAlgorithm = Mockito.mock(TimedRetryAlgorithm.class); ResponseTransformer responseTransformer = new ResponseTransformer(); MetadataTransformer metadataTransformer = new MetadataTransformer(); builder.setPollingAlgorithm(pollingAlgorithm); builder.setResponseTransformer(responseTransformer); builder.setMetadataTransformer(metadataTransformer); builder.setInitialCallSettings(initialCallSettings); Truth.assertThat(builder.getInitialCallSettings()).isSameAs(initialCallSettings); OperationCallSettings settings = builder.build(); Truth.assertThat(settings.getPollingAlgorithm()).isSameAs(pollingAlgorithm); Truth.assertThat(settings.getResponseTransformer()).isSameAs(responseTransformer); Truth.assertThat(settings.getMetadataTransformer()).isSameAs(metadataTransformer); Truth.assertThat(settings.getInitialCallSettings()).isNotNull(); Truth.assertThat(settings.getInitialCallSettings().getRetryableCodes().size()).isEqualTo(1); }