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