Missing factoryutils
This commit is contained in:
parent
29d2ab8aca
commit
d20fd7788c
|
@ -0,0 +1,34 @@
|
|||
package com.datadoghq.trace.resolver;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.Enumeration;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
||||
|
||||
public class FactoryUtils {
|
||||
private final static Logger logger = LoggerFactory.getLogger(FactoryUtils.class);
|
||||
|
||||
private static final ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
|
||||
|
||||
public static <A> A loadConfigFromResource(String resourceName, Class<A> targetClass){
|
||||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
A config = null;
|
||||
try {
|
||||
Enumeration<URL> iter = classLoader.getResources(resourceName);
|
||||
while (iter.hasMoreElements()) {
|
||||
config = objectMapper.readValue(iter.nextElement().openStream(), targetClass);
|
||||
|
||||
break; // ONLY the closest resource file is taken into account
|
||||
}
|
||||
} catch (IOException e) {
|
||||
logger.warn("Could not load configuration file {}.", resourceName);
|
||||
logger.error("Error when loading config file", e);
|
||||
}
|
||||
return config;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue