You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/05/03 13:27:12 UTC

svn commit: r399264 - in /cocoon/branches/BRANCH_2_1_X: ./ src/blocks/xsp/java/org/apache/cocoon/bean/ src/java/org/apache/cocoon/bean/ src/java/org/apache/cocoon/components/crawler/ src/java/org/apache/cocoon/environment/commandline/

Author: cziegeler
Date: Wed May  3 04:27:11 2006
New Revision: 399264

URL: http://svn.apache.org/viewcvs?rev=399264&view=rev
Log:
Commandline interface: the user-agent is now correctly set in the request headers (and not in the request parameters).
Fixes bug COCOON-1511

Modified:
    cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/bean/XSPPrecompileWrapper.java
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonBean.java
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/crawler/CocoonCrawler.java
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/FileSavingEnvironment.java
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/LinkSamplingEnvironment.java
    cocoon/branches/BRANCH_2_1_X/status.xml

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/bean/XSPPrecompileWrapper.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/bean/XSPPrecompileWrapper.java?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/bean/XSPPrecompileWrapper.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/bean/XSPPrecompileWrapper.java Wed May  3 04:27:11 2006
@@ -94,7 +94,7 @@
         String markupLanguage = "xsp";
         String programmingLanguage = "java";
         Environment env = new LinkSamplingEnvironment("/", context, null,
-                null, cliContext, log);
+                null, null, cliContext, log);
         precompile(uri, env, markupLanguage, programmingLanguage);
     }
 
