private static ImmutableMap<String, InterfaceConfig> createDiscoGapicInterfaceConfigMap( DiscoApiModel model, ConfigProto configProto, LanguageSettingsProto languageSettings, ResourceNameMessageConfigs messageConfigs, ImmutableMap<String, ResourceNameConfig> resourceNameConfigs, TargetLanguage language) { ImmutableMap.Builder<String, InterfaceConfig> interfaceConfigMap = ImmutableMap.builder(); for (InterfaceConfigProto interfaceConfigProto : configProto.getInterfacesList()) { String interfaceNameOverride = languageSettings.getInterfaceNamesMap().get(interfaceConfigProto.getName()); DiscoGapicInterfaceConfig interfaceConfig = DiscoGapicInterfaceConfig.createInterfaceConfig( model, language, interfaceConfigProto, interfaceNameOverride, messageConfigs, resourceNameConfigs); if (interfaceConfig == null) { continue; } interfaceConfigMap.put(interfaceConfigProto.getName(), interfaceConfig); } if (model.getDiagCollector().getErrorCount() > 0) { return null; } else { return interfaceConfigMap.build(); } }
@Nullable private static ImmutableMap<String, ImmutableList<String>> createRetryCodesDefinitionFromConfigProto( DiagCollector diagCollector, InterfaceConfigProto interfaceConfigProto) { ImmutableMap.Builder<String, ImmutableList<String>> builder = ImmutableMap.builder(); for (RetryCodesDefinitionProto retryDef : interfaceConfigProto.getRetryCodesDefList()) { // Enforce ordering on set for baseline test consistency. Set<String> codes = new TreeSet<>(); for (String codeText : retryDef.getRetryCodesList()) { try { codes.add(String.valueOf(codeText)); } catch (IllegalArgumentException e) { diagCollector.addDiag( Diag.error( SimpleLocation.TOPLEVEL, "status code not found: '%s' (in interface %s)", codeText, interfaceConfigProto.getName())); } } builder.put(retryDef.getName(), ImmutableList.copyOf(codes)); } if (diagCollector.getErrorCount() > 0) { return null; } return builder.build(); }
Interface apiInterface = symbolTable.lookupInterface(interfaceConfigProto.getName()); if (apiInterface == null || !apiInterface.isReachable()) { diagCollector.addDiag( SimpleLocation.TOPLEVEL, "interface not found: %s", interfaceConfigProto.getName())); continue; interfaceConfigProtos.put(interfaceConfigProto.getName(), interfaceConfigProto); interfaceMap.put(interfaceConfigProto.getName(), apiInterface);
interfaceNameOverride != null ? interfaceNameOverride : DiscoGapicParser.getInterfaceName(interfaceConfigProto.getName()).toUpperCamel();
symbolTable.lookupInterface(configProto.getInterfaces(0).getName()).getFile(); defaultPackage = file.getProto().getPackage(); } else {