For a given folder path, I want to load/transform all the JSON files inside that folder in a single map.
InputStream input = new ClassPathResource(jsonFile).getInputStream();
jsonMap = new ObjectMapper().readValue(input,
new TypeReference<Map<String, MappedContacts>>() {});
I've managed to do it for a single file, but I'm not sure how can I do this efficiently for multiple files.
Since I'm using Spring, it was quite easy to use PathMatchingResourcePatternResolver
to retrieve all the resources from a folder before using ObjectMapper to transform each one of them into a map :
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(ConfigMapping.class.getClassLoader());
Resource[] resources = resolver.getResources("classpath*:/META-INF/resources/mapper/*");
for (Resource resource: resources) {
InputStream input = resource.getInputStream();
Map < String, MappedContacts> jsonMap = new ObjectMapper().readValue(input, new TypeReference < Map < String, MappedContacts>> () {});
mapping.putAll(jsonMap);
}