@@ -110,7 +110,7 @@
         String markupLanguage = "sitemap";
         String programmingLanguage = "java";
         Environment env = new LinkSamplingEnvironment("/", context, null,
-                null, cliContext, log);
+                null, null, cliContext, log);
         precompile(uri, env, markupLanguage, programmingLanguage);
     }
 

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonBean.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonBean.java?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonBean.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonBean.java Wed May  3 04:27:11 2006
@@ -48,6 +48,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.TreeMap;
 
 /**
  * <p>The Cocoon Bean simplifies usage of the Cocoon object. Allows to create,
@@ -491,11 +492,16 @@
                     gatheredLinks = null;
                 }
 
+                final TreeMap headers = new TreeMap();
+                headers.put("user-agent", userAgent);
+                headers.put("accept", accept);
+
                 status =
                     getPage(
                         target.getDeparameterizedSourceURI(),
                         getLastModified(target),
                         target.getParameters(),
+                        headers,
                         target.confirmExtensions() ? translatedLinks : null,
                         gatheredLinks,
                         output);

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java Wed May  3 04:27:11 2006
@@ -83,8 +83,8 @@
     private String logKit = null;
     protected String logger = null;
     protected String logLevel = "ERROR";
-    private String userAgent = DEFAULT_USER_AGENT;
-    private String accept = DEFAULT_ACCEPT;
+    protected String userAgent = DEFAULT_USER_AGENT;
+    protected String accept = DEFAULT_ACCEPT;
     private List classList = new ArrayList();
 
     // Objects used alongside User Supplied Parameters
@@ -401,15 +401,16 @@
         }
         log.info("Processing URI: " + uri);
 
-        // Get parameters, deparameterized URI and path from URI
+        // Get parameters, headers, deparameterized URI and path from URI
         final TreeMap parameters = new TreeMap();
+        final TreeMap headers = new TreeMap();
         final String deparameterizedURI =
             NetUtils.deparameterize(uri, parameters);
-        parameters.put("user-agent", userAgent);
-        parameters.put("accept", accept);
+        headers.put("user-agent", userAgent);
+        headers.put("accept", accept);
 
         int status =
-            getPage(deparameterizedURI, 0L, parameters, null, null, outputStream);
+            getPage(deparameterizedURI, 0L, parameters, headers, null, null, outputStream);
 
         if (status >= 400) {
             throw new ProcessingException("Resource not found: " + status);
@@ -431,15 +432,16 @@
         }
         log.info("Processing URI: " + uri);
 
-        // Get parameters, deparameterized URI and path from URI
+        // Get parameters, headers, deparameterized URI and path from URI
         final TreeMap parameters = new TreeMap();
+        final TreeMap headers = new TreeMap();
         final String deparameterizedURI =
             NetUtils.deparameterize(uri, parameters);
-        parameters.put("user-agent", userAgent);
-        parameters.put("accept", accept);
+        headers.put("user-agent", userAgent);
+        headers.put("accept", accept);
 
         int status =
-            getPage(deparameterizedURI, 0L, parameters, null, null, handler);
+            getPage(deparameterizedURI, 0L, parameters, headers, null, null, handler);
 
         if (status >= 400) {
             throw new ProcessingException("Resource not found: " + status);
@@ -469,12 +471,13 @@
     protected Collection getLinks(String deparameterizedURI, Map parameters)
         throws Exception {
 
-        parameters.put("user-agent", userAgent);
-        parameters.put("accept", accept);
+        final TreeMap headers = new TreeMap();
+        headers.put("user-agent", userAgent);
+        headers.put("accept", accept);
 
         LinkSamplingEnvironment env =
             new LinkSamplingEnvironment(deparameterizedURI, context, null,
-                                        parameters, cliContext, log);
+                                        parameters, headers, cliContext, log);
         processLenient(env);
         return env.getLinks();
     }
@@ -490,19 +493,20 @@
      * @exception Exception if an error occurs
      */
     protected int getPage(String deparameterizedURI,
-                          long lastModified,
-                          Map parameters,
-                          Map links,
-                          List gatheredLinks,
+                          long   lastModified,
+                          Map    parameters,
+                          Map    headers,
+                          Map    links,
+                          List   gatheredLinks,
                           OutputStream stream)
     throws Exception {
 
-        parameters.put("user-agent", userAgent);
-        parameters.put("accept", accept);
+        headers.put("user-agent", userAgent);
+        headers.put("accept", accept);
 
         FileSavingEnvironment env =
             new FileSavingEnvironment(deparameterizedURI, lastModified, context,
-                                      null, parameters, links,
+                                      null, parameters, headers, links,
                                       gatheredLinks, cliContext, stream, log);
 
         // Here Cocoon can throw an exception if there are errors in processing the page
@@ -529,17 +533,14 @@
     protected int getPage(String deparameterizedURI,
                           long lastModified,
                           Map parameters,
+                          Map headers,
                           Map links,
                           List gatheredLinks,
                           ContentHandler handler)
     throws Exception {
-
-        parameters.put("user-agent", userAgent);
-        parameters.put("accept", accept);
-
         FileSavingEnvironment env =
             new FileSavingEnvironment(deparameterizedURI, lastModified, context,
-                                      null, parameters, links,
+                                      null, parameters, headers, links,
                                       gatheredLinks, cliContext, null, log);
 
         XMLConsumer consumer = new ContentHandlerWrapper(handler);
@@ -581,12 +582,13 @@
     protected String getType(String deparameterizedURI, Map parameters)
         throws Exception {
 
-        parameters.put("user-agent", userAgent);
-        parameters.put("accept", accept);
+        final TreeMap headers = new TreeMap();
+        headers.put("user-agent", userAgent);
+        headers.put("accept", accept);
 
         FileSavingEnvironment env =
             new FileSavingEnvironment(deparameterizedURI, context, null,
-                                      parameters, empty, null, cliContext,
+                                      parameters, headers, empty, null, cliContext,
                                       new NullOutputStream(), log);
         processLenient(env);
         return env.getContentType();

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/crawler/CocoonCrawler.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/crawler/CocoonCrawler.java?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/crawler/CocoonCrawler.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/crawler/CocoonCrawler.java Wed May  3 04:27:11 2006
@@ -25,25 +25,23 @@
  * The avalon behavioural component interface of crawling.
  *
  * @author <a href="mailto:berni_huber@a1.net">Bernhard Huber</a>
- * @version CVS $Id: CocoonCrawler.java,v 1.5 2004/03/05 13:02:46 bdelacretaz Exp $
+ * @version CVS $Id$
  */
-public interface CocoonCrawler extends Component
-{
+public interface CocoonCrawler extends Component {
+
     /**
      * Role name of this avalon component.
      * Its value is <code>org.apache.cocoon.components.crawler.CocoonCrawler</code>.
      */
     String ROLE = CocoonCrawler.class.getName();
 
-
     /**
      * This is the same as calling crawl(url,-1);
      *
      * @param  url  The URL to start crawling from.
      */
     void crawl(URL url);
-    
-    
+
 	/**
      * start crawling the URL.
      * <p>

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/FileSavingEnvironment.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/FileSavingEnvironment.java?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/FileSavingEnvironment.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/FileSavingEnvironment.java Wed May  3 04:27:11 2006
@@ -43,6 +43,7 @@
                                  File context,
                                  Map attributes,
                                  Map parameters,
+                                 Map headers,
                                  Map links,
                                  List gatheredLinks,
                                  CommandLineContext cliContext,
@@ -51,7 +52,7 @@
     throws MalformedURLException {
         super(uri, null, context, stream, log);
         this.objectModel.put(ObjectModelHelper.REQUEST_OBJECT,
-                             new CommandLineRequest(this, null, uri, null, attributes, parameters));
+                             new CommandLineRequest(this, null, uri, null, attributes, parameters, headers));
         this.objectModel.put(ObjectModelHelper.RESPONSE_OBJECT,
                              new CommandLineResponse());
         this.objectModel.put(ObjectModelHelper.CONTEXT_OBJECT,
@@ -69,13 +70,14 @@
                                  File context,
                                  Map attributes,
                                  Map parameters,
+                                 Map headers,
                                  Map links,
                                  List gatheredLinks,
                                  CommandLineContext cliContext,
                                  OutputStream stream,
                                  Logger log)
     throws MalformedURLException {
-        this(uri, 0L, context, attributes, parameters, links, gatheredLinks, cliContext, stream, log);
+        this(uri, 0L, context, attributes, parameters, headers, links, gatheredLinks, cliContext, stream, log);
     }
 
     /**

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/LinkSamplingEnvironment.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/LinkSamplingEnvironment.java?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/LinkSamplingEnvironment.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/commandline/LinkSamplingEnvironment.java Wed May  3 04:27:11 2006
@@ -45,6 +45,7 @@
                                    File contextFile,
                                    Map attributes,
                                    Map parameters,
+                                   Map headers,
                                    CommandLineContext cliContext,
                                    Logger log)
     throws MalformedURLException, IOException {
@@ -53,7 +54,7 @@
             getLogger().debug("uri = " + uri);
         }
         this.objectModel.put(ObjectModelHelper.REQUEST_OBJECT,
-                             new CommandLineRequest(this, null, uri, null, attributes, parameters));
+                             new CommandLineRequest(this, null, uri, null, attributes, parameters, headers));
         this.objectModel.put(ObjectModelHelper.RESPONSE_OBJECT,
                              new CommandLineResponse());
         this.objectModel.put(ObjectModelHelper.CONTEXT_OBJECT,

Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/status.xml?rev=399264&r1=399263&r2=399264&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Wed May  3 04:27:11 2006
@@ -182,6 +182,9 @@
   <release version="@version@" date="@date@">
 -->
   <release version="2.1.10" date="TBD">
+    <action dev="CZ" type="fix" fixes-bug="COCOON-1511" due-to="James Bates" due-to-email="james.bates@amplexor.com ">
+      Commandline interface: the user-agent is now correctly set in the request headers (and not in the request parameters).
+    </action>
     <action dev="AG" type="fix" fixes-bug="COCOON-1716">
       RandomNumberModule: does not returns random number in the range (min,max) as expected.
     </action>