@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { return Streams.findLast( model.getInterfaces().stream().filter(productConfig::hasInterfaceConfig)) .map(i -> createInterfaceContext(i, productConfig)) .map(this::generateCsProjView) .<List<ViewModel>>map(ImmutableList::of) .orElse(ImmutableList.of()); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> models = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); models.addAll(generateSamples(context)); } return models.build(); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { Collection<? extends InterfaceModel> apiInterfaces = model .getInterfaces() .stream() .filter(productConfig::hasInterfaceConfig) .collect(ImmutableList.toImmutableList()); ImmutableList.Builder<ViewModel> models = ImmutableList.builder(); models.addAll(generateIndexViews(apiInterfaces, productConfig)); models.addAll(generateApiClasses(apiInterfaces, productConfig, model.hasMultipleServices())); return models.build(); }
@Override public List<String> getAuthScopes(GapicProductConfig gapicProductConfig) { return getAuthScopes(gapicProductConfig.getProtoParser(), getInterfaces()); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); SurfaceNamer namer = createSurfaceNamer(productConfig); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } ImportTypeTable typeTable = createTypeTable(namer.getExamplePackageName()); InterfaceContext context = createInterfaceContext(apiInterface, productConfig, namer, typeTable); List<ViewModel> sampleFiles = generateSampleFiles(context); surfaceDocs.addAll(sampleFiles); } return surfaceDocs; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> views = new ArrayList<>(); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig, PhpSurfaceNamer.TestKind.UNIT); views.add(createUnitTestFileView(context)); if (context.getInterfaceConfig().getSmokeTestConfig() != null) { context = createContext(apiInterface, productConfig, PhpSurfaceNamer.TestKind.SYSTEM); views.add(createSmokeTestClassView(context)); } } return views; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { GoSurfaceNamer namer = new GoSurfaceNamer(productConfig.getPackageName()); List<ViewModel> models = new ArrayList<ViewModel>(); models.add(generateMockServiceView(model, productConfig, namer)); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, GoGapicSurfaceTransformer.createTypeTable(), namer, featureConfig); models.add(createSmokeTestClassView(context)); } return models; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); SurfaceNamer namer = new CSharpSurfaceNamer(productConfig.getPackageName(), ALIAS_MODE); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, csharpCommonTransformer.createTypeTable(namer.getPackageName(), ALIAS_MODE), namer, new CSharpFeatureConfig()); if (shouldGenerateFn.test(context)) { surfaceDocs.add(generateCsproj(context)); } } return surfaceDocs; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> models = new ArrayList<>(); GoSurfaceNamer namer = new GoSurfaceNamer(productConfig.getPackageName()); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, createTypeTable(), namer, featureConfig); models.add(generate(context)); context = GapicInterfaceContext.create( apiInterface, productConfig, createTypeTable(), namer, featureConfig); models.add(generateExample(context)); } models.add(generatePackageInfo(model, productConfig, namer)); return models; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); SurfaceNamer namer = new CSharpSurfaceNamer(productConfig.getPackageName(), ALIAS_MODE); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, csharpCommonTransformer.createTypeTable(namer.getPackageName(), ALIAS_MODE), namer, new CSharpFeatureConfig()); csharpCommonTransformer.addCommonImports(context); SmokeTestClassView smokeTests = generateSmokeTest(context); if (smokeTests != null) { surfaceDocs.add(smokeTests); } } return surfaceDocs; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); SurfaceNamer namer = new CSharpSurfaceNamer(productConfig.getPackageName(), ALIAS_MODE); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, csharpCommonTransformer.createTypeTable(namer.getTestPackageName(), ALIAS_MODE), namer, new CSharpFeatureConfig()); csharpCommonTransformer.addCommonImports(context); ModelTypeTable typeTable = context.getImportTypeTable(); typeTable.saveNicknameFor("Xunit.FactAttribute"); typeTable.saveNicknameFor("Moq.Mock"); if (context.getLongRunningMethods().iterator().hasNext()) { typeTable.saveNicknameFor("Google.LongRunning.Operations"); } surfaceDocs.add(generateUnitTest(context)); } return surfaceDocs; }
private Iterable<ViewModel> generateSampleFiles( ProtoApiModel apiModel, GapicProductConfig productConfig) { ModelTypeTable modelTypeTable = new ModelTypeTable( new PythonTypeTable(productConfig.getPackageName()), new PythonModelTypeNameConverter(productConfig.getPackageName())); SurfaceNamer namer = new PythonSurfaceNamer(productConfig.getPackageName()); FeatureConfig featureConfig = new DefaultFeatureConfig(); ImmutableList.Builder<ViewModel> serviceSurfaces = ImmutableList.builder(); for (InterfaceModel apiInterface : apiModel.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, modelTypeTable, namer, featureConfig); addApiImports(context); serviceSurfaces.addAll(generateSampleClasses(context)); } return serviceSurfaces.build(); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); SurfaceNamer namer = new CSharpSurfaceNamer(productConfig.getPackageName(), ALIAS_MODE); CSharpFeatureConfig featureConfig = new CSharpFeatureConfig(); InterfaceModel lastApiInterface = null; for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, csharpCommonTransformer.createTypeTable(productConfig.getPackageName(), ALIAS_MODE), namer, featureConfig); surfaceDocs.add(generateApiAndSettingsView(context)); lastApiInterface = apiInterface; } GapicInterfaceContext context = GapicInterfaceContext.create( lastApiInterface, productConfig, csharpCommonTransformer.createTypeTable(productConfig.getPackageName(), ALIAS_MODE), namer, featureConfig); surfaceDocs.add(generateResourceNamesView(context)); return surfaceDocs; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); SurfaceNamer namer = new CSharpSurfaceNamer(productConfig.getPackageName(), ALIAS_MODE); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, csharpCommonTransformer.createTypeTable(namer.getExamplePackageName(), ALIAS_MODE), namer, new CSharpFeatureConfig()); csharpCommonTransformer.addCommonImports(context); context.getImportTypeTable().saveNicknameFor("Google.Protobuf.Bytestring"); context.getImportTypeTable().saveNicknameFor("System.Linq.__import__"); surfaceDocs.add(generateSnippets(context)); } return surfaceDocs; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> surfaceDocs = new ArrayList<>(); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } ModelTypeTable modelTypeTable = new ModelTypeTable( new PhpTypeTable(productConfig.getPackageName()), new PhpModelTypeNameConverter(productConfig.getPackageName())); GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, modelTypeTable, new PhpSurfaceNamer(productConfig.getPackageName()), new PhpFeatureConfig()); surfaceDocs.addAll(transform(context)); } return surfaceDocs; }
ImmutableList.Builder<ViewModel> serviceSurfaces = ImmutableList.builder(); for (InterfaceModel apiInterface : apiModel.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue;