Camel Dynamic Routes

Student: Xueqiang Mi <alloyer AT gmail DOT com>
Mentor: Jonathan Anstey <janstey AT apache DOT org>

Project Description

We can already modify XML at runtime; we could do with visualizations using Scala, Ruby, Groovy, Python so that folks can view & edit the routes in whatever language they want and hack them. For more see the Web Console which supports updating the routes at runtime using the XML structure.

To do this we'll need to be able to turn a RouteDefinition back into the DSLs - such as Groovy/Ruby/Scala/Python

Status

Week of May 11 - May 17, 2009

  • Try most of the test cases of camel-core

Weeks of May 23 - June 7, 2009

  • Learn the camel-web component and the RESTful WS tool: Jersey................finished
  • Do a rough prototype which supports Groovy expression.............................finished
  • Submit the late design document, expected previously................................finished

Week of June 8 - June 14, 2009

  • Improve Groovy Route Editor
  • Do Ruby route editing support.......................................................finished
  • Do some modification on Xml Route editor if needed...................................canceled
  • Do the Groovy style view of route.(Now the editor can only support creating operation, but has no idea how to display a route in GroovyRouteBuilder style).........canceled
  • Commit a camel-web-20090611 patch, which contains the Groovy and Ruby route editing support......finished

Week of June 15 - June 21, 2009

Week of June 22 - June 27, 2009

  • I want to solve it through digging into the ExpressionNode and ExpressionDefinition level, but after a lot of work and test, I found it so difficult because in ExpressionDefinnition, some Groovy closures are embedded in and hard to restore to the original states. I will post some of my experiments on mailing list for discusses.

Week of June 28 - July 6, 2009

Week of July 7 - July 13, 2009

Week of July 14 - July 19, 2009

Week of July 20 - July 24, 2009

  • Continue to add some DSL test cases.
  • Add DSLs' related content into the user guide.

Week of July 25 - Aug 1, 2009

  • Go on a vacation.

Week of Aug 3 - Aug 9, 2009

  • Add AOP, OnCompletion, OnException and ReSequence DSL support.............finished
  • Add interceptFrom, interceptSendToEndpoint DSL support....................finished
  • Implement renderRoutes method for groovy renderer.........................finished
  • List the supported DSL parameters in Groovy Renderer User Guide

Week of Aug 10 - Aug 16, 2009

  • Add some DSL support
  • Review and improve all the DSL
  • Improve predicateRenderer to support all the predicate DSL
  • Complete Groovy Renderer User Guide
  • Do a camel-web example to show how to change business flows by using runtime route modification

Week of Aug 17 - Aug 24, 2009

  • No labels