yeah, this additional method may bring improvement for my work as current groovy renderer does some hard code to deal with the expressions.
janstey wrote: > > Yeah, thats probably the better option here and wouldn't be too hard to > implement. Xueqiang, does this sound good to you? Maybe a toDslString() > method or something is needed. > > On Tue, Jul 7, 2009 at 11:27 AM, Claus Ibsen <claus.ib...@gmail.com> > wrote: > >> On Tue, Jul 7, 2009 at 3:37 PM, Jon Anstey<jans...@gmail.com> wrote: >> > So yeah, rendering languages that we input as a String (i.e. XPath, EL, >> > etc.) is easy since we have the language text available. The toString >> > operations on PredicateBuilders on the other hand don't return exactly >> what >> > was used to create them. Like you mentioned, >> header("foo").isEqualTo("bar") >> > returns header(foo) == bar, which is not very helpful to you. >> > >> > So, you could provide a patch to the toString methods for the >> > PredicateBuilders so that they return something like >> > header("foo").isEqualTo("bar") instead of header(foo) == bar. Though >> this >> is >> > not as nice looking for the tracing feature IMO. What do others think >> of >> > this change? >> >> Maybe a new method is needed that can output it more DSL like. >> >> The toString as they are are nice as they are more standard math like >> and easy to understand. >> >> >> > >> > On Tue, Jul 7, 2009 at 8:52 AM, alloyer <allo...@gmail.com> wrote: >> > >> >> >> >> yeah, I am now using the toString() method to render the route on some >> >> xxxDefinitions, but I am still not sure whether the renderer can deal >> with >> >> a sufficient complicated expression through this method. I am a little >> >> worried >> >> about the renderer's handling with some incidental interminable DSL. >> >> >> >> >> >> willem.jiang wrote: >> >> > >> >> > Hi, >> >> > >> >> > xxxDefinition classes has the toString() method, which is useful for >> >> > tracing the message. >> >> > >> >> > I don't know if it can help your Groovy rendering. >> >> > >> >> > Willem >> >> > >> >> > alloyer wrote: >> >> >> groovyRenderer now need a lot of work on string processing and >> can't >> >> deal >> >> >> with some complicated expressions. If the xxxDefinition classes >> provide >> >> a >> >> >> toString() method which presents a DSL-style string, the rendering >> work >> >> >> will >> >> >> be much easier. If it is determined, I will do this work. >> >> >> >> >> >> Claus Ibsen-2 wrote: >> >> >>> >> >> >>> I do wonder if we should by default change the toString() in the >> >> >>> xxxDefinition to be more Java DSL like so its easier to read the >> >> >>> route. >> >> >>> >> >> >>> >> >> >>> On Sat, Jul 4, 2009 at 11:32 AM, Claus >> Ibsen<claus.ib...@gmail.com> >> >> >>> wrote: >> >> >>>> Hi >> >> >>>> >> >> >>>> I loaded the RandomLoadBalanceTest unit test from camel-core and >> put a >> >> >>>> break point at >> >> >>>> assertMockEndpointsSatisfied(); >> >> >>>> >> >> >>>> And then inspected the CameContext and its getRouteDefinitions(). >> >> >>>> See attached picture from the debugger, shows the object graph >> and >> the >> >> >>>> types it has a runtime. >> >> >>>> >> >> >>>> Maybe you need a getLoadBalancer() without a parameter. But try >> with >> >> >>>> getLoadBalancer(null) in the class LoadBalancerDefinition as it >> should >> >> >>>> have been created. Notice its the load balancer definition with R >> that >> >> >>>> can return the specific type. >> >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> On Sat, Jul 4, 2009 at 11:07 AM, alloyer<allo...@gmail.com> >> wrote: >> >> >>>>> The getLoadBalancerType don't return null but the >> getAnnotation(). >> >> >>>>> The getLoadBalancerType return a LoadBalancerDefinition >> instance, >> >> >>>>> which >> >> >>>>> I >> >> >>>>> think should be a >> >> >>>>> RandomLoadBalancerdefinition one. >> >> >>>>> >> >> >>>>> The dsl is: >> from("direct:start").loadBalance().random().to("mock:x", >> >> >>>>> "mock:y", "mock:z") >> >> >>>>> >> >> >>>>> >> >> >>>>> Claus Ibsen-2 wrote: >> >> >>>>>> On Sat, Jul 4, 2009 at 8:16 AM, alloyer<allo...@gmail.com> >> wrote: >> >> >>>>>>> Grabbing name from dataFormat type works fine. >> >> >>>>>>> But when I use it on loadBalancer type, it throws a null >> pointer >> >> >>>>>>> exception. >> >> >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> >> loadBalanceDefinition.getLoadBalancerType().getClass().getAnnotation(XmlRootElement.class) >> >> >>>>>>> throws the exception. >> >> >>>>>>> >> >> >>>>>> I think its because you use ref to lookup the definition in the >> >> >>>>>> registry. >> >> >>>>>> Then when Camel builds the runtime route it will lookup the >> real >> >> load >> >> >>>>>> balancer and use it. >> >> >>>>>> >> >> >>>>>> So if getLoadBalancerType returns null then try checking getRef >> and >> >> >>>>>> see if you can lookup this bean in the registry >> >> >>>>>> >> >> >>>>>> >> >> >>>>>> >> >> >>>>>> What does the route DSL looks like? >> >> >>>>>> >> >> >>>>>>> JIRA j...@apache.org wrote: >> >> >>>>>>>> >> >> >>>>>>>> [ >> >> >>>>>>>> >> >> >> https://issues.apache.org/activemq/browse/CAMEL-1392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52687#action_52687 >> >> >>>>>>>> ] >> >> >>>>>>>> >> >> >>>>>>>> Jonathan Anstey commented on CAMEL-1392: >> >> >>>>>>>> ---------------------------------------- >> >> >>>>>>>> >> >> >>>>>>>> Also, instead of duplicating the dataformat types (and >> >> loadbalancer >> >> >>>>>>>> types >> >> >>>>>>>> too), you should be able to grab the short names through the >> JAXB >> >> >>>>>>>> metadata. Like so >> >> >>>>>>>> >> >> >>>>>>>> {code} >> >> >>>>>>>> >> dataFormat.getClass().getAnnotation(XmlRootElement.class).name() >> >> >>>>>>>> {code} >> >> >>>>>>>> >> >> >>>>>>>>> groovy renderer >> >> >>>>>>>>> --------------- >> >> >>>>>>>>> >> >> >>>>>>>>> Key: CAMEL-1392 >> >> >>>>>>>>> URL: >> >> >>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-1392 >> >> >>>>>>>>> Project: Apache Camel >> >> >>>>>>>>> Issue Type: Sub-task >> >> >>>>>>>>> Reporter: James Strachan >> >> >>>>>>>>> Assignee: Xueqiang Mi >> >> >>>>>>>>> Attachments: camel-web-20090629.patch, >> >> >>>>>>>>> camel-web-20090703.patch >> >> >>>>>>>>> >> >> >>>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> -- >> >> >>>>>>>> This message is automatically generated by JIRA. >> >> >>>>>>>> - >> >> >>>>>>>> You can reply to this email to add a comment to the issue >> online. >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>> -- >> >> >>>>>>> View this message in context: >> >> >>>>>>> >> >> >> http://www.nabble.com/-jira--Created%3A-%28CAMEL-1392%29-groovy-renderer-tp22220288p24331647.html >> >> >>>>>>> Sent from the Camel Development mailing list archive at >> Nabble.com. >> >> >>>>>>> >> >> >>>>>>> >> >> >>>>>> >> >> >>>>>> >> >> >>>>>> -- >> >> >>>>>> Claus Ibsen >> >> >>>>>> Apache Camel Committer >> >> >>>>>> >> >> >>>>>> Open Source Integration: http://fusesource.com >> >> >>>>>> Blog: http://davsclaus.blogspot.com/ >> >> >>>>>> Twitter: http://twitter.com/davsclaus >> >> >>>>>> >> >> >>>>>> >> >> >>>>> -- >> >> >>>>> View this message in context: >> >> >>>>> >> >> >> http://www.nabble.com/-jira--Created%3A-%28CAMEL-1392%29-groovy-renderer-tp22220288p24332317.html >> >> >>>>> Sent from the Camel Development mailing list archive at >> Nabble.com. >> >> >>>>> >> >> >>>>> >> >> >>>> >> >> >>>> >> >> >>>> -- >> >> >>>> Claus Ibsen >> >> >>>> Apache Camel Committer >> >> >>>> >> >> >>>> Open Source Integration: http://fusesource.com >> >> >>>> Blog: http://davsclaus.blogspot.com/ >> >> >>>> Twitter: http://twitter.com/davsclaus >> >> >>>> >> >> >>> >> >> >>> >> >> >>> -- >> >> >>> Claus Ibsen >> >> >>> Apache Camel Committer >> >> >>> >> >> >>> Open Source Integration: http://fusesource.com >> >> >>> Blog: http://davsclaus.blogspot.com/ >> >> >>> Twitter: http://twitter.com/davsclaus >> >> >>> >> >> >>> >> >> >> >> >> > >> >> > >> >> > >> >> >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/-jira--Created%3A-%28CAMEL-1392%29-groovy-renderer-tp22220288p24371507.html >> >> Sent from the Camel Development mailing list archive at Nabble.com. >> >> >> >> >> > >> > >> > -- >> > Cheers, >> > Jon >> > >> > http://janstey.blogspot.com/ >> > >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> Twitter: http://twitter.com/davsclaus >> > > > > -- > Cheers, > Jon > > http://janstey.blogspot.com/ > > -- View this message in context: http://www.nabble.com/-jira--Created%3A-%28CAMEL-1392%29-groovy-renderer-tp22220288p24384968.html Sent from the Camel Development mailing list archive at Nabble.com.