use of com.google.api.tools.framework.model.Model in project toolkit by googleapis.
the class CSharpGapicClientTransformer method generateCsProjView.
private PackageInfoView generateCsProjView(GapicInterfaceContext context) {
Model model = context.getModel();
GapicProductConfig productConfig = context.getProductConfig();
PackageInfoView.Builder view = PackageInfoView.newBuilder();
view.templateFileName(CSPROJ_TEMPLATE_FILENAME);
String outputPath = pathMapper.getOutputPath(context.getInterface().getFullName(), productConfig);
view.outputPath(outputPath + File.separator + productConfig.getPackageName() + ".csproj");
view.fileHeader(fileHeaderTransformer.generateFileHeader(context));
view.serviceTitle(model.getServiceConfig().getTitle());
view.serviceDescription(model.getServiceConfig().getDocumentation().getSummary().trim());
view.domainLayerLocation(productConfig.getDomainLayerLocation());
// Unused in C#
view.authScopes(new ArrayList<String>());
view.releaseLevel(productConfig.getReleaseLevel());
String versionSuffix;
switch(productConfig.getReleaseLevel()) {
case ALPHA:
versionSuffix = "-alpha01";
break;
case BETA:
versionSuffix = "-beta01";
break;
default:
versionSuffix = "";
break;
}
view.version("1.0.0" + versionSuffix);
String tags = "";
for (String tag : Splitter.on('.').split(productConfig.getPackageName())) {
if (tag.matches("[vV][\\d.]+")) {
break;
}
tags += ";" + tag;
}
view.tags(tags.isEmpty() ? "" : tags.substring(1));
view.packageMetadata(generatePackageMetadataView(context));
view.serviceDocs(new ArrayList<ServiceDocView>());
return view.build();
}
use of com.google.api.tools.framework.model.Model in project toolkit by googleapis.
the class NodeJSGapicSurfaceDocTransformer method transform.
@Override
public List<ViewModel> transform(ApiModel apiModel, GapicProductConfig productConfig) {
Model model = ((ProtoApiModel) apiModel).getProtoModel();
ImmutableList.Builder<ViewModel> surfaceDocs = ImmutableList.builder();
for (ProtoFile file : new ProtoFileView().getElementIterable(model)) {
surfaceDocs.add(generateDoc(file, productConfig));
}
return surfaceDocs.build();
}
use of com.google.api.tools.framework.model.Model in project toolkit by googleapis.
the class PythonGapicSurfaceTransformer method transform.
@Override
public List<ViewModel> transform(ApiModel apiModel, GapicProductConfig productConfig) {
// TODO(andrealin): Remove the ProtoApiModel cast.
Model model = ((ProtoApiModel) apiModel).getProtoModel();
ImmutableList.Builder<ViewModel> views = ImmutableList.builder();
views.addAll(generateServiceSurfaces(model, productConfig));
views.addAll(generateVersionedDirectoryViews(model, productConfig));
views.addAll(generateTopLevelViews(model, productConfig));
return views.build();
}
use of com.google.api.tools.framework.model.Model in project toolkit by googleapis.
the class CSharpGapicClientPackageTransformer method generateCsProjView.
private PackageInfoView generateCsProjView(GapicInterfaceContext context) {
Model model = context.getModel();
GapicProductConfig productConfig = context.getProductConfig();
PackageInfoView.Builder view = PackageInfoView.newBuilder();
view.templateFileName(CSPROJ_TEMPLATE_FILENAME);
String outputPath = pathMapper.getOutputPath(context.getInterface().getFullName(), productConfig);
view.outputPath(outputPath + File.separator + productConfig.getPackageName() + ".csproj");
view.fileHeader(fileHeaderTransformer.generateFileHeader(context));
view.serviceTitle(model.getServiceConfig().getTitle());
view.serviceDescription(model.getServiceConfig().getDocumentation().getSummary().trim());
view.domainLayerLocation(productConfig.getDomainLayerLocation());
// Unused in C#
view.authScopes(new ArrayList<>());
view.releaseLevel(productConfig.getReleaseLevel());
String versionSuffix;
switch(productConfig.getReleaseLevel()) {
case ALPHA:
versionSuffix = "-alpha01";
break;
case BETA:
versionSuffix = "-beta01";
break;
default:
versionSuffix = "";
break;
}
view.version("1.0.0" + versionSuffix);
String tags = "";
for (String tag : Splitter.on('.').split(productConfig.getPackageName())) {
if (tag.matches("[vV][\\d.]+")) {
break;
}
tags += ";" + tag;
}
view.tags(tags.isEmpty() ? "" : tags.substring(1));
view.packageMetadata(generatePackageMetadataView(context));
view.serviceDocs(new ArrayList<>());
return view.build();
}
use of com.google.api.tools.framework.model.Model in project toolkit by googleapis.
the class GapicConfigProducerTest method testCreateProductWithGRPCServiceConfig.
@Test
public void testCreateProductWithGRPCServiceConfig() {
TestDataLocator locator = MixedPathTestDataLocator.create(this.getClass());
locator.addTestDataSource(CodegenTestUtil.class, "testsrc/protoannotations");
Model model = CodegenTestUtil.readModel(locator, tempDir, new String[] { "library.proto", "common_resources.proto", "another_service.proto" }, new String[] { "library.yaml" });
ServiceConfig serviceConfig = CodegenTestUtil.readGRPCServiceConfig(model.getDiagReporter().getDiagCollector(), locator, "library_grpc_service_config.json");
ConfigProto configProto = CodegenTestUtil.readConfig(model.getDiagReporter().getDiagCollector(), locator, new String[] { "library_v2_gapic.yaml" });
GapicProductConfig product = GapicProductConfig.create(model, configProto, null, "google.example.library.v1", null, TargetLanguage.GO, serviceConfig, TransportProtocol.GRPC);
assertThat(model.getDiagReporter().getDiagCollector().hasErrors()).isFalse();
assertThat(product).isNotNull();
InterfaceConfig libraryInterface = product.getInterfaceConfig("google.example.library.v1.LibraryService");
Map<String, RetryParamsDefinitionProto> params = libraryInterface.getRetrySettingsDefinition();
assertThat(params.get("retry_policy_1_params")).isNotNull();
assertThat(params.get("no_retry_1_params")).isNotNull();
assertThat(params.get("no_retry_1_params").getTotalTimeoutMillis()).isEqualTo(60000);
assertThat(params.get("no_retry_params")).isNotNull();
assertThat(params.get("no_retry_params").getTotalTimeoutMillis()).isEqualTo(0);
Map<String, ImmutableList<String>> codes = libraryInterface.getRetryCodesConfig().getRetryCodesDefinition();
assertThat(codes.get("retry_policy_1_codes")).isNotNull();
assertThat(codes.get("no_retry_1_codes")).isNotNull();
assertThat(codes.get("no_retry_codes")).isNotNull();
}
Aggregations