Search in sources :

Example 1 with DocumentToViewTransformer

use of com.google.api.codegen.discogapic.transformer.DocumentToViewTransformer 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 + "\"");
    }
}
Also used : JavaDiscoGapicResourceNameToViewTransformer(com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicResourceNameToViewTransformer) JavaDiscoGapicRequestToViewTransformer(com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicRequestToViewTransformer) CommonGapicCodePathMapper(com.google.api.codegen.gapic.CommonGapicCodePathMapper) GapicCodePathMapper(com.google.api.codegen.gapic.GapicCodePathMapper) CommonSnippetSetRunner(com.google.api.codegen.rendering.CommonSnippetSetRunner) JavaRenderingUtil(com.google.api.codegen.util.java.JavaRenderingUtil) NotImplementedException(org.apache.commons.lang3.NotImplementedException) GapicProvider(com.google.api.codegen.gapic.GapicProvider) ArrayList(java.util.ArrayList) JavaSurfaceTestTransformer(com.google.api.codegen.transformer.java.JavaSurfaceTestTransformer) JavaDiscoGapicSchemaToViewTransformer(com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicSchemaToViewTransformer) JavaDiscoGapicSurfaceTransformer(com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicSurfaceTransformer) CommonRenderingUtil(com.google.api.codegen.util.CommonRenderingUtil) DocumentToViewTransformer(com.google.api.codegen.discogapic.transformer.DocumentToViewTransformer)

Example 2 with DocumentToViewTransformer

use of com.google.api.codegen.discogapic.transformer.DocumentToViewTransformer in project toolkit by googleapis.

the class DiscoGapicProvider method generate.

public Map<String, Doc> generate(String snippetFileName) {
    Map<String, Doc> docs = new LinkedTreeMap<>();
    for (DocumentToViewTransformer transformer : transformers) {
        List<ViewModel> surfaceDocs = transformer.transform(model, productConfig);
        for (ViewModel surfaceDoc : surfaceDocs) {
            if (snippetFileName != null && !surfaceDoc.templateFileName().equals(snippetFileName)) {
                continue;
            }
            Doc doc = snippetSetRunner.generate(surfaceDoc);
            if (doc == null) {
                // generation failed; failures are captured in the model.
                continue;
            }
            docs.put(surfaceDoc.outputPath(), doc);
        }
    }
    return docs;
}
Also used : LinkedTreeMap(com.google.gson.internal.LinkedTreeMap) Doc(com.google.api.tools.framework.snippet.Doc) ViewModel(com.google.api.codegen.viewmodel.ViewModel) DocumentToViewTransformer(com.google.api.codegen.discogapic.transformer.DocumentToViewTransformer)

Aggregations

DocumentToViewTransformer (com.google.api.codegen.discogapic.transformer.DocumentToViewTransformer)2 JavaDiscoGapicRequestToViewTransformer (com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicRequestToViewTransformer)1 JavaDiscoGapicResourceNameToViewTransformer (com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicResourceNameToViewTransformer)1 JavaDiscoGapicSchemaToViewTransformer (com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicSchemaToViewTransformer)1 JavaDiscoGapicSurfaceTransformer (com.google.api.codegen.discogapic.transformer.java.JavaDiscoGapicSurfaceTransformer)1 CommonGapicCodePathMapper (com.google.api.codegen.gapic.CommonGapicCodePathMapper)1 GapicCodePathMapper (com.google.api.codegen.gapic.GapicCodePathMapper)1 GapicProvider (com.google.api.codegen.gapic.GapicProvider)1 CommonSnippetSetRunner (com.google.api.codegen.rendering.CommonSnippetSetRunner)1 JavaSurfaceTestTransformer (com.google.api.codegen.transformer.java.JavaSurfaceTestTransformer)1 CommonRenderingUtil (com.google.api.codegen.util.CommonRenderingUtil)1 JavaRenderingUtil (com.google.api.codegen.util.java.JavaRenderingUtil)1 ViewModel (com.google.api.codegen.viewmodel.ViewModel)1 Doc (com.google.api.tools.framework.snippet.Doc)1 LinkedTreeMap (com.google.gson.internal.LinkedTreeMap)1 ArrayList (java.util.ArrayList)1 NotImplementedException (org.apache.commons.lang3.NotImplementedException)1