From b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd Mon Sep 17 00:00:00 2001 From: mcentner Date: Wed, 5 May 2010 15:29:01 +0000 Subject: Merged feature branch mocca-1.2.13-id@r724 back to trunk. git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@725 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../utils/urldereferencer/URIResolverAdapter.java | 150 ++++++++++----------- 1 file changed, 70 insertions(+), 80 deletions(-) (limited to 'utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URIResolverAdapter.java') diff --git a/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URIResolverAdapter.java b/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URIResolverAdapter.java index 2d11010e..0dccbe8f 100644 --- a/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URIResolverAdapter.java +++ b/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URIResolverAdapter.java @@ -14,83 +14,73 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package at.gv.egiz.bku.utils.urldereferencer; - -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -import javax.xml.transform.Source; -import javax.xml.transform.TransformerException; -import javax.xml.transform.URIResolver; -import javax.xml.transform.stream.StreamSource; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * Adapter to make the Urldereferencer work as URIResolver for - * Stylesheettransforms. - * - * @author wbauer - * - */ -public class URIResolverAdapter implements URIResolver { - - private static Log log = LogFactory.getLog(URIResolverAdapter.class); - - private URLDereferencer urlDereferencer; - private URLDereferencerContext ctx; - - /** - * - * @param deferecencer - * must not be null - * @param ctx may be null - */ - public URIResolverAdapter(URLDereferencer deferecencer, - URLDereferencerContext ctx) { - if (deferecencer == null) { - throw new NullPointerException("Urlderefencer must not be set to null"); - } - this.urlDereferencer = deferecencer; - this.ctx = ctx; - } - - @Override - public Source resolve(String href, String base) throws TransformerException { - log.debug("Resolving href: "+href+" base: "+base); - try { - URI baseUri = null; - URI hrefUri = new URI(href); - if (base != null) { - baseUri = new URI(base); - } - URI abs; - if (baseUri != null) { - abs = baseUri.resolve(hrefUri); - } else { - abs = hrefUri; - } - if (!abs.isAbsolute()) { - throw new TransformerException("Only absolute URLs are supported"); - } - return new StreamSource(urlDereferencer.dereference(abs.toString(), ctx) - .getStream()); - } catch (URISyntaxException e) { - throw new TransformerException("Cannot resolve URI: base:" + base - + " href:" + href, e); - } catch (IOException iox) { - throw new TransformerException("Cannot resolve URI: base:" + base - + " href:" + href, iox); - } - } - - public URLDereferencerContext getCtx() { - return ctx; - } - - public void setCtx(URLDereferencerContext ctx) { - this.ctx = ctx; - } -} +package at.gv.egiz.bku.utils.urldereferencer; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +import javax.xml.transform.Source; +import javax.xml.transform.TransformerException; +import javax.xml.transform.URIResolver; +import javax.xml.transform.stream.StreamSource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Adapter to make the Urldereferencer work as URIResolver for + * Stylesheettransforms. + * + * @author wbauer + * + */ +public class URIResolverAdapter implements URIResolver { + + private final Logger log = LoggerFactory.getLogger(URIResolverAdapter.class); + + private URLDereferencer urlDereferencer; + + /** + * + * @param deferecencer + * must not be null + * @param ctx may be null + */ + public URIResolverAdapter(URLDereferencer deferecencer) { + if (deferecencer == null) { + throw new NullPointerException("Urlderefencer must not be set to null"); + } + this.urlDereferencer = deferecencer; + } + + @Override + public Source resolve(String href, String base) throws TransformerException { + log.debug("Resolving href: {} base: {}", href, base); + try { + URI baseUri = null; + URI hrefUri = new URI(href); + if (base != null) { + baseUri = new URI(base); + } + URI abs; + if (baseUri != null) { + abs = baseUri.resolve(hrefUri); + } else { + abs = hrefUri; + } + if (!abs.isAbsolute()) { + throw new TransformerException("Only absolute URLs are supported"); + } + return new StreamSource(urlDereferencer.dereference(abs.toString()) + .getStream()); + } catch (URISyntaxException e) { + throw new TransformerException("Cannot resolve URI: base:" + base + + " href:" + href, e); + } catch (IOException iox) { + throw new TransformerException("Cannot resolve URI: base:" + base + + " href:" + href, iox); + } + } + +} -- cgit v1.2.3