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();
}
}