private static ImmutableMap<String, SingleResourceNameConfig> createSingleResourceNameConfigs(
DiagCollector diagCollector,
ConfigProto configProto,
@Nullable List<ProtoFile> sourceProtos,
TargetLanguage language) {
ProtoFile file = null;
if (sourceProtos != null) {
file = sourceProtos.get(0);
}
LinkedHashMap<String, SingleResourceNameConfig> singleResourceNameConfigsMap =
new LinkedHashMap<>();
for (CollectionConfigProto collectionConfigProto : configProto.getCollectionsList()) {
createSingleResourceNameConfig(
diagCollector, collectionConfigProto, singleResourceNameConfigsMap, file, language);
}
for (InterfaceConfigProto interfaceConfigProto : configProto.getInterfacesList()) {
for (CollectionConfigProto collectionConfigProto :
interfaceConfigProto.getCollectionsList()) {
createSingleResourceNameConfig(
diagCollector, collectionConfigProto, singleResourceNameConfigsMap, file, language);
}
}
if (diagCollector.getErrorCount() > 0) {
return null;
} else {
return ImmutableMap.copyOf(singleResourceNameConfigsMap);
}
}