private List<ViewModel> createSmokeTestViews(ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> views = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); views.add(createSmokeTestClassView(context)); } return views.build(); }
@Override public String getServicePhraseName(InterfaceConfig interfaceConfig) { return interfaceConfig.getInterfaceModel().getParentFullName() + " " + interfaceConfig.getInterfaceModel().getSimpleName() + " API"; }
@Override public String getApiWrapperClassName(InterfaceConfig interfaceConfig) { if (!Strings.isNullOrEmpty(interfaceConfig.getInterfaceNameOverride())) { return publicClassName(clientNamePrefix(interfaceConfig.getInterfaceNameOverride())); } return publicClassName(clientNamePrefix(interfaceConfig.getRawName()).join("client")); }
private List<SingleResourceNameConfig> getSingleResourceNameConfigsUsedByInterface( InterfaceContext context) { InterfaceConfig interfaceConfig = context.getInterfaceConfig(); Set<String> foundSet = new HashSet<>(); ImmutableList.Builder<SingleResourceNameConfig> resourceNameConfigsBuilder = ImmutableList.builder(); for (SingleResourceNameConfig config : interfaceConfig.getSingleResourceNameConfigs()) { resourceNameConfigsBuilder.add(config); foundSet.add(config.getEntityId()); } for (MethodConfig methodConfig : interfaceConfig.getMethodConfigs()) { MethodContext methodContext = context.asRequestMethodContext(methodConfig.getMethodModel()); for (String fieldNamePattern : methodConfig.getFieldNamePatterns().values()) { SingleResourceNameConfig resourceNameConfig = methodContext.getSingleResourceNameConfig(fieldNamePattern); if (resourceNameConfig != null && !foundSet.contains(resourceNameConfig.getEntityId())) { resourceNameConfigsBuilder.add(resourceNameConfig); foundSet.add(resourceNameConfig.getEntityId()); } } } return resourceNameConfigsBuilder.build(); }
xsettingsClass.transportProtocol(productConfig.getTransportProtocol()); xsettingsClass.hasDefaultServiceAddress(interfaceConfig.hasDefaultServiceAddress()); xsettingsClass.hasDefaultServiceScopes(interfaceConfig.hasDefaultServiceScopes()); xsettingsClass.hasDefaultInstance(interfaceConfig.hasDefaultInstance()); xsettingsClass.stubInterfaceName( getAndSaveNicknameForStubType(context, namer.getApiStubInterfaceName(interfaceConfig))); context, namer.getApiRpcStubClassName( interfaceConfig.getInterfaceModel(), productConfig.getTransportProtocol())));
interfaceConfig.getInterfaceModel(), productConfig.getTransportProtocol()); stubClass.releaseLevelAnnotation(namer.getReleaseAnnotation(ReleaseLevel.BETA)); stubClass.name(name); apiCallableTransformer.generateStaticLangApiCallables(apiMethodsContext)); stubClass.callableMethods(filterIncludeCallableMethods(methods)); stubClass.hasDefaultInstance(interfaceConfig.hasDefaultInstance()); stubClass.hasLongRunningOperations(interfaceConfig.hasLongRunningOperations());
private boolean hasOneOf(InterfaceContext context) { return context .getInterfaceConfig() .getMethodConfigs() .stream() .anyMatch(config -> !config.getOneofNames(context.getNamer()).isEmpty()); }
context.getInterfaceConfig().getRetryCodesConfig().getRetryCodesDefinition(); ImmutableMap<String, RetryParamsDefinitionProto> retryParamsDef = context.getInterfaceConfig().getRetrySettingsDefinition(); for (RetryConfigDefinitionView.Name name : retryNames) { ImmutableList<String> codes = retryCodesDef.get(name.retryCodesConfigName());
docLines.addAll(namer.getDocLines(context.getInterfaceDescription())); InterfaceConfig conf = context.getInterfaceConfig(); if (!conf.getManualDoc().isEmpty()) { docLines.add(""); docLines.addAll(namer.getDocLines(conf.getManualDoc())); serviceDoc.settingsVarName(namer.getApiSettingsVariableName(context.getInterfaceConfig())); serviceDoc.settingsClassName(namer.getApiSettingsClassName(context.getInterfaceConfig())); serviceDoc.hasDefaultInstance(context.getInterfaceConfig().hasDefaultInstance()); serviceDoc.serviceTitle(context.serviceTitle()); serviceDoc.defaultTransportProviderBuilder(
/** * The name of the stub interface for a particular proto interface; not used in most languages. */ public String getApiStubInterfaceName(InterfaceConfig interfaceConfig) { return publicClassName(Name.upperCamel(interfaceConfig.getRawName(), "Stub")); }
private Set<ImportKind> getImportKinds( InterfaceConfig interfaceConfig, Iterable<? extends MethodModel> methods) { EnumSet<ImportKind> kinds = EnumSet.noneOf(ImportKind.class); for (MethodModel method : methods) { if (method.getResponseStreaming()) { kinds.add(ImportKind.SERVER_STREAM); } MethodConfig methodConfig = interfaceConfig.getMethodConfig(method); if (methodConfig.isLongRunningOperation()) { kinds.add(ImportKind.LRO); } if (methodConfig.isPageStreaming()) { kinds.add(ImportKind.PAGE_STREAM); } } return kinds; }
protected String getInterfaceName(InterfaceConfig interfaceConfig) { return interfaceConfig.getName(); }
public List<RetryCodesDefinitionView> generateRetryCodesDefinitions(InterfaceContext context) { List<RetryCodesDefinitionView> definitions = new ArrayList<>(); final SurfaceNamer namer = context.getNamer(); for (Entry<String, ImmutableList<String>> retryCodesDef : context.getInterfaceConfig().getRetryCodesConfig().getRetryCodesDefinition().entrySet()) { List<String> codeNames = new ArrayList<>(); for (String code : retryCodesDef.getValue()) { codeNames.add(namer.getStatusCodeName(code)); } Collections.sort(codeNames); definitions.add( RetryCodesDefinitionView.newBuilder() .key(retryCodesDef.getKey()) .name(namer.getRetryDefinitionName(retryCodesDef.getKey())) .retryFilterMethodName(namer.retryFilterMethodName(retryCodesDef.getKey())) .codes(retryCodesDef.getValue()) .codeNames(codeNames) .build()); } return definitions; }
public List<RetryParamsDefinitionView> generateRetryParamsDefinitions(InterfaceContext context) { List<RetryParamsDefinitionView> definitions = new ArrayList<>(); SurfaceNamer namer = context.getNamer(); for (Entry<String, RetryParamsDefinitionProto> retryCodesDef : context.getInterfaceConfig().getRetrySettingsDefinition().entrySet()) { RetryParamsDefinitionView.Builder view = RetryParamsDefinitionView.newBuilder(); view.key(retryCodesDef.getKey()); view.name(namer.publicMethodName(Name.from(retryCodesDef.getKey()))); view.retryBackoffMethodName(namer.retryBackoffMethodName(retryCodesDef.getKey())); view.timeoutBackoffMethodName(namer.timeoutBackoffMethodName(retryCodesDef.getKey())); view.params(retryCodesDef.getValue()); definitions.add(view.build()); } return definitions; } }
@Override /* Returns the DiscoGapicMethodConfig for the given method. */ public DiscoGapicMethodConfig getMethodConfig(MethodModel method) { String methodName = method.getFullName(); for (InterfaceConfig config : getProductConfig().getInterfaceConfigMap().values()) { for (MethodConfig methodConfig : config.getMethodConfigs()) { if (methodConfig.getMethodModel().getFullName().equals(methodName)) { return (DiscoGapicMethodConfig) methodConfig; } } } throw new IllegalArgumentException("Interface config does not exist for method: " + methodName); }
productConfig.getInterfaceConfigMap().get(interfaceName).getMethodConfigs()) { Method method = ((DiscoveryMethodModel) methodConfig.getMethodModel()).getDiscoMethod(); namePatternsToMethod.put(DiscoGapicParser.getCanonicalPath(method.flatPath()), method); productConfig.getInterfaceConfigMap().get(interfaceName).getSingleResourceNameConfigs()) { String namePattern = nameConfig.getNamePattern(); if (namePatterns.contains(namePattern)) {
/** * The name of the stub interface for a particular proto interface; not used in most languages. */ public String getApiStubSettingsClassName(InterfaceConfig interfaceConfig) { return publicClassName(Name.upperCamel(interfaceConfig.getRawName(), "Stub", "Settings")); }
/** * Returns the MethodConfig object of the given gRPC method. * * <p>If the method is a gRPC re-route method, returns the MethodConfig of the original method. */ public GapicMethodConfig getMethodConfig(MethodModel method) { Interface originalInterface = getInterface(); if (getGrpcRerouteMap().containsKey(originalInterface)) { originalInterface = getGrpcRerouteMap().get(originalInterface); } InterfaceConfig originalInterfaceConfig = getProductConfig().getInterfaceConfig(originalInterface); if (originalInterfaceConfig != null) { return (GapicMethodConfig) originalInterfaceConfig.getMethodConfig(method); } else { throw new IllegalArgumentException( "Interface config does not exist for method: " + method.getSimpleName()); } }
private List<ViewModel> createSmokeTestViews(ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> views = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); views.add(createSmokeTestClassView(context, model.hasMultipleServices())); } return views.build(); }
@Override public String getApiWrapperClassConstructorName(InterfaceConfig interfaceConfig) { return getApiWrapperClassName(interfaceConfig.getInterfaceModel().getSimpleName()); }