Joe Germuska wrote:
At 16:33 +0100 6/1/03, Peter A. Pilgrim wrote:

For Expresso I too have subclassed the TilesRequestProcessor
for our own ExpressoRequestProcessor. Can a module have
more than one controller?


Not the way it is right now, and I'm not sure why you'd need it. I think if you want to use the approach you described:

<manager class="ControllerManager" >
  <controller class="TilesRequestProcessor" />
  <controller class="FoobarRequestProcessor" />
  <controller class="AcmeRequestProcessor" />
</manager>


... then it makes more sense to define interfaces for each lifecycle method of RequestProcessor and use the XML to configure a collection of handlers. But David, at least, seems to think that's overkill. I don't feel very strongly about it, but no one else has even weighed in. It would mean a lot of interfaces, given that RequestProcessor has 16 "process*" methods. Probably it is overkill...

Given the XML you provided, how would the Manager know which controller to use when?

Ah ha! I thought you saying something different. Before I thought ComposableRequestProcessor is not a RequestProcessor. But you are saying that is. That is why my example XML is nonsense. You cannot chain request processors from one to another, because they were not design that way. I agree which process method do you call?

Let's take a back step, then. What is a composable request processor?
What is the thing that you are trying to build?

MasterRequestProcessor master = new MasterRequestProcessor();
master.add( TilesRequestProcessor );
master.add( FoobarRquestProcessor );

Is this it?

Another question what is it that the different request processors
are override or overloading? For the Tiles controller it is the
init(), doForward(), processForwardConfig(),
internalModuleRelativeForward(), internalModuleRelativeInclude() ?

For Expresso controller we override

init(), processPreprocesss(), createAction()

There is a no common method here in these two controllers.
We cannot isolate a method that would make up a composable
request processor.

--
Peter Pilgrim
           __ _____ _____ _____
          / //__  // ___// ___/   +  Serverside Java
         / /___/ // /__ / /__     +  Struts
        / // ___// ___// ___/     +  Expresso Committer
     __/ // /__ / /__ / /__       +  Independent Contractor
    /___//____//____//____/       +  Intrinsic Motivation
On Line Resume
   ||
   \\===>  `` http://www.xenonsoft.demon.co.uk/no-it-striker.html ''


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to