[windup-dev] POST pipeline exploration

Robb Greathouse robb.greathouse at redhat.com
Wed Sep 11 10:43:26 EDT 2013


Could the post pipelines be ordered first and then order the id's?

Robb Greathouse
Partner Enablement
Middleware Business Unit
JBoss, a Division of Red Hat
cellphone 505-507-4906

----- Original Message -----
> 
> As a means of not polluting the existing framework too much but to add some
> needed
> flow of control functionality for post processing, I've been playing around
> with
> adding a new pipeline, POST.  The intent of pipeline POST is to provide a
> place
> to add a defined order of post processing of rules flagged during the
> analysis
> phase.  I've added attribute "id" to the xpath-value rule.  The 'id' is
> ref-ed
> by rules in POST.  Within POST "action" rules are provided with 0 or more ids
> to be associated with an action.  A list of actions are processed in the
> order they
> are defined.
> 
> The problem I am encountering with this design is that all POST pipeline
> contents are
> merged into a single POST pipeline class for the analysis phase.  This can be
> a problem if there is more than 1 POST pipeline acting upon the same ref ID.
> For example if switchyard and airport both altered some_common.xml file the
> last one who touched it wins.  I don't see any easy way to instruct Windup
> to only run switchyard if there are multiple POST pipelines present.
> 
> There is the same last-in problem if the action is associated directly with
> the xpath-value rule
> and there is some product specific information being placed in the file.
> 
> 
> I suppose I could add a cmd-line option and require the user to point to the
> file containing the POST pipeline to run.
> I really hate to require that of the user however.
> 
> I'm open to suggestions.
> 
> 
> Here is a general idea of what the pipeline would look like.
> 
> <windup:pipeline type="POST"  id="My Switchyard Post Processor Pipeline">
> 
>     <windup:post-process
>     class="org.jboss.post.process.switchyard.SwitchyardController">
> 
>         <windup:decorators>
>             <windup:action class="org.jboss.post.process.switchyard.Service">
>                 <property name="references">
>                     <list>
>                         <value>switchyard:Action:create service</value>
>                         <value>switchyard:Action:set ref</value>
>                     </list>
>                 </property>
>             </windup:action>
> 
>             <windup:action class="org.jboss.post.process.switchyard.Binding">
>                 <property name="references">
>                     <list>
>                         <value>switchyard:Action:binding config
>                         jms-bus</value>
>                         <value>switchyard:Action:binding config camel</value>
>                     </list>
>                 </property>
>             </windup:action>
> 
>             <!--
>             <windup:action
>             class="org.jboss.post.process.common.ConfigUpdate">
>                 <property name="references">
>                     <list>
>                         <value>Adjust:some_common.xml file</value>
>                     </list>
>                 </property>
>             </windup:action>
> 
>         <windup:decorators>
>     </windup:post-process>
> 
> </windup:pipeline>
> 
> 


More information about the windup-dev mailing list