package org.docbag.creator.fop;
import java.io.InputStream;
import javax.xml.transform.Source;
import javax.xml.transform.TransformerException;
import javax.xml.transform.URIResolver;
import javax.xml.transform.stream.StreamSource;
import org.docbag.DocumentCreatorException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Jakub Torbicki
*/
public class ClasspathResourceURIResolver implements URIResolver {
private static final Logger LOG = LoggerFactory.getLogger(ClasspathResourceURIResolver.class);
@Override
public Source resolve(String href, String base) throws TransformerException {
InputStream stream = getClass().getClassLoader().getResourceAsStream(href);
if (stream != null) {
return new StreamSource(stream);
} else {
LOG.error("Couldn't find resource {} in {}", href, getClass().getClassLoader().getResource(".").getPath());
throw new DocumentCreatorException("Unable to find resource.");
}
}
}