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 >>>>
smime.p7s
Description: S/MIME cryptographic signature
