package liquibase.parser.core.xml;
import java.io.InputStream;
import liquibase.logging.LogFactory;
import liquibase.logging.Logger;
public class ContextClassLoaderXsdStreamResolver extends XsdStreamResolver {
private static final Logger LOGGER = new LogFactory().getLog("ContextClassLoaderXsdStreamResolver");
@Override
public InputStream getResourceAsStream(String xsdFile) {
LOGGER.debug("Trying to load resource from context classloader");
if (Thread.currentThread().getContextClassLoader() == null) {
LOGGER.debug("Failed to load resource from context classloader");
return getSuccessorValue(xsdFile);
}
InputStream resourceAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(xsdFile);
if(resourceAsStream == null){
LOGGER.debug("Failed to load resource from context classloader");
return getSuccessorValue(xsdFile);
}
return resourceAsStream;
}
}