cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylvain.wal...@anyware-tech.com>
Subject Re: cvs commit: xml-cocoon2/src/java/org/apache/cocoon/sitemap DefaultSitemapComponentSelector.java
Date Thu, 07 Feb 2002 11:12:35 GMT
Carsten Ziegeler wrote:

>Sylvain Wallez wrote:
>
>>Vadim Gritsenko wrote:
>>
>>>Sylvain,
>>>
>>>How it is different from SitemapComponentSelector?
>>>
>>>Just curios...
>>>
>>>Vadim
>>>
>>It's identical :) But as the TreeProcessor has it's own
>>ComponentSelector to directly handle the syntax of <map:components> as
>>its configuration, I had to move the sitemap specific methods (getLabels
>>and hadLabel) to a common interface. This interface is
>>SitemapComponentSelector, and the previous SitemapComponentSelector has
>>been moved to DefaultSitemapComponentSelector.
>>
>>This means label and mime-type handling is duplicated between sitemap
>>and treeprocessor selectors, which is obviously bad. A solution would be
>>for the compiled sitemap to use the selector in the treeprocessor (it's
>>compatible as it doesn't use the special handling of configuration), but
>>this is not possible now because treeprocessor is in the scratchpad.
>>
>>If treeprocessor moves to the main src trunk, some refactoring will be
>>possible for common parts between the two implementations.
>>
>
>Is anything against adding it to the main trunk? I'm +1 on moving it.
>
There are still some bugs, which I should have the time to fix in the 
coming days. But since main trunk doesn't mean bug-free, +1 from me also :)

>But I have one question:
>
>The compiled sitemap uses the AbstractSitemap class which creates a
>CocoonComponentManager
>instances looking up the sitemap components. This is in order to get the
>RequestLifecycle
>support.
>
Ah, I missed that.

>I haven't looked too much into the TreeProcessor code, but I assume that it
>doesn't use the AbstractSitemap class, right? Can you point me to the place
>where I have to add the required changes?
>
The component manager is created in 
treeprocessor.sitemap.SitemapLanguage.createComponentManager(), and the 
main entry point of a sitemap is in 
treeprocessor.sitemap.PipelinesNode.invoke().

But I have also have a question : should enter/leaveEnvironment be 
called only once per request (i.e. on the root sitemap), or also on 
every nested subsitemap ?

In sitemap.handler, it seems to be called for each subsitemap, which 
means for example that a RequestLifecycle component looked up in the 
main sitemap is hidden when we enter in a subsitemap. Is this the 
intended behaviour ?

Sylvain

-- 
Sylvain Wallez
Anyware Technologies - http://www.anyware-tech.com




---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message