@Override public JavaSurfaceNamer createSurfaceNamer(GapicProductConfig productConfig) { return new JavaSurfaceNamer( productConfig.getPackageName(), productConfig.getPackageName(), new JavaNameFormatter()); } }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> models = new ArrayList<>(); PhpPackageMetadataNamer metadataNamer = new PhpPackageMetadataNamer( productConfig.getPackageName(), productConfig.getDomainLayerLocation()); SurfaceNamer surfaceNamer = new PhpSurfaceNamer(productConfig.getPackageName()); models.add(generateMetadataView(model, metadataNamer, surfaceNamer)); return models; }
private List<ViewModel> generateTopLevelFiles(ApiModel model, GapicProductConfig productConfig) { PackageMetadataNamer namer = new PackageMetadataNamer(); SurfaceNamer surfaceNamer = new PythonSurfaceNamer(productConfig.getPackageName()); ImmutableList.Builder<ViewModel> metadata = ImmutableList.builder(); for (Map.Entry<String, String> entry : TOP_LEVEL_TEMPLATE_FILES.entrySet()) { metadata.add( generateMetadataView( model, productConfig, entry.getKey(), namer, surfaceNamer, entry.getValue()) .build()); } return metadata.build(); }
private GapicInterfaceContext createInterfaceContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { SurfaceNamer namer = new CSharpSurfaceNamer(productConfig.getPackageName(), ALIAS_MODE); CSharpFeatureConfig featureConfig = new CSharpFeatureConfig(); return GapicInterfaceContext.create( apiInterface, productConfig, csharpCommonTransformer.createTypeTable(productConfig.getPackageName(), ALIAS_MODE), namer, featureConfig); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { RubyPackageMetadataNamer namer = new RubyPackageMetadataNamer(productConfig.getPackageName()); return ImmutableList.<ViewModel>builder() .add(generateGemspecView(model, namer)) .add(generateReadmeView(model, productConfig, namer)) .add(generateChangelogView(model, namer)) .addAll(generateMetadataViews(model, productConfig, namer, TOP_LEVEL_FILES)) .addAll(generateMetadataViews(model, productConfig, namer, TOP_LEVEL_DOT_FILES, ".")) .build(); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> models = new ArrayList<ViewModel>(); NodeJSPackageMetadataNamer namer = new NodeJSPackageMetadataNamer( productConfig.getPackageName(), productConfig.getDomainLayerLocation()); models.addAll(generateMetadataViews(model, productConfig, namer)); models.add(generateReadmeView(model, productConfig, namer)); return models; }
private ModelTypeTable emptyTypeTable(GapicProductConfig productConfig) { return new ModelTypeTable( new PythonTypeTable(productConfig.getPackageName()), new PythonModelTypeNameConverter(productConfig.getPackageName())); }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new RubyTypeTable(productConfig.getPackageName()), new RubyModelTypeNameConverter(productConfig.getPackageName())), new RubySurfaceNamer(productConfig.getPackageName()), new RubyFeatureConfig()); } }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new RubyTypeTable(productConfig.getPackageName()), new RubyModelTypeNameConverter(productConfig.getPackageName())), new RubySurfaceNamer(productConfig.getPackageName()), new RubyFeatureConfig()); } }
private List<ImportFileView> generateExternalImports(GapicInterfaceContext context) { ImmutableList.Builder<ImportFileView> imports = ImmutableList.builder(); imports.add(createImport("google/gax")); if (context.getInterfaceConfig().hasLongRunningOperations()) { imports.add(createImport("google/gax/operation")); imports.add(createImport("google/longrunning/operations_client")); } if (RubyUtil.isLongrunning(context.getProductConfig().getPackageName())) { imports.add(createImport("googleauth")); } return imports.build(); }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new JSTypeTable(productConfig.getPackageName()), new NodeJSModelTypeNameConverter(productConfig.getPackageName())), new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)), new NodeJSFeatureConfig()); } }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new JSTypeTable(productConfig.getPackageName()), new NodeJSModelTypeNameConverter(productConfig.getPackageName())), new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)), new NodeJSFeatureConfig()); } }
private List<ImportFileView> generateAppImports( GapicInterfaceContext context, Set<String> filenames) { ImmutableList.Builder<ImportFileView> imports = ImmutableList.builder(); for (String filename : filenames) { imports.add(createImport(context.getNamer().getProtoFileImportName(filename))); } if (!RubyUtil.isLongrunning(context.getProductConfig().getPackageName())) { imports.add(createImport(context.getNamer().getCredentialsClassImportName())); } return imports.build(); }
private ViewModel generateNoxFile(ApiModel model, GapicProductConfig productConfig) { PackageMetadataNamer namer = new PackageMetadataNamer(); SurfaceNamer surfaceNamer = new PythonSurfaceNamer(productConfig.getPackageName()); String outputPath = "nox.py"; return generateMetadataView( model, productConfig, NOX_TEMPLATE_FILE, namer, surfaceNamer, outputPath) .fileHeader( fileHeaderTransformer.generateFileHeader( productConfig, importSectionTransformer.generateNoxImportSection(), new PythonSurfaceNamer(productConfig.getPackageName()))) .build(); }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { String samplePackageName = productConfig.getPackageName() + "\\Samples"; return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new PhpTypeTable(samplePackageName), new PhpModelTypeNameConverter(samplePackageName)), new PhpSurfaceNamer(productConfig.getPackageName()), new PhpFeatureConfig()); } }
@Test public void testGetPackageName() { String packageName = GapicProductConfig.getPackageName(model); assertThat(packageName).isEqualTo("google.example.library.v1"); }
private static ModelTypeTable createTypeTable(GapicProductConfig productConfig) { String packageName = productConfig.getPackageName(); return new ModelTypeTable( new JSTypeTable(packageName), new NodeJSModelTypeNameConverter(packageName)); }
@VisibleForTesting void addXExampleImports(InterfaceContext context, Iterable<? extends MethodModel> methods) { ImportTypeTable typeTable = context.getImportTypeTable(); typeTable.saveNicknameFor("context;;;"); typeTable.saveNicknameFor(context.getProductConfig().getPackageName() + ";;;"); for (MethodModel method : methods) { method.getAndSaveRequestTypeName(context.getImportTypeTable(), context.getNamer()); } addContextImports(context, ImportContext.EXAMPLE, methods); }
private SimpleInitFileView generateCsproj(GapicInterfaceContext context) { GapicProductConfig productConfig = context.getProductConfig(); String outputPath = pathMapper.getOutputPath(context.getInterface().getFullName(), productConfig); return SimpleInitFileView.create( templateFilename, outputPath + File.separator + productConfig.getPackageName() + fileBaseSuffix, fileHeaderTransformer.generateFileHeader(context)); } }
@Before public void setup() { GoSurfaceNamer namer = new GoSurfaceNamer(productConfig.getPackageName()); context = GapicInterfaceContext.create( apiInterface, productConfig, GoGapicSurfaceTransformer.createTypeTable(), namer, new DefaultFeatureConfig()); }