Overview:
=========
  This is another simple example of how to manually define and apply a Message
  Transformation within JBoss ESB.  

  This Quickstart is an extension of the "transformation_XML2XML_simple"
  Quickstart, demonstrating how  JBoss ESB Transformations can simplify your
  XSLT transformations by combining the power of XSLT with Java.  In this
  Quickstart, we use Java to perform the ugly string manipulation on the
  SampleOrder date field (see OrderDate.java) and use XSLT for what it's good at
  i.e. Templating.  Again, the transformed SampleOrder.xml message is just
  printed to the Java console (message before and after).

  This Quickstart does not use the JBoss ESB Administration Console to manage
  the message Transformation configurations to the ESB.  See the end of this
  README for details on how to manage this Quickstart's transformations via the
  Console.

  Check out the Administration Console Flash demos at:
  	http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demos.html

Running this quickstart:
========================
  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
  and a more detailed descripton of the different ways to run the quickstarts.

  A comprehensive description of message transformation can be found in
  MessageTransformation.pdf, located in the docs/services folder.

To Run standalone mode:
=======================
  1. In a command terminal window in the quickstart folder type
     'ant deploy-jms-dests'.
  2. In a command terminal window in this folder ("Window1"), type 'ant run'.
  3. Open another command terminal window in this folder ("Window2"), type
     'ant runtest'.
  4. Switch back to "Window1" to see the output from the ESB
  5. When finished, interrupt the ESB using Ctrl-C and, in this folder
     ("Window1"), type 'ant undeploy-jms-dests'.

To Run '.esb' archive mode:
===========================
  1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
  2. Open another command terminal window in this folder ("Window2"), type
     'ant runtest'.
  3. Switch back to Application Server console to see the output from the ESB
  4. In this folder ("Window1"), type 'ant undeploy'.

What to look at in this Quickstart:
===================================
  As stated above, reading MessageTransformation.pdf would be of great benefit
  in understanding JBoss ESB Transformations.

  jbossesb.xml:
    The ESB configuration file in this Quickstart simply defines a JMS Listener
    for receiving the contents of the SampleOrder.xml file located in this
    folder (line 31).  The listener configuration then executes the
    "SmooksTransformer" action for the Message Exchange between "A" and "B".

  smooks-res.xml:
    This file defines the Transformations for the Quickstart.  This time, there
    are a number of transformation configurations, all "targeted" at the same
    message.
          
  OrderDate.java:  (In the src tree).
    This is just a simple POJO class.  It gets populated by JBoss ESB
    Transformation (via Smooks) and is used by the XSLT (defined in
    smooks-res.xml) to generate the new OrderDate element in the output message.
    This class uses the standard Java SimpleDateFormat class for decoding the
    orderDate value and extracting the components of the date from it (day,
    month, zone etc).  This means you avoid having to do this in your XSLT code,
    which would be very ugly and difficult to maintain.

Playing with this Transformation through the Administration Console:
====================================================================
  To load the Transformation Configurations defined in smooks-res.xml into the
  Admin Console, and have them managed from the Admin Console, do the following:
  
  1. Deploy the console as outlined in MessageTransformation.pdf.
  2. Edit the smooks-cdr.lst file in this folder, commenting out both the
     classpath based listings and uncommenting out the listing for the console
     HTTP URI.
  3. In the console:
    a) Add "Message Exchange Participants" for "A" and "B" through the "Manage
       Message Exchange Participants" form.
    b) Add new "Message Contract" against "A" and "B" for "text/xml:messageAtA"
       and "text/xml:messageAtB" respectively.
       Note: "messageAtA" and "messageAtB" are the Message Namespace values and
       "text/xml" is the Message Mime in both cases.
    c) Import "smooks-res.xml" through the "Import Configurations" form.
  4. You are now ready to start managing the message transformations through the
     console.  You can add more transformations and modify the existing
     transformations.  Be sure to read MessageTransformation.pdf!!!
