Refactor the creation of the pipeline output document
-----------------------------------------------------

                 Key: FOR-948
                 URL: http://issues.apache.org/jira/browse/FOR-948
             Project: Forrest
          Issue Type: Improvement
          Components: Forrest2
            Reporter: Ross Gardler
            Priority: Minor


The org.apache.forrest.core.Controller has a rather hacky implementation of the 
".forrestPipeline" url extension. This extension provides an XML representation 
of the pipeline that is generated to process a specific request.

The implementation is really horrible, the document is created as a stiring, it 
requires a number of fields to capture pipeline details (such as readerClass, 
inputPluginClass and outputPluginClass). These variables are written in the 
various stages of pipeline processing.

It would be better if we had a specialist PipelineDescriptionOutputDocument 
class that contains all the relevant information abut the pipeline. This could 
be manipulated during pipeline processing. For example:

public class PipelineDescriptorClass() extends DefaultOutputDocument {

  public void addReader(Reader reader) {...}

  public void addInputPlugin(IPlugin plugin) {...}

  public void addOutputPlugin(IPlugin plugin) {...}

  etc.

}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira