(no commit message)
[utils] / crawler / basic / src / org / wamblee / crawler / GetPageRequest.java
index 7d99c1e814241c137026bdb88cdec01c65dc91e5..3da77b83899eac83a9cc2851300f4fb6b1cc9d61 100644 (file)
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 
 package org.wamblee.crawler;
 
 import java.io.PrintStream;
 
+import javax.xml.transform.TransformerException;
+
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.HttpMethod;
 import org.apache.commons.httpclient.NameValuePair;
@@ -25,35 +27,55 @@ import org.apache.commons.httpclient.methods.GetMethod;
 import org.w3c.dom.Document;
 
 /**
- * Gets a page by issueing a get request. 
+ * Gets a page by issueing a get request.
  */
 public class GetPageRequest extends AbstractPageRequest {
-    
-    public GetPageRequest(NameValuePair[] aParams, String aXslt) { 
-        super(aParams, aXslt, null);
+
+    /**
+     * Constructs the request.
+     * @param aMaxTries Maximum number of retries. 
+     * @param aMaxDelay Maximum delay before executing the request.
+     * @param aParams Request parameters to use. 
+     * @param aXslt XSLT to use. 
+     */
+    public GetPageRequest(int aMaxTries, int aMaxDelay, NameValuePair[] aParams, String aXslt) {
+        super(aMaxTries, aMaxDelay, aParams, aXslt, null);
     }
-    
-    public GetPageRequest(NameValuePair[] aParams, String aXslt, PrintStream aOs) { 
-        super(aParams, aXslt, aOs);
+
+    /**
+     * Constructs the request.
+     * @param aMaxTries Maximum number of retries. 
+     * @param aMaxDelay Maximum delay before executing the request.
+     * @param aParams Request parameters to use. 
+     * @param aXslt XSLT to use.
+     * @param aOs Logging output stream to use.  
+     */
+    public GetPageRequest(int aMaxTries, int aMaxDelay, NameValuePair[] aParams, String aXslt, PrintStream aOs) {
+        super(aMaxTries, aMaxDelay, aParams, aXslt, aOs);
     }
-    
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     * 
      * @see org.wamblee.crawler.PageRequest#getPage(org.apache.commons.httpclient.HttpClient)
      */
-    public Document execute(String aUrl, HttpClient aClient) {
+    public Document execute(String aUrl, HttpClient aClient)
+            throws PageException {
         HttpMethod method = new GetMethod(aUrl);
-        if ( getParameters().length > 0 ) { 
+        if (getParameters().length > 0) {
             String oldQueryString = method.getQueryString();
             method.setQueryString(getParameters());
             String queryString = method.getQueryString();
-            if ( oldQueryString.length() > 0 ) {
+            if (oldQueryString.length() > 0) {
                 queryString = queryString + '&' + oldQueryString;
                 method.setQueryString(queryString);
             }
         }
-        
-        return executeMethod(aClient, method);
+        try {
+            return executeMethod(aClient, method);
+        } catch (TransformerException e) {
+            throw new PageException(e.getMessage(), e);
+        }
     }
 
 }