[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