Title: Improving the way we do references [task2 of M2 todo list]
Current implementation of Synapse, we could have two types of mediators.
1.IN-LINE mediators
2.REFERENCE mediators
In-line mediators have the following syntax
<foo name="fooMediator" parm1="dosomething1" parm2="dosomething2"../>
In-line mediators have always get executed and need NOT to have @name.
So following syntax should have been appropriate for in-line mediators.
<foo parm1="dosomething1" parm2="dosomething2"../>
<never/> tag is used to hold a set of mediators that is not
going to execute directly. Those mediators have to be referenced by a
in-line mediator. As the <never/> tags holds a list of mediators
that can be referenced, lets replace this by <define/>.
<define/> has the following syntax
<define name="name_of_define_mediator">
<mediator1/>
...
...
<mediatorN/>
</define>
So any in-line mediator can call the <define/>'s @name to get it
execute. So there can be any number of <define/> tags exists in
synapse.xml.
Lookup for the <define/> tag can be done with <ref/> tag
and these references will be stored in our good old SynapseEnvironment.
<define/> tags can be referenced either in IN or OUT path. We need a clear distinction of IN and OUT.
Please be kind enough to express your consensus on prior.
Thank you
Saminda
