synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera" <asan...@wso2.com>
Subject Re: POJOCommand mediator synatx
Date Fri, 14 Dec 2007 10:04:52 GMT
Paul

I now see a potential problem with this.. what if someone specified a
fn:concat() expression as the XPath expression, and wanted that to be
set to the POJO? According to your suggestion we will not be able to
intelligently decide in such a case..

asankha

Paul Fremantle wrote:
> Ruwam
>
> What I don't like about this is that everywhere else in Synapse we
> have a consistent access to message context properties. Nowhere else
> do we use this syntax.
>
> Whatever we do we need to sync it up with all the other places where
> we get and set mc properties I think - e.g. DBLookup, etc.
>
> Paul
>
> On Dec 14, 2007 3:42 AM, Ruwan Linton <ruwan.linton@gmail.com
> <mailto:ruwan.linton@gmail.com>> wrote:
>
>     Pual,
>
>     Well. I think it's a hack and a bit tricky.
>
>     I have simplified the configuration a little bit to remove the mix
>     case as it is obvious that is one is *Read* then the other should
>     be *Update*.
>
>     But I prefer to keep the context-name attribute with those actions
>     due to two reasons.
>
>     1) the configuration is clean and does not have any hidden meaning
>     (for example; it does not contain if the action is Update then the
>     get-property refers to set-property)
>     2) using the get-property to retrieve message context properties
>     is a round trip in execution, (we can by pass that using a string
>     comparison as you suggested in the Update case, but I don't feel
>     like it is right .. :() obviously even with this configuration
>     user has the ability to specify the get as a get-property but at
>     the same time he has the simple faster config as well.
>
>     Following is the simplified configuration that I have already
>     implemented.
>
>     <pojoCommand name="class-name">
>       <property name="string" value="literal"/> <!-- refers to action
>     ==> ReadValue -->
>       <property name="string" expression="/xpath/expression"
>     action=("ReadMessage" | "UpdateMessage" | "ReadAndUpdateMessage")/>
>       <property name="string" value="literal"
>     expression="/xpath/expression"/> <!-- refers to action
>     ==>ReadValueAndUpdateMessage -->
>       <property name="string" context-name="string"
>     action=("ReadContext" | "UpdateContext" | "ReadAndUpdateContext")/>
>       <property name="string" value="literal" context-name="string"/>
>     <!-- refers to action ==>ReadValueAndUpdateContext -->
>       <property name="string" context-name="string"
>     expression="/xpath/expression" action=("ReadMessage" |
>     "ReadContext")/> <!-- if read one then update the other -->
>     </pojoCommand>
>
>     Thanks,
>     Ruwan
>
>
>     On Dec 13, 2007 9:17 PM, Paul Fremantle < pzfreo@gmail.com
>     <mailto:pzfreo@gmail.com>> wrote:
>
>         Ruwan
>
>         I propose one modification. I'd really like to get rid of the
>         whole Context stuff. It should be automatic.
>         Here is my proposal.
>
>         1) We figure out if we can make the
>         get-property('context-name') also allow updating the message
>         context too.
>         2) We just see if the XPath is a 'get-property'. When we come
>         to update the message, if its a get-property we bypass
>         Jaxen/XPath and directly update the context.
>
>         That way the syntax can just be:
>
>         <pojoCommand name="class-name">
>           <property name="string" value="literal"/>
>           <property name="string" expression="/xpath/expression or
>         get-property('context-property')" action=("ReadMessage" |
>         "UpdateMessage" | "ReadAndUpdateMessage")/>
>         </pojoCommand>
>
>         Thoughts?
>
>         Paul
>
>
>
>         On Dec 12, 2007 6:10 AM, Ruwan Linton < ruwan@apache.org
>         <mailto:ruwan@apache.org>> wrote:
>
>             Hi devs,
>
>             Now POJOCommand mediator supports both set properties to
>             the object and getting them from the object to the message
>             back with using the action attribute. Paul and I had a
>             chat about this syntax and though of using somewhat
>             similar to the notations of the AnnotatedCommand mediator,
>             so the new effective configuration is going to be like
>             following;
>
>             <pojoCommand name="class-name">
>               <property name="string" value="literal">
>                   either literal or XML child
>               </property>
>               <property name="string" context-name="string"
>             action=("UpdateContext" | "ReadContext" |
>             "ReadAndUpdateContext")>
>               <property name="string" expression="XPATH expression"
>             action=("ReadMessage" | "UpdateMessage" |
>             "ReadAndUpdateMessage")/>
>             </pojoCommand>
>
>             For the name value pair properties and name and xml child
>             properties there is no action because it is always going
>             to be Read to the Command object but not going to be Updates.
>
>             Do we need to support mix of these actions as well? For
>             example if one needs to read the command property as a
>             name value pair and update the message with that property
>             as a message property as illustrated bellow;
>
>             set xyz="ruwan"
>             execute
>             get xyz => //request/person/name
>
>             if we form a single action for this it is going to be
>             ["ReadValueAndUpdateMessage"]
>
>             WDYT?
>
>             Thanks,
>             Ruwan
>
>             -- 
>             Ruwan Linton
>             http://www.wso2.org - "Oxygenating the Web Services Platform" 
>
>
>
>
>         -- 
>         Paul Fremantle
>         Co-Founder and VP of Technical Sales, WSO2
>         OASIS WS-RX TC Co-chair
>
>         blog: http://pzf.fremantle.org
>         paul@wso2.com <mailto:paul@wso2.com>
>
>         "Oxygenating the Web Service Platform", www.wso2.com
>         <http://www.wso2.com> 
>
>
>
>
>     -- 
>     Ruwan Linton
>     http://www.wso2.org - "Oxygenating the Web Services Platform"
>
>
>
>
> -- 
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org <http://pzf.fremantle.org>
> paul@wso2.com <mailto:paul@wso2.com>
>
> "Oxygenating the Web Service Platform", www.wso2.com
> <http://www.wso2.com> 

Mime
View raw message