cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alfred Nathaniel (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COCOON-1990) Redirect bug WITHIN sub sitemap WHEN using uri-prefix in map:mount
Date Thu, 29 Nov 2007 22:03:43 GMT

    [ https://issues.apache.org/jira/browse/COCOON-1990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546916
] 

Alfred Nathaniel commented on COCOON-1990:
------------------------------------------

Your case does not work only because the sub-sitemap is in the same directory as the root
sitemap.  If you move it to a sub-directory as in

  <map:mount check-reload="yes" src="subdir/test_sub_sitemap.xmap" uri-prefix="test" />

then it works.  The problem is here in ConcreteTreeProcessor: 

          // Get the processor that should process this request
          ConcreteTreeProcessor processor;
!         if (newEnv.getRootContext().equals(newEnv.getContext())) {
              processor = ((TreeProcessor)getRootProcessor()).concreteProcessor;
          } else {
              processor = this;
          }

In 2.2 that reads (already since 2004):

          // Get the processor that should process this request
          ConcreteTreeProcessor processor;
!         if ( newEnv.getURIPrefix().equals("") ) {
              processor = ((TreeProcessor)getRootProcessor()).concreteProcessor;
          } else {
              processor = this;
          }

I don't have the time right now to backport that fix to 2.1.  I'll do it later if nobody else
steps in beforehand.

> Redirect bug WITHIN sub sitemap WHEN using uri-prefix in map:mount
> ------------------------------------------------------------------
>
>                 Key: COCOON-1990
>                 URL: https://issues.apache.org/jira/browse/COCOON-1990
>             Project: Cocoon
>          Issue Type: Bug
>          Components: * Cocoon Core
>    Affects Versions: 2.1.10
>            Reporter: Robert Hoffmann
>            Assignee: Alfred Nathaniel
>
> Hi cocoon developers,
> I found the following problem with redirects within sub-sitemaps WHEN using the uri-prefix
in map:mount...
> Test case:
> 1) Sitemaps:
> Root sitemap >>
> ...
> <map:pipeline>
>    <map:match pattern="test/**">
>      <map:mount check-reload="yes" src="subsitemap.xmap" uri-prefix="test" /> 
   </map:match>
> </map:pipeline>
> ...<<
> Sub sitemap >>
> ...
>  <map:match pattern="A.html">
>   <map:redirect-to uri="cocoon:/B.html"/>
>  </map:match>
>  <map:match pattern="B.html">
>   <map:redirect-to uri="http://www.google.com"/>
>  </map:match>
> ...<<
> 2) NOW: When you request "http://testserver/cocoon/test/A.html"...
> you should get redirected to B.html WITHIN the sub sitemap (that's why we use 'cocoon:/B.html'
and not 'cocoon://B.html')...
> BUT the redirect does NOT work correctly, hence we will not get the google-site which
would be the correct result.
> 3) The cocoon.log says: http-11080-Processor23/CocoonServlet: No pipeline matched request:
test/B.html !!!
> [So it seems to me that the uri-prefix from the sub-sitemap mount is added in the this
redirect, which might be why it does not match then within the sub-sitemap.]
> 3) Important: This only goes wrong when using the uri-prefix[-remove] attribute in map:mount
> I hope this detailed test case will be helpful to one of the cocoon gurus... I really
would hate if I had to use redirects to the ROOT sitemap (that's not the idea of sub sitemaps).
> Many thanks!!!
> Robert
> PS: Cocoon really rocks!
> --
> Have you tried iHOP yet? http://www.ihop-net.org/UniPub/iHOP/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message