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? 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/