X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fbasic%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2FAbstractPageRequest.java;h=5cb4fae6e40bc2f3b0215118bad67ca52028e657;hb=e1aafb0930f726a00368ce3468a48193d0fb6fac;hp=baf9510b8c2ee9d560d1e888fbb58b8bd5b7b170;hpb=8c0b0a2d230139dff25630954e170e3c082395a6;p=utils diff --git a/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java b/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java index baf9510b..5cb4fae6 100644 --- a/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java +++ b/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java @@ -17,7 +17,6 @@ package org.wamblee.crawler; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; import javax.xml.transform.OutputKeys; @@ -40,9 +39,8 @@ import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.XMLSerializer; import org.w3c.dom.Document; import org.w3c.tidy.Tidy; -import org.wamblee.io.FileResource; import org.wamblee.xml.DOMUtility; -import org.wamblee.xml.XSLT; +import org.wamblee.xml.XslTransformer; /** * General support claas for all kinds of requests. @@ -60,6 +58,8 @@ public abstract class AbstractPageRequest implements PageRequest { private NameValuePair[] _params; private String _xslt; + + private XslTransformer _transformer; /** * Constructs the request. @@ -74,7 +74,7 @@ public abstract class AbstractPageRequest implements PageRequest { * XSLT used to convert the response. */ protected AbstractPageRequest(int aMaxTries, int aMaxDelay, - NameValuePair[] aParams, String aXslt) { + NameValuePair[] aParams, String aXslt, XslTransformer aTransformer) { if (aParams == null) { throw new IllegalArgumentException("aParams is null"); } @@ -85,6 +85,7 @@ public abstract class AbstractPageRequest implements PageRequest { _maxDelay = aMaxDelay; _params = aParams; _xslt = aXslt; + _transformer = aTransformer; } /* @@ -155,8 +156,8 @@ public abstract class AbstractPageRequest implements PageRequest { aMethod = executeWithRedirects(aClient, aMethod); byte[] xhtmlData = getXhtml(aMethod); - Document transformed = new XSLT().transform(xhtmlData, - new FileResource(new File(_xslt))); + Document transformed = _transformer.transform(xhtmlData, + _transformer.resolve(_xslt)); ByteArrayOutputStream os = new ByteArrayOutputStream(); Transformer transformer = TransformerFactory.newInstance() .newTransformer();