com.google.cloud.translate.v3beta1.stub.HttpJsonTranslationServiceStub Maven / Gradle / Ivy
Show all versions of google-cloud-translate Show documentation
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.cloud.translate.v3beta1.stub;
import static com.google.cloud.translate.v3beta1.TranslationServiceClient.ListGlossariesPagedResponse;
import com.google.api.HttpRule;
import com.google.api.core.BetaApi;
import com.google.api.core.InternalApi;
import com.google.api.gax.core.BackgroundResource;
import com.google.api.gax.core.BackgroundResourceAggregation;
import com.google.api.gax.httpjson.ApiMethodDescriptor;
import com.google.api.gax.httpjson.HttpJsonCallSettings;
import com.google.api.gax.httpjson.HttpJsonOperationSnapshot;
import com.google.api.gax.httpjson.HttpJsonStubCallableFactory;
import com.google.api.gax.httpjson.ProtoMessageRequestFormatter;
import com.google.api.gax.httpjson.ProtoMessageResponseParser;
import com.google.api.gax.httpjson.ProtoRestSerializer;
import com.google.api.gax.httpjson.longrunning.stub.HttpJsonOperationsStub;
import com.google.api.gax.rpc.ClientContext;
import com.google.api.gax.rpc.OperationCallable;
import com.google.api.gax.rpc.RequestParamsBuilder;
import com.google.api.gax.rpc.UnaryCallable;
import com.google.cloud.translate.v3beta1.BatchTranslateDocumentMetadata;
import com.google.cloud.translate.v3beta1.BatchTranslateDocumentRequest;
import com.google.cloud.translate.v3beta1.BatchTranslateDocumentResponse;
import com.google.cloud.translate.v3beta1.BatchTranslateMetadata;
import com.google.cloud.translate.v3beta1.BatchTranslateResponse;
import com.google.cloud.translate.v3beta1.BatchTranslateTextRequest;
import com.google.cloud.translate.v3beta1.CreateGlossaryMetadata;
import com.google.cloud.translate.v3beta1.CreateGlossaryRequest;
import com.google.cloud.translate.v3beta1.DeleteGlossaryMetadata;
import com.google.cloud.translate.v3beta1.DeleteGlossaryRequest;
import com.google.cloud.translate.v3beta1.DeleteGlossaryResponse;
import com.google.cloud.translate.v3beta1.DetectLanguageRequest;
import com.google.cloud.translate.v3beta1.DetectLanguageResponse;
import com.google.cloud.translate.v3beta1.GetGlossaryRequest;
import com.google.cloud.translate.v3beta1.GetSupportedLanguagesRequest;
import com.google.cloud.translate.v3beta1.Glossary;
import com.google.cloud.translate.v3beta1.ListGlossariesRequest;
import com.google.cloud.translate.v3beta1.ListGlossariesResponse;
import com.google.cloud.translate.v3beta1.SupportedLanguages;
import com.google.cloud.translate.v3beta1.TranslateDocumentRequest;
import com.google.cloud.translate.v3beta1.TranslateDocumentResponse;
import com.google.cloud.translate.v3beta1.TranslateTextRequest;
import com.google.cloud.translate.v3beta1.TranslateTextResponse;
import com.google.common.collect.ImmutableMap;
import com.google.longrunning.Operation;
import com.google.protobuf.TypeRegistry;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.annotation.Generated;
// AUTO-GENERATED DOCUMENTATION AND CLASS.
/**
* REST stub implementation for the TranslationService service API.
*
* This class is for advanced usage and reflects the underlying API directly.
*/
@BetaApi
@Generated("by gapic-generator-java")
public class HttpJsonTranslationServiceStub extends TranslationServiceStub {
private static final TypeRegistry typeRegistry =
TypeRegistry.newBuilder()
.add(BatchTranslateDocumentResponse.getDescriptor())
.add(Glossary.getDescriptor())
.add(DeleteGlossaryMetadata.getDescriptor())
.add(CreateGlossaryMetadata.getDescriptor())
.add(BatchTranslateMetadata.getDescriptor())
.add(BatchTranslateDocumentMetadata.getDescriptor())
.add(DeleteGlossaryResponse.getDescriptor())
.add(BatchTranslateResponse.getDescriptor())
.build();
private static final ApiMethodDescriptor
translateTextMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/TranslateText")
.setHttpMethod("POST")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}:translateText",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setAdditionalPaths("/v3beta1/{parent=projects/*}:translateText")
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(
request ->
ProtoRestSerializer.create()
.toBody("*", request.toBuilder().clearParent().build(), true))
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(TranslateTextResponse.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.build();
private static final ApiMethodDescriptor
detectLanguageMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/DetectLanguage")
.setHttpMethod("POST")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}:detectLanguage",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setAdditionalPaths("/v3beta1/{parent=projects/*}:detectLanguage")
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(
request ->
ProtoRestSerializer.create()
.toBody("*", request.toBuilder().clearParent().build(), true))
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(DetectLanguageResponse.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.build();
private static final ApiMethodDescriptor
getSupportedLanguagesMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages")
.setHttpMethod("GET")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}/supportedLanguages",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setAdditionalPaths("/v3beta1/{parent=projects/*}/supportedLanguages")
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(
fields, "displayLanguageCode", request.getDisplayLanguageCode());
serializer.putQueryParam(fields, "model", request.getModel());
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(request -> null)
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(SupportedLanguages.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.build();
private static final ApiMethodDescriptor
translateDocumentMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/TranslateDocument")
.setHttpMethod("POST")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}:translateDocument",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(
request ->
ProtoRestSerializer.create()
.toBody("*", request.toBuilder().clearParent().build(), true))
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(TranslateDocumentResponse.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.build();
private static final ApiMethodDescriptor
batchTranslateTextMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/BatchTranslateText")
.setHttpMethod("POST")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}:batchTranslateText",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(
request ->
ProtoRestSerializer.create()
.toBody("*", request.toBuilder().clearParent().build(), true))
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(Operation.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.setOperationSnapshotFactory(
(BatchTranslateTextRequest request, Operation response) ->
HttpJsonOperationSnapshot.create(response))
.build();
private static final ApiMethodDescriptor
batchTranslateDocumentMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument")
.setHttpMethod("POST")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}:batchTranslateDocument",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(
request ->
ProtoRestSerializer.create()
.toBody("*", request.toBuilder().clearParent().build(), true))
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(Operation.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.setOperationSnapshotFactory(
(BatchTranslateDocumentRequest request, Operation response) ->
HttpJsonOperationSnapshot.create(response))
.build();
private static final ApiMethodDescriptor
createGlossaryMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/CreateGlossary")
.setHttpMethod("POST")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}/glossaries",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(
request ->
ProtoRestSerializer.create()
.toBody("glossary", request.getGlossary(), true))
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(Operation.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.setOperationSnapshotFactory(
(CreateGlossaryRequest request, Operation response) ->
HttpJsonOperationSnapshot.create(response))
.build();
private static final ApiMethodDescriptor
listGlossariesMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/ListGlossaries")
.setHttpMethod("GET")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{parent=projects/*/locations/*}/glossaries",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "parent", request.getParent());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "filter", request.getFilter());
serializer.putQueryParam(fields, "pageSize", request.getPageSize());
serializer.putQueryParam(fields, "pageToken", request.getPageToken());
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(request -> null)
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(ListGlossariesResponse.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.build();
private static final ApiMethodDescriptor
getGlossaryMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName("google.cloud.translation.v3beta1.TranslationService/GetGlossary")
.setHttpMethod("GET")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{name=projects/*/locations/*/glossaries/*}",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "name", request.getName());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(request -> null)
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(Glossary.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.build();
private static final ApiMethodDescriptor
deleteGlossaryMethodDescriptor =
ApiMethodDescriptor.newBuilder()
.setFullMethodName(
"google.cloud.translation.v3beta1.TranslationService/DeleteGlossary")
.setHttpMethod("DELETE")
.setType(ApiMethodDescriptor.MethodType.UNARY)
.setRequestFormatter(
ProtoMessageRequestFormatter.newBuilder()
.setPath(
"/v3beta1/{name=projects/*/locations/*/glossaries/*}",
request -> {
Map fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putPathParam(fields, "name", request.getName());
return fields;
})
.setQueryParamsExtractor(
request -> {
Map> fields = new HashMap<>();
ProtoRestSerializer serializer =
ProtoRestSerializer.create();
serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int");
return fields;
})
.setRequestBodyExtractor(request -> null)
.build())
.setResponseParser(
ProtoMessageResponseParser.newBuilder()
.setDefaultInstance(Operation.getDefaultInstance())
.setDefaultTypeRegistry(typeRegistry)
.build())
.setOperationSnapshotFactory(
(DeleteGlossaryRequest request, Operation response) ->
HttpJsonOperationSnapshot.create(response))
.build();
private final UnaryCallable translateTextCallable;
private final UnaryCallable detectLanguageCallable;
private final UnaryCallable
getSupportedLanguagesCallable;
private final UnaryCallable
translateDocumentCallable;
private final UnaryCallable batchTranslateTextCallable;
private final OperationCallable<
BatchTranslateTextRequest, BatchTranslateResponse, BatchTranslateMetadata>
batchTranslateTextOperationCallable;
private final UnaryCallable
batchTranslateDocumentCallable;
private final OperationCallable<
BatchTranslateDocumentRequest,
BatchTranslateDocumentResponse,
BatchTranslateDocumentMetadata>
batchTranslateDocumentOperationCallable;
private final UnaryCallable createGlossaryCallable;
private final OperationCallable
createGlossaryOperationCallable;
private final UnaryCallable listGlossariesCallable;
private final UnaryCallable
listGlossariesPagedCallable;
private final UnaryCallable getGlossaryCallable;
private final UnaryCallable deleteGlossaryCallable;
private final OperationCallable<
DeleteGlossaryRequest, DeleteGlossaryResponse, DeleteGlossaryMetadata>
deleteGlossaryOperationCallable;
private final BackgroundResource backgroundResources;
private final HttpJsonOperationsStub httpJsonOperationsStub;
private final HttpJsonStubCallableFactory callableFactory;
public static final HttpJsonTranslationServiceStub create(TranslationServiceStubSettings settings)
throws IOException {
return new HttpJsonTranslationServiceStub(settings, ClientContext.create(settings));
}
public static final HttpJsonTranslationServiceStub create(ClientContext clientContext)
throws IOException {
return new HttpJsonTranslationServiceStub(
TranslationServiceStubSettings.newHttpJsonBuilder().build(), clientContext);
}
public static final HttpJsonTranslationServiceStub create(
ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException {
return new HttpJsonTranslationServiceStub(
TranslationServiceStubSettings.newHttpJsonBuilder().build(),
clientContext,
callableFactory);
}
/**
* Constructs an instance of HttpJsonTranslationServiceStub, using the given settings. This is
* protected so that it is easy to make a subclass, but otherwise, the static factory methods
* should be preferred.
*/
protected HttpJsonTranslationServiceStub(
TranslationServiceStubSettings settings, ClientContext clientContext) throws IOException {
this(settings, clientContext, new HttpJsonTranslationServiceCallableFactory());
}
/**
* Constructs an instance of HttpJsonTranslationServiceStub, using the given settings. This is
* protected so that it is easy to make a subclass, but otherwise, the static factory methods
* should be preferred.
*/
protected HttpJsonTranslationServiceStub(
TranslationServiceStubSettings settings,
ClientContext clientContext,
HttpJsonStubCallableFactory callableFactory)
throws IOException {
this.callableFactory = callableFactory;
this.httpJsonOperationsStub =
HttpJsonOperationsStub.create(
clientContext,
callableFactory,
typeRegistry,
ImmutableMap.builder()
.put(
"google.longrunning.Operations.CancelOperation",
HttpRule.newBuilder()
.setPost("/v3beta1/{name=projects/*/locations/*/operations/*}:cancel")
.build())
.put(
"google.longrunning.Operations.DeleteOperation",
HttpRule.newBuilder()
.setDelete("/v3beta1/{name=projects/*/locations/*/operations/*}")
.build())
.put(
"google.longrunning.Operations.GetOperation",
HttpRule.newBuilder()
.setGet("/v3beta1/{name=projects/*/locations/*/operations/*}")
.build())
.put(
"google.longrunning.Operations.ListOperations",
HttpRule.newBuilder()
.setGet("/v3beta1/{name=projects/*/locations/*}/operations")
.build())
.put(
"google.longrunning.Operations.WaitOperation",
HttpRule.newBuilder()
.setPost("/v3beta1/{name=projects/*/locations/*/operations/*}:wait")
.build())
.build());
HttpJsonCallSettings
translateTextTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(translateTextMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings
detectLanguageTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(detectLanguageMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings
getSupportedLanguagesTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(getSupportedLanguagesMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings
translateDocumentTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(translateDocumentMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings batchTranslateTextTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(batchTranslateTextMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings
batchTranslateDocumentTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(batchTranslateDocumentMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings createGlossaryTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(createGlossaryMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings
listGlossariesTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(listGlossariesMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("parent", String.valueOf(request.getParent()));
return builder.build();
})
.build();
HttpJsonCallSettings getGlossaryTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(getGlossaryMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("name", String.valueOf(request.getName()));
return builder.build();
})
.build();
HttpJsonCallSettings deleteGlossaryTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(deleteGlossaryMethodDescriptor)
.setTypeRegistry(typeRegistry)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("name", String.valueOf(request.getName()));
return builder.build();
})
.build();
this.translateTextCallable =
callableFactory.createUnaryCallable(
translateTextTransportSettings, settings.translateTextSettings(), clientContext);
this.detectLanguageCallable =
callableFactory.createUnaryCallable(
detectLanguageTransportSettings, settings.detectLanguageSettings(), clientContext);
this.getSupportedLanguagesCallable =
callableFactory.createUnaryCallable(
getSupportedLanguagesTransportSettings,
settings.getSupportedLanguagesSettings(),
clientContext);
this.translateDocumentCallable =
callableFactory.createUnaryCallable(
translateDocumentTransportSettings,
settings.translateDocumentSettings(),
clientContext);
this.batchTranslateTextCallable =
callableFactory.createUnaryCallable(
batchTranslateTextTransportSettings,
settings.batchTranslateTextSettings(),
clientContext);
this.batchTranslateTextOperationCallable =
callableFactory.createOperationCallable(
batchTranslateTextTransportSettings,
settings.batchTranslateTextOperationSettings(),
clientContext,
httpJsonOperationsStub);
this.batchTranslateDocumentCallable =
callableFactory.createUnaryCallable(
batchTranslateDocumentTransportSettings,
settings.batchTranslateDocumentSettings(),
clientContext);
this.batchTranslateDocumentOperationCallable =
callableFactory.createOperationCallable(
batchTranslateDocumentTransportSettings,
settings.batchTranslateDocumentOperationSettings(),
clientContext,
httpJsonOperationsStub);
this.createGlossaryCallable =
callableFactory.createUnaryCallable(
createGlossaryTransportSettings, settings.createGlossarySettings(), clientContext);
this.createGlossaryOperationCallable =
callableFactory.createOperationCallable(
createGlossaryTransportSettings,
settings.createGlossaryOperationSettings(),
clientContext,
httpJsonOperationsStub);
this.listGlossariesCallable =
callableFactory.createUnaryCallable(
listGlossariesTransportSettings, settings.listGlossariesSettings(), clientContext);
this.listGlossariesPagedCallable =
callableFactory.createPagedCallable(
listGlossariesTransportSettings, settings.listGlossariesSettings(), clientContext);
this.getGlossaryCallable =
callableFactory.createUnaryCallable(
getGlossaryTransportSettings, settings.getGlossarySettings(), clientContext);
this.deleteGlossaryCallable =
callableFactory.createUnaryCallable(
deleteGlossaryTransportSettings, settings.deleteGlossarySettings(), clientContext);
this.deleteGlossaryOperationCallable =
callableFactory.createOperationCallable(
deleteGlossaryTransportSettings,
settings.deleteGlossaryOperationSettings(),
clientContext,
httpJsonOperationsStub);
this.backgroundResources =
new BackgroundResourceAggregation(clientContext.getBackgroundResources());
}
@InternalApi
public static List getMethodDescriptors() {
List methodDescriptors = new ArrayList<>();
methodDescriptors.add(translateTextMethodDescriptor);
methodDescriptors.add(detectLanguageMethodDescriptor);
methodDescriptors.add(getSupportedLanguagesMethodDescriptor);
methodDescriptors.add(translateDocumentMethodDescriptor);
methodDescriptors.add(batchTranslateTextMethodDescriptor);
methodDescriptors.add(batchTranslateDocumentMethodDescriptor);
methodDescriptors.add(createGlossaryMethodDescriptor);
methodDescriptors.add(listGlossariesMethodDescriptor);
methodDescriptors.add(getGlossaryMethodDescriptor);
methodDescriptors.add(deleteGlossaryMethodDescriptor);
return methodDescriptors;
}
public HttpJsonOperationsStub getHttpJsonOperationsStub() {
return httpJsonOperationsStub;
}
@Override
public UnaryCallable translateTextCallable() {
return translateTextCallable;
}
@Override
public UnaryCallable detectLanguageCallable() {
return detectLanguageCallable;
}
@Override
public UnaryCallable
getSupportedLanguagesCallable() {
return getSupportedLanguagesCallable;
}
@Override
public UnaryCallable
translateDocumentCallable() {
return translateDocumentCallable;
}
@Override
public UnaryCallable batchTranslateTextCallable() {
return batchTranslateTextCallable;
}
@Override
public OperationCallable<
BatchTranslateTextRequest, BatchTranslateResponse, BatchTranslateMetadata>
batchTranslateTextOperationCallable() {
return batchTranslateTextOperationCallable;
}
@Override
public UnaryCallable batchTranslateDocumentCallable() {
return batchTranslateDocumentCallable;
}
@Override
public OperationCallable<
BatchTranslateDocumentRequest,
BatchTranslateDocumentResponse,
BatchTranslateDocumentMetadata>
batchTranslateDocumentOperationCallable() {
return batchTranslateDocumentOperationCallable;
}
@Override
public UnaryCallable createGlossaryCallable() {
return createGlossaryCallable;
}
@Override
public OperationCallable
createGlossaryOperationCallable() {
return createGlossaryOperationCallable;
}
@Override
public UnaryCallable listGlossariesCallable() {
return listGlossariesCallable;
}
@Override
public UnaryCallable
listGlossariesPagedCallable() {
return listGlossariesPagedCallable;
}
@Override
public UnaryCallable getGlossaryCallable() {
return getGlossaryCallable;
}
@Override
public UnaryCallable deleteGlossaryCallable() {
return deleteGlossaryCallable;
}
@Override
public OperationCallable
deleteGlossaryOperationCallable() {
return deleteGlossaryOperationCallable;
}
@Override
public final void close() {
try {
backgroundResources.close();
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
throw new IllegalStateException("Failed to close resource", e);
}
}
@Override
public void shutdown() {
backgroundResources.shutdown();
}
@Override
public boolean isShutdown() {
return backgroundResources.isShutdown();
}
@Override
public boolean isTerminated() {
return backgroundResources.isTerminated();
}
@Override
public void shutdownNow() {
backgroundResources.shutdownNow();
}
@Override
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
return backgroundResources.awaitTermination(duration, unit);
}
}