use of com.google.api.codegen.gapic.GapicCodePathMapper in project toolkit by googleapis.
the class MainDiscoGapicProviderFactory method defaultCreate.
/**
* Create the DiscoGapicProvider based on the given id
*/
public static List<GapicProvider> defaultCreate(DiscoApiModel model, GapicProductConfig productConfig, GapicGeneratorConfig generatorConfig, PackageMetadataConfig packageConfig) {
ArrayList<GapicProvider> providers = new ArrayList<>();
String id = generatorConfig.id();
// Please keep the following IDs in alphabetical order
if (id.equals(JAVA)) {
if (generatorConfig.enableSurfaceGenerator()) {
GapicCodePathMapper javaPathMapper = CommonGapicCodePathMapper.newBuilder().setPrefix("src/main/java").setShouldAppendPackage(true).build();
List<DocumentToViewTransformer> transformers = Arrays.asList(new JavaDiscoGapicResourceNameToViewTransformer(javaPathMapper, packageConfig), new JavaDiscoGapicSchemaToViewTransformer(javaPathMapper, packageConfig), new JavaDiscoGapicRequestToViewTransformer(javaPathMapper, packageConfig), new JavaDiscoGapicSurfaceTransformer(javaPathMapper, packageConfig));
DiscoGapicProvider provider = DiscoGapicProvider.newBuilder().setDiscoApiModel(model).setProductConfig(productConfig).setSnippetSetRunner(new CommonSnippetSetRunner(new JavaRenderingUtil())).setDocumentToViewTransformers(transformers).build();
providers.add(provider);
}
if (generatorConfig.enableTestGenerator()) {
GapicCodePathMapper javaTestPathMapper = CommonGapicCodePathMapper.newBuilder().setPrefix("src/test/java").setShouldAppendPackage(true).build();
GapicProvider testProvider = ViewModelDiscoGapicProvider.newBuilder().setModel(model).setProductConfig(productConfig).setSnippetSetRunner(new CommonSnippetSetRunner(new CommonRenderingUtil())).setModelToViewTransformer(new JavaSurfaceTestTransformer(javaTestPathMapper, new JavaDiscoGapicSurfaceTransformer(javaTestPathMapper, packageConfig), "java/http_test.snip")).build();
providers.add(testProvider);
}
return providers;
} else {
throw new NotImplementedException("DiscoGapicProviderFactory: invalid id \"" + id + "\"");
}
}
use of com.google.api.codegen.gapic.GapicCodePathMapper in project toolkit by googleapis.
the class DiscoGapicGeneratorFactory method create.
/**
* Create the DiscoGapicGenerator based on the given id
*/
public static List<CodeGenerator<?>> create(TargetLanguage language, DiscoApiModel model, GapicProductConfig productConfig, PackageMetadataConfig packageConfig, ArtifactFlags artifactFlags) {
ArrayList<CodeGenerator<?>> generators = new ArrayList<>();
// Please keep the following IDs in alphabetical order
if (language.equals(JAVA)) {
if (artifactFlags.surfaceGeneratorEnabled()) {
if (artifactFlags.codeFilesEnabled()) {
GapicCodePathMapper javaPathMapper = CommonGapicCodePathMapper.newBuilder().setPrefix("src/main/java").setShouldAppendPackage(true).build();
List<ModelToViewTransformer<DiscoApiModel>> transformers = Arrays.asList(new JavaDiscoGapicResourceNameToViewTransformer(javaPathMapper), new JavaDiscoGapicSchemaToViewTransformer(javaPathMapper), new JavaDiscoGapicRequestToViewTransformer(javaPathMapper), new JavaDiscoGapicSurfaceTransformer(javaPathMapper));
DiscoGapicGenerator generator = DiscoGapicGenerator.newBuilder().setDiscoApiModel(model).setProductConfig(productConfig).setSnippetSetRunner(new CommonSnippetSetRunner(new JavaRenderingUtil())).setModelToViewTransformers(transformers).build();
generators.add(generator);
}
if (artifactFlags.packagingFilesEnabled()) {
CodeGenerator metadataGenerator = DiscoGapicGenerator.newBuilder().setDiscoApiModel(model).setProductConfig(productConfig).setSnippetSetRunner(new CommonSnippetSetRunner(new JavaRenderingUtil())).setModelToViewTransformers(Collections.singletonList(new JavaGapicPackageTransformer<>(packageConfig))).build();
generators.add(metadataGenerator);
}
}
if (artifactFlags.testGeneratorEnabled()) {
GapicCodePathMapper javaTestPathMapper = CommonGapicCodePathMapper.newBuilder().setPrefix("src/test/java").setShouldAppendPackage(true).build();
CodeGenerator<?> testGenerator = DiscoGapicGenerator.newBuilder().setDiscoApiModel(model).setProductConfig(productConfig).setSnippetSetRunner(new CommonSnippetSetRunner(new CommonRenderingUtil())).setModelToViewTransformers(Arrays.asList(new JavaSurfaceTestTransformer<>(javaTestPathMapper, new JavaDiscoGapicSurfaceTransformer(javaTestPathMapper), "java/http_test.snip"))).build();
generators.add(testGenerator);
}
return generators;
} else {
throw new UnsupportedOperationException("DiscoGapicGeneratorFactory: unsupported language \"" + language + "\"");
}
}
Aggregations