In my PoC implementation the sub-controller completely replaces the default 
ControllerConfig object during the doRequest execution so scoping isn't an 
issue.  Basically at the very start of the doRequest method I break up the path 
info and then try to map the first portion to sub-controller (and then deeper 
if possible), once done the sub-controller gets assigned to the existing 
controllerConfig local variable and the request handler deals with it the same 
way it does now (check https, login, pre-events, request-map, post-events).

It's essentially a completely separate controller for that portion of the 
webapp.

Regards
Scott

On 16/02/2011, at 7:07 PM, Adrian Crum wrote:

> From my perspective, having a new element that does basically the same thing 
> as an existing element is confusing.
> 
> The only tricky part will be assigning the preprocessor to the correct set of 
> requests in Java. In other words, scoping each preprocessor to a set of 
> requests. From what I recall, the preprocessor element overwrites any 
> included preprocessor elements.
> 
> -Adrian
> 
> On 2/15/2011 9:57 PM, Scott Gray wrote:
>> That could be done I suppose, as long as we don't think there's much room 
>> for confusion since the two behaviors would be pretty different (include vs 
>> substitute).
>> 
>> Regards
>> Scott
>> 
>> On 16/02/2011, at 6:05 PM, Adrian Crum<[email protected]>  
>> wrote:
>> 
>>> Why not add the path attribute to the existing<include>  element?
>>> 
>>> -Adrian
>>> 
>>> On 2/15/2011 2:40 PM, Scott Gray wrote:
>>>> I regularly run into a situation where I need a pre-processor event to run 
>>>> only for a sub-set of a webapp's requests, usually within a particular 
>>>> group of screens (an example might be that you want to check that a 
>>>> specific session attribute or request parameter is set before allowing 
>>>> access to that set of requests).  Currently you can only run an event for 
>>>> either a single request (request-map.event) or for every request 
>>>> (preprocessor.event) within a webapp, there isn't really any in-between.
>>>> 
>>>> I threw together a quick PoC this morning for a sub-controller 
>>>> implementation that would allow a webapp to have multiple controllers.  
>>>> Basically you have your regular controller at /control/ but within the 
>>>> controller.xml you can define sub-controllers and the path that it should 
>>>> use:
>>>> Main controller.xml
>>>> <sub-controller 
>>>> location="component://example/webapp/example/WEB-INF/sub-controller.xml" 
>>>> path="sub"/>
>>>> now every request to /control/sub/* will use the sub-controller.xml 
>>>> instead of the main controller and is handled in exactly the same way as 
>>>> the main controller would be.
>>>> 
>>>> Any thoughts?
>>>> 
>>>> Thanks
>>>> Scott
>>>> 
>>>> HotWax Media
>>>> http://www.hotwaxmedia.com
>>>> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to