[jboss-svn-commits] JBL Code SVN: r20543 - in labs/jbossesb/workspace/jdelong/wstx: trunk/product/samples and 78 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jun 16 11:13:42 EDT 2008


Author: jeffdelong
Date: 2008-06-16 11:13:41 -0400 (Mon, 16 Jun 2008)
New Revision: 20543

Added:
   labs/jbossesb/workspace/jdelong/wstx/.project
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.classpath
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.project
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/Instructions.txt
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutProcess.par
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutProcess2.par
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutSOA-P
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.properties
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wscf.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wst.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wstx.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/README.txt
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/build.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-c_web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-t_web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/xts-coord_application.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/BUILDING
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.bat
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.sh
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/client/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/client/BasicClient.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/nightout/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/nightout/INightOutService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/context-handlers.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/nightout/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$1.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$2.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$3.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$4.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$5.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$6.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$1.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$2.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$3.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$4.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$1.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$2.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$3.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$4.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$5.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$6.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$7.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$8.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.class
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/client-web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wscf.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wst.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wstx.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/soapconfig/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/tmp/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/ws-c.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/ws-t.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo-webservices.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo.ear
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application-sa.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/client-web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/context-handlers.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/service-web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/NightOut.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/build.sh
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application-sa.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-jaxrpc-mapping.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/jaxrpc-mapping.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/service-web-app.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/webservices.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceAT.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceAT.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceAT.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/about.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/atomictransaction.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/businessactivity.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/deploying.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/JBoss_DivOfRH_RGB.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/arjuna_strapline.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/header_grid.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/icon_email.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/icon_printer.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/menu_spacer.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/search_bg.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/spacer.jpg
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/trans_spacer.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/index.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/installcontent.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/sourcecode.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/styles.css
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/wherenext.html
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/jboss.properties
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/client/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/client/BasicClient.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/nightout/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/nightout/INightOutService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/nightout/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/JBoss_DivOfRH_RGB.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/a_nav_6699cc.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/bl_corner_10.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/bl_navcorner_20.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/br_corner_10.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/br_navcorner_20.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tl_corner_10.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tl_navcorner_20.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tr_corner_10.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tr_navcorner_20.gif
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/index.jsp
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/deployment.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/insurance.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbm-queue-service.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jboss-esb.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbossesb-properties.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jndi.properties
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/juddi.properties
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/log4j.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-res.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-transform-wstx.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/RequestMapper.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/Reservation.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/gpd.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processdefinition.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processimage.jpg
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/gpd.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processdefinition.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processimage.jpg
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/RestaurantServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TaxiServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TheatreServiceBA.wsdl
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wscf.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wst.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wstx.xml
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/META-INF/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/META-INF/MANIFEST.MF
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/commons-logging-1.1.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jaxrpc.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jboss-common-client.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jboss-jaxws.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossesb-rosetta.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossesb-soap.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossjta.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossts-common.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/saaj-api.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/servlet.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/stax-api-1.0.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/third_party_licenses.txt
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/wstx-asl-2.0.3.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/jbossjta.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/nightoutwebservices.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ws-c.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ws-t.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wsas.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wscf.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wstx.jar
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeRestaurantAction.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTaxiAction.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTheatreAction.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/TxAction.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSBATxAction.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSTxAction.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/util/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/util/FaultMessageUtil.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/BridgeParticipantAT.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/InboundBridge.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/TxBridgeManager.java
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/ws-c.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/ws-t.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/wscf.war
   labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/wstx.war
Log:


Added: labs/jbossesb/workspace/jdelong/wstx/.project
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/.project	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/.project	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>wstx</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.classpath
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.classpath	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.classpath	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="demo/src"/>
+	<classpathentry kind="src" path="src/main/jpdl"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="wsdl"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="JBPM/jBPM ESB"/>
+	<classpathentry kind="lib" path="lib/wsas.jar"/>
+	<classpathentry kind="lib" path="lib/ws-c.jar"/>
+	<classpathentry kind="lib" path="lib/wscf.jar"/>
+	<classpathentry kind="lib" path="lib/ws-t.jar"/>
+	<classpathentry kind="lib" path="lib/wstx.jar"/>
+	<classpathentry kind="lib" path="lib/ext/commons-logging-1.1.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jaxrpc.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jbossjta.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jbossts-common.jar"/>
+	<classpathentry kind="lib" path="lib/ext/saaj-api.jar"/>
+	<classpathentry kind="lib" path="lib/ext/servlet.jar"/>
+	<classpathentry kind="lib" path="lib/ext/stax-api-1.0.jar"/>
+	<classpathentry kind="lib" path="lib/ext/wstx-asl-2.0.3.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jboss-jaxws.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jbossesb-rosetta.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jboss-common-client.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jbossesb-soap.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.project
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.project	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/.project	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>NightOut</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/Instructions.txt
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/Instructions.txt	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/Instructions.txt	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,18 @@
+
+1. Create PolicyPricingProcess: New -> Other -> JBPM -> Process Project. 
+2. Create PolicyPricingProcess as a new Process Definition.
+3. Besides the start and end nodes, add an ESB Service Node (PolicyPricingService), a Decision Node (Policy Price > 300), and a Task Node (Review Pricing).
+4. The ESB Service Node variable mapping property editor does not work correctly, so you need to use the source tab to add to the XML by hand. You will need to map the policy and driver, and perhaps the policyAsXML, depending on you implement the deployment lab (i.e., where you decide you want the transformation to execute).
+5. For the decision node add an expression to test if the policy price is greater than 300 then transition to the task node.
+6. For the task node assign an actorid of user.
+7. Create smooks-res.xml to covert from XML to POJO.
+8. Create / copy domain classes (driver and policy).
+9. Copy the configuration files from an existing quickstart (e.g., bpm_orchestration4) to the root of the project, and modify the following files and provide a set of consistent queue names:
+	- deployment.xml
+	- jbm-queue-service.xml
+	- jboss-esb.xml
+10. Create a build.xml.
+11. Create a JMS client to test classes the service.
+11. Use JPDL Deployment page to deploy process definition.
+12. Use ANT script to copy the project to the quickstarts directory, 
+13. Use ANT script to deploy and run it.

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutProcess.par
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutProcess.par
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutProcess2.par
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutProcess2.par
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutSOA-P
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutSOA-P	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/NightOutSOA-P	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,27 @@
+
+NightOut on SOA Platform using Business Activity Transactions
+
+
+ 
+1) BasicClient flow logic is orchestrated as jPDL process NightOutBAProcess, which is implemented as an ESB hosted web service NightOutBAProcessServiceWS. BasicClient will be modified to invoke a single service, the NightoutBAProcessServiceWS. BasicClient will not start, close or cancel the transaction. 
+
+2) NightOutBAProcessServiceWS consist of the following actions:
+	a) SmooksTransformer action to covert XML data to Java object (Reservation).
+	b) WSBATxAction to start a userBusinessActivity and place the txContext in the ESBMessage. WSBATxAction is based on Pavel Kadlec's contribution (discussed in another forum thread). 
+	c) BpmProcessor action with StartProcessInstanceCommand to start the NightOutBAProcess, and copy context variables including the txContext, as well as business data from the SOAPMessage (number of seats, etc.)
+	c) SOAPProcessor action to provide web service interface / WSDL mapping.
+
+3) jBPM context variables are used to maintain initial business request data in a Reservation object (number of seats to reserve, etc.), status of responses from services (e.g., restaurantStatus, theatreStatus, taxiStatus) and txContext.
+
+4) Restaurant, Theater, and Taxi web services are proxied as ESB Services using SOAPClient. OGNL is used by the SOAClient action to map Reservation attributes to the SOAP message parameters.
+
+5) ESBActionHandler copies the reservation object and txContext onto the ESBMessage.
+
+6) WSBATXActions are incorporated in the Restaurant, Theatre, and Taxi ESB services to resume the userBusinessActivity (i.e., set it on the current thread). They use the txContext that is on the ESBMessage.
+
+7) The xxxStatus context variables are then used to determine the process flow.
+
+8) UBA complete/cancel/close are also implemented as with the WSBATXAction, where the action invokes the appropriate action on the UserBusinessActivity using the txContext.
+
+
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.properties	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1 @@
+quickstarts.dir=/shared/software/playground/jboss-soa-p.4.2.0/jboss-as/samples/quickstarts

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/build.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,50 @@
+<project name="NightOut" default="deploy" basedir=".">
+	
+	<description> 
+		${ant.project.name}
+		${line.separator}
+	</description>
+	
+	<property file="${basedir}/build.properties"/>
+		
+	<property name="additional.deploys" value="smooks-res.xml"/>
+	<!-- Import the base Ant build script... -->
+	<import file="${quickstarts.dir}/conf/base-build.xml"/>
+	
+
+	<target name="copy" >
+  		<copy todir="${quickstarts.dir}/NightOut" >
+   			<fileset dir="${basedir}" includes ="*.xml" />
+ 			<fileset dir="${basedir}" includes ="*.properties" />
+   		</copy>
+  		<copy todir="${quickstarts.dir}/NightOut/src" >
+  	  		<fileset dir="${basedir}/src" includes ="**/*.java" />
+  		</copy>
+  		<copy todir="${quickstarts.dir}/NightOut/lib/" >
+  			<fileset dir="${basedir}/lib" includes ="*.jar" />
+  	  	</copy>
+   	 	 <!--fileset dir="${basedir}" includes ="war/**/*.*" /-->
+	</target>
+	
+	
+	<!--
+   <target name="quickstart-specific-checks" depends="assert-ws-available"/>
+
+    <target name="quickstart-specific-dependencies">
+        <path id="quickstart-dependencies-classpath">
+            <fileset dir="${org.jboss.esb.server.home}/client" includes="jbossws-client.jar,jboss-remoting.jar" />
+        </path>
+    </target>
+	
+    <target name="quickstart-specific-assemblies">
+         <war warfile="build/${ant.project.name}.war"
+             webxml="${basedir}/war/resources/WEB-INF/web.xml">
+            <fileset dir="${basedir}/war/view">
+                <include name="**/*"/>
+            </fileset>
+        </war>
+    </target> 
+	-->
+
+	
+</project>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wscf.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wscf.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wscf.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,44 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<wscf-config>
+	<properties>
+	    <property name="com.arjuna.mw.wsas.deploymentContext"
+	    value="com.arjuna.mwlabs.wst.at.context.DeploymentContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.twophase.context"
+	    value="com.arjuna.mwlabs.wst.at.context.ArjunaContextImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation1"
+	    value="com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation2"
+	    value="com.arjuna.mwlabs.wst.at.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation3"
+	    value="com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation4"
+	    value="com.arjuna.mwlabs.wst.ba.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
+	    value="XTSObjectStore"/>
+	</properties>
+</wscf-config>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wst.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wst.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wst.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,48 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<deployment>
+	<service name="UserTransaction">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.remote.UserTransactionImple"/>
+
+		<!-- <parameter name="className"
+	value="com.arjuna.mwlabs.wst.at.local.UserTransactionImple"/ -->
+
+	</service>
+	<service name="TransactionManager">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.remote.TransactionManagerImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.local.TransactionManagerImple"/ -->
+	</service>
+	<service name="UserBusinessActivity">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.remote.UserBusinessActivityImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.local.UserBusinessActivityImple"/ -->
+	</service>
+	<service name="BusinessActivityManager">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.remote.BusinessActivityManagerImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.local.BusinessActivityManagerImple"/ -->
+	</service>
+</deployment>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wstx.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wstx.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/conf/wstx.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,50 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<wstx-config>
+	<properties>
+	    <property name="com.arjuna.mw.wsas.deploymentContext"
+	    value="com.arjuna.mwlabs.wst.at.context.DeploymentContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.twophase.context"
+	    value="com.arjuna.mwlabs.wst.at.context.ArjunaContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.sagas.context"
+	    value="com.arjuna.mwlabs.wst.ba.context.ArjunaContextImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation1"
+	    value="com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation2"
+	    value="com.arjuna.mwlabs.wst.at.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation3"
+	    value="com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation4"
+	    value="com.arjuna.mwlabs.wst.ba.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
+	    value="XTSObjectStore"/>
+
+	    <property
+	    name="com.arjuna.ats.arjuna.recovery.recoveryExtension1"
+	    value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+	</properties>
+</wstx-config>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/README.txt
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/README.txt	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,47 @@
+#
+# JBoss, Home of Professional Open Source
+# Copyright 2006, Red Hat Middleware LLC, and individual contributors
+# as indicated by the @author tags. 
+# See the copyright.txt in the distribution for a full listing 
+# of individual contributors.
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License, v. 2.0.
+# This program is distributed in the hope that it will be useful, but WITHOUT A 
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+# PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License,
+# v. 2.0 along with this distribution; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+# MA  02110-1301, USA.
+# 
+# (C) 2005-2006,
+# @author JBoss Inc.
+#
+To create a stand-alone coordinator:
+
+(1) create a separate installation of your application server to the one you
+will use for your clients/services.
+
+(2) edit the build.xml to point to this installation.
+
+You need to set hostname, port and deploy.dir parameters to those for the
+application server used for the stand-alone coordinator.
+
+(3) run ant with the deploy target deploy -jboss.
+
+(4) when running clients and services, edit the wstx.xml file in their
+deployment to add
+
+	    <property
+	    name="com.arjuna.mw.wst.coordinatorURL"
+	    value="http://@hostname@:@port@/xts/soap/ActivationCoordinator"/>
+
+	    <property
+	    name="com.arjuna.mw.wst.ba.terminatorURL"
+	    value="http://@hostname@:@port@/xts/soap/BusinessActivityTerminatorParticipant"/>
+
+where hostname and port are replaced with the appropriate values.
+
+(5) make sure you start  your coordinator deployment before any clients or
+services that may want to use it.

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/build.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/build.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,124 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags.
+  See the copyright.txt in the distribution for a full listing
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+  MA  02110-1301, USA.
+
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!--           Copyright (c) 2003, Arjuna Technologies Limited.             -->
+<!--                                                                        -->
+<!--                      Arjuna-XML Standalone Coordinator                 -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
+
+<project name="coordinator" default="webapps" basedir=".">
+
+    <!-- ================================================================== -->
+
+    <!-- The properties to override are the following:                      -->
+    <!--    hostname (defaults to localhost)                                -->
+    <!--    port (defaults to 8080 for jboss)                               -->
+
+    <!--    deploy.dir The deployment directory for the ear                 -->
+    <!--    xts.home The installation directory for AXTS                   -->
+    <!-- ================================================================== -->
+
+    <property name="xts.home" value=".."/>
+    <property name="deploy.dir" value="/usr/local/jboss/server/all/deploy"/>
+    <property name="hostname" value="localhost"/>
+    <property name="port" value="8080"/>
+    <property name="webmethods.urlstub" value="xts-coordinator"/>
+
+    <property name="lib.dir" location="${xts.home}/lib"/>
+    <property name="ext.dir" location="${lib.dir}/ext"/>
+
+    <property name="ext.package" value="jbossjta.jar jbossts-common.jar commons-logging-1.1.jar stax-api-1.0.jar wstx-asl-2.0.3.jar"/>
+
+    <!-- ================================================================== -->
+
+    <property name="build.dir"         value="build"/>
+    <property name="dd.dir"            value="dd"/>
+    <property name="webapps.dir"       value="${xts.home}/webapps"/>
+    <property name="xts.coord.dd.dir" value="${xts.home}/coordinator/dd"/>
+    <property name="build.dd.dir"      value="${build.dir}/dd"/>
+    <property name="build.webapps.dir" value="${build.dir}/webapps"/>
+    <property name="build.webmethods.dir" value="${build.dir}/webmethods"/>
+
+    <target name="clean">
+        <delete dir="${build.dir}"/>
+        <delete>
+            <fileset dir="." includes="**/*.bak" defaultexcludes="no"/>
+            <fileset dir="." includes="**/*~"    defaultexcludes="no"/>
+            <fileset dir="." includes="**/#*#"   defaultexcludes="no"/>
+            <fileset dir="." includes="**/.#*"   defaultexcludes="no"/>
+        </delete>
+    </target>
+
+    <target name="init">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.dd.dir}"/>
+        <mkdir dir="${build.webapps.dir}"/>
+        <mkdir dir="${build.webapps.dir}/tmp/ws-c"/>
+        <mkdir dir="${build.webapps.dir}/tmp/ws-t"/>
+        <mkdir dir="${build.webmethods.dir}"/>
+    </target>
+
+    <target name="webapps" depends="init">
+        <filter token="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+
+        <unjar src="${webapps.dir}/ws-c.war" dest="${build.webapps.dir}/tmp/ws-c"/>
+
+        <copy file="${xts.coord.dd.dir}/ws-c_web-app.xml"
+            tofile="${build.webapps.dir}/tmp/ws-c/WEB-INF/web.xml" filtering="true" overwrite="true"/>
+
+        <jar destfile="${build.webapps.dir}/ws-c.war" basedir="${build.webapps.dir}/tmp/ws-c" manifest="${build.webapps.dir}/tmp/ws-c/META-INF/MANIFEST.MF"/>
+
+        <delete dir="${build.webapps.dir}/tmp/ws-c"/>
+
+        <unjar src="${webapps.dir}/ws-t.war" dest="${build.webapps.dir}/tmp/ws-t"/>
+
+        <copy file="${xts.coord.dd.dir}/ws-t_web-app.xml"
+            tofile="${build.webapps.dir}/tmp/ws-t/WEB-INF/web.xml" filtering="true" overwrite="true"/>
+
+        <jar destfile="${build.webapps.dir}/ws-t.war" basedir="${build.webapps.dir}/tmp/ws-t" manifest="${build.webapps.dir}/tmp/ws-t/META-INF/MANIFEST.MF"/>
+
+        <delete dir="${build.webapps.dir}/tmp/ws-t"/>
+
+        <jar destfile="${build.dir}/config.jar" basedir="${xts.home}/conf"/>
+     </target>
+
+     <target name="jboss-ear" depends="webapps">
+        <ear earfile="${build.webapps.dir}/xts-coordinator_jboss.ear" appxml="${dd.dir}/xts-coord_application.xml">
+            <fileset dir="${lib.dir}" includes="*.jar"/>
+            <fileset dir="${ext.dir}" includes="${ext.package}"/>
+            <fileset dir="${build.dir}" includes="config.jar"/>
+            <fileset dir="${webapps.dir}" includes="wscf.war wstx.war"/>
+            <fileset dir="${build.webapps.dir}" includes="ws-c.war ws-t.war"/>
+        </ear>
+    </target>
+
+    <target name="deploy-jboss" depends="jboss-ear, undeploy-jboss">
+        <copy file="${build.webapps.dir}/xts-coordinator_jboss.ear" tofile="${deploy.dir}/xts-coordinator.ear"/>
+    </target>
+
+    <target name="undeploy-jboss">
+        <delete file="${deploy.dir}/xts-coordinator.ear"/>
+    </target>
+</project>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-c_web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-c_web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-c_web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,96 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+    <display-name>Arjuna Web Services and WS-Coordination</display-name>
+
+    <description>Arjuna Web Services and WS-Coordination</description>
+
+    <!--  Initialise the Task Manager -->
+    <context-param>
+        <param-name>TaskManager.minWorkerCount</param-name>
+        <param-value>0</param-value>
+    </context-param>
+    <context-param>
+        <param-name>TaskManager.maxWorkerCount</param-name>
+        <param-value>10</param-value>
+    </context-param>
+    <listener>
+        <listener-class>com.arjuna.services.framework.admin.TaskManagerInitialisation</listener-class>
+    </listener>
+    
+    <!-- Initialise WS-C services -->
+    <listener>
+        <listener-class>com.arjuna.webservices.wscoor.server.ActivationCoordinatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wscoor.server.ActivationRequesterInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wscoor.server.RegistrationCoordinatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wscoor.server.RegistrationRequesterInitialisation</listener-class>
+    </listener>
+    
+    <!-- Initialise WS-C  -->
+    <listener>
+        <listener-class>com.arjuna.wsc.messaging.deploy.CoordinationInitialisation</listener-class>
+    </listener>
+
+    <!--  Initialise the HTTP Client -->
+    <listener>
+        <listener-class>com.arjuna.webservices.transport.http.HttpClientInitialisation</listener-class>
+    </listener>
+    
+    <servlet>
+        <servlet-name>HTTP SOAP Service Multiplexor Servlet</servlet-name>
+        <servlet-class>com.arjuna.webservices.transport.http.HttpServiceMultiplexorServlet</servlet-class>
+        <!--
+          The BaseHttpURI and BaseHttpsURI parameters specify the default values
+          used to generate the service URIs without reference to an incoming
+          request.
+         -->
+        <init-param>
+            <param-name>BaseHttpURI</param-name>
+            <param-value>http://@hostname@:@port@/xts/soap/</param-value>
+        </init-param>
+        <!--
+        <init-param>
+            <param-name>BaseHttpsURI</param-name>
+            <param-value>https://@hostname@:@port@/xts/soap/</param-value>
+        </init-param>
+        <init-param>
+            <param-name>LogPackets</param-name>
+            <param-value>true</param-value>
+        </init-param>
+        -->
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+	<!-- servlet mappings -->
+    <servlet-mapping>
+        <servlet-name>HTTP SOAP Service Multiplexor Servlet</servlet-name>
+        <url-pattern>/soap/*</url-pattern>
+    </servlet-mapping>
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-t_web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-t_web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/ws-t_web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,69 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
+
+<web-app>
+    <display-name>Arjuna Web Services Transaction</display-name>
+
+    <description>Arjuna Web Services Transaction</description>
+
+    <!-- Initialise Arjuna TX services -->
+    <listener>
+        <listener-class>com.arjuna.webservices.wsarjtx.server.TerminationParticipantInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsarjtx.server.TerminationCoordinatorInitialisation</listener-class>
+    </listener>
+    
+    <!-- Initialise WS-AT services -->
+    <listener>
+        <listener-class>com.arjuna.webservices.wsat.server.CompletionCoordinatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsat.server.CompletionInitiatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsat.server.CoordinatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsat.server.ParticipantInitialisation</listener-class>
+    </listener>
+    
+    <!-- Initialise WS-BA services -->
+    <listener>
+        <listener-class>com.arjuna.webservices.wsba.server.CoordinatorCompletionCoordinatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsba.server.CoordinatorCompletionParticipantInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsba.server.ParticipantCompletionCoordinatorInitialisation</listener-class>
+    </listener>
+    <listener>
+        <listener-class>com.arjuna.webservices.wsba.server.ParticipantCompletionParticipantInitialisation</listener-class>
+    </listener>
+    
+    <!-- Initialise WS-T  -->
+    <listener>
+        <listener-class>com.arjuna.wst.messaging.deploy.TransactionInitialisation</listener-class>
+    </listener>
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/xts-coord_application.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/xts-coord_application.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/coordinator/dd/xts-coord_application.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,56 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+<application>
+    <display-name>Arjuna-XML Coordinator</display-name>
+
+    <description>Arjuna-XML Coordinator</description>
+
+    <module>
+        <web>
+            <web-uri>ws-c.war</web-uri>
+            <context-root>/xts</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>ws-t.war</web-uri>
+            <context-root>/ws-t</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>wscf.war</web-uri>
+            <context-root>/wscf</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>wstx.war</web-uri>
+            <context-root>/wstx</context-root>
+        </web>
+    </module>
+</application>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/BUILDING
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/BUILDING	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/BUILDING	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,50 @@
+# JBoss, Home of Professional Open Source
+# Copyright 2006, Red Hat Middleware LLC, and individual contributors
+# as indicated by the @author tags. 
+# See the copyright.txt in the distribution for a full listing 
+# of individual contributors.
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License, v. 2.0.
+# This program is distributed in the hope that it will be useful, but WITHOUT A 
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+# PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License,
+# v. 2.0 along with this distribution; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+# MA  02110-1301, USA.
+# 
+# (C) 2005-2006,
+# @author JBoss Inc.
+#
+
+This demo has been written for, and tested on, JBoss4.2.2.GA and
+JBoss5.0Beta4. Please download and install one of these app servers
+from the JBoss website.
+
+Follow these steps to build the demo for JBoss
+ - edit jboss.properties and replace variables as directed in the comments
+ - add java and ant to your path
+ - set environment variable JBOSS_HOME to point to the root directory of an
+   instance of JBoss4.2 or JBoss5.0Beta4
+ - for JBoss5.0Beta4 execute 'sh build.sh jboss clean deploy' on unix or
+   'build.bat jboss clean deploy' on windows
+ - for JBoss4.2 execute 'sh build.sh jboss clean sa-deploy' on unix or
+   'build.bat jboss clean sa-deploy' on windows
+
+Open a browser and enter the xts-demo url (e.g. http://localhost:8080/xts-demo)
+
+An alternative version of the demo can be built using JaxRPC instead
+of JaxWS. For JBoss5.0.Beta4 this can be built by supplying the
+argument 'deployrpc' in place of 'deploy' on the 'execute' command
+line detailed above. For JBoss4.2 it can be built by supplying the
+argument 'sa-deployrpc' in place of 'sa-deploy'. Access the demo using
+the same url.
+
+n.b. deployment of the demo to JbossAS 5.0Beta4 assumes that the XTS
+has already been deployed as a service archive (sar). See the INSTALL
+file in your ArjunaJTS install tree for instructions on how to perform
+this deployment. XTS sar deployment currently requires the web
+listener hostname and port to be "localhost" and "8080". This
+restriction will be lifted in future releases. Use of a stand alone
+coordinator is also not currently supported in JbossAS 5.0Beta4.

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/client/BasicClient.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/client/BasicClient.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/nightout/INightOutService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/nightout/INightOutService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/context-handlers.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/context-handlers.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/context-handlers.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+-->
+<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee">
+    <handler-chain>
+	<handler>
+		<handler-name>ContextHandler</handler-name>
+		<handler-class>com.arjuna.mw.wst.service.JaxWSHeaderContextProcessor</handler-class>
+	</handler>
+    </handler-chain>
+</handler-chains>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$1.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$2.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$3.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$4.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$5.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$5.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$6.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView$6.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$1.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$2.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$3.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$4.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$1.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$2.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$3.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$4.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$5.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$5.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$6.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$6.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$7.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$7.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$8.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView$8.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/classes/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/client-web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/client-web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/client-web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,68 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+	version="2.4">
+    <display-name>XML Transaction Service Demo Client</display-name>
+
+    <description>XML Transaction Service Demo Client</description>
+
+    <servlet>
+        <servlet-name>Basic Client Servlet</servlet-name>
+        <servlet-class>com.jboss.jbosstm.xts.demo.client.BasicClient</servlet-class>
+        <init-param>
+            <param-name>restaurantATURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/RestaurantServiceAT</param-value>
+        </init-param>
+        <init-param>
+            <param-name>restaurantBAURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/RestaurantServiceBA</param-value>
+        </init-param>
+        <init-param>
+            <param-name>taxiATURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/TaxiServiceAT</param-value>
+        </init-param>
+        <init-param>
+            <param-name>taxiBAURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/TaxiServiceBA</param-value>
+        </init-param>
+        <init-param>
+            <param-name>theatreATURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/TheatreServiceAT</param-value>
+        </init-param>
+        <init-param>
+            <param-name>theatreBAURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/TheatreServiceBA</param-value>
+        </init-param>
+        <init-param>
+            <param-name>nightoutURL</param-name>
+            <param-value>http://localhost:8080/xtsdemowebservices/NightOutService</param-value>
+        </init-param>
+        
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Basic Client Servlet</servlet-name>
+        <url-pattern>/basicclient</url-pattern>
+    </servlet-mapping>
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wscf.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wscf.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wscf.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,44 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<wscf-config>
+	<properties>
+	    <property name="com.arjuna.mw.wsas.deploymentContext"
+	    value="com.arjuna.mwlabs.wst.at.context.DeploymentContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.twophase.context"
+	    value="com.arjuna.mwlabs.wst.at.context.ArjunaContextImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation1"
+	    value="com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation2"
+	    value="com.arjuna.mwlabs.wst.at.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation3"
+	    value="com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation4"
+	    value="com.arjuna.mwlabs.wst.ba.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
+	    value="XTSObjectStore"/>
+	</properties>
+</wscf-config>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wst.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wst.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wst.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,48 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<deployment>
+	<service name="UserTransaction">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.remote.UserTransactionImple"/>
+
+		<!-- <parameter name="className"
+	value="com.arjuna.mwlabs.wst.at.local.UserTransactionImple"/ -->
+
+	</service>
+	<service name="TransactionManager">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.remote.TransactionManagerImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.local.TransactionManagerImple"/ -->
+	</service>
+	<service name="UserBusinessActivity">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.remote.UserBusinessActivityImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.local.UserBusinessActivityImple"/ -->
+	</service>
+	<service name="BusinessActivityManager">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.remote.BusinessActivityManagerImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.local.BusinessActivityManagerImple"/ -->
+	</service>
+</deployment>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wstx.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wstx.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config/wstx.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,50 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<wstx-config>
+	<properties>
+	    <property name="com.arjuna.mw.wsas.deploymentContext"
+	    value="com.arjuna.mwlabs.wst.at.context.DeploymentContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.twophase.context"
+	    value="com.arjuna.mwlabs.wst.at.context.ArjunaContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.sagas.context"
+	    value="com.arjuna.mwlabs.wst.ba.context.ArjunaContextImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation1"
+	    value="com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation2"
+	    value="com.arjuna.mwlabs.wst.at.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation3"
+	    value="com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation4"
+	    value="com.arjuna.mwlabs.wst.ba.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
+	    value="XTSObjectStore"/>
+
+	    <property
+	    name="com.arjuna.ats.arjuna.recovery.recoveryExtension1"
+	    value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+	</properties>
+</wstx-config>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/config.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/ws-c.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/ws-c.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/ws-t.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/ws-t.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo-webservices.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo-webservices.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo.ear
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo.ear
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build/xts-sa-demo.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.bat	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,45 @@
+rem
+rem JBoss, Home of Professional Open Source
+rem Copyright 2006, Red Hat Middleware LLC, and individual contributors
+rem as indicated by the @author tags. 
+rem See the copyright.txt in the distribution for a full listing 
+rem of individual contributors.
+rem This copyrighted material is made available to anyone wishing to use,
+rem modify, copy, or redistribute it subject to the terms and conditions
+rem of the GNU General Public License, v. 2.0.
+rem This program is distributed in the hope that it will be useful, but WITHOUT A 
+rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+rem PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+rem You should have received a copy of the GNU General Public License,
+rem v. 2.0 along with this distribution; if not, write to the Free Software
+rem Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+rem MA  02110-1301, USA.
+rem 
+rem (C) 2005-2006,
+rem @author JBoss Inc.
+rem
+ at echo off
+rem ###########################################################################
+rem # Wrapper script for building and deploying xts-demo                      #
+rem # Usage: build.bat [weblogic|jboss] <target>                              #
+rem ###########################################################################
+
+if "%OS" == "Windows_NT" @setlocal
+
+set PROGRAM=build.bat
+if "%OS%" == "Windows_NT" set PROGNAME=%~nx0
+
+if "%1" == "" goto USAGE
+
+set PROPERTYFILE=%1.properties
+if exist "%PROPERTYFILE%" goto RUN
+
+:USAGE
+echo Usage: %PROGRAM% [weblogic|jboss|webmethods] <target>
+goto END
+
+:RUN
+shift
+ant -Dxmlpropertyfile="%PROPERTYFILE%" %1 %2 %3 %4 %5 %6 %7 %8 %9
+:END
+if "%OS" == "Windows_NT" @endlocal

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.sh	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,38 @@
+#
+# JBoss, Home of Professional Open Source
+# Copyright 2006, Red Hat Middleware LLC, and individual contributors
+# as indicated by the @author tags. 
+# See the copyright.txt in the distribution for a full listing 
+# of individual contributors.
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License, v. 2.0.
+# This program is distributed in the hope that it will be useful, but WITHOUT A 
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+# PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License,
+# v. 2.0 along with this distribution; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+# MA  02110-1301, USA.
+# 
+# (C) 2005-2006,
+# @author JBoss Inc.
+#
+#!/bin/sh
+###############################################################################
+# Wrapper script for building and deploying xts-demo                          #
+# Usage: build.sh [jboss] <target>                                            #
+###############################################################################
+
+if [ $# -ge 1 ]
+then
+  propertyfile=$1.properties
+  if [ -f "$propertyfile" ]
+  then
+    shift
+    exec ant -Dxmlpropertyfile $propertyfile "$@"
+  fi
+fi
+
+echo "Usage: `basename $0` [jboss] <target>"
+exit 1

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/build.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,462 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags.
+  See the copyright.txt in the distribution for a full listing
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+  MA  02110-1301, USA.
+
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!-- $Id: xts-build.xml,v 1.12.4.1 2005/11/22 10:42:05 kconner Exp $ -->
+
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!--           Copyright (c) 2003, Arjuna Technologies Limited.             -->
+<!--                                                                        -->
+<!--                 WS-Transaction / XTS demo application                  -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
+
+<project name="xts-demo" default="build" basedir=".">
+
+    <!-- ================================================================== -->
+
+    <!-- n.b. run this via the build.sh script to ensure that the property  -->
+    <!-- settings in jboss.properties are set automatically                 -->
+
+    <!-- The properties to override are the following:                      -->
+    <!--    hostname (defaults to localhost)                                -->
+    <!--    port (defaults to 8080 for jboss)                               -->
+    <!--    urlstub (defaults to xtsdemowebservices for JBoss)              -->
+
+    <!-- the demo needs to be linked against the client libraries           -->
+    <!-- installed jboss directory                                          -->
+
+    <property environment="env"/>
+    <property name="jboss.home" value="/shared/software/playground/jboss-soa-p.4.2.0/jboss-as"/>
+
+    <!--    deploy.dir The deployment directory for the ear                 -->
+
+    <property name="deploy.dir" location="${jboss.home}/server/production/deploy"/>
+
+    <!--  default target build will build an ear file for the demo app for  -->
+    <!--  use in a JBoss server with XTS deployed as a JBoss service        -->
+    <!--  archive. The demo client communicates with demo services deployed -->
+    <!--  as JaxWS endpoints                                                -->
+
+    <!--  target sa-build will build an ear file for the demo app for use   -->
+    <!--  with a remote coordinator. this contains the XTS code and config  -->
+    <!--  files bundled into an ear file to provide the client side         -->
+    <!--   services.                                                        -->
+
+    <!--  target buildrpc will build an ear file for the demo app using     -->
+    <!--  JaxRPC to communicate between the demo client and services        -->
+
+    <!--  target sa-buildrpc will build an ear file for the demo app for    -->
+    <!--  with a remote coordinator using JaxRPC to communicate between the -->
+    <!--  demo client and services                                          -->
+
+    <!-- ================================================================== -->
+
+    <xmlproperty file="${xmlpropertyfile}" keeproot="false"/>
+
+    <property name="xts.home" value=".."/>
+    <property name="conf.dir" location="${xts.home}/conf"/>
+
+    <property name="lib.dir" location="${xts.home}/lib"/>
+    <property name="ext.dir" location="${lib.dir}/ext"/>
+    <property name="jboss.client.lib.dir" location="${jboss.home}/client"/>
+
+    <property name="lib.libs" value="wstx.jar ws-t.jar ws-c.jar"/>
+    <property name="ext.libs" value="jbossjta.jar jbossesb-rosetta.jar jbossesb-soap.jar"/>
+    <property name="jboss.client.libs" value="jbossall-client.jar jboss-jaxws.jar"/>
+    <property name="ext.compile" value="${ext.libs} jaxrpc.jar servlet.jar"/>
+
+    <property name="ext.package" value="${ext.libs} jbossts-common.jar commons-logging-1.1.jar wstx-asl-2.0.3.jar stax-api-1.0.jar"/>
+
+    <!-- ================================================================== -->
+
+    <property name="build.dir" location="build"/>
+    <property name="src.dir" location="src"/>
+    <property name="dd.dir" location="dd"/>
+    <property name="jboss.dd.dir" location="${dd.dir}/jboss"/>
+    <property name="build.config" location="${build.dir}/config"/>
+    <property name="build.soapconfig" location="${build.dir}/soapconfig"/>
+
+    <property name="buildrpc.dir" location="buildrpc"/>
+    <property name="srcrpc.dir" location="srcrpc"/>
+    <property name="ddrpc.dir" location="ddrpc"/>
+    <property name="jboss.ddrpc.dir" location="${ddrpc.dir}/jboss"/>
+    <property name="buildrpc.config" location="${buildrpc.dir}/config"/>
+    <property name="buildrpc.soapconfig" location="${buildrpc.dir}/soapconfig"/>
+
+    <property name="web.dir" location="web"/>
+
+    <property name="javac.debug"             value="on"/>
+    <property name="javac.optimize"          value="off"/>
+
+    <path id="lib.path">
+        <fileset dir="${lib.dir}" includes="${lib.libs}"/>
+    </path>
+    <path id="ext.path">
+        <fileset dir="${ext.dir}" includes="${ext.compile}"/>
+    </path>
+
+    <path id="jboss.client.path">
+        <fileset dir="${jboss.client.lib.dir}" includes="${jboss.client.libs}"/>
+    </path>
+
+    <filterset id="webxml.filter">
+        <filter token="restaurantATURL" value="${restaurantATURL}"/>
+        <filter token="restaurantBAURL" value="${restaurantBAURL}"/>
+        <filter token="taxiATURL" value="${taxiATURL}"/>
+        <filter token="taxiBAURL" value="${taxiBAURL}"/>
+        <filter token="theatreATURL" value="${theatreATURL}"/>
+        <filter token="theatreBAURL" value="${theatreBAURL}"/>
+        <filter token="nightoutURL" value="${nightoutURL}"/>
+        <filter token="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+        <filter token="urlstub" value="${urlstub}"/>
+    </filterset>
+
+    <target name="clean">
+        <delete dir="${build.dir}"/>
+        <delete dir="${buildrpc.dir}"/>
+        <delete>
+            <fileset dir="." includes="**/*.bak" defaultexcludes="no"/>
+            <fileset dir="." includes="**/*~"    defaultexcludes="no"/>
+            <fileset dir="." includes="**/#*#"   defaultexcludes="no"/>
+            <fileset dir="." includes="**/.#*"   defaultexcludes="no"/>
+        </delete>
+    </target>
+
+    <target name="init-properties">
+        <property name="hostname" value="localhost"/>
+        <property name="port" value="8080"/>
+        <property name="urlstub" value="xtsdemowebservices"/>
+        <path id="compile.path">
+            <path refid="lib.path"/>
+            <path refid="jboss.client.path"/>
+            <path refid="ext.path"/>
+        </path>
+    </target>
+
+    <target name="init" depends="init-properties">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.dir}/classes"/>
+        <mkdir dir="${build.config}"/>
+        <mkdir dir="${build.soapconfig}"/>
+    </target>
+
+    <target name="initrpc" depends="init-properties">
+        <mkdir dir="${buildrpc.dir}"/>
+        <mkdir dir="${buildrpc.dir}/classes"/>
+        <mkdir dir="${buildrpc.config}"/>
+        <mkdir dir="${buildrpc.soapconfig}"/>
+    </target>
+
+    <target name="compilerpc" depends="initrpc">
+        <javac destdir="${buildrpc.dir}/classes" debug="${javac.debug}"
+            optimize="${javac.optimize}" deprecation="${javac.deprecation}" >
+            <classpath>
+                <path refid="compile.path"/>
+            </classpath>
+            <src path="${srcrpc.dir}"/>
+            <patternset>
+                <include name="com/arjuna/xts/nightout/clients/jboss/**"/>
+                <include name="com/arjuna/xts/nightout/services/**"/>
+            </patternset>
+        </javac>
+    </target>
+
+    <target name="compile" depends="init">
+        <javac destdir="${build.dir}/classes" debug="${javac.debug}"
+            optimize="${javac.optimize}" deprecation="${javac.deprecation}" >
+            <classpath>
+                <path refid="compile.path"/>
+            </classpath>
+            <src path="${src.dir}"/>
+            <patternset>
+	        <!-- client app -->
+                <include name="com/jboss/jbosstm/xts/demo/client/**/*"/>
+	        <!-- server impl -->
+                <include name="com/jboss/jbosstm/xts/demo/services/**"/>
+	        <!-- generated server interfaces and service classes -->
+                <include name="com/jboss/jbosstm/xts/demo/restaurant/**"/>
+                <include name="com/jboss/jbosstm/xts/demo/taxi/**"/>
+                <include name="com/jboss/jbosstm/xts/demo/theatre/**"/>
+    			<include name="com/jboss/jbosstm/xts/demo/nightout/**"/>
+            </patternset>
+        </javac>
+    </target>
+
+    <!-- the server side elements -->
+    <target name="jboss-webservices" depends="compile">
+        <copy tofile="${build.dir}/classes/com/jboss/jbosstm/xts/demo/services/context-handlers.xml"
+	      file="${jboss.dd.dir}/context-handlers.xml"/>
+        <war destfile="${build.dir}/xts-demo-webservices.war" webxml="${jboss.dd.dir}/service-web-app.xml" >
+            <webinf dir="${jboss.dd.dir}" includes="wsdl/*.wsdl"/>
+	    <classes dir="${build.dir}/classes">
+		 <include name="com/jboss/jbosstm/xts/demo/services/**/*"/>
+	    </classes>
+            <manifest>
+                <attribute name="Class-Path" value="${lib.libs}"/>
+            </manifest>
+        </war>
+    </target>
+
+    <target name="config" depends="insertcfg">
+        <filter token="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+        <copy todir="${build.config}" filtering="true">
+            <fileset dir="${conf.dir}" includes="wscf.xml wstx.xml wst.xml"/>
+        </copy>
+        <jar destfile="${build.dir}/config.jar" basedir="${build.config}"/>
+    </target>
+
+    <target name="jboss-sa-webservices" depends="compile">
+        <copy tofile="${build.dir}/classes/com/jboss/jbosstm/xts/demo/services/context-handlers.xml"
+	      file="${jboss.dd.dir}/context-handlers.xml"/>
+	<war destfile="${build.dir}/xts-sa-demo-webservices.war" webxml="${jboss.dd.dir}/service-web-app.xml" >
+            <webinf dir="${jboss.dd.dir}" includes="webservices.xml wsdl/*.wsdl"/>
+	    <classes dir="${build.dir}/classes">
+	         <include name="com/jboss/jbosstm/xts/demo/services/**/*"/>
+	         <include name="com/jboss/jbosstm/xts/demo/restaurant/**/*"/>
+	         <include name="com/jboss/jbosstm/xts/demo/theatre/**/*"/>
+	         <include name="com/jboss/jbosstm/xts/demo/taxi/**/*"/>
+		     <include name="com/jboss/jbosstm/xts/demo/nightout/**/*"/>
+	    </classes>
+            <manifest>
+                <attribute name="Class-Path" value="${lib.libs} ${ext.package}"/>
+            </manifest>
+        </war>
+    </target>
+
+    <target name="jboss-webservicesrpc" depends="compilerpc">
+        <war destfile="${buildrpc.dir}/xts-demo-webservices.war" webxml="${jboss.ddrpc.dir}/service-web-app.xml">
+            <webinf dir="${jboss.ddrpc.dir}" excludes="client-web-app.xml service-web-app.xml application-sa.xml application.xml client-jaxrpc-mapping.xml"/>
+            <classes dir="${buildrpc.dir}/classes">
+                <include name="com/arjuna/xts/nightout/services/**"/>
+            </classes>
+        </war>
+    </target>
+
+    <target name="configrpc" depends="insertcfgrpc">
+        <filter token="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+        <copy todir="${buildrpc.config}" filtering="true">
+            <fileset dir="${conf.dir}" includes="wscf.xml wstx.xml wst.xml"/>
+        </copy>
+        <jar destfile="${buildrpc.dir}/config.jar" basedir="${buildrpc.config}"/>
+    </target>
+
+    <target name="jboss-sa-webservicesrpc" depends="compilerpc">
+        <war destfile="${buildrpc.dir}/xts-sa-demo-webservices.war" webxml="${jboss.ddrpc.dir}/service-web-app.xml">
+            <webinf dir="${jboss.ddrpc.dir}" excludes="client-web-app.xml service-web-app.xml application-sa.xml application.xml client-jaxrpc-mapping.xml"/>
+            <classes dir="${buildrpc.dir}/classes">
+                <include name="com/arjuna/xts/nightout/services/**"/>
+            </classes>
+            <manifest>
+                <attribute name="Class-Path" value="${lib.libs} ${ext.package}"/>
+            </manifest>
+        </war>
+    </target>
+
+    <!-- the client side elements -->
+    <target name="jboss-webapp" depends="compile">
+        <copy tofile="${build.dir}/client-web-app.xml" file="${jboss.dd.dir}/client-web-app.xml">
+            <filterset refid="webxml.filter"/>
+        </copy>
+
+        <war warfile="${build.dir}/xts-demo.war" webxml="${build.dir}/client-web-app.xml">
+            <classes dir="${build.dir}/classes">
+                <exclude name="com/jboss/jbosstm/xts/demo/services/**/*"/>
+            </classes>
+            <fileset dir="${web.dir}"/>
+            <webinf dir="${jboss.dd.dir}" includes="wsdl/**"/>
+        </war>
+    </target>
+
+    <target name="jboss-sa-webapp" depends="compile">
+        <copy tofile="${build.dir}/client-web-app.xml" file="${jboss.dd.dir}/client-web-app.xml">
+            <filterset refid="webxml.filter"/>
+        </copy>
+
+        <war warfile="${build.dir}/xts-sa-demo.war" webxml="${build.dir}/client-web-app.xml">
+            <classes dir="${build.dir}/classes">
+                <exclude name="com/jboss/jbosstm/xts/demo/services/**/*"/>
+            </classes>
+            <fileset dir="${web.dir}"/>
+            <manifest>
+                <attribute name="Class-Path" value="${ext.package}"/>
+            </manifest>
+            <webinf dir="${jboss.dd.dir}" includes="wsdl/**"/>
+        </war>
+    </target>
+
+    <target name="jboss-webapprpc" depends="compilerpc">
+        <copy tofile="${buildrpc.dir}/client-web-app.xml" file="${jboss.ddrpc.dir}/client-web-app.xml">
+            <filterset refid="webxml.filter"/>
+        </copy>
+
+        <war warfile="${buildrpc.dir}/xts-demo.war" webxml="${buildrpc.dir}/client-web-app.xml">
+            <classes dir="${buildrpc.dir}/classes">
+                <exclude name="com/arjuna/xts/nightout/services/**/*"/>
+            </classes>
+            <fileset dir="${web.dir}"/>
+            <webinf dir="${jboss.ddrpc.dir}" includes="client-jaxrpc-mapping.xml wsdl/**"/>
+        </war>
+    </target>
+
+    <target name="jboss-sa-webapprpc" depends="compilerpc">
+        <copy tofile="${buildrpc.dir}/client-web-app.xml" file="${jboss.ddrpc.dir}/client-web-app.xml">
+            <filterset refid="webxml.filter"/>
+        </copy>
+
+        <war warfile="${buildrpc.dir}/xts-sa-demo.war" webxml="${buildrpc.dir}/client-web-app.xml">
+            <classes dir="${buildrpc.dir}/classes">
+                <exclude name="com/arjuna/xts/nightout/services/**/*"/>
+            </classes>
+            <fileset dir="${web.dir}"/>
+            <manifest>
+                <attribute name="Class-Path" value="${ext.package}"/>
+            </manifest>
+            <webinf dir="${jboss.ddrpc.dir}" includes="wsdl/** client-jaxrpc-mapping.xml"/>
+        </war>
+    </target>
+
+    <!-- the ear files -->
+    <target name="jboss-ear" depends="jboss-webservices, jboss-webapp">
+        <ear earfile="${build.dir}/xts-demo.ear"
+            appxml="${jboss.dd.dir}/application.xml">
+            <fileset dir="${build.dir}" includes="xts-demo-webservices.war xts-demo.war"/>
+        </ear>
+    </target>
+
+    <target name="jboss-sa-ear" depends="jboss-sa-webservices, jboss-sa-webapp, config">
+        <ear earfile="${build.dir}/xts-sa-demo.ear"
+            appxml="${jboss.dd.dir}/application-sa.xml">
+            <fileset dir="${build.dir}" includes="xts-sa-demo-webservices.war xts-sa-demo.war config.jar ws-t.war ws-c.war"/>
+	        <fileset dir="${xts.home}/lib" includes="*.jar"/>
+	        <fileset dir="${xts.home}/lib/ext" includes="${ext.package}"/>
+	        <fileset dir="${xts.home}/webapps" includes="*.war" excludes="ws-t.war ws-c.war"/>
+        </ear>
+    </target>
+
+    <target name="jboss-earrpc" depends="jboss-webservicesrpc, jboss-webapprpc">
+        <ear earfile="${buildrpc.dir}/xts-demo.ear"
+            appxml="${jboss.ddrpc.dir}/application.xml">
+            <fileset dir="${buildrpc.dir}" includes="xts-demo-webservices.war xts-demo.war"/>
+        </ear>
+    </target>
+
+    <target name="jboss-sa-earrpc" depends="jboss-sa-webservicesrpc, jboss-sa-webapprpc, configrpc">
+        <ear earfile="${buildrpc.dir}/xts-sa-demo.ear"
+            appxml="${jboss.ddrpc.dir}/application-sa.xml">
+            <fileset dir="${buildrpc.dir}" includes="xts-sa-demo-webservices.war xts-sa-demo.war config.jar ws-t.war ws-c.war"/>
+	        <fileset dir="${xts.home}/lib" includes="*.jar"/>
+	        <fileset dir="${xts.home}/lib/ext" includes="${ext.package}"/>
+	        <fileset dir="${xts.home}/webapps" includes="*.war" excludes="ws-t.war ws-c.war"/>
+        </ear>
+    </target>
+
+    <target name="build" depends="jboss-ear"/>
+
+    <target name="sa-build" depends="jboss-sa-ear"/>
+
+    <target name="buildrpc" depends="jboss-earrpc"/>
+
+    <target name="sa-buildrpc" depends="jboss-sa-earrpc"/>
+
+    <target name="insertcfg" depends="init">
+        <filter token="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+        <filter token="urlstub" value="${urlstub}"/>
+
+        <unjar src="${xts.home}/webapps/ws-c.war" dest="${build.dir}/tmp/ws-c"/>
+
+        <copy file="${xts.home}/coordinator/dd/ws-c_web-app.xml"
+            tofile="${build.dir}/tmp/ws-c/WEB-INF/web.xml" filtering="true" overwrite="true"/>
+
+        <jar destfile="${build.dir}/ws-c.war" basedir="${build.dir}/tmp/ws-c" manifest="${build.dir}/tmp/ws-c/META-INF/MANIFEST.MF"/>
+
+        <delete dir="${build.dir}/tmp/ws-c"/>
+
+        <unjar src="${xts.home}/webapps/ws-t.war" dest="${build.dir}/tmp/ws-t"/>
+
+        <copy file="${xts.home}/coordinator/dd/ws-t_web-app.xml"
+            tofile="${build.dir}/tmp/ws-t/WEB-INF/web.xml" filtering="true" overwrite="true"/>
+
+        <jar destfile="${build.dir}/ws-t.war" basedir="${build.dir}/tmp/ws-t" manifest="${build.dir}/tmp/ws-t/META-INF/MANIFEST.MF"/>
+
+        <delete dir="${build.dir}/tmp/ws-t"/>
+    </target>
+
+    <target name="insertcfgrpc" depends="initrpc">
+        <filter token="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+        <filter token="urlstub" value="${urlstub}"/>
+
+        <unjar src="${xts.home}/webapps/ws-c.war" dest="${buildrpc.dir}/tmp/ws-c"/>
+
+        <copy file="${xts.home}/coordinator/dd/ws-c_web-app.xml"
+            tofile="${buildrpc.dir}/tmp/ws-c/WEB-INF/web.xml" filtering="true" overwrite="true"/>
+
+        <jar destfile="${buildrpc.dir}/ws-c.war" basedir="${buildrpc.dir}/tmp/ws-c" manifest="${buildrpc.dir}/tmp/ws-c/META-INF/MANIFEST.MF"/>
+
+        <delete dir="${buildrpc.dir}/tmp/ws-c"/>
+
+        <unjar src="${xts.home}/webapps/ws-t.war" dest="${buildrpc.dir}/tmp/ws-t"/>
+
+        <copy file="${xts.home}/coordinator/dd/ws-t_web-app.xml"
+            tofile="${buildrpc.dir}/tmp/ws-t/WEB-INF/web.xml" filtering="true" overwrite="true"/>
+
+        <jar destfile="${buildrpc.dir}/ws-t.war" basedir="${buildrpc.dir}/tmp/ws-t" manifest="${buildrpc.dir}/tmp/ws-t/META-INF/MANIFEST.MF"/>
+
+        <delete dir="${buildrpc.dir}/tmp/ws-t"/>
+    </target>
+
+    <target name="deploy" depends="build, undeploy">
+        <copy file="${build.dir}/xts-demo.ear" tofile="${deploy.dir}/xts-demo.ear"/>
+    </target>
+
+    <target name="undeploy">
+        <delete file="${deploy.dir}/xts-demo.ear"/>
+    </target>
+
+    <target name="sa-deploy" depends="sa-build, undeploy">
+        <copy file="${build.dir}/xts-sa-demo.ear" tofile="${deploy.dir}/xts-sa-demo.ear"/>
+    </target>
+
+    <target name="sa-undeploy">
+        <delete file="${deploy.dir}/xts-sa-demo.ear"/>
+    </target>
+
+    <target name="deployrpc" depends="buildrpc, undeployrpc">
+        <copy file="${buildrpc.dir}/xts-demo.ear" tofile="${deploy.dir}/xts-demo.ear"/>
+    </target>
+
+    <target name="undeployrpc">
+        <delete file="${deploy.dir}/xts-demo.ear"/>
+    </target>
+
+    <target name="sa-deployrpc" depends="sa-buildrpc, sa-undeployrpc">
+        <copy file="${buildrpc.dir}/xts-sa-demo.ear" tofile="${deploy.dir}/xts-sa-demo.ear"/>
+    </target>
+
+    <target name="sa-undeployrpc">
+        <delete file="${deploy.dir}/xts-sa-demo.ear"/>
+    </target>
+</project>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application-sa.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application-sa.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application-sa.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,73 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!-- $Id: axis-application.xml,v 1.8.4.1 2005/11/22 10:42:05 kconner Exp $ -->
+
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+<application>
+    <display-name>XML Transaction Service Demo</display-name>
+
+    <description>XML Transaction Service Demo</description>
+
+    <module>
+        <web>
+            <web-uri>ws-c.war</web-uri>
+            <context-root>/xts</context-root>
+        </web>
+    </module>
+    
+    <module>
+        <web>
+            <web-uri>ws-t.war</web-uri>
+            <context-root>/ws-t</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>wscf.war</web-uri>
+            <context-root>/wscf</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>wstx.war</web-uri>
+            <context-root>/wstx</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>xts-sa-demo-webservices.war</web-uri>
+            <context-root>/xtsdemowebservices</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>xts-sa-demo.war</web-uri>
+            <context-root>/xts-demo</context-root>
+        </web>
+    </module>
+
+</application>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/application.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,45 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!-- $Id: axis-application.xml,v 1.8.4.1 2005/11/22 10:42:05 kconner Exp $ -->
+
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+<application>
+    <display-name>XML Transaction Service Demo</display-name>
+
+    <description>XML Transaction Service Demo</description>
+
+    <module>
+        <web>
+            <web-uri>xts-demo-webservices.war</web-uri>
+            <context-root>/xtsdemowebservices</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>xts-demo.war</web-uri>
+            <context-root>/xts-demo</context-root>
+        </web>
+    </module>
+
+</application>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/client-web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/client-web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/client-web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,68 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+	version="2.4">
+    <display-name>XML Transaction Service Demo Client</display-name>
+
+    <description>XML Transaction Service Demo Client</description>
+
+    <servlet>
+        <servlet-name>Basic Client Servlet</servlet-name>
+        <servlet-class>com.jboss.jbosstm.xts.demo.client.BasicClient</servlet-class>
+        <init-param>
+            <param-name>restaurantATURL</param-name>
+            <param-value>@restaurantATURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>restaurantBAURL</param-name>
+            <param-value>@restaurantBAURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>taxiATURL</param-name>
+            <param-value>@taxiATURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>taxiBAURL</param-name>
+            <param-value>@taxiBAURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>theatreATURL</param-name>
+            <param-value>@theatreATURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>theatreBAURL</param-name>
+            <param-value>@theatreBAURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>nightoutURL</param-name>
+            <param-value>@nightoutURL@</param-value>
+        </init-param>
+        
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Basic Client Servlet</servlet-name>
+        <url-pattern>/basicclient</url-pattern>
+    </servlet-mapping>
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/context-handlers.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/context-handlers.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/context-handlers.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+-->
+<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee">
+    <handler-chain>
+	<handler>
+		<handler-name>ContextHandler</handler-name>
+		<handler-class>com.arjuna.mw.wst.service.JaxWSHeaderContextProcessor</handler-class>
+	</handler>
+    </handler-chain>
+</handler-chains>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/service-web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/service-web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/service-web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,84 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+	version="2.4">
+
+	<servlet>
+		<servlet-name>RestaurantServiceAT</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.restaurant.RestaurantServiceAT</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>RestaurantServiceBA</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.restaurant.RestaurantServiceBA</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TheatreServiceAT</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.theatre.TheatreServiceAT</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TheatreServiceBA</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.theatre.TheatreServiceBA</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TaxiServiceAT</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.taxi.TaxiServiceAT</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TaxiServiceBA</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.taxi.TaxiServiceBA</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>NightOutService</servlet-name>
+		<servlet-class>com.jboss.jbosstm.xts.demo.services.nightout.NightOutService</servlet-class>
+	</servlet>
+
+
+	<servlet-mapping>
+		<servlet-name>RestaurantServiceAT</servlet-name>
+		<url-pattern>/RestaurantServiceAT</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>RestaurantServiceBA</servlet-name>
+		<url-pattern>/RestaurantServiceBA</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TheatreServiceAT</servlet-name>
+		<url-pattern>/TheatreServiceAT</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TheatreServiceBA</servlet-name>
+		<url-pattern>/TheatreServiceBA</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TaxiServiceAT</servlet-name>
+		<url-pattern>/TaxiServiceAT</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TaxiServiceBA</servlet-name>
+		<url-pattern>/TaxiServiceBA</url-pattern>
+	</servlet-mapping>
+		<servlet-mapping>
+		<servlet-name>NightOutService</servlet-name>
+		<url-pattern>/NightOutService</url-pattern>
+	</servlet-mapping>
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/NightOut.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/NightOut.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/NightOut.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+<definitions name="NightOutService" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/NightOut" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.jboss.com/jbosstm/xts/demo/NightOut" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <types/>
+ <message name="NightOut_bookReservationsResponse">
+  <part name="return" type="xsd:string"/>
+
+ </message>
+ <message name="NightOut_bookReservations">
+  <part name="restaurantSeats" type="xsd:int"/>
+  <part name="theatreSeats" type="xsd:int"/>
+  <part name="theatreArea" type="xsd:int"/>
+  <part name="bookTaxi" type="xsd:boolean"/>
+ </message>
+ <portType name="NightOut">
+  <operation name="bookReservations" parameterOrder="restaurantSeats theatreSeats theatreArea bookTaxi">
+
+   <input message="tns:NightOut_bookReservations"/>
+   <output message="tns:NightOut_bookReservationsResponse"/>
+  </operation>
+ </portType>
+ <binding name="NightOutBinding" type="tns:NightOut">
+  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+  <operation name="bookReservations">
+   <soap:operation soapAction=""/>
+   <input>
+
+    <soap:body namespace="http://www.jboss.com/jbosstm/xts/demo/NightOut" use="literal"/>
+   </input>
+   <output>
+    <soap:body namespace="http://www.jboss.com/jbosstm/xts/demo/NightOut" use="literal"/>
+   </output>
+  </operation>
+ </binding>
+ <service name="NightOutService">
+  <port binding="tns:NightOutBinding" name="NightOutPort">
+
+   <soap:address location="http://localhost:8765/"/>
+  </port>
+ </service>
+</definitions>
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,79 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant">
+
+   <wsdl:message name="bookSeatsRequest">
+
+      <wsdl:part name="how_many" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsResponse">
+
+   </wsdl:message>
+
+   <wsdl:portType name="IRestaurantServiceAT">
+
+      <wsdl:operation name="bookSeats" parameterOrder="how_many">
+
+         <wsdl:input name="bookSeatsRequest" message="intf:bookSeatsRequest"/>
+
+         <wsdl:output name="bookSeatsResponse" message="intf:bookSeatsResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="RestaurantServiceATSoapBinding" type="intf:IRestaurantServiceAT">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsRequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="RestaurantServiceATService">
+
+      <wsdl:port name="RestaurantServiceAT" binding="intf:RestaurantServiceATSoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/RestaurantServiceAT"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,81 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant">
+
+   <wsdl:message name="bookSeatsBARequest">
+
+      <wsdl:part name="how_many" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsBAResponse">
+
+      <wsdl:part name="bookSeatsBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="IRestaurantServiceBA">
+
+      <wsdl:operation name="bookSeats" parameterOrder="how_many">
+
+         <wsdl:input name="bookSeatsBARequest" message="intf:bookSeatsBARequest"/>
+
+         <wsdl:output name="bookSeatsBAResponse" message="intf:bookSeatsBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="RestaurantServiceBASoapBinding" type="intf:IRestaurantServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="RestaurantServiceBAService">
+
+      <wsdl:port name="RestaurantServiceBA" binding="intf:RestaurantServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/RestaurantServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,77 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Taxi">
+
+   <wsdl:message name="bookTaxiRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookTaxiResponse">
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITaxiServiceAT">
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdl:input name="bookTaxiRequest" message="intf:bookTaxiRequest"/>
+
+         <wsdl:output name="bookTaxiResponse" message="intf:bookTaxiResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TaxiServiceATSoapBinding" type="intf:ITaxiServiceAT">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookTaxiRequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookTaxiResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TaxiServiceATService">
+
+      <wsdl:port name="TaxiServiceAT" binding="intf:TaxiServiceATSoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TaxiServiceAT"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,79 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Taxi">
+
+   <wsdl:message name="bookTaxiBARequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookTaxiBAResponse">
+
+      <wsdl:part name="bookTaxiBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITaxiServiceBA">
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdl:input name="bookTaxiBARequest" message="intf:bookTaxiBARequest"/>
+
+         <wsdl:output name="bookTaxiBAResponse" message="intf:bookTaxiBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TaxiServiceBASoapBinding" type="intf:ITaxiServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookTaxiBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookTaxiBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TaxiServiceBAService">
+
+      <wsdl:port name="TaxiServiceBA" binding="intf:TaxiServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TaxiServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,81 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Theatre">
+
+   <wsdl:message name="bookSeatsResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsRequest">
+
+      <wsdl:part name="how_many" type="xsd:int"/>
+
+      <wsdl:part name="which_area" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITheatreServiceAT">
+
+      <wsdl:operation name="bookSeats" parameterOrder="how_many which_area">
+
+         <wsdl:input name="bookSeatsRequest" message="intf:bookSeatsRequest"/>
+
+         <wsdl:output name="bookSeatsResponse" message="intf:bookSeatsResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TheatreServiceATSoapBinding" type="intf:ITheatreServiceAT">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsRequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TheatreServiceATService">
+
+      <wsdl:port name="TheatreServiceAT" binding="intf:TheatreServiceATSoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TheatreServiceAT"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,83 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Theatre">
+
+   <wsdl:message name="bookSeatsBAResponse">
+
+      <wsdl:part name="bookSeatsBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsBARequest">
+
+      <wsdl:part name="how_many" type="xsd:int"/>
+
+      <wsdl:part name="which_area" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITheatreServiceBA">
+
+      <wsdl:operation name="bookSeats" parameterOrder="how_many which_area">
+
+         <wsdl:input name="bookSeatsBARequest" message="intf:bookSeatsBARequest"/>
+
+         <wsdl:output name="bookSeatsBAResponse" message="intf:bookSeatsBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TheatreServiceBASoapBinding" type="intf:ITheatreServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TheatreServiceBAService">
+
+      <wsdl:port name="TheatreServiceBA" binding="intf:TheatreServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TheatreServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/build.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/build.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/dd/jboss/wsdl/build.sh	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,31 @@
+#!/bin/bash
+# generate jaxws code from wsdl
+
+GLASSFISHDIR=/home/adinn/glassfish/v2-b58g/glassfish/
+WSIMPORT=$GLASSFISHDIR/bin/wsimport
+
+if [ -d tmp/src ] ; then
+  rm -rf tmp/src/*
+fi
+if [ -d tmp/classes ] ; then
+  rm -rf tmp/classes/*
+fi
+if [ ! -d tmp/src ]; then
+  mkdir -p tmp/src
+fi
+if [ ! -d tmp/classes ] ; then
+  mkdir -p tmp/classes
+fi
+
+if [ $# -eq 0 ]; then
+    files=`ls *.wsdl` 
+else
+    files="$*"
+fi
+#for wsdlfile in RestaurantServiceAT.wsdl TaxiServiceAT.wsdl \
+#    TheatreServiceAT.wsdl RestaurantServiceBA.wsdl \
+#    TaxiServiceBA.wsdl TheatreServiceBA.wsdl
+for wsdlfile in $files
+do
+  $WSIMPORT -s tmp/src -d tmp/classes -target 2.0 -keep -wsdllocation /WEB-INF/wsdl/$wsdlfile $wsdlfile
+done

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application-sa.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application-sa.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application-sa.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,73 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!-- $Id: axis-application.xml,v 1.8.4.1 2005/11/22 10:42:05 kconner Exp $ -->
+
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+<application>
+    <display-name>XML Transaction Service Demo</display-name>
+
+    <description>XML Transaction Service Demo</description>
+
+    <module>
+        <web>
+            <web-uri>ws-c.war</web-uri>
+            <context-root>/xts</context-root>
+        </web>
+    </module>
+    
+    <module>
+        <web>
+            <web-uri>ws-t.war</web-uri>
+            <context-root>/ws-t</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>wscf.war</web-uri>
+            <context-root>/wscf</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>wstx.war</web-uri>
+            <context-root>/wstx</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>xts-sa-demo-webservices.war</web-uri>
+            <context-root>/xtsdemowebservices</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>xts-sa-demo.war</web-uri>
+            <context-root>/xts-demo</context-root>
+        </web>
+    </module>
+
+</application>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/application.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,45 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<!-- $Id: axis-application.xml,v 1.8.4.1 2005/11/22 10:42:05 kconner Exp $ -->
+
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+<application>
+    <display-name>XML Transaction Service Demo</display-name>
+
+    <description>XML Transaction Service Demo</description>
+
+    <module>
+        <web>
+            <web-uri>xts-demo-webservices.war</web-uri>
+            <context-root>/xtsdemowebservices</context-root>
+        </web>
+    </module>
+
+    <module>
+        <web>
+            <web-uri>xts-demo.war</web-uri>
+            <context-root>/xts-demo</context-root>
+        </web>
+    </module>
+
+</application>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-jaxrpc-mapping.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-jaxrpc-mapping.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-jaxrpc-mapping.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,38 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
+	version="1.1">
+	<package-mapping>
+		<package-type>com.arjuna.xts.nightout.clients.jboss.restaurant</package-type>
+		<namespaceURI>http://www.jboss.com/jbosstm/xts/demo/Restaurant</namespaceURI>
+	</package-mapping>
+	<package-mapping>
+		<package-type>com.arjuna.xts.nightout.clients.jboss.theatre</package-type>
+		<namespaceURI>http://www.jboss.com/jbosstm/xts/demo/Theatre</namespaceURI>
+	</package-mapping>
+	<package-mapping>
+		<package-type>com.arjuna.xts.nightout.clients.jboss.taxi</package-type>
+		<namespaceURI>http://www.jboss.com/jbosstm/xts/demo/Taxi</namespaceURI>
+	</package-mapping>
+</java-wsdl-mapping>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/client-web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,148 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+	version="2.4">
+    <display-name>XML Transaction Service Demo Client</display-name>
+
+    <description>XML Transaction Service Demo Client</description>
+
+    <servlet>
+        <servlet-name>Basic Client Servlet</servlet-name>
+        <servlet-class>com.arjuna.xts.nightout.clients.jboss.BasicClient</servlet-class>
+        <init-param>
+            <param-name>restaurantATURL</param-name>
+            <param-value>@restaurantATURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>restaurantBAURL</param-name>
+            <param-value>@restaurantBAURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>taxiATURL</param-name>
+            <param-value>@taxiATURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>taxiBAURL</param-name>
+            <param-value>@taxiBAURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>theatreATURL</param-name>
+            <param-value>@theatreATURL@</param-value>
+        </init-param>
+        <init-param>
+            <param-name>theatreBAURL</param-name>
+            <param-value>@theatreBAURL@</param-value>
+        </init-param>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Basic Client Servlet</servlet-name>
+        <url-pattern>/basicclient</url-pattern>
+    </servlet-mapping>
+    
+    <service-ref>
+        <service-ref-name>service/RestaurantServiceAT</service-ref-name>
+        <service-interface>javax.xml.rpc.Service</service-interface>
+        <wsdl-file>WEB-INF/wsdl/RestaurantServiceAT.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/client-jaxrpc-mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:demo="http://www.jboss.com/jbosstm/xts/demo/Restaurant">demo:IRestaurantServiceService</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>com.arjuna.xts.nightout.clients.jboss.restaurant.IRestaurantServiceAT</service-endpoint-interface>
+        </port-component-ref>
+        <handler>
+            <handler-name>XTSClientHandler</handler-name>
+            <handler-class>com.arjuna.mw.wst.client.JaxRPCHeaderContextProcessor</handler-class>
+        </handler>
+    </service-ref>
+    <service-ref>
+        <service-ref-name>service/RestaurantServiceBA</service-ref-name>
+        <service-interface>javax.xml.rpc.Service</service-interface>
+        <wsdl-file>WEB-INF/wsdl/RestaurantServiceBA.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/client-jaxrpc-mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:demo="http://www.jboss.com/jbosstm/xts/demo/Restaurant">demo:IRestaurantServiceBAService</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>com.arjuna.xts.nightout.clients.jboss.restaurant.IRestaurantServiceBA</service-endpoint-interface>
+        </port-component-ref>
+        <handler>
+            <handler-name>XTSClientHandler</handler-name>
+            <handler-class>com.arjuna.mw.wst.client.JaxRPCHeaderContextProcessor</handler-class>
+        </handler>
+    </service-ref>
+    <service-ref>
+        <service-ref-name>service/TaxiServiceAT</service-ref-name>
+        <service-interface>javax.xml.rpc.Service</service-interface>
+        <wsdl-file>WEB-INF/wsdl/TaxiServiceAT.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/client-jaxrpc-mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:demo="http://www.jboss.com/jbosstm/xts/demo/Taxi">demo:ITaxiServiceService</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>com.arjuna.xts.nightout.clients.jboss.taxi.ITaxiServiceAT</service-endpoint-interface>
+        </port-component-ref>
+        <handler>
+            <handler-name>XTSClientHandler</handler-name>
+            <handler-class>com.arjuna.mw.wst.client.JaxRPCHeaderContextProcessor</handler-class>
+        </handler>
+    </service-ref>
+    <service-ref>
+        <service-ref-name>service/TaxiServiceBA</service-ref-name>
+        <service-interface>javax.xml.rpc.Service</service-interface>
+        <wsdl-file>WEB-INF/wsdl/TaxiServiceBA.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/client-jaxrpc-mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:demo="http://www.jboss.com/jbosstm/xts/demo/Taxi">demo:ITaxiServiceBAService</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>com.arjuna.xts.nightout.clients.jboss.taxi.ITaxiServiceBA</service-endpoint-interface>
+        </port-component-ref>
+        <handler>
+            <handler-name>XTSClientHandler</handler-name>
+            <handler-class>com.arjuna.mw.wst.client.JaxRPCHeaderContextProcessor</handler-class>
+        </handler>
+    </service-ref>
+    <service-ref>
+        <service-ref-name>service/TheatreServiceAT</service-ref-name>
+        <service-interface>javax.xml.rpc.Service</service-interface>
+        <wsdl-file>WEB-INF/wsdl/TheatreServiceAT.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/client-jaxrpc-mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:demo="http://www.jboss.com/jbosstm/xts/demo/Theatre">demo:ITheatreServiceService</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>com.arjuna.xts.nightout.clients.jboss.theatre.ITheatreServiceAT</service-endpoint-interface>
+        </port-component-ref>
+        <handler>
+            <handler-name>XTSClientHandler</handler-name>
+            <handler-class>com.arjuna.mw.wst.client.JaxRPCHeaderContextProcessor</handler-class>
+        </handler>
+    </service-ref>
+    <service-ref>
+        <service-ref-name>service/TheatreServiceBA</service-ref-name>
+        <service-interface>javax.xml.rpc.Service</service-interface>
+        <wsdl-file>WEB-INF/wsdl/TheatreServiceBA.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/client-jaxrpc-mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:demo="http://www.jboss.com/jbosstm/xts/demo/Theatre">demo:ITheatreServiceBAService</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>com.arjuna.xts.nightout.clients.jboss.theatre.ITheatreServiceBA</service-endpoint-interface>
+        </port-component-ref>
+        <handler>
+            <handler-name>XTSClientHandler</handler-name>
+            <handler-class>com.arjuna.mw.wst.client.JaxRPCHeaderContextProcessor</handler-class>
+        </handler>
+    </service-ref>
+
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/jaxrpc-mapping.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/jaxrpc-mapping.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/jaxrpc-mapping.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,38 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
+	version="1.1">
+	<package-mapping>
+		<package-type>com.arjuna.xts.nightout.services.Restaurant</package-type>
+		<namespaceURI>http://www.jboss.com/jbosstm/xts/demo/Restaurant</namespaceURI>
+	</package-mapping>
+	<package-mapping>
+		<package-type>com.arjuna.xts.nightout.services.Theatre</package-type>
+		<namespaceURI>http://www.jboss.com/jbosstm/xts/demo/Theatre</namespaceURI>
+	</package-mapping>
+	<package-mapping>
+		<package-type>com.arjuna.xts.nightout.services.Taxi</package-type>
+		<namespaceURI>http://www.jboss.com/jbosstm/xts/demo/Taxi</namespaceURI>
+	</package-mapping>
+</java-wsdl-mapping>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/service-web-app.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/service-web-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/service-web-app.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,75 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+	version="2.4">
+
+	<servlet>
+		<servlet-name>RestaurantServiceAT</servlet-name>
+		<servlet-class>com.arjuna.xts.nightout.services.Restaurant.RestaurantServiceAT</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>RestaurantServiceBA</servlet-name>
+		<servlet-class>com.arjuna.xts.nightout.services.Restaurant.RestaurantServiceBA</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TheatreServiceAT</servlet-name>
+		<servlet-class>com.arjuna.xts.nightout.services.Theatre.TheatreServiceAT</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TheatreServiceBA</servlet-name>
+		<servlet-class>com.arjuna.xts.nightout.services.Theatre.TheatreServiceBA</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TaxiServiceAT</servlet-name>
+		<servlet-class>com.arjuna.xts.nightout.services.Taxi.TaxiServiceAT</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>TaxiServiceBA</servlet-name>
+		<servlet-class>com.arjuna.xts.nightout.services.Taxi.TaxiServiceBA</servlet-class>
+	</servlet>
+
+	<servlet-mapping>
+		<servlet-name>RestaurantServiceAT</servlet-name>
+		<url-pattern>/RestaurantServiceAT</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>RestaurantServiceBA</servlet-name>
+		<url-pattern>/RestaurantServiceBA</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TheatreServiceAT</servlet-name>
+		<url-pattern>/TheatreServiceAT</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TheatreServiceBA</servlet-name>
+		<url-pattern>/TheatreServiceBA</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TaxiServiceAT</servlet-name>
+		<url-pattern>/TaxiServiceAT</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>TaxiServiceBA</servlet-name>
+		<url-pattern>/TaxiServiceBA</url-pattern>
+	</servlet-mapping>
+</web-app>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/webservices.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/webservices.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/webservices.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,139 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags.
+  See the copyright.txt in the distribution for a full listing
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+  MA  02110-1301, USA.
+
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<webservices xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:impl="http://www.jboss.com/jbosstm/xts/demo"
+	version="1.1">
+
+	<webservice-description>
+		<webservice-description-name>RestaurantServiceAT</webservice-description-name>
+
+		<wsdl-file>WEB-INF/wsdl/RestaurantServiceAT.wsdl</wsdl-file>
+
+		<jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+		<port-component>
+			<port-component-name>RestaurantServiceAT</port-component-name>
+			<wsdl-port xmlns:rest="http://www.jboss.com/jbosstm/xts/demo/Restaurant">rest:RestaurantServiceAT</wsdl-port>
+			<service-endpoint-interface>com.arjuna.xts.nightout.services.Restaurant.IRestaurantService</service-endpoint-interface>
+			<service-impl-bean>
+				<servlet-link>RestaurantServiceAT</servlet-link>
+			</service-impl-bean>
+			<handler>
+				<handler-name>serverHandler</handler-name>
+				<handler-class>com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor</handler-class>
+			</handler>
+		</port-component>
+	</webservice-description>
+	<webservice-description>
+		<webservice-description-name>RestaurantServiceBA</webservice-description-name>
+
+		<wsdl-file>WEB-INF/wsdl/RestaurantServiceBA.wsdl</wsdl-file>
+
+		<jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+		<port-component>
+			<port-component-name>RestaurantServiceBA</port-component-name>
+			<wsdl-port xmlns:rest="http://www.jboss.com/jbosstm/xts/demo/Restaurant">rest:RestaurantServiceBA</wsdl-port>
+			<service-endpoint-interface>com.arjuna.xts.nightout.services.Restaurant.IRestaurantServiceBA</service-endpoint-interface>
+			<service-impl-bean>
+				<servlet-link>RestaurantServiceBA</servlet-link>
+			</service-impl-bean>
+			<handler>
+				<handler-name>serverHandler</handler-name>
+				<handler-class>com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor</handler-class>
+			</handler>
+		</port-component>
+	</webservice-description>
+	<webservice-description>
+		<webservice-description-name>TheatreServiceAT</webservice-description-name>
+
+		<wsdl-file>WEB-INF/wsdl/TheatreServiceAT.wsdl</wsdl-file>
+
+		<jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+		<port-component>
+			<port-component-name>TheatreServiceAT</port-component-name>
+			<wsdl-port xmlns:theatre="http://www.jboss.com/jbosstm/xts/demo/Theatre">theatre:TheatreServiceAT</wsdl-port>
+			<service-endpoint-interface>com.arjuna.xts.nightout.services.Theatre.ITheatreService</service-endpoint-interface>
+			<service-impl-bean>
+				<servlet-link>TheatreServiceAT</servlet-link>
+			</service-impl-bean>
+			<handler>
+				<handler-name>serverHandler</handler-name>
+				<handler-class>com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor</handler-class>
+			</handler>
+		</port-component>
+	</webservice-description>
+	<webservice-description>
+		<webservice-description-name>TheatreServiceBA</webservice-description-name>
+
+		<wsdl-file>WEB-INF/wsdl/TheatreServiceBA.wsdl</wsdl-file>
+
+		<jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+		<port-component>
+			<port-component-name>TheatreServiceBA</port-component-name>
+			<wsdl-port xmlns:theatre="http://www.jboss.com/jbosstm/xts/demo/Theatre">theatre:TheatreServiceBA</wsdl-port>
+			<service-endpoint-interface>com.arjuna.xts.nightout.services.Theatre.ITheatreServiceBA</service-endpoint-interface>
+			<service-impl-bean>
+				<servlet-link>TheatreServiceBA</servlet-link>
+			</service-impl-bean>
+			<handler>
+				<handler-name>serverHandler</handler-name>
+				<handler-class>com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor</handler-class>
+			</handler>
+		</port-component>
+	</webservice-description>
+	<webservice-description>
+		<webservice-description-name>TaxiServiceAT</webservice-description-name>
+
+		<wsdl-file>WEB-INF/wsdl/TaxiServiceAT.wsdl</wsdl-file>
+
+		<jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+		<port-component>
+			<port-component-name>TaxiServiceAT</port-component-name>
+			<wsdl-port xmlns:taxi="http://www.jboss.com/jbosstm/xts/demo/Taxi">taxi:TaxiServiceAT</wsdl-port>
+			<service-endpoint-interface>com.arjuna.xts.nightout.services.Taxi.ITaxiService</service-endpoint-interface>
+			<service-impl-bean>
+				<servlet-link>TaxiServiceAT</servlet-link>
+			</service-impl-bean>
+			<handler>
+				<handler-name>serverHandler</handler-name>
+				<handler-class>com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor</handler-class>
+			</handler>
+		</port-component>
+	</webservice-description>
+	<webservice-description>
+		<webservice-description-name>TaxiServiceBA</webservice-description-name>
+
+		<wsdl-file>WEB-INF/wsdl/TaxiServiceBA.wsdl</wsdl-file>
+
+		<jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+		<port-component>
+			<port-component-name>TaxiServiceBA</port-component-name>
+			<wsdl-port xmlns:taxi="http://www.jboss.com/jbosstm/xts/demo/Taxi">taxi:TaxiServiceBA</wsdl-port>
+			<service-endpoint-interface>com.arjuna.xts.nightout.services.Taxi.ITaxiServiceBA</service-endpoint-interface>
+			<service-impl-bean>
+				<servlet-link>TaxiServiceBA</servlet-link>
+			</service-impl-bean>
+			<handler>
+				<handler-name>serverHandler</handler-name>
+				<handler-class>com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor</handler-class>
+			</handler>
+		</port-component>
+	</webservice-description>
+</webservices>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceAT.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceAT.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceAT.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,79 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant">
+
+   <wsdl:message name="bookSeatsRequest">
+
+      <wsdl:part name="in0" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsResponse">
+
+   </wsdl:message>
+
+   <wsdl:portType name="IRestaurantService">
+
+      <wsdl:operation name="bookSeats" parameterOrder="in0">
+
+         <wsdl:input name="bookSeatsRequest" message="intf:bookSeatsRequest"/>
+
+         <wsdl:output name="bookSeatsResponse" message="intf:bookSeatsResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="RestaurantServiceATSoapBinding" type="intf:IRestaurantService">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsRequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="IRestaurantServiceService">
+
+      <wsdl:port name="RestaurantServiceAT" binding="intf:RestaurantServiceATSoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/RestaurantServiceAT"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/RestaurantServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,81 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant">
+
+   <wsdl:message name="bookSeatsBARequest">
+
+      <wsdl:part name="in0" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsBAResponse">
+
+      <wsdl:part name="bookSeatsBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="IRestaurantServiceBA">
+
+      <wsdl:operation name="bookSeats" parameterOrder="in0">
+
+         <wsdl:input name="bookSeatsBARequest" message="intf:bookSeatsBARequest"/>
+
+         <wsdl:output name="bookSeatsBAResponse" message="intf:bookSeatsBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="RestaurantServiceBASoapBinding" type="intf:IRestaurantServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="IRestaurantServiceBAService">
+
+      <wsdl:port name="RestaurantServiceBA" binding="intf:RestaurantServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/RestaurantServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceAT.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceAT.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceAT.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,77 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Taxi">
+
+   <wsdl:message name="bookTaxiRequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookTaxiResponse">
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITaxiService">
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdl:input name="bookTaxiRequest" message="intf:bookTaxiRequest"/>
+
+         <wsdl:output name="bookTaxiResponse" message="intf:bookTaxiResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TaxiServiceATSoapBinding" type="intf:ITaxiService">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookTaxiRequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookTaxiResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="ITaxiServiceService">
+
+      <wsdl:port name="TaxiServiceAT" binding="intf:TaxiServiceATSoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TaxiServiceAT"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TaxiServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,79 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Taxi">
+
+   <wsdl:message name="bookTaxiBARequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookTaxiBAResponse">
+
+      <wsdl:part name="bookTaxiBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITaxiServiceBA">
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdl:input name="bookTaxiBARequest" message="intf:bookTaxiBARequest"/>
+
+         <wsdl:output name="bookTaxiBAResponse" message="intf:bookTaxiBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TaxiServiceBASoapBinding" type="intf:ITaxiServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookTaxiBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookTaxiBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="ITaxiServiceBAService">
+
+      <wsdl:port name="TaxiServiceBA" binding="intf:TaxiServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TaxiServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceAT.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceAT.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceAT.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,81 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Theatre">
+
+   <wsdl:message name="bookSeatsResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsRequest">
+
+      <wsdl:part name="in0" type="xsd:int"/>
+
+      <wsdl:part name="in1" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITheatreService">
+
+      <wsdl:operation name="bookSeats" parameterOrder="in0 in1">
+
+         <wsdl:input name="bookSeatsRequest" message="intf:bookSeatsRequest"/>
+
+         <wsdl:output name="bookSeatsResponse" message="intf:bookSeatsResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TheatreServiceATSoapBinding" type="intf:ITheatreService">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsRequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="ITheatreServiceService">
+
+      <wsdl:port name="TheatreServiceAT" binding="intf:TheatreServiceATSoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TheatreServiceAT"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/ddrpc/jboss/wsdl/TheatreServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,83 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Theatre">
+
+   <wsdl:message name="bookSeatsBAResponse">
+
+      <wsdl:part name="bookSeatsBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsBARequest">
+
+      <wsdl:part name="in0" type="xsd:int"/>
+
+      <wsdl:part name="in1" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITheatreServiceBA">
+
+      <wsdl:operation name="bookSeats" parameterOrder="in0 in1">
+
+         <wsdl:input name="bookSeatsBARequest" message="intf:bookSeatsBARequest"/>
+
+         <wsdl:output name="bookSeatsBAResponse" message="intf:bookSeatsBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TheatreServiceBASoapBinding" type="intf:ITheatreServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="ITheatreServiceBAService">
+
+      <wsdl:port name="TheatreServiceBA" binding="intf:TheatreServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TheatreServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/about.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/about.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/about.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: About the sample application</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./installcontent.html">Previous</A>
+<BR>
+                
+<A href="./deploying.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">About the sample application<DIV class="bodytext">
+            
+                
+<p>
+                    The sample application features some simple transactional Web services, a client application, deployment metadata files and a build script.
+                    The application is designed to introduce some of the key features of the XML Transaction component of JBossTS 4.3.0 and help you get started with writing your own transactional Web services applications.
+                </p>
+                
+<p>
+                    The application is based around a simple booking scenario. The services provide the ability to transactionally reserve resources,
+                    whilst the client provides an interface to select the nature and quantity of the reservations.
+                    The chosen application domain is services for a night out.
+                </p>
+                
+<p>
+                    The server components consist of three Web services (Restaurant, Theatre, Taxi) which offer transactional booking services.
+                    These services each expose a GUI with state information and an event trace log.
+                </p>
+                
+<p>
+                    The client side of the application is a servlet which allows the user to select the required reservations and then books a night out by making invocations on each of the services within the scope of a Web Services transaction.
+                </p>
+                
+<p>
+                    The demo is implemented in two versions. The standard version exposes the services as JaxWS service endpoints. The client obtains service endpoint proxies from JaxWS and uses them to invoke the remote service methods.
+                    The alternative implementation demonstrates how to invoke legacy services. It uses JaxRPC to invoke the remote methods of services exposed as classes implementing the Remote interface.
+                </p>
+                
+<p>
+                    Full source code for the services and the client is included, along with an ant script for building and deploying the code.
+                    The following step of this trail map will show you how to deploy and run the application.
+                </p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/atomictransaction.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/atomictransaction.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/atomictransaction.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Atomic Transactions</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./deploying.html">Previous</A>
+<BR>
+                
+<A href="./businessactivity.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Atomic Transactions<DIV class="bodytext">
+            
+                
+<p>
+                    Atomic transactions are the classical transaction type found in most enterprise data systems, such as relational databases.
+                    Atomic transactions typically exhibit ACID properties (Atomic, Consistent, Isolated and Durable).
+                    This is usually achieved by the transactions holding locks on data, particularly during transaction resolution through the two phase commit protocol (2PC).
+                    In J2EE applications, such transactions are normally managed through the JTA interface, or implicitly by the application container in the case of e.g. certain EJB configurations.
+                    Because of their lock based nature, atomic transactions are best suited to short lived operations within the enterprise.
+                </p>
+                
+<p>
+                    Long lived transactions can exhibit poor concurrency when holding locks for a prolonged period.
+                    For the same reason, use of lock based transactions for inter-enterprise integration is avoided due to the possibility of denial of service situations based on incorrect lock management.
+                    The next section of the trail map explains how these problems can be addressed through the use of an extended transaction model, Business Activities.
+                </p>
+                
+<p>
+                    To use the Atomic Transaction transaction type in the sample application, simply select it from the pull down menu at the top of the client interface.
+                    Notice that the server applications show the reservation resources (e.g. seats, tables) passing though a lifecycle involving the initial state (free), reserved (locked) and booked (committed).
+                </p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/businessactivity.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/businessactivity.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/businessactivity.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Business Activities</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./atomictransaction.html">Previous</A>
+<BR>
+                
+<A href="./sourcecode.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Business Activities<DIV class="bodytext">
+            
+                
+<p>
+                    Business activities are an extended transaction model designed to support long running business processes.
+                    Unlike traditional atomic transactions, business activities typically use a compensation model to support the reversal of previously performed work in the event of transaction cancellation (rollback).
+                    This makes them more suitable for long duration processes and inter-enterprise coordination. However, it also requires the relaxation of traditional ACID properties, particularly isolation.
+                </p>
+                
+<p>
+                    The programming of business activities can involve more effort than is required for atomic transactions, as less infrastructure is typically available.
+                    For example, the XA support found in many enterprise databases handles the necessary locking, 2PC and other functions transparently, allowing databases to be used in atomic transactions with minimal programmer effort.
+                    However, equivalent support for business activities, particularly with regard to compensation logic, must be added to the code of each new application by the programmer.
+                </p>
+                
+<p>
+                    The demonstration application illustrates one possible approach to creating services for use in business activities. It shows how to create a transaction participant that can expose existing business logic, originally intended for use in atomic transactions, as a service suitable for use in a business activity.
+                    This is a particularly common scenario for enterprises seeking to reuse existing logic by packaging it for use as a component in the composition of workflow type processes. <!-- TODO -->
+                </p>
+                
+<p>
+                    To use the Business Activity transaction type in the sample application, simply select it from the pull down menu at the top of the client interface.
+                    Notice that the client applications show the reservation resources as booked (committed) even before the transaction is terminated, subsequently performing a compensating transaction to reverse this effect if the transaction is cancelled.
+                </p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/deploying.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/deploying.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/deploying.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Deploying the sample application</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./about.html">Previous</A>
+<BR>
+                
+<A href="./atomictransaction.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Deploying the sample application<DIV class="bodytext">
+            
+                
+<p>
+                    To run the sample application, you must compile the source code; bundle it, along with the required metadata files, into appropriate deployment constructs and then deploy these into the application container. This process is somewhat involved, but fortunately is completely automated by an ant build script.
+                </p>
+                
+<p>
+                    To proceed, you will need to install ant (<a class="linkscoloured" href="http://ant.apache.org/" target="_blank">http://ant.apache.org/</a>) to take advantage of the supplied build file. Version 1.6.1 or later of ant is recommended for this application. The application may not function correctly with versions prior to 1.5.
+                </p>
+                
+<p>
+                    This release has been tested against JBoss 4.2.2.GA and JBoss 5.0.Beta4.
+                </p>
+                
+<p>
+					Deploying into JBoss 4.2.
+				</p>
+                
+<ol>
+                    
+<li>
+<p>Install JBoss 4.2.</p>
+                    
+</li>
+                    
+<li>
+<p>Edit the <code>&lt;xts-home&gt;/demo/jboss.properties</code> file, replacing the <code>JBOSS_HOSTNAME</code> and <code>JBOSS_PORT</code> with the values used by your JBoss server web listener. Replace <code>JBOSS_URLSTUB</code> with a path used as the location for the demo application web services</p>
+</li>
+                    
+<li>
+<p>Set environment variable <code>JBOSS_HOME</code> to point to the root directory of your JBoss installation.</p>
+</li>
+                    
+<li>
+<p>Compile the application source, build the application archive file and deploy it into JBoss deploy directory by typing '<code>build.sh jboss clean sa-deploy</code>' on Unix or '<code>build.bat jboss clean sa-deploy</code>' on Windows</p>
+</li>
+                    
+<li>
+<p>Run the application server by using the run.sh or run.bat command.</p>
+</li>
+                    
+<li>
+<p>Invoke the demo client by browsing the URL (e.g.): <code>http://hostname:port/xts-demo/</code>
+</p>
+</li>
+                
+</ol>
+                
+<p>
+                    n.b. the JaxRPC based version of the demo can be built and deployed by substituting target '<code>sa-deploy</code>' in the commands listed above with the alternative target '<code>sa-deployrpc</code>'
+                </p>
+                
+<p>
+                This release of the demo application includes the ability to run the client against a mixture of backend webservices. The property files contain the URLs of the webservices, which can be changed to exercise any combination and demonstrate a distributed transaction.
+                The services are started using the same mechanism as above. Each platform will be running its own copy of the webservices but the deployed client will access those services configured in the relevant property file.
+                </p>
+            
+<p>
+                Deploying into JBoss 5.0.Beta4.
+            </p>
+            
+<p>
+                Note that at present JBoss JTS and XTS must be manually deployed into JBoss 5.0. In full 5.0 releases the XTS component should be bundled into the release as a service archive.
+            </p>
+            
+<ol>
+                
+<li>
+<p>Install JBoss 5.0.</p>
+                
+</li>
+                
+<li>
+<p>Build and deploy JBoss JTS and JBoss XTS service archive (execute '<code>ant jbossjts</code>' in the JBossTS source tree and follow the deployment instructions in file INSTALL of the resulting JBossTS install tree).</p>
+                
+</li>
+                    
+<li>
+<p>Edit the <code>&lt;xts-home&gt;/demo/jboss.properties</code> file, replacing the <code>JBOSS_HOSTNAME</code> and <code>JBOSS_PORT</code> with the values used by your JBoss server web listener. Replace <code>JBOSS_URLSTUB</code> with a path used as the location for the demo application web services. (n.b. at present the hostname and port must be supplied as <code>localhost</code> and <code>8080</code>
+</p>
+</li>
+                    
+<li>
+<p>Set environment variable <code>JBOSS_HOME</code> to point to the root directory of your JBoss installation.</p>
+</li>
+                
+<li>
+<p>Compile the application source, build the application archive file and deploy it into JBoss deploy directory by typing '<code>build.sh jboss clean deploy</code>' on Unix or '<code>build.bat jboss clean deploy</code>' on Windows</p>
+</li>
+                
+<li>
+<p>Run the application server by using the run.sh or run.bat command.</p>
+</li>
+                
+<li>
+<p>Invoke the demo client by browsing the URL (e.g.): <code>http://hostname:port/xts-demo/</code>
+</p>
+</li>
+            
+</ol>
+            
+<p>
+                n.b. the JaxRPC based version of the demo can be built and deployed by substituting target '<code>deploy</code>' in the commands listed above with the alternative target '<code>deployrpc</code>'
+            </p>
+                
+<p>Using the application</p>
+                
+<ul>
+                    
+<li>
+<p>When invoked, the client will attempt to begin a transaction, reserve theatre tickets, a restaurant table and a taxi according to the parameters you have selected, then commit the transaction. It will log each step of its activity to the console window. As the transaction proceeds, each of the Web Services will pop up a window of its own in which its state and activity log can be seen. Some events in the service code are also logged to the console.</p>
+</li>
+                    
+<li>
+<p>The three server applications support a manual transaction control mode which you can use to simulate transaction failures. Use the Change Mode button on the server GUIs. Notice that the client throws an exception if the transaction is rolled back. [ Note: The manual commit mode overrides the normal availability checks in the services, so overbooking may occur. ]</p>
+</li>
+                    
+<li>
+<p>The following pages explain the two transaction models available in the XML Transaction , Atomic Transactions and Business Activities. Reading the following pages will help you understand the events taking place within the sample application.</p>
+</li>
+                
+</ul>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/JBoss_DivOfRH_RGB.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/JBoss_DivOfRH_RGB.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/arjuna_strapline.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/arjuna_strapline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/header_grid.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/header_grid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/icon_email.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/icon_email.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/icon_printer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/icon_printer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/menu_spacer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/menu_spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/search_bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/search_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/spacer.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/spacer.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/trans_spacer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/images/look_and_feel/trans_spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/index.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/index.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/index.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Introduction</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./installcontent.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Introduction<DIV class="bodytext">
+            
+                
+<p>
+                    Welcome to the "Night Out" sample application for the XML Transaction component of JBossTS 4.3.0.
+                </p>
+                
+<p>
+                    This documentation will help you get started with using the JBossTS Web services transactioning product.
+                </p>
+                
+<p>
+                    This trail map is structured as follows:
+                    <ul>
+                        
+<li>
+<a class="linkscoloured" href="installcontent.html">Installation Content</a>: Details the components which have been installed.</li>
+                        
+<li>
+<a class="linkscoloured" href="about.html">About the Sample Application</a>: An explanatory overview of the sample application.</li>
+                        
+<li>
+<a class="linkscoloured" href="deploying.html">Deploying the Sample Application</a>: Shows how to deploy and run the sample.</li>
+                        
+<li>
+<a class="linkscoloured" href="atomictransaction.html">Atomic Transactions</a>: Overview and example for short lived ACID transactions style.</li>
+                        
+<li>
+<a class="linkscoloured" href="businessactivity.html">Business Activities</a>: Extended transactions for long running business processes.</li>
+                        
+<li>
+<a class="linkscoloured" href="sourcecode.html">Source code</a>: How the sample application is structured and built.</li>
+                        
+<li>
+<a class="linkscoloured" href="wherenext.html">Where Next?</a>: Further reading and suggested next steps.</li>
+                    
+</ul>
+                
+</p>
+                
+<p>
+                    Use the links in the panel on the left to navigate the documentation. On the following pages, click the 'Home' link to return to this page.
+                </p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/installcontent.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/installcontent.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/installcontent.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Installation Content</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./about.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Installation Content<DIV class="bodytext">
+            
+                
+<p>
+                    The installer should have installed the following directories under &lt;jbosst 4.3.0 install&gt;/wst directory:
+                    <ul>
+                        
+<p>conf: product configuration files.</p>
+                        
+<p>coordinator: an application independent version of the transaction coordinator.</p>
+                        
+<p>demo: a sample application and introductory documentation.</p>
+                        
+<p>docs: product manuals and API javadocs.</p>
+                        
+<p>lib: jar files for the JBossTS components and their 3rd party prerequisites.</p>
+                        
+<p>webapps: pre built J2EE web applications for the product components.</p>
+                    
+</ul>
+                
+</p>
+                
+<p>
+                    In addition, you will require a Web services platform on which to deploy and run the product.
+				    This release of the XML Transaction component of JBossTS 4.3.0 is designed to run within JBoss.
+				</p>
+				
+<p>
+    				This release has been tested on JBoss 4.2.2.GA and JBoss 5.0.Beta4.
+                </p>
+                
+<p>
+                    To compile, deploy and run the sample application we also recommend using java SDK 1.5 and Apache ant 1.6.1 or later.
+                    If you do not already have these, you can download them from <a class="linkscoloured" href="http://java.sun.com/">java website</a> and the <a class="linkscoloured" href="http://ant.apache.org/">ant website</a>.
+                </p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/sourcecode.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/sourcecode.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/sourcecode.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Source code overview</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./businessactivity.html">Previous</A>
+<BR>
+                
+<A href="./wherenext.html">Next</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Source code overview<DIV class="bodytext">
+            
+                
+<p>
+                    You can begin experimenting with the XML Transaction component of JBoss 4.3.0 by editing the sample application source code, which is heavily commented to assist your understanding.
+                    The source code can be found in the &lt;jbossts 4.3.0 install&gt;demo/src directory. Deployment descriptors for the application can be found iin directory &lt;jbossts 4.3.0 install&gt;demo/dd.
+                    (corresponding files for the JaxRPC implementation are in directories &lt;jbossts 4.3.0 install&gt;demo/srcrpc and &lt;jbossts 4.3.0 install&gt;demo/ddrpc). 
+                </p>
+                
+<p>
+                    It is structured as follows:
+                </p>
+                
+<p>
+                    
+<ul>
+                        
+<li>
+                            
+<p>
+                                com/jboss/jbosstm/xts/demo/
+                            </p>
+                            
+<ul>
+                                
+<li>
+                                    
+<p>
+                                        client/BasicClient.java:
+                                    </p>
+                                    
+<p>
+                                        A servlet that processes the form input and runs either an Atomic Transaction (AT) or Business Activity (BA) to make the bookings.
+                                    </p>
+                                    
+<p>
+                                        This servlet uses the JBossWS JaxWS implementation as the SOAP transport library.
+                                    </p>
+                                    
+<p>
+                                        Method configureClientHandler installs the JBoss handler on the JaxWS service endpoint proxies. This ensurs that the client's AT or BA transaction
+                                        context is propagated to the web services when their remote methods are invoked.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        restaurant/* :
+                                    </p>
+                                    
+<p>
+                                        JaxWS client interfaces for accessing the remote restaurant web services via JaxWS service proxies.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        taxi/* :
+                                    </p>
+                                    
+<p>
+                                        JaxWS client interfaces for accessing the remote taxi web services via JaxWS service proxies.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        theatre/* :
+                                    </p>
+                                    
+<p>
+                                        JaxWS client interfaces for accessing the remote theatre web services via JaxWS service proxies.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        services/[restuarant|taxi|theatre]/* :
+                                    </p>
+                                    
+<p>
+                                        JaxWS service endpoint implementation classes
+                                    </p>
+                                    
+<p>Each of these three Web services has similar structure, featuring a *Manager.java class (the transactional business logic, knowing nothing of Web services),
+                                    a *View.java file (the GUI component, largely tool generated), and the files that expose the business logic as transactional JaxWS Web services.
+                                    </p>
+                                    
+<p>
+                                    In the filenames, AT denotes Atomic Transaction, whilst BA is for Business Activities.
+                                    </p>
+                                    
+<p>
+                                    The *ServiceAT/BA.java file is the business interface, whilst the *Participant.java file has the transaction management code.
+                                    </p>
+                                    
+<p>
+                                    The *ServiceAT/BA classes expose their JaxWS SEI methods using '<code>javax.jws.WebService</code>' and '<code>javax.jws.WebMethod</code>' annotations.
+                                    </p>
+                                    
+<p>
+                                    A '<code>javax.jws.HandlerChain</code>' annotation identifies a handler chain deployment descriptor file deployed with the demo applciation. This decriptor configures
+                                    the services with handlers that run SEI method invocations in the transaction context propagated from the client.
+                                    </p>
+                                
+</li>
+                            
+</ul>
+                        
+</li>
+                    
+</ul>
+                
+</p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/styles.css
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/styles.css	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/styles.css	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+A:hover {
+	COLOR: #2fa9ec; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
+}
+A {
+	COLOR: #585858; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
+}
+.menuheader {
+	FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #585858; FONT-FAMILY: Arial, Helvetica, sans-serif
+}
+.menuoptions {
+	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #585858; LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, sans-serif
+}
+.bodytext {
+	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #585858; FONT-FAMILY: Arial, Helvetica, sans-serif
+}
+.bodyheader {
+	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #585858; FONT-FAMILY: Arial, Helvetica, sans-serif
+}
+.quotetext {
+	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #253169; FONT-FAMILY: Arial, Helvetica, sans-serif
+}
+.boldbodytext {
+	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #585858; FONT-FAMILY: Arial, Helvetica, sans-serif
+}
+.linkscoloured {
+	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #2fa9ec; FONT-FAMILY: Arial, Helvetica, sans-serif
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/wherenext.html
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/wherenext.html	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/html/wherenext.html	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="description" content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems">
+<META name="keywords" content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service">
+<TITLE>XML Transaction Service Demonstration Application: Where next?</TITLE>
+<LINK href="./styles.css" rel="stylesheet" type="text/css">
+<SCRIPT type="text/javascript" language="JavaScript">
+
+if (parent != self)
+    top.location.href = location.href;
+
+function gotoURL(url)
+{
+    if (url != "")
+        location.href = url;
+}
+
+function printThisPage()
+{
+    window.print();
+}
+
+function emailThisPage()
+{
+    location.href = "mailto:?subject=" + document.title + "&body=" + location.href;
+}
+                </SCRIPT>
+</HEAD>
+<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
+<TABLE width="727" border="0" align="center" cellpadding="0" cellspacing="0">
+    
+<TR>
+<TD width="494"><IMG src="./images/look_and_feel/JBoss_DivOfRH_RGB.gif" alt="arjuna logo" width="178" height="63"></TD><TD width="233"><IMG src="./images/look_and_feel/arjuna_strapline.gif" alt="arjuna strap line" width="233" height="63"></TD>
+</TR>
+    
+<TR>
+<TD colspan="2">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="172" valign="top">
+<FORM name="form1" method="post" action="">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+            
+<P class="menuheader">Trail map<DIV class="menuoptions">
+    
+<A href="./index.html">Introduction</A>
+<BR>
+    
+<A href="./installcontent.html">Installation Content</A>
+<BR>
+    
+<A href="./about.html">About the Sample Application</A>
+<BR>
+    
+<A href="./deploying.html">Deploying the Sample Application</A>
+<BR>
+    
+<A href="./atomictransaction.html">Atomic Transactions</A>
+<BR>
+    
+<A href="./businessactivity.html">Business Activities</A>
+<BR>
+    
+<A href="./sourcecode.html">Sample Application Source Code</A>
+<BR>
+    
+<A href="./wherenext.html">Where next?</A>
+<BR>
+
+</DIV>
+</P>
+            
+<P class="menuheader">Navigation<DIV class="menuoptions">
+                
+<A href="./index.html">Start Trailmap</A>
+<BR>
+                
+<A href="./sourcecode.html">Previous</A>
+<BR>
+            
+</DIV>
+</P>
+        
+</TD>
+</TR>
+<TR>
+<TD valign="top" background="./images/look_and_feel/search_bg.gif" bgcolor="#FFFFFF" class="bodytext">
+<BR>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="4">
+<TR>
+<TD width="15"><A href="javascript:printThisPage();"><IMG src="./images/look_and_feel/icon_printer.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:printThisPage();">print this page</A></TD>
+</TR>
+<TR>
+<TD width="15"><A href="javascript:emailThisPage();"><IMG src="./images/look_and_feel/icon_email.gif" width="15" height="14" border="0"></A></TD><TD class="bodytext"><A href="javascript:emailThisPage();">email this page</A></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</FORM>
+</TD><TD width="6" height="214"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD width="555" valign="top">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD width="537" valign="top">
+<TABLE width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="9E9E9E">
+<TR>
+<TD height="57">
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
+<TR>
+<TD height="8" background="./images/look_and_feel/header_grid.gif" bgcolor="#FFFFFF"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD>
+</TR>
+</TABLE>
+<TABLE width="100%" border="0" cellspacing="0" cellpadding="8">
+<TR>
+<TD valign="top" bgcolor="#FFFFFF">
+<P class="menuheader">Where next?<DIV class="bodytext">
+            
+                
+<p>
+                    For further information, please consult the XML Transaction component of JBossTS 4.3.0 product documentation set.
+                    <li>
+<a class="linkscoloured" href="../../docs/Programmers Guide.pdf" target="_blank">Programmers Guide</a> (.pdf)</li>
+                
+</p>
+                
+<p>
+                    A collection of links to additional background reading material on Web services coordination and transactions is also avaialble on the JBossTS labs site:
+                    <a class="linkscoloured" href="http://labs.jboss.com/jbosstm" target="_blank">http://labs.jboss.com/jbosstm</a>
+                
+</p>
+                
+<p>
+
+                    Updates to the XML Transaction component of JBossTS, as well as additional sample material, are periodically made available via the product web site at
+                    <a class="linkscoloured" href="http://labs.jboss.com/jbosstm" target="_blank">http://labs.jboss.com/jbosstm</a>
+                    Please drop by from time to time to ensure you have the most comprehensive material available.
+                    You can also discuss the software with its authors and other users on our
+                    <a class="linkscoloured" href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=240">forum</a>.
+                </p>
+            
+        
+</DIV>
+</P>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+<TR>
+<TD height="8" background="./images/look_and_feel/trans_spacer.gif" bgcolor="#FFFFFF"></TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+</TABLE>
+</TD>
+</TR>
+    
+<TR>
+<TD width="727" valign="top" align="right" colspan="3"><FONT style="font-family: Arial, Helvetica, sans-serif" size="1">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a class="linkscoloured" href="mailto:info at arjuna.com">info at arjuna.com</a><IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    +44 191 243 0676
+                </FONT></TD>
+</TR>
+
+</TABLE>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/jboss.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/jboss.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/jboss.properties	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,44 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<!-- JBoss property file
+  The following tokens should be replaced for JBoss deployment
+  
+  JBOSS_HOSTNAME - the hostname of the JBoss installation (localhost)
+  JBOSS_PORT - the port of the JBoss web server (8080)
+  JBOSS_URLSTUB - the url stub for the demo webservices (xtsdemowebservices)
+  
+  You can choose any combination of the URL entries provided that there is an entry for each service.
+  The default services are the ones running within JBoss.
+-->
+<arjuna>
+  <hostname>localhost</hostname>
+  <port>8080</port>
+  <urlstub>xtsdemowebservices</urlstub>
+
+  <!-- JBoss services -->
+  <restaurantATURL>http://localhost:8080/xtsdemowebservices/RestaurantServiceAT</restaurantATURL>
+  <restaurantBAURL>http://localhost:8080/xtsdemowebservices/RestaurantServiceBA</restaurantBAURL>
+  <taxiATURL>http://localhost:8080/xtsdemowebservices/TaxiServiceAT</taxiATURL>
+  <taxiBAURL>http://localhost:8080/xtsdemowebservices/TaxiServiceBA</taxiBAURL>
+  <theatreATURL>http://localhost:8080/xtsdemowebservices/TheatreServiceAT</theatreATURL>
+  <theatreBAURL>http://localhost:8080/xtsdemowebservices/TheatreServiceBA</theatreBAURL>
+  <nightoutURL>http://localhost:8080/xtsdemowebservices/NightOutService</nightoutURL>
+</arjuna>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/client/BasicClient.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/client/BasicClient.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/client/BasicClient.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,251 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * BasicClient.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: BasicClient.java,v 1.10 2004/12/02 16:52:58 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.client;
+
+import com.jboss.jbosstm.xts.demo.nightout.INightOutService;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+import javax.xml.ws.handler.Handler;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * A very basic client application that drives the ESB 
+ * (transactional) Web Services to arrange a night out.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Id: BasicClient.java,v 1.10 2004/12/02 16:52:58 kconner Exp $
+ * 
+ * @author jdelong (revise to invoke a single ESB hosted webservice that starts a business process
+ */
+public class BasicClient extends HttpServlet
+{
+    /**
+     * The client serial version UID.
+     */
+    private static final long serialVersionUID = 7728495576623420083L ;
+
+    /**
+     * The servlet context.
+     */
+    private ServletContext context ;
+
+    /***** RESTAURANT SERVICE *****/
+
+    /**
+     * The namespace for the NightOut webservice.
+     */
+    private static final String NIGHTOUT_NS = "http://www.jboss.com/jbosstm/xts/demo/NightOut" ;
+    /**
+     * The prefix for the NightOut webservice.
+     */
+    private static final String NIGHTOUT_PREFIX = "nightOut";
+    /**
+     * The local name for the NightOut webservice.
+     */
+    private static final String NIGHTOUT_SERVICE = "NightOutService";
+    /**
+     * The QName for the NightOut webservice.
+     */
+    private static final QName NIGHTOUT_SERVICE_QNAME
+            = new QName(NIGHTOUT_NS, NIGHTOUT_SERVICE, NIGHTOUT_PREFIX);
+     /**
+     * The local name for the NightOut Endpoint.
+     */
+    private static final String NIGHTOUT_ENDPOINT = "NightOutPort";
+    /**
+     * The QName for the NightOut endpoint.
+     */
+    private static final QName NIGHTOUT_ENDPOINT_QNAME
+            = new QName(NIGHTOUT_NS, NIGHTOUT_ENDPOINT, NIGHTOUT_PREFIX);
+  
+ 
+      /**
+     * The business activity restaurant stub.
+     */
+    private INightOutService nightout;
+ 
+    /***** Endpoint Addresses *****/
+
+     /**
+     * URL of nightout
+     */
+    private String nightoutURL ;
+
+    /***** WSDL file locations *****/
+
+    /**
+     * URL of nightout wsdl
+     */
+     private final String nightoutWSDL = "wsdl/NightOut.wsdl";
+ 
+    /**
+     * The initialised flag.
+     */
+    private boolean initialised ;
+    
+    /**
+     * Initialise the servlet.
+     * @param config The servlet configuration.
+     */
+    public void init(final ServletConfig config)
+        throws ServletException
+    {
+        final String baseURL = "http://localhost:8765/";
+        		// "xtsdemowebservices/" ;
+
+        nightoutURL = baseURL;
+        	//getURL(config, "nightoutURL", baseURL + NIGHTOUT_SERVICE);
+ 
+        context = config.getServletContext();
+    }
+
+//    /**
+//     * configure the XTS client handler which manages transaction flow for invocations of the services
+//     *
+//     * @param bindingProvider
+//     */
+//    private void configureClientHandler(BindingProvider bindingProvider)
+//    {
+//        Handler handler = new JaxWSHeaderContextProcessor();
+//        List<Handler> handlers = Collections.singletonList(handler);
+//        bindingProvider.getBinding().setHandlerChain(handlers);
+//    }
+
+    /**
+     * Initialise if necessary
+     */
+    private synchronized void initialise()
+    throws ServletException
+    {
+        if (!initialised)
+        {
+            try
+            {
+         	
+            	nightout = getService(NIGHTOUT_SERVICE_QNAME, NIGHTOUT_ENDPOINT_QNAME,
+            			nightoutURL, nightoutWSDL, INightOutService.class);
+            	
+            	System.out.println("port is: " + nightout.toString());
+
+            	
+            }
+            catch (final Exception ex)
+            {
+                ex.printStackTrace();
+                System.out.println("Caught exception getting service");
+                throw new ServletException(ex);
+            }
+            initialised = true ;
+        }
+    }
+
+    /**
+     * Simple wrapper to allow our test method to be invoked when
+     * running in a servlet container, taking parameters from the
+     * request URL and displaying the outcome on the resulting html page.
+     *
+     * @param request
+     * @param response
+     * @throws ServletException
+     * @throws IOException
+     */
+    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
+    {
+        initialise() ;
+
+        // get business logic params from the form submission.
+        int restaurantSeats = Integer.parseInt(request.getParameter("restaurant"));
+        int theatreSeats = Integer.parseInt(request.getParameter("theatrecount"));
+        int theatreArea = Integer.parseInt(request.getParameter("theatrearea"));
+        int taxiCount = Integer.parseInt(request.getParameter("taxi"));
+        boolean bookTaxi = (taxiCount >= 1 ? true : false);
+
+
+        
+        String result = nightout.bookReservations(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+
+        request.setAttribute("result", result);
+        context.getRequestDispatcher("/index.jsp").forward(request, response);
+    }
+
+
+    /**
+     * @param config The servlet config
+     * @param property The property name
+     * @param defaultValue The default value.
+     * @return The initialisation property value or the default value if not present. 
+     */
+    private String getURL(final ServletConfig config, final String property, final String defaultValue)
+    {
+        final String value = config.getInitParameter(property) ;
+        return (value == null ? defaultValue : value) ;
+    }
+    
+    /**
+     * Get an endpoint reference for a service so we can create a JaxWS port for it
+     * @param serviceName the QName of the service in question..
+     * @param endpointName the QName of the endpoint associated with the service
+     * @param address a string representation of the service URL. null is ok if this is a service located in the
+     * same app as the client
+     * @return a W3CEndpointReference from which the service port can be obtained.
+     */
+    private <T> T getService(final QName serviceName, final QName endpointName,
+                                            final String address, final String wsdlURL, final Class<T> clazz)
+            throws MalformedURLException
+    {
+ 
+        System.out.println("serivceName is: " + serviceName.toString());
+        System.out.println("endpointName is: " + endpointName.toString());
+        System.out.println("address is: " + address);
+        System.out.println("wsdlURL is: " + wsdlURL);
+
+    	
+    	URL url = BasicClient.class.getResource("../../../../../../../" + wsdlURL);
+        System.out.println("URL is: " + url);
+        Service service = Service.create(url, serviceName);
+        System.out.println("Service is: " + service.getServiceName().toString());
+        T port = service.getPort(endpointName, clazz);
+        //BindingProvider bindingProvider = ((BindingProvider) port);
+        //bindingProvider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, address);
+        return port;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/nightout/INightOutService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/nightout/INightOutService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/nightout/INightOutService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,29 @@
+
+package com.jboss.jbosstm.xts.demo.nightout;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * 
+ * 
+ */
+ at WebService(name = "INightOutService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/NightOut")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface INightOutService {
+
+
+    /**
+     * 
+     * @param 
+     */
+    @WebMethod
+    public String bookReservations(
+    @WebParam(name = "restaurantSeats", partName = "restaurantSeats")int restaurantSeats,
+    @WebParam(name = "theatreSeats", partName = "theatreSeats")int theatreSeats,
+    @WebParam(name = "theatreArea", partName = "theatreArea")int theatreArea,
+    @WebParam(name = "bookTaxi", partName = "bookTaxi")boolean bookTaxi);
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,30 @@
+
+package com.jboss.jbosstm.xts.demo.restaurant;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebService(name = "IRestaurantServiceAT", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Restaurant")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface IRestaurantServiceAT {
+
+
+    /**
+     * 
+     * @param howMany
+     */
+    @WebMethod
+    public void bookSeats(
+        @WebParam(name = "how_many", partName = "how_many")
+        int howMany);
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/IRestaurantServiceBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,34 @@
+
+package com.jboss.jbosstm.xts.demo.restaurant;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebService(name = "IRestaurantServiceBA", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Restaurant")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface IRestaurantServiceBA {
+
+
+    /**
+     * 
+     * @param howMany
+     * @return
+     *     returns boolean
+     */
+    @WebMethod
+    @WebResult(name = "bookSeatsBAResponse", partName = "bookSeatsBAResponse")
+    public boolean bookSeats(
+        @WebParam(name = "how_many", partName = "how_many")
+        int howMany);
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceATService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,58 @@
+
+package com.jboss.jbosstm.xts.demo.restaurant;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "RestaurantServiceATService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Restaurant", wsdlLocation = "/WEB-INF/wsdl/RestaurantServiceAT.wsdl")
+public class RestaurantServiceATService
+    extends Service
+{
+
+    private final static URL RESTAURANTSERVICEATSERVICE_WSDL_LOCATION;
+    private final static Logger logger = Logger.getLogger(com.jboss.jbosstm.xts.demo.restaurant.RestaurantServiceATService.class.getName());
+
+    static {
+        URL url = null;
+        try {
+            URL baseUrl;
+            baseUrl = com.jboss.jbosstm.xts.demo.restaurant.RestaurantServiceATService.class.getResource(".");
+            url = new URL(baseUrl, "/WEB-INF/wsdl/RestaurantServiceAT.wsdl");
+        } catch (MalformedURLException e) {
+            logger.warning("Failed to create URL for the wsdl Location: '/WEB-INF/wsdl/RestaurantServiceAT.wsdl', retrying as a local file");
+            logger.warning(e.getMessage());
+        }
+        RESTAURANTSERVICEATSERVICE_WSDL_LOCATION = url;
+    }
+
+    public RestaurantServiceATService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public RestaurantServiceATService() {
+        super(RESTAURANTSERVICEATSERVICE_WSDL_LOCATION, new QName("http://www.jboss.com/jbosstm/xts/demo/Restaurant", "RestaurantServiceATService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns IRestaurantServiceAT
+     */
+    @WebEndpoint(name = "RestaurantServiceAT")
+    public IRestaurantServiceAT getRestaurantServiceAT() {
+        return super.getPort(new QName("http://www.jboss.com/jbosstm/xts/demo/Restaurant", "RestaurantServiceAT"), IRestaurantServiceAT.class);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/restaurant/RestaurantServiceBAService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,58 @@
+
+package com.jboss.jbosstm.xts.demo.restaurant;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "RestaurantServiceBAService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Restaurant", wsdlLocation = "/WEB-INF/wsdl/RestaurantServiceBA.wsdl")
+public class RestaurantServiceBAService
+    extends Service
+{
+
+    private final static URL RESTAURANTSERVICEBASERVICE_WSDL_LOCATION;
+    private final static Logger logger = Logger.getLogger(com.jboss.jbosstm.xts.demo.restaurant.RestaurantServiceBAService.class.getName());
+
+    static {
+        URL url = null;
+        try {
+            URL baseUrl;
+            baseUrl = com.jboss.jbosstm.xts.demo.restaurant.RestaurantServiceBAService.class.getResource(".");
+            url = new URL(baseUrl, "/WEB-INF/wsdl/RestaurantServiceBA.wsdl");
+        } catch (MalformedURLException e) {
+            logger.warning("Failed to create URL for the wsdl Location: '/WEB-INF/wsdl/RestaurantServiceBA.wsdl', retrying as a local file");
+            logger.warning(e.getMessage());
+        }
+        RESTAURANTSERVICEBASERVICE_WSDL_LOCATION = url;
+    }
+
+    public RestaurantServiceBAService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public RestaurantServiceBAService() {
+        super(RESTAURANTSERVICEBASERVICE_WSDL_LOCATION, new QName("http://www.jboss.com/jbosstm/xts/demo/Restaurant", "RestaurantServiceBAService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns IRestaurantServiceBA
+     */
+    @WebEndpoint(name = "RestaurantServiceBA")
+    public IRestaurantServiceBA getRestaurantServiceBA() {
+        return super.getPort(new QName("http://www.jboss.com/jbosstm/xts/demo/Restaurant", "RestaurantServiceBA"), IRestaurantServiceBA.class);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/nightout/NightOutService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.jboss.jbosstm.xts.demo.services.nightout;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+import org.jboss.soa.esb.actions.soap.SOAPProcessor;
+import org.jboss.soa.esb.message.Message;
+
+import com.jboss.jbosstm.xts.demo.nightout.INightOutService;
+
+
+ at WebService(name = "NightOutService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/NightOut")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public class NightOutService implements INightOutService
+{
+   @WebMethod
+   public String bookReservations(
+		     @WebParam(name = "restaurantSeats", partName = "restaurantSeats")int restaurantSeats,
+		     @WebParam(name = "theatreSeats", partName = "theatreSeats")int theatreSeats,
+		     @WebParam(name = "theatreArea", partName = "theatreArea")int theatreArea,
+		     @WebParam(name = "bookTaxi", partName = "bookTaxi")boolean bookTaxi)
+   {
+	 // System.out.println("Received policy: " + policy);
+	  
+      Message esbMessage = SOAPProcessor.getMessage();
+      if(esbMessage != null) {
+          System.out.println("**** SOAPRequest mediated by ESB:\n" + esbMessage.getBody().get());
+          
+      }
+ 
+      return "received request";
+
+   }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantManager.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,456 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * RestaurantManager.java
+ *
+ * Copyright (c) 2003 Arjuna Technologies Ltd.
+ *
+ * $Id: RestaurantManager.java,v 1.3 2004/04/21 13:09:18 jhalliday Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.restaurant;
+
+import java.util.Hashtable;
+
+/**
+ * The transactional application logic for the Restaurant Service.
+ * <p/>
+ * Stores and manages seating reservations. Knows nothing about Web Services.
+ * Understands transactional booking lifecycle: unprepared, prepared, finished.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class RestaurantManager
+{
+    /**
+     * Create and initialise a new RestaurantManager instance.
+     */
+    public RestaurantManager()
+    {
+        setToDefault();
+    }
+
+    /**
+     * Book a number of seats in the restaurant.
+     *
+     * @param txID   The transaction identifier
+     * @param nSeats The number of seats requested
+     */
+    public void bookSeats(Object txID, int nSeats)
+    {
+        // locate any pre-existing request for the same transaction
+        Integer request = (Integer) unpreparedTransactions.get(txID);
+        if (request == null)
+        {
+            // this is the first request for this transaction
+            // setup the data structure to record it
+            request = new Integer(0);
+        }
+
+        // record the request, keyed to its transaction scope
+        request = new Integer(request.intValue() + nSeats);
+        unpreparedTransactions.put(txID, request);
+
+        // record the increased commitment to provide seating
+        nBookedSeats += nSeats;
+    }
+
+    /**
+     * Attempt to ensure availability of the requested seating.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean prepareSeats(Object txID)
+    {
+        // ensure that we have seen this transaction before
+        Integer request = (Integer) unpreparedTransactions.get(txID);
+        if (request == null)
+        {
+            return false; // error: transaction not registered
+        }
+        else
+        {
+            if (autoCommitMode)
+            {
+                if (request.intValue() <= nFreeSeats)
+                {
+                    // record the prepared transaction
+                    preparedTransactions.put(txID, request);
+                    unpreparedTransactions.remove(txID);
+                    // mark the prepared seats as unavailable
+                    nFreeSeats -= request.intValue();
+                    nPreparedSeats += request.intValue();
+                    return true;
+                }
+                else
+                {
+                    // we don't have enough seats available
+                    return false;
+                }
+            }
+            else
+            {
+                try
+                {
+                    // wait for a user commit/rollback decision
+                    isPreparationWaiting = true;
+                    synchronized (preparation)
+                    {
+                        preparation.wait();
+                    }
+                    isPreparationWaiting = false;
+
+                    // process the user decision
+                    if (isCommit)
+                    {
+                        // record the prepared transaction
+                        preparedTransactions.put(txID, request);
+                        unpreparedTransactions.remove(txID);
+                        // mark the prepared seats as unavailable
+                        nFreeSeats -= request.intValue();
+                        nPreparedSeats += request.intValue();
+                        return true;
+                    }
+                    else
+                    {
+                        return false;
+                    }
+                }
+                catch (Exception e)
+                {
+                    System.err.println("RestaurantManager.prepareSeats(): Unable to stop preparation.");
+                    return false;
+                }
+            }
+        }
+    }
+
+    /**
+     * Release booked or prepared seats.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean cancelSeats(Object txID)
+    {
+        boolean success = false;
+
+        // the transaction may be prepared, unprepared or unknown
+
+        if (preparedTransactions.containsKey(txID))
+        {
+            // undo the prepare operations
+            Integer request = (Integer) preparedTransactions.remove(txID);
+            nFreeSeats += request.intValue();
+            nPreparedSeats -= request.intValue();
+            nBookedSeats -= request.intValue();
+            success = true;
+        }
+        else if (unpreparedTransactions.containsKey(txID))
+        {
+            // undo the booking operations
+            Integer request = (Integer) unpreparedTransactions.remove(txID);
+            nBookedSeats -= request.intValue();
+            success = true;
+        }
+        else
+        {
+            success = false; // error: transaction not registered
+        }
+
+        return success;
+    }
+
+    /**
+     * Commit seat bookings.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean commitSeats(Object txID)
+    {
+        boolean success = false;
+
+        // the transaction may be prepared, unprepared or unknown
+
+        if (preparedTransactions.containsKey(txID))
+        {
+            // complete the prepared transaction
+            Integer request = (Integer) preparedTransactions.remove(txID);
+            nCommittedSeats += request.intValue();
+            nPreparedSeats -= request.intValue();
+            nBookedSeats -= request.intValue();
+            success = true;
+        }
+        else if (unpreparedTransactions.containsKey(txID))
+        {
+            // use one phase commit optimisation, skipping prepare
+            Integer request = (Integer) unpreparedTransactions.remove(txID);
+            nCommittedSeats += request.intValue();
+            nFreeSeats -= request.intValue();
+            nBookedSeats -= request.intValue();
+            success = true;
+        }
+        else
+        {
+            success = false; // error: transaction not registered
+        }
+
+        return success;
+    }
+
+    /**
+     * Determine if a specific transaction is known to the business logic.
+     *
+     * @param txID The uniq id for the transaction
+     * @return true if the business logic is holding state related to the given txID,
+     *         false otherwise.
+     */
+    public boolean knowsAbout(Object txID)
+    {
+        return (unpreparedTransactions.containsKey(txID) || preparedTransactions.containsKey(txID));
+    }
+
+    /**
+     * Change the capacity of the Resaurant.
+     *
+     * @param nSeats The new capacity
+     */
+    public void newCapacity(int nSeats)
+    {
+        nFreeSeats += nSeats - nTotalSeats;
+        nTotalSeats = nSeats;
+    }
+
+    /**
+     * Get the number of free seats.
+     *
+     * @return The number of free seats
+     */
+    public int getNFreeSeats()
+    {
+        return nFreeSeats;
+    }
+
+    /**
+     * Get the total number of seats.
+     *
+     * @return The total number of seats
+     */
+    public int getNTotalSeats()
+    {
+        return nTotalSeats;
+    }
+
+    /**
+     * Get the number of booked seats in the given area.
+     *
+     * @return The number of booked seats
+     */
+    public int getNBookedSeats()
+    {
+        return nBookedSeats;
+    }
+
+    /**
+     * Get the number of prepared seats.
+     *
+     * @return The number of prepared seats
+     */
+    public int getNPreparedSeats()
+    {
+        return nPreparedSeats;
+    }
+
+    /**
+     * Get the number of committed seats in the given area.
+     *
+     * @return The number of committed seats
+     */
+    public int getNCommittedSeats()
+    {
+        return nCommittedSeats;
+    }
+
+    /**
+     * Determine the autoCommit status of the instance.
+     *
+     * @return true if autoCommit mode is active, false otherwise
+     */
+    public boolean isAutoCommitMode()
+    {
+        return autoCommitMode;
+    }
+
+    /**
+     * Set the autoCommit mode of the instance.
+     *
+     * @param autoCommit true for automatic commit, false for manual commit.
+     */
+    public void setAutoCommitMode(boolean autoCommit)
+    {
+        autoCommitMode = autoCommit;
+    }
+
+    /**
+     * Get the preparation object for manual commit wait/notify.
+     *
+     * @return The preparation object
+     */
+    public Object getPreparation()
+    {
+        return preparation;
+    }
+
+    /**
+     * Determine if the instance is waiting for manual commit/rollback.
+     *
+     * @return true if waiting, false otherwise
+     */
+    public boolean getIsPreparationWaiting()
+    {
+        return isPreparationWaiting;
+    }
+
+    /**
+     * Set the waiting status of the instance.
+     *
+     * @param isWaiting The new value to set
+     */
+    public void setIsPreparationWaiting(boolean isWaiting)
+    {
+        isPreparationWaiting = isWaiting;
+    }
+
+    /**
+     * Set the manual commit status.
+     *
+     * @param commit true for commitment, false for rollback
+     */
+    public void setCommit(boolean commit)
+    {
+        isCommit = commit;
+    }
+
+    /**
+     * (re-)initialise the instance data structures.
+     */
+    public void setToDefault()
+    {
+        nTotalSeats = DEFAULT_SEATING_CAPACITY;
+        nFreeSeats = nTotalSeats;
+        nBookedSeats = 0;
+        nPreparedSeats = 0;
+        nCommittedSeats = 0;
+        preparedTransactions = new Hashtable();
+        unpreparedTransactions = new Hashtable();
+        autoCommitMode = true;
+        preparation = new Object();
+        isPreparationWaiting = false;
+        isCommit = true;
+    }
+
+    /**
+     * Allow use of a singleton model for web services demo.
+     *
+     * @return the singleton RestaurantManager instance.
+     */
+    public static RestaurantManager getSingletonInstance()
+    {
+        if (singletonInstance == null)
+        {
+            singletonInstance = new RestaurantManager();
+        }
+
+        return singletonInstance;
+    }
+
+    /**
+     * A singleton instance of this class.
+     */
+    private static RestaurantManager singletonInstance;
+
+    /**
+     * The total seating capacity.
+     */
+    private int nTotalSeats;
+
+    /**
+     * The number of free seats.
+     */
+    private int nFreeSeats;
+
+    /**
+     * The number of booked seats.
+     * <p/>
+     * Note: This may exceed the total seating capacity
+     */
+    private int nBookedSeats;
+
+    /**
+     * The number of prepared (promised) seats.
+     */
+    private int nPreparedSeats;
+    /**
+     * The number of committed seats in each area.
+     */
+    private int nCommittedSeats;
+
+    /**
+     * The auto commit mode.
+     * <p/>
+     * true = automatically commit, false = manually commit
+     */
+    private boolean autoCommitMode;
+
+    /**
+     * The object used for wait/notify in manual commit mode.
+     */
+    private Object preparation;
+
+    /**
+     * The waiting status, when in manual commit mode.
+     */
+    private boolean isPreparationWaiting;
+
+    /**
+     * The user specified outcome when in manual commit mode.
+     */
+    private boolean isCommit;
+
+    /**
+     * The transactions we know about but which have not been prepared.
+     */
+    private Hashtable unpreparedTransactions;
+
+    /**
+     * The transactions we know about and are prepared to commit.
+     */
+    private Hashtable preparedTransactions;
+
+    /**
+     * The default initial capacity of each seating area.
+     */
+    public static final int DEFAULT_SEATING_CAPACITY = 10;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,201 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * RestaurantParticipantAT.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: RestaurantParticipantAT.java,v 1.3 2005/02/23 09:58:01 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.restaurant;
+
+import com.arjuna.wst.*;
+
+/**
+ * An adapter class that exposes the RestaurantManager transaction lifecycle
+ * API as a WS-T Atomic Transaction participant.
+ * Also logs events to a RestaurantView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class RestaurantParticipantAT implements Durable2PCParticipant
+{
+    /**
+     * Participant instances are related to transaction instances
+     * in a one to one manner.
+     *
+     * @param txID uniq id String for the transaction instance.
+     */
+    public RestaurantParticipantAT(String txID)
+    {
+        // Binds to the singleton RestaurantView and RestaurantManager
+        restaurantManager = RestaurantManager.getSingletonInstance();
+        restaurantView = RestaurantView.getSingletonInstance();
+        // we need to save the txID for later use when calling
+        // business logic methods in the restaurantManger.
+        this.txID = txID;
+    }
+
+    /**
+     * Invokes the prepare step of the business logic,
+     * reporting activity and outcome.
+     *
+     * @return Prepared where possible, Aborted where necessary.
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public Vote prepare() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the prepare operation
+        // on the backend business logic.
+
+        System.out.println("RestaurantParticipantAT.prepare");
+
+        restaurantView.addPrepareMessage("id:" + txID + ". Prepare called on participant: " + this.getClass().toString());
+
+        boolean success = restaurantManager.prepareSeats(txID);
+
+        // Log the outcome and map the return value from
+        // the business logic to the appropriate Vote type.
+
+        if (success)
+        {
+            restaurantView.addMessage("Seats prepared successfully. Returning 'Prepared'\n");
+            restaurantView.updateFields();
+            return new Prepared();
+        }
+        else
+        {
+            restaurantManager.cancelSeats(txID) ;
+            restaurantView.addMessage("Prepare failed (not enough seats?) Returning 'Aborted'\n");
+            restaurantView.updateFields();
+            return new Aborted();
+        }
+    }
+
+    /**
+     * Invokes the commit step of the business logic,
+     * reporting activity and outcome.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commit() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the commit operation
+        // on the backend business logic.
+
+        System.out.println("RestaurantParticipantAT.commit");
+
+        restaurantView.addMessage("id:" + txID + ". Commit called on participant: " + this.getClass().toString());
+
+        boolean success = restaurantManager.commitSeats(txID);
+
+        // Log the outcome
+
+        if (success)
+        {
+            restaurantView.addMessage("Seats committed\n");
+        }
+        else
+        {
+            restaurantView.addMessage("Something went wrong (Transaction not registered?)\n");
+        }
+
+        restaurantView.updateFields();
+    }
+
+    /**
+     * Invokes the rollback operation on the business logic,
+     * reporting activity and outcome.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void rollback() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the rollback operation
+        // on the backend business logic.
+
+        System.out.println("RestaurantParticipantAT.rollback");
+
+        restaurantView.addMessage("id:" + txID + ". Rollback called on participant: " + this.getClass().toString());
+
+        boolean success = restaurantManager.cancelSeats(txID);
+
+        // Log the outcome
+
+        if (success)
+        {
+            restaurantView.addMessage("Seats booking cancelled\n");
+        }
+        else
+        {
+            restaurantView.addMessage("Something went wrong (Transaction not registered?)\n");
+        }
+
+        restaurantView.updateFields();
+    }
+
+    /**
+     * Shortcut method which combines the prepare
+     * and commit steps in a single operation.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commitOnePhase() throws WrongStateException, SystemException
+    {
+        prepare();
+        commit();
+    }
+
+    public void unknown() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    public void error() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * Id for the transaction which this participant instance relates to.
+     * Set by the service (via contrtuctor) at enrolment time, this value
+     * is passed to the backend business logic methods.
+     */
+    protected String txID;
+
+    /**
+     * The RestaurantView object to log events through.
+     */
+    protected static RestaurantView restaurantView;
+
+    /**
+     * The RestaurantManager to perform business logic operations on.
+     */
+    protected static RestaurantManager restaurantManager;
+}
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantParticipantBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,189 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * RestaurantParticipantBA.java
+ *
+ * Copyright (c) 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: RestaurantParticipantBA.java,v 1.3 2004/09/09 15:18:09 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.restaurant;
+
+import com.arjuna.wst.*;
+import com.arjuna.ats.arjuna.common.Uid;
+
+/**
+ * An adapter class that exposes the RestaurantManager transaction lifecycle
+ * API as a WS-T Business Activity participant.
+ * Also logs events to a RestaurantView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class RestaurantParticipantBA implements BusinessAgreementWithParticipantCompletionParticipant
+{
+    /**
+     * Participant instances are related to business method calls
+     * in a one to one manner.
+     *
+     * @param txID     uniq id String for the transaction instance.
+     * @param how_many seats to book/compensate.
+     */
+    public RestaurantParticipantBA(String txID, int how_many)
+    {
+        // Binds to the singleton RestaurantView and RestaurantManager
+        restaurantManager = RestaurantManager.getSingletonInstance();
+        restaurantView = RestaurantView.getSingletonInstance();
+        // we need to save the txID for later use when logging.
+        this.txID = txID;
+        // we also need the business paramater(s) in case of compensation
+        this.seatCount = how_many;
+    }
+
+    /**
+     * The transaction has completed successfully. The participant previously
+     * informed the coordinator that it was ready to complete.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException never in this implementation.
+     */
+
+    public void close() throws WrongStateException, SystemException
+    {
+        // for logging only. This impl does not do anything else here.
+
+        System.out.println("RestaurantParticipantBA.close");
+
+        restaurantView.addMessage("id:" + txID + ". Close called on participant: " + this.getClass());
+        restaurantView.updateFields();
+    }
+
+
+    /**
+     * The transaction has cancelled, and the participant should undo any work.
+     * The participant cannot have informed the coordinator that it has
+     * completed.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException never in this implementation.
+     */
+
+    public void cancel() throws WrongStateException, SystemException
+    {
+        // we will always have called completed or error, so this can be a null op.
+
+        System.out.println("RestaurantParticipantBA.cancel");
+
+        restaurantView.addMessage("id:" + txID + ". Cancel called on participant: " + this.getClass().toString());
+        restaurantView.updateFields();
+    }
+
+    /**
+     * The transaction has cancelled. The participant previously
+     * informed the coordinator that it had finished work but could compensate
+     * later if required, so it is now requested to do so.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException if unable to perform the compensating transaction.
+     */
+
+    public void compensate() throws WrongStateException, SystemException
+    {
+        System.out.println("RestaurantParticipantBA.compensate");
+
+        // Log the event and perform a compensating transaction
+        // on the backend business logic.
+
+        restaurantView.addPrepareMessage("id:" + txID + ". Compensate called on participant: " + this.getClass().toString());
+        restaurantView.updateFields();
+
+        if (seatCount > 0)
+        {
+            String compensatingTxID = new Uid().toString();
+            // use a negative number of seats to 'reverse' the previous booking
+            // This technique (hack) prevents us needing new business logic to support compensation.
+            restaurantManager.bookSeats(compensatingTxID, seatCount * -1);
+            restaurantView.updateFields();
+
+            boolean success = false;
+            if(restaurantManager.prepareSeats(compensatingTxID))
+            {
+                if (restaurantManager.commitSeats(compensatingTxID))
+                {
+                    restaurantView.addMessage("id:" + txID + " Compensating transaction completed sucessfully.");
+                    restaurantView.updateFields();
+                    success = true;
+                }
+            }
+            else
+            {
+                restaurantManager.cancelSeats(compensatingTxID);
+            }
+
+            if(!success)
+            {
+                restaurantView.addMessage("id:" + txID + " Compensation failed. Throwing SystemException\n");
+                restaurantView.updateFields();
+                throw new SystemException("Compensating transaction failed.");
+            }
+        }
+    }
+
+    public String status()
+    {
+        return Status.STATUS_ACTIVE ;
+    }
+    
+    public void unknown() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    public void error() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * Id for the transaction which this participant instance relates to.
+     * Set by the service (via contrtuctor) at enrolment time, this value
+     * is used in informational log messages.
+     */
+    protected String txID;
+
+    /**
+     * Copy of business state information, may be needed during compensation.
+     */
+    protected int seatCount;
+
+    /**
+     * The RestaurantView object to log events through.
+     */
+    protected static RestaurantView restaurantView;
+
+    /**
+     * The RestaurantManager to perform business logic operations on.
+     */
+    protected static RestaurantManager restaurantManager;
+}
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * RestaurantServiceAT.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd
+ *
+ * $Id: RestaurantServiceAT.java,v 1.3 2004/12/01 16:26:44 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.restaurant;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.jboss.jbosstm.xts.demo.restaurant.IRestaurantServiceAT;
+
+import javax.jws.HandlerChain;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.jws.WebMethod;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * An adapter class that exposes the RestaurantManager business API as a
+ * transactional Web Service. Also logs events to a RestaurantView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+ at WebService(serviceName="RestaurantServiceATService", portName="RestaurantServiceAT",
+        name = "IRestaurantServiceAT", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Restaurant",
+        wsdlLocation = "/WEB-INF/wsdl/RestaurantServiceAT.wsdl")
+ at HandlerChain(file = "../context-handlers.xml", name = "Context Handlers")                  
+ at SOAPBinding(style=SOAPBinding.Style.RPC)
+public class RestaurantServiceAT implements IRestaurantServiceAT
+{
+    /**
+     * Book a number of seats in the restaurant
+     * Enrols a Participant if necessary, then passes
+     * the call through to the business logic.
+     *
+     * @param how_many The number of seats to book
+     */
+    @WebMethod
+    public void bookSeats(
+            @WebParam(name = "how_many", partName = "how_many")
+            int how_many)
+    {
+        RestaurantView restaurantView = RestaurantView.getSingletonInstance();
+        RestaurantManager restaurantManager = RestaurantManager.getSingletonInstance();
+
+        String transactionId = null;
+        try
+        {
+            // get the transaction context of this thread:
+            transactionId = UserTransactionFactory.userTransaction().toString();
+            System.out.println("RestaurantServiceAT transaction id =" + transactionId);
+
+            if (!restaurantManager.knowsAbout(transactionId))
+            {
+                System.out.println("RestaurantServiceAT - enrolling...");
+                // enlist the Participant for this service:
+                RestaurantParticipantAT restaurantParticipant = new RestaurantParticipantAT(transactionId);
+                TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(restaurantParticipant, new Uid().toString());
+            }
+        }
+        catch (Exception e)
+        {
+            System.err.println("bookSeats: Participant enrolment failed");
+            e.printStackTrace(System.err);
+            return;
+        }
+
+        restaurantView.addMessage("******************************");
+
+        restaurantView.addMessage("id:" + transactionId + ". Received a booking request for one table of " + how_many + " people");
+
+        restaurantManager.bookSeats(transactionId, how_many);
+
+        restaurantView.addMessage("Request complete\n");
+        restaurantView.updateFields();
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantServiceBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,151 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * RestaurantServiceBA.java
+ *
+ * Copyright (c) 2004 Arjuna Technologies Ltd
+ *
+ * $Id: RestaurantServiceBA.java,v 1.5 2004/12/01 16:26:44 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.restaurant;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.BusinessActivityManagerFactory;
+import com.arjuna.mw.wst.BusinessActivityManager;
+import com.arjuna.wst.BAParticipantManager;
+import com.arjuna.wst.SystemException;
+import com.jboss.jbosstm.xts.demo.restaurant.IRestaurantServiceBA;
+
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * An adapter class that exposes the RestaurantManager business API as a
+ * transactional Web Service. Also logs events to a RestaurantView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.5 $
+ */
+ at WebService(serviceName="RestaurantServiceBAService", portName="RestaurantServiceBA",
+        name = "IRestaurantServiceBA", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Restaurant",
+        wsdlLocation = "/WEB-INF/wsdl/RestaurantServiceBA.wsdl")
+ at HandlerChain(file = "../context-handlers.xml", name = "Context Handlers")
+ at SOAPBinding(style=SOAPBinding.Style.RPC)
+public class RestaurantServiceBA implements IRestaurantServiceBA
+{
+    /**
+     * Book a number of seats in the restaurant
+     * Enrols a Participant if necessary and passes
+     * the call through to the business logic.
+     *
+     * @param how_many The number of seats to book.
+     * @return true on success, false otherwise.
+     */
+    @WebMethod
+    @WebResult(name = "bookSeatsBAResponse", partName = "bookSeatsBAResponse")
+    public boolean bookSeats(
+            @WebParam(name = "how_many", partName = "how_many")
+            int how_many)
+    {
+        RestaurantView restaurantView = RestaurantView.getSingletonInstance();
+        RestaurantManager restaurantManager = RestaurantManager.getSingletonInstance();
+
+        BusinessActivityManager activityManager = BusinessActivityManagerFactory.businessActivityManager();
+
+        // get the transaction context of this thread:
+        String transactionId = null;
+        try
+        {
+            transactionId = activityManager.currentTransaction().toString();
+        }
+        catch (SystemException e)
+        {
+            System.err.println("bookSeats: unable to obtain a transaction context!");
+            e.printStackTrace(System.err);
+            return false;
+        }
+
+        // log the event:
+        System.out.println("RestaurantServiceBA transaction id =" + transactionId);
+
+        restaurantView.addMessage("******************************");
+
+        restaurantView.addPrepareMessage("id:" + transactionId + ". Received a booking request for one table of " + how_many + " people");
+        restaurantView.updateFields();
+
+        // invoke the backend business logic:
+        restaurantManager.bookSeats(transactionId, how_many);
+
+        // attempt to finalise the booking
+        // (it will be compensated later if necessary)
+        if (restaurantManager.prepareSeats(transactionId))
+        {
+            restaurantView.addMessage("id:" + transactionId + ". Seats prepared, trying to commit and enlist compensation Participant");
+            restaurantView.updateFields();
+
+            // it worked, so now we need a participant enlisted in case of compensation:
+
+            RestaurantParticipantBA restaurantParticipant = new RestaurantParticipantBA(transactionId, how_many);
+            // enlist the Participant for this service:
+            BAParticipantManager participantManager = null;
+            try
+            {
+                participantManager = activityManager.enlistForBusinessAgreementWithParticipantCompletion(restaurantParticipant, new Uid().toString());
+            }
+            catch (Exception e)
+            {
+                restaurantView.addMessage("id:" + transactionId + ". Participant enrolement failed");
+                System.err.println("bookSeats: Participant enlistment failed");
+                e.printStackTrace(System.err);
+                return false;
+            }
+
+            // finish the booking in the backend:
+            restaurantManager.commitSeats(transactionId);
+
+            try
+            {
+                // tell the manager we have finished our work:
+                participantManager.completed();
+            }
+            catch (Exception e)
+            {
+                System.err.println("bookSeats: 'completed' callback failed");
+                e.printStackTrace(System.err);
+                return false;
+            }
+        }
+        else
+        {
+            restaurantView.addMessage("id:" + transactionId + ". Failed to reserve seats. Cancelling.");
+            restaurantManager.cancelSeats(transactionId);
+            restaurantView.updateFields();
+            return false;
+        }
+
+        restaurantView.addMessage("Request complete\n");
+        restaurantView.updateFields();
+
+        return true;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/restaurant/RestaurantView.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,470 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * RestaurantView.java
+ *
+ * Copyright (c) 2003 Arjuna Technologies Ltd.
+ *
+ * $Id: RestaurantView.java,v 1.2 2004/04/21 13:09:18 jhalliday Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.restaurant;
+
+/**
+ * The visual interface (GUI) for the Restaurant Service.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.2 $
+ */
+public class RestaurantView extends javax.swing.JFrame
+{
+    // Note: Some parts of this file were auto-generated
+    // by NetBeans 3.3 FormEditor (http://www.netbeans.org)
+
+    /**
+     * Create a new RestaurantView instance.
+     *
+     * @param rManager The {@link RestaurantManager} instance to bind to
+     */
+    public RestaurantView(RestaurantManager rManager)
+    {
+        restManager = rManager;
+        initComponents();
+        updateFields();
+        backButtonColor = jButtonConfirm.getBackground();
+    }
+
+    /**
+     * Initialize the form.
+     * This is called by the constructor
+     * <p/>
+     * WARNING: Automatically generated code, may be overwritten
+     */
+    private void initComponents()
+    {//GEN-BEGIN:initComponents
+        jPanel2 = new javax.swing.JPanel();
+        jLabel5 = new javax.swing.JLabel();
+        jLabelNBookedSeats = new javax.swing.JLabel();
+        jLabel9 = new javax.swing.JLabel();
+        jLabelNPreparedSeats = new javax.swing.JLabel();
+        jLabel2 = new javax.swing.JLabel();
+        jLabelNConfirmedSeats = new javax.swing.JLabel();
+        jLabel6 = new javax.swing.JLabel();
+        jLabelNFreeSeats = new javax.swing.JLabel();
+        jLabel7 = new javax.swing.JLabel();
+        jButtonResetFields = new javax.swing.JButton();
+        jPanel1 = new javax.swing.JPanel();
+        jLabel8 = new javax.swing.JLabel();
+        jLabel1 = new javax.swing.JLabel();
+        jLabelNTotalSeats = new javax.swing.JLabel();
+        jLabel4 = new javax.swing.JLabel();
+        jLabel3 = new javax.swing.JLabel();
+        jTextFieldNewNTotalSeats = new javax.swing.JTextField();
+        jButtonSetNTotalSeats = new javax.swing.JButton();
+        jPanelLeft = new javax.swing.JPanel();
+        jLabel10 = new javax.swing.JLabel();
+        jLabelDisplayMode = new javax.swing.JLabel();
+        jButtonChangeMode = new javax.swing.JButton();
+        jLabelResponse = new javax.swing.JLabel();
+        jButtonConfirm = new javax.swing.JButton();
+        jButtonCancel = new javax.swing.JButton();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        jTextArea = new javax.swing.JTextArea();
+
+        setTitle("Restaurant Service");
+        setName("restaurantView");
+        addWindowListener(new java.awt.event.WindowAdapter()
+        {
+            public void windowClosing(java.awt.event.WindowEvent evt)
+            {
+                exitForm(evt);
+            }
+        });
+
+        jPanel2.setBorder(new javax.swing.border.LineBorder(java.awt.Color.black));
+        jLabel5.setText("Seats: ");
+        jLabel5.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel2.add(jLabel5);
+
+        jLabelNBookedSeats.setText(Integer.toString(restManager.getNBookedSeats()));
+        jLabelNBookedSeats.setForeground(java.awt.Color.gray);
+        jLabelNBookedSeats.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanel2.add(jLabelNBookedSeats);
+
+        jLabel9.setText("Booked,    ");
+        jPanel2.add(jLabel9);
+
+        jLabelNPreparedSeats.setText(Integer.toString(restManager.getNPreparedSeats()));
+        jLabelNPreparedSeats.setForeground(java.awt.Color.darkGray);
+        jLabelNPreparedSeats.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanel2.add(jLabelNPreparedSeats);
+
+        jLabel2.setText("Prepared,    ");
+        jPanel2.add(jLabel2);
+
+        jLabelNConfirmedSeats.setText(Integer.toString(restManager.getNCommittedSeats()));
+        jLabelNConfirmedSeats.setForeground(new java.awt.Color(0, 51, 204));
+        jLabelNConfirmedSeats.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanel2.add(jLabelNConfirmedSeats);
+
+        jLabel6.setText("Confirmed,    ");
+        jPanel2.add(jLabel6);
+
+        jLabelNFreeSeats.setText(Integer.toString(restManager.getNFreeSeats()));
+        jLabelNFreeSeats.setForeground(new java.awt.Color(0, 153, 0));
+        jLabelNFreeSeats.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanel2.add(jLabelNFreeSeats);
+
+        jLabel7.setText("Free            ");
+        jPanel2.add(jLabel7);
+
+        jButtonResetFields.setText("Reset Fields");
+        jButtonResetFields.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonResetFieldsActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(jButtonResetFields);
+
+        getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
+
+        jPanel1.setBorder(new javax.swing.border.LineBorder(java.awt.Color.black));
+        jLabel8.setText("Restaurant              ");
+        jLabel8.setForeground(java.awt.Color.red);
+        jLabel8.setFont(new java.awt.Font("Dialog", 1, 24));
+        jPanel1.add(jLabel8);
+
+        jLabel1.setText("Capacity:");
+        jLabel1.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel1);
+
+        jLabelNTotalSeats.setText(Integer.toString(restManager.getNTotalSeats()));
+        jLabelNTotalSeats.setForeground(java.awt.Color.darkGray);
+        jLabelNTotalSeats.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanel1.add(jLabelNTotalSeats);
+
+        jLabel4.setText("seats");
+        jLabel4.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel4);
+
+        jLabel3.setText("                   New capacity:");
+        jLabel3.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel3);
+
+        jTextFieldNewNTotalSeats.setFont(new java.awt.Font("Dialog", 0, 18));
+        jTextFieldNewNTotalSeats.setText(Integer.toString(restManager.getNTotalSeats()));
+        jPanel1.add(jTextFieldNewNTotalSeats);
+
+        jButtonSetNTotalSeats.setFont(new java.awt.Font("Dialog", 1, 14));
+        jButtonSetNTotalSeats.setText("Set");
+        jButtonSetNTotalSeats.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonSetNTotalSeatsActionPerformed(evt);
+            }
+        });
+
+        jPanel1.add(jButtonSetNTotalSeats);
+
+        getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
+
+        jPanelLeft.setLayout(new javax.swing.BoxLayout(jPanelLeft, javax.swing.BoxLayout.Y_AXIS));
+
+        jLabel10.setText("Mode:");
+        jPanelLeft.add(jLabel10);
+
+        jLabelDisplayMode.setText("Automatic");
+        jLabelDisplayMode.setForeground(java.awt.Color.blue);
+        jLabelDisplayMode.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanelLeft.add(jLabelDisplayMode);
+
+        jButtonChangeMode.setText("Change mode");
+        jButtonChangeMode.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonChangeMode.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonChangeMode.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonChangeModeActionPerformed(evt);
+            }
+        });
+
+        jPanelLeft.add(jButtonChangeMode);
+
+        jLabelResponse.setText("Response:");
+        jPanelLeft.add(jLabelResponse);
+
+        jButtonConfirm.setText("Confirm");
+        jButtonConfirm.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonConfirm.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonConfirm.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonConfirmActionPerformed(evt);
+            }
+        });
+
+        jPanelLeft.add(jButtonConfirm);
+
+        jButtonCancel.setText("Cancel");
+        jButtonCancel.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonCancel.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonCancel.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonCancelActionPerformed(evt);
+            }
+        });
+
+        jPanelLeft.add(jButtonCancel);
+
+        getContentPane().add(jPanelLeft, java.awt.BorderLayout.WEST);
+
+        jScrollPane1.setAutoscrolls(true);
+        jTextArea.setEditable(false);
+        jTextArea.setRows(10);
+        jTextArea.setMargin(new java.awt.Insets(5, 5, 5, 5));
+        jScrollPane1.setViewportView(jTextArea);
+
+        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
+
+        pack();
+    }//GEN-END:initComponents
+
+    /**
+     * Reset event handler.
+     */
+    private void jButtonResetFieldsActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonResetFieldsActionPerformed
+        restManager.setToDefault();
+        updateFields();
+    }//GEN-LAST:event_jButtonResetFieldsActionPerformed
+
+    /**
+     * Cancel event handler.
+     */
+    private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonCancelActionPerformed
+        if (restManager.getIsPreparationWaiting())
+        {
+            Object preparation = restManager.getPreparation();
+            try
+            {
+                restManager.setCommit(false);
+                synchronized (preparation)
+                {
+                    preparation.notify();
+                }
+            }
+            catch (Exception e)
+            {
+                System.err.println("RestaurantView.jButtonCancelActionPerformed(): Unable to notify preparation.");
+            }
+        }
+    }//GEN-LAST:event_jButtonCancelActionPerformed
+
+    /**
+     * Confirm event handler.
+     */
+    private void jButtonConfirmActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonConfirmActionPerformed
+        if (restManager.getIsPreparationWaiting())
+        {
+            Object preparation = restManager.getPreparation();
+            try
+            {
+                restManager.setCommit(true);
+                synchronized (preparation)
+                {
+                    preparation.notify();
+                }
+            }
+            catch (Exception e)
+            {
+                System.err.println("RestaurantView.jButtonCancelActionPerformed(): Unable to notify preparation.");
+            }
+        }
+    }//GEN-LAST:event_jButtonConfirmActionPerformed
+
+    /**
+     * ChangeMode event handler.
+     */
+    private void jButtonChangeModeActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonChangeModeActionPerformed
+        if (restManager.isAutoCommitMode())
+        {
+            restManager.setAutoCommitMode(false);
+        }
+        else
+        {
+            restManager.setAutoCommitMode(true);
+        }
+        updateFields();
+    }//GEN-LAST:event_jButtonChangeModeActionPerformed
+
+    /**
+     * Capacity change event handler.
+     */
+    private void jButtonSetNTotalSeatsActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonSetNTotalSeatsActionPerformed
+        String strNSeats = jTextFieldNewNTotalSeats.getText();
+
+        restManager.newCapacity(Integer.parseInt(strNSeats));
+        int nFreeSeats = restManager.getNFreeSeats();
+
+        jLabelNTotalSeats.setText(strNSeats);
+        jLabelNFreeSeats.setText(Integer.toString(nFreeSeats));
+    }//GEN-LAST:event_jButtonSetNTotalSeatsActionPerformed
+
+    /**
+     * Exit the application.
+     */
+    private void exitForm(java.awt.event.WindowEvent evt)
+    {//GEN-FIRST:event_exitForm
+        //System.exit(0); // disabled for embedding in application servers.
+    }//GEN-LAST:event_exitForm
+
+    /**
+     * Add regular text to the central jTextArea.
+     *
+     * @param text The String to add
+     */
+    public void addMessage(java.lang.String text)
+    {
+        jButtonConfirm.setBackground(backButtonColor);
+        jButtonCancel.setBackground(backButtonColor);
+        jTextArea.append(text + "\n");
+        jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
+    }
+
+    /**
+     * Add status (highlighted) text to the central jTextArea.
+     *
+     * @param text The String to add
+     */
+    public void addPrepareMessage(java.lang.String text)
+    {
+        jButtonConfirm.setBackground(java.awt.Color.red);
+        jButtonCancel.setBackground(java.awt.Color.red);
+        jTextArea.append(text + "\n");
+        jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
+    }
+
+
+    /**
+     * Synchronise the GUI with the underlying state.
+     */
+    public void updateFields()
+    {
+        jLabelNTotalSeats.setText(Integer.toString(restManager.getNTotalSeats()));
+        jTextFieldNewNTotalSeats.setText(Integer.toString(restManager.getNTotalSeats()));
+        jLabelNPreparedSeats.setText(Integer.toString(restManager.getNPreparedSeats()));
+        jLabelNConfirmedSeats.setText(Integer.toString(restManager.getNCommittedSeats()));
+        jLabelNFreeSeats.setText(Integer.toString(restManager.getNFreeSeats()));
+        jLabelNBookedSeats.setText(Integer.toString(restManager.getNBookedSeats()));
+
+        //update fields related to interactive mode.
+        if (restManager.isAutoCommitMode())
+        {
+            jLabelResponse.setVisible(false);
+            jButtonConfirm.setVisible(false);
+            jButtonCancel.setVisible(false);
+            jLabelDisplayMode.setText("automatic");
+        }
+        else
+        {
+            jLabelResponse.setVisible(true);
+            jButtonConfirm.setVisible(true);
+            jButtonCancel.setVisible(true);
+            jLabelDisplayMode.setText("interactive");
+        }
+    }
+
+    /**
+     * Allow use of a singleton model for web services demo.
+     */
+    public static RestaurantView getSingletonInstance()
+    {
+        if (singletonInstance == null)
+        {
+            singletonInstance = new RestaurantView(RestaurantManager.getSingletonInstance());
+        }
+
+        singletonInstance.show();
+        return singletonInstance;
+    }
+
+    /**
+     * A singleton instance of this class.
+     */
+    private static RestaurantView singletonInstance;
+
+
+    // Variables declaration - automatically generated - do not modify
+
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JLabel jLabel5;
+    private javax.swing.JLabel jLabelNBookedSeats;
+    private javax.swing.JLabel jLabel9;
+    private javax.swing.JLabel jLabelNPreparedSeats;
+    private javax.swing.JLabel jLabel2;
+    private javax.swing.JLabel jLabelNConfirmedSeats;
+    private javax.swing.JLabel jLabel6;
+    private javax.swing.JLabel jLabelNFreeSeats;
+    private javax.swing.JLabel jLabel7;
+    private javax.swing.JButton jButtonResetFields;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel jLabel8;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabelNTotalSeats;
+    private javax.swing.JLabel jLabel4;
+    private javax.swing.JLabel jLabel3;
+    private javax.swing.JTextField jTextFieldNewNTotalSeats;
+    private javax.swing.JButton jButtonSetNTotalSeats;
+    private javax.swing.JPanel jPanelLeft;
+    private javax.swing.JLabel jLabel10;
+    private javax.swing.JLabel jLabelDisplayMode;
+    private javax.swing.JButton jButtonChangeMode;
+    private javax.swing.JLabel jLabelResponse;
+    private javax.swing.JButton jButtonConfirm;
+    private javax.swing.JButton jButtonCancel;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JTextArea jTextArea;
+
+    // End of automatically generated variables declarations
+
+    /**
+     * The  {@link RestaurantManager} instance this view is bound to.
+     */
+    private RestaurantManager restManager;
+
+    /**
+     * The current color of the back button.
+     */
+    private java.awt.Color backButtonColor;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiManager.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,347 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TaxiManager.java
+ *
+ * Copyright (c) 2003 Arjuna Technologies Ltd.
+ *
+ * $Id: TaxiManager.java,v 1.3 2004/04/21 13:09:19 jhalliday Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.taxi;
+
+import java.util.Hashtable;
+
+/**
+ * The transactional application logic for the Taxi Service
+ * <p/>
+ * Stores and manages taxi reservations. Knows nothing about Web Services.
+ * Understands transactional booking lifecycle: unprepared, prepared, finished.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class TaxiManager
+{
+    /**
+     * Create and initialise a new TaxiManager instance.
+     */
+    public TaxiManager()
+    {
+        setToDefault();
+    }
+
+    /**
+     * Book a taxi.
+     *
+     * @param txID The transaction identifier
+     */
+    public void bookTaxi(Object txID)
+    {
+        // locate any pre-existing request for the same transaction
+        Integer request = (Integer) unpreparedTransactions.get(txID);
+        if (request == null)
+        {
+            // this is the first request for this
+            // transaction - setup a record for it
+            request = new Integer(0);
+        }
+
+        // record the request, keyed to its transaction scope
+        unpreparedTransactions.put(txID, new Integer(request.intValue()));
+    }
+
+    /**
+     * Attempt to ensure availability of the requested taxi.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean prepareTaxi(Object txID)
+    {
+        // ensure that we have seen this transaction before
+        Integer request = (Integer) unpreparedTransactions.get(txID);
+        if (request == null)
+        {
+            return false; // error: transaction not registered
+        }
+        else
+        {
+            if (autoCommitMode)
+            {
+                // record the prepared transaction
+                preparedTransactions.put(txID, request);
+                unpreparedTransactions.remove(txID);
+                return true;
+            }
+            else
+            {
+                try
+                {
+                    // wait for a user commit/rollback decision
+                    isPreparationWaiting = true;
+                    synchronized (preparation)
+                    {
+                        preparation.wait();
+                    }
+                    isPreparationWaiting = false;
+                    if (isCommit)
+                    {
+                        // record the prepared transaction
+                        preparedTransactions.put(txID, request);
+                        unpreparedTransactions.remove(txID);
+                        return true;
+                    }
+                    else
+                    {
+                        return false;
+
+                    }
+                }
+                catch (Exception e)
+                {
+                    System.err.println("TaxiManager.prepareTaxi(): Unable to stop preparation.");
+                    return false;
+                }
+            }
+        }
+    }
+
+    /**
+     * Release a booked or prepared taxi.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean cancelTaxi(Object txID)
+    {
+        boolean success = false;
+
+        // the transaction may be prepared, unprepared or unknown
+
+        if (preparedTransactions.containsKey(txID))
+        {
+            // undo the prepare operations
+            preparedTransactions.remove(txID);
+            success = true;
+        }
+        else if (unpreparedTransactions.containsKey(txID))
+        {
+            // undo the booking operations
+            unpreparedTransactions.remove(txID);
+            success = true;
+        }
+        else
+        {
+            success = false; // error: transaction not registered
+        }
+
+        return success;
+    }
+
+    /**
+     * Commit taxi booking.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean commitTaxi(Object txID)
+    {
+        boolean success = false;
+        hasCommitted = true;
+
+        // the transaction may be prepared, unprepared or unknown
+
+        if (preparedTransactions.containsKey(txID))
+        {
+            // complete the prepared transaction
+            preparedTransactions.remove(txID);
+            success = true;
+        }
+        else if (unpreparedTransactions.containsKey(txID))
+        {
+            // use one phase commit optimisation, skipping prepare
+            unpreparedTransactions.remove(txID);
+            success = true;
+        }
+        else
+        {
+            success = false; // error: transaction not registered
+        }
+
+        return success;
+    }
+
+    /**
+     * Determine if a specific transaction is known to the business logic.
+     *
+     * @param txID The uniq id for the transaction
+     * @return true if the business logic is holding state related to the given txID,
+     *         false otherwise.
+     */
+    public boolean knowsAbout(Object txID)
+    {
+        return (unpreparedTransactions.containsKey(txID) || preparedTransactions.containsKey(txID));
+    }
+
+    /**
+     * Determine the autoCommit status of the instance.
+     *
+     * @return true if autoCommit mode is active, false otherwise
+     */
+    public boolean isAutoCommitMode()
+    {
+        return autoCommitMode;
+    }
+
+    /**
+     * Set the autoCommit mode of the instance.
+     *
+     * @param autoCommit true for automatic commit, false for manual commit.
+     */
+    public void setAutoCommitMode(boolean autoCommit)
+    {
+        autoCommitMode = autoCommit;
+    }
+
+    /**
+     * Get the preparation object for manual commit wait/notify.
+     *
+     * @return The preparation object
+     */
+    public Object getPreparation()
+    {
+        return preparation;
+    }
+
+    /**
+     * Determine if the instance is waiting for manual commit/rollback.
+     *
+     * @return true if waiting, false otherwise
+     */
+    public boolean getIsPreparationWaiting()
+    {
+        return isPreparationWaiting;
+    }
+
+    /**
+     * Set the waiting status of the instance.
+     *
+     * @param isWaiting The new value to set
+     */
+    public void setIsPreparationWaiting(boolean isWaiting)
+    {
+        isPreparationWaiting = isWaiting;
+    }
+
+    /**
+     * Set the manual commit status.
+     */
+    public void setCommit(boolean commit)
+    {
+        isCommit = commit;
+    }
+
+    /**
+     * (re-)initialise the instance data structures.
+     */
+    public void setToDefault()
+    {
+        preparedTransactions = new Hashtable();
+        unpreparedTransactions = new Hashtable();
+        autoCommitMode = true;
+        preparation = new Object();
+        isPreparationWaiting = false;
+        isCommit = false;
+        hasCommitted = false;
+    }
+
+    /**
+     * Allow use of a singleton model for web services demo.
+     */
+    public static TaxiManager getSingletonInstance()
+    {
+        if (singletonInstance == null)
+        {
+            singletonInstance = new TaxiManager();
+        }
+
+        return singletonInstance;
+    }
+
+    public boolean hasBeenCommitted()
+    {
+        return hasCommitted;
+    }
+
+    public Hashtable getPreparedTransactions()
+    {
+        return preparedTransactions;
+    }
+
+    public Hashtable getUnpreparedTransactions()
+    {
+        return unpreparedTransactions;
+    }
+
+    /**
+     * A singleton instance of this class.
+     */
+    private static TaxiManager singletonInstance;
+
+    /**
+     * The transactions we know about but which have not been prepared.
+     */
+    private Hashtable unpreparedTransactions;
+
+    /**
+     * The transactions we know about and are prepared to commit.
+     */
+    private Hashtable preparedTransactions;
+
+    /**
+     * The auto commit mode.
+     * <p/>
+     * true = automatically commit, false = manually commit
+     */
+    private boolean autoCommitMode;
+
+    /**
+     * The user specified outcome when in manual commit mode.
+     */
+    private boolean isCommit;
+
+    /**
+     * If the participant has already been commmitted or not.
+     */
+    private boolean hasCommitted = false;
+
+    /**
+     * The object used for wait/notify in manual commit mode.
+     */
+    private Object preparation;
+
+    /**
+     * The waiting status, when in manual commit mode.
+     */
+    private boolean isPreparationWaiting;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,200 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TaxiParticipantAT.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TaxiParticipantAT.java,v 1.3 2005/02/23 09:58:02 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.taxi;
+
+import com.arjuna.wst.*;
+
+/**
+ * An adapter class that exposes the TaxiManager transaction lifecycle
+ * API as a WS-T Atomic Transaction participant.
+ * Also logs events to a TaxiView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class TaxiParticipantAT implements Durable2PCParticipant
+{
+    /**
+     * Participant instances are related to transaction instances
+     * in a one to one manner.
+     *
+     * @param txID uniq id String for the transaction instance.
+     */
+    public TaxiParticipantAT(String txID)
+    {
+        // Binds to the singleton TaxiView and TaxiManager
+        taxiManager = TaxiManager.getSingletonInstance();
+        taxiView = TaxiView.getSingletonInstance();
+        // we need to save the txID for later use when calling
+        // business logic methods in the taxiManger.
+        this.txID = txID;
+    }
+
+    /**
+     * Invokes the prepare step of the business logic,
+     * reporting activity and outcome.
+     *
+     * @return Prepared where possible, Aborted where necessary.
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public Vote prepare() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the prepare operation
+        // on the backend business logic.
+
+        System.out.println("TaxiParticipantAT.prepare");
+
+        taxiView.addPrepareMessage("id:" + txID + ". Prepare called on participant: " + this.getClass().toString());
+
+        boolean success = taxiManager.prepareTaxi(txID);
+
+        // Log the outcome and map the return value from
+        // the business logic to the appropriate Vote type.
+
+        if (success)
+        {
+            taxiView.addMessage("Taxi prepared successfully. Returning 'Prepared'\n");
+            taxiView.updateFields();
+            return new Prepared();
+        }
+        else
+        {
+            taxiManager.cancelTaxi(txID) ;
+            taxiView.addMessage("Prepare failed (not enough Taxis?) Returning 'Aborted'\n");
+            taxiView.updateFields();
+            return new Aborted();
+        }
+    }
+
+    /**
+     * Invokes the commit step of the business logic,
+     * reporting activity and outcome.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commit() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the commit operation
+        // on the backend business logic.
+
+        System.out.println("TaxiParticipantAT.commit");
+
+        taxiView.addMessage("id:" + txID + ". Commit called on participant: " + this.getClass().toString());
+
+        boolean success = taxiManager.commitTaxi(txID);
+
+        // Log the outcome
+
+        if (success)
+        {
+            taxiView.addMessage("Taxi committed\n");
+        }
+        else
+        {
+            taxiView.addMessage("Something went wrong (Transaction not registered?)\n");
+        }
+
+        taxiView.updateFields();
+    }
+
+    /**
+     * Invokes the rollback operation on the business logic,
+     * reporting activity and outcome.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void rollback() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the rollback operation
+        // on the backend business logic.
+
+        System.out.println("TaxiParticipantAT.rollback");
+
+        taxiView.addMessage("id:" + txID + ". Rollback called on participant: " + this.getClass().toString());
+
+        boolean success = taxiManager.cancelTaxi(txID);
+
+        // Log the outcome
+
+        if (success)
+        {
+            taxiView.addMessage("Taxi booking cancelled\n");
+        }
+        else
+        {
+            taxiView.addMessage("Something went wrong (Transaction not registered?)\n");
+        }
+
+        taxiView.updateFields();
+    }
+
+    /**
+     * Shortcut method which combines the prepare
+     * and commit steps in a single operation.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commitOnePhase() throws WrongStateException, SystemException
+    {
+        prepare();
+        commit();
+    }
+
+    public void unknown() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    public void error() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * Id for the transaction which this participant instance relates to.
+     * Set by the service (via contrtuctor) at enrolment time, this value
+     * is passed to the backend business logic methods.
+     */
+    protected String txID;
+
+    /**
+     * The TaxiView object to log events through.
+     */
+    protected static TaxiView taxiView;
+
+    /**
+     * The TaxiManager to perform business logic operations on.
+     */
+    protected static TaxiManager taxiManager;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiParticipantBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,154 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TaxiParticipantBA.java
+ *
+ * Copyright (c) 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TaxiParticipantBA.java,v 1.2 2004/09/09 15:18:11 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.taxi;
+
+import com.arjuna.wst.*;
+
+/**
+ * An adapter class that exposes the TaxiManager transaction lifecycle
+ * API as a WS-T Business Activity participant.
+ * Also logs events to a TaxiView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.2 $
+ */
+public class TaxiParticipantBA implements BusinessAgreementWithParticipantCompletionParticipant
+{
+    /**
+     * Participant instances are related to business method calls
+     * in a one to one manner.
+     *
+     * @param txID uniq id String for the transaction instance.
+     */
+    public TaxiParticipantBA(String txID)
+    {
+        // Binds to the singleton TaxiView and TaxiManager
+        taxiManager = TaxiManager.getSingletonInstance();
+        taxiView = TaxiView.getSingletonInstance();
+        // we need to save the txID for later use when logging.
+        this.txID = txID;
+    }
+
+    /**
+     * The transaction has completed successfully. The participant previously
+     * informed the coordinator that it was ready to complete.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException never in this implementation.
+     */
+
+    public void close() throws WrongStateException, SystemException
+    {
+        // for logging only. This impl does not do anything else here.
+
+        System.out.println("TaxiParticipantBA.close");
+
+        taxiView.addMessage("id:" + txID + ". Close called on participant: " + this.getClass());
+        taxiView.updateFields();
+    }
+
+    /**
+     * The transaction has cancelled, and the participant should undo any work.
+     * The participant cannot have informed the coordinator that it has
+     * completed.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException never in this implementation.
+     */
+
+    public void cancel() throws WrongStateException, SystemException
+    {
+        // we will always have called completed or error, so this can be a null op.
+
+        System.out.println("TaxiParticipantBA.cancel");
+
+        taxiView.addMessage("id:" + txID + ". Cancel called on participant: " + this.getClass().toString());
+        taxiView.updateFields();
+    }
+
+    /**
+     * The transaction has cancelled. The participant previously
+     * informed the coordinator that it had finished work but could compensate
+     * later if required, so it is now requested to do so.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException always, because this implementation does not support compensation.
+     */
+
+     public void compensate () throws FaultedException, WrongStateException, SystemException
+     {
+        System.out.println("TaxiParticipantBA.compensate");
+
+        // This impl does not support compensation, in order
+        // to allow illustration of heuristic outcomes.
+        // It just log the event and throws an exception.
+
+        taxiView.addMessage("id:" + txID + ". Compensate called on participant: " + this.getClass().toString());
+
+        taxiView.addMessage("Compensation not supported by ths implementation!");
+        taxiView.updateFields();
+
+        // throwing SystemException causes it to be retried
+        // throw new SystemException("Compensation not supported!");
+        throw new FaultedException("Compensation not supported!");
+    }
+
+    public String status () throws SystemException
+    {
+        return Status.STATUS_ACTIVE;
+    }
+
+    public void unknown() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    public void error() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * Id for the transaction which this participant instance relates to.
+     * Set by the service (via contrtuctor) at enrolment time, this value
+     * is used in informational log messages.
+     */
+    protected String txID;
+
+    /**
+     * The TaxiView object to log events through.
+     */
+    protected static TaxiView taxiView;
+
+    /**
+     * The TaxiManager to perform business logic operations on.
+     */
+    protected static TaxiManager taxiManager;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TaxiServiceAT.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TaxiServiceAT.java,v 1.3 2004/12/01 16:27:01 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.taxi;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.jboss.jbosstm.xts.demo.taxi.ITaxiServiceAT;
+
+import javax.jws.WebService;
+import javax.jws.HandlerChain;
+import javax.jws.WebMethod;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * An adapter class that exposes the TaxiManager business API as a
+ * transactional Web Service. Also logs events to a TaxiView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+ at WebService(serviceName="TaxiServiceATService", portName="TaxiServiceAT",
+        name = "ITaxiServiceAT", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Taxi",
+        wsdlLocation = "/WEB-INF/wsdl/TaxiServiceAT.wsdl")
+ at HandlerChain(file = "../context-handlers.xml", name = "Context Handlers")
+ at SOAPBinding(style=SOAPBinding.Style.RPC)
+public class TaxiServiceAT implements ITaxiServiceAT
+{
+    /**
+     * Book a taxi
+     * Enrols a Participant if necessary, then passes
+     * the call through to the business logic.
+     */
+    @WebMethod
+    public void bookTaxi()
+    {
+        TaxiView taxiView = TaxiView.getSingletonInstance();
+        TaxiManager taxiManager = TaxiManager.getSingletonInstance();
+
+        String transactionId = null;
+        try
+        {
+            // get the transaction context of this thread:
+            transactionId = UserTransactionFactory.userTransaction().toString();
+            System.out.println("TaxiServiceAT transaction id =" + transactionId);
+
+            if (!taxiManager.knowsAbout(transactionId))
+            {
+                System.out.println("TaxiServiceAT - enrolling...");
+                // enlist the Participant for this service:
+                TaxiParticipantAT taxiParticipant = new TaxiParticipantAT(transactionId);
+                TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(taxiParticipant, new Uid().toString());
+            }
+        }
+        catch (Exception e)
+        {
+            System.err.println("bookTaxi: Participant enrolment failed");
+            e.printStackTrace(System.err);
+            return;
+        }
+
+        taxiView.addMessage("******************************");
+
+        taxiView.addMessage("id:" + transactionId.toString() + ". Received a taxi booking request");
+
+        TaxiManager.getSingletonInstance().bookTaxi(transactionId);
+
+        taxiView.addMessage("Request complete\n");
+        taxiView.updateFields();
+    }
+}
+
+
+
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiServiceBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TaxiServiceBA.java
+ *
+ * Copyright (c) 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TaxiServiceBA.java,v 1.5 2004/12/01 16:27:01 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.taxi;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.BusinessActivityManagerFactory;
+import com.arjuna.mw.wst.BusinessActivityManager;
+import com.arjuna.wst.BAParticipantManager;
+import com.arjuna.wst.SystemException;
+import com.jboss.jbosstm.xts.demo.taxi.ITaxiServiceBA;
+
+import javax.jws.HandlerChain;
+import javax.jws.WebMethod;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * An adapter class that exposes the TaxiManager business API as a
+ * transactional Web Service. Also logs events to a TaxiView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.5 $
+ */
+ at WebService(serviceName="TaxiServiceBAService", portName="TaxiServiceBA",
+        name = "ITaxiServiceBA", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Taxi",
+        wsdlLocation = "/WEB-INF/wsdl/TaxiServiceBA.wsdl")
+ at HandlerChain(file = "../context-handlers.xml", name = "Context Handlers")
+ at SOAPBinding(style=SOAPBinding.Style.RPC)
+public class TaxiServiceBA implements ITaxiServiceBA
+{
+    /**
+     * Book a taxi
+     * Enrols a Participant if necessary and passes
+     * the call through to the business logic.
+     *
+     * @return true on success, false otherwise.
+     */
+    @WebMethod
+    @WebResult(name = "bookTaxiBAResponse", partName = "bookTaxiBAResponse")
+    public boolean bookTaxi()
+    {
+        TaxiView taxiView = TaxiView.getSingletonInstance();
+        TaxiManager taxiManager = TaxiManager.getSingletonInstance();
+
+        BusinessActivityManager activityManager = BusinessActivityManagerFactory.businessActivityManager();
+
+        // get the transaction context of this thread:
+        String transactionId = null;
+        try
+        {
+            transactionId = activityManager.currentTransaction().toString();
+        }
+        catch (SystemException e)
+        {
+            System.err.println("bookTaxi: unable to obtain a transaction context!");
+            e.printStackTrace(System.err);
+            return false;
+        }
+
+        // log the event:
+        System.out.println("TaxiServiceBA transaction id =" + transactionId);
+
+        taxiView.addMessage("******************************");
+
+        taxiView.addPrepareMessage("id:" + transactionId.toString() + ". Received a taxi booking request");
+        taxiView.updateFields();
+
+        // invoke the backend business logic:
+        taxiManager.bookTaxi(transactionId);
+
+        // attempt to finalise the booking
+        if (taxiManager.prepareTaxi(transactionId))
+        {
+            taxiView.addMessage("id:" + transactionId + ". Seats prepared, trying to commit and enlist compensation Participant");
+            taxiView.updateFields();
+
+            // it worked, so now we need a participant enlisted in case of compensation:
+            TaxiParticipantBA taxiParticipant = new TaxiParticipantBA(transactionId);
+            // enlist the Participant for this service:
+            BAParticipantManager participantManager = null;
+            try
+            {
+                participantManager = activityManager.enlistForBusinessAgreementWithParticipantCompletion(taxiParticipant, new Uid().toString());
+            }
+            catch (Exception e)
+            {
+                taxiView.addMessage("id:" + transactionId + ". Participant enrolement failed");
+                System.err.println("bookTaxi: Participant enrolment failed");
+                e.printStackTrace(System.err);
+                return false;
+            }
+
+            // finish the booking in the backend:
+            taxiManager.commitTaxi(transactionId);
+
+            try
+            {
+                // tell the manager we have finished our work:
+                participantManager.completed();
+            }
+            catch (Exception e)
+            {
+                System.err.println("bookTaxi: 'completed' callback failed");
+                e.printStackTrace(System.err);
+                return false;
+            }
+        }
+        else
+        {
+            taxiView.addMessage("id:" + transactionId + ". Failed to reserve taxi. Cancelling.");
+            taxiManager.cancelTaxi(transactionId);
+            taxiView.updateFields();
+            return false;
+        }
+
+        taxiView.addMessage("Request complete\n");
+        taxiView.updateFields();
+
+        return true;
+    }
+}
+
+
+
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/taxi/TaxiView.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,320 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TaxiView.java
+ *
+ * Copyright (c) 2003 Arjuna Technologies Ltd.
+ *
+ * $Id: TaxiView.java,v 1.2 2004/04/21 13:09:20 jhalliday Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.taxi;
+
+/**
+ * The visual interface (GUI) for the Taxi Service.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.2 $
+ */
+public class TaxiView extends javax.swing.JFrame
+{
+    // Note: Some parts of this file were auto-generated
+    // by NetBeans 3.3 FormEditor (http://www.netbeans.org)
+
+    /**
+     * Create a new TaxiView instance.
+     *
+     * @param tManager The {@link TaxiManager} instance to bind to
+     */
+    public TaxiView(TaxiManager tManager)
+    {
+        taxiManager = tManager;
+        initComponents();
+        updateFields();
+        backButtonColor = jButtonConfirm.getBackground();
+    }
+
+    /**
+     * Initialize the form.
+     * This is called by the constructor
+     *
+     * WARNING: Automatically generated code, may be overwritten
+     */
+    private void initComponents()
+    {//GEN-BEGIN:initComponents
+        jPanel2 = new javax.swing.JPanel();
+        jLabel10 = new javax.swing.JLabel();
+        jButtonChangeDefaultAnswer = new javax.swing.JButton();
+        jLabelDefaultAnswer = new javax.swing.JLabel();
+        jPanel3 = new javax.swing.JPanel();
+        jLabel15 = new javax.swing.JLabel();
+        jLabelDisplayMode = new javax.swing.JLabel();
+        jButtonChangeMode = new javax.swing.JButton();
+        jLabelResponse = new javax.swing.JLabel();
+        jButtonConfirm = new javax.swing.JButton();
+        jButtonCancel = new javax.swing.JButton();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        jTextArea = new javax.swing.JTextArea();
+
+        setTitle("Taxi Service");
+        addWindowListener(new java.awt.event.WindowAdapter()
+        {
+            public void windowClosing(java.awt.event.WindowEvent evt)
+            {
+                exitForm(evt);
+            }
+        });
+
+        jPanel2.setBorder(new javax.swing.border.LineBorder(java.awt.Color.black));
+        jLabel10.setText("Taxi                                                                    ");
+        jLabel10.setForeground(java.awt.Color.red);
+        jLabel10.setFont(new java.awt.Font("Dialog", 1, 24));
+        jPanel2.add(jLabel10);
+
+        getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH);
+
+        jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.Y_AXIS));
+
+        jLabel15.setText("Mode:");
+        jPanel3.add(jLabel15);
+
+        jLabelDisplayMode.setText("Automatic");
+        jLabelDisplayMode.setForeground(java.awt.Color.blue);
+        jLabelDisplayMode.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanel3.add(jLabelDisplayMode);
+
+        jButtonChangeMode.setText("Change mode");
+        jButtonChangeMode.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonChangeMode.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonChangeMode.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonChangeModeActionPerformed(evt);
+            }
+        });
+
+        jPanel3.add(jButtonChangeMode);
+
+        jLabelResponse.setText("Response:");
+        jPanel3.add(jLabelResponse);
+
+        jButtonConfirm.setText("Confirm");
+        jButtonConfirm.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonConfirm.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonConfirm.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonConfirmActionPerformed(evt);
+            }
+        });
+
+        jPanel3.add(jButtonConfirm);
+
+        jButtonCancel.setText("Cancel");
+        jButtonCancel.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonCancel.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonCancel.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonCancelActionPerformed(evt);
+            }
+        });
+
+        jPanel3.add(jButtonCancel);
+
+        getContentPane().add(jPanel3, java.awt.BorderLayout.WEST);
+
+        jScrollPane1.setAutoscrolls(true);
+        jTextArea.setEditable(false);
+        jTextArea.setRows(10);
+        jTextArea.setMargin(new java.awt.Insets(5, 5, 5, 5));
+        jScrollPane1.setViewportView(jTextArea);
+
+        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
+
+        pack();
+    }//GEN-END:initComponents
+
+    /**
+     * Cancel event handler.
+     */
+    private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonCancelActionPerformed
+        if (taxiManager.getIsPreparationWaiting())
+        {
+            Object preparation = taxiManager.getPreparation();
+            try
+            {
+                taxiManager.setCommit(false);
+                synchronized (preparation)
+                {
+                    preparation.notify();
+                }
+            }
+            catch (Exception e)
+            {
+                System.err.println("TaxiView.jButtonCancelActionPerformed(): Unable to notify preparation.");
+            }
+        }
+    }//GEN-LAST:event_jButtonCancelActionPerformed
+
+    /**
+     * Confirm event handler.
+     */
+    private void jButtonConfirmActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonConfirmActionPerformed
+        if (taxiManager.getIsPreparationWaiting())
+        {
+            Object preparation = taxiManager.getPreparation();
+            try
+            {
+                taxiManager.setCommit(true);
+                synchronized (preparation)
+                {
+                    preparation.notify();
+                }
+            }
+            catch (Exception e)
+            {
+                System.err.println("TaxiView.jButtonCancelActionPerformed(): Unable to notify preparation.");
+            }
+        }
+    }//GEN-LAST:event_jButtonConfirmActionPerformed
+
+    /**
+     * ChangeMode event handler.
+     */
+    private void jButtonChangeModeActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonChangeModeActionPerformed
+        if (taxiManager.isAutoCommitMode())
+        {
+            taxiManager.setAutoCommitMode(false);
+        }
+        else
+        {
+            taxiManager.setAutoCommitMode(true);
+        }
+        updateFields();
+    }//GEN-LAST:event_jButtonChangeModeActionPerformed
+
+    /**
+     * Exit the application.
+     */
+    private void exitForm(java.awt.event.WindowEvent evt)
+    {//GEN-FIRST:event_exitForm
+        //System.exit(0); // disabled for embedding in application servers.
+    }//GEN-LAST:event_exitForm
+
+    /**
+     * Add status (highlighted) text to the central jTextArea.
+     *
+     * @param text The String to add
+     */
+    public void addMessage(java.lang.String text)
+    {
+        jButtonConfirm.setBackground(backButtonColor);
+        jButtonCancel.setBackground(backButtonColor);
+        jTextArea.append(text + "\n");
+        jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
+    }
+
+    /**
+     * Add status (highlighted) text to the central jTextArea.
+     *
+     * @param text The String to add
+     */
+    public void addPrepareMessage(java.lang.String text)
+    {
+        jButtonConfirm.setBackground(java.awt.Color.red);
+        jButtonCancel.setBackground(java.awt.Color.red);
+        jTextArea.append(text + "\n");
+        jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
+    }
+
+    /**
+     * Synchronise the GUI with the underlying state.
+     */
+    public void updateFields()
+    {
+        //update fields related to interactive mode.
+        if (taxiManager.isAutoCommitMode())
+        {
+            jLabelResponse.setVisible(false);
+            jButtonConfirm.setVisible(false);
+            jButtonCancel.setVisible(false);
+            jLabelDisplayMode.setText("automatic");
+        }
+        else
+        {
+            jLabelResponse.setVisible(true);
+            jButtonConfirm.setVisible(true);
+            jButtonCancel.setVisible(true);
+            jLabelDisplayMode.setText("interactive");
+        }
+    }
+
+    /**
+     * Allow use of a singleton model for web services demo.
+     */
+    public static TaxiView getSingletonInstance()
+    {
+        if (singletonInstance == null)
+        {
+            singletonInstance = new TaxiView(TaxiManager.getSingletonInstance());
+        }
+        singletonInstance.show();
+        return singletonInstance;
+    }
+
+    /**
+     * A singleton instance of this class.
+     */
+    private static TaxiView singletonInstance;
+
+    // Variables declaration - automatically generated - do not modify
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JLabel jLabel10;
+    private javax.swing.JButton jButtonChangeDefaultAnswer;
+    private javax.swing.JLabel jLabelDefaultAnswer;
+    private javax.swing.JPanel jPanel3;
+    private javax.swing.JLabel jLabel15;
+    private javax.swing.JLabel jLabelDisplayMode;
+    private javax.swing.JButton jButtonChangeMode;
+    private javax.swing.JLabel jLabelResponse;
+    private javax.swing.JButton jButtonConfirm;
+    private javax.swing.JButton jButtonCancel;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JTextArea jTextArea;
+
+    // End of automatically generated variables declarations
+    /**
+     * The  {@link TaxiManager} instance this view is bound to.
+     */
+    private TaxiManager taxiManager;
+    /**
+     * The current color of the back button.
+     */
+    private java.awt.Color backButtonColor;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreManager.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,529 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TheatreManager.java
+ *
+ * Copyright (c) 2003 Arjuna Technologies Ltd.
+ *
+ * $Id: TheatreManager.java,v 1.4 2004/04/21 13:09:20 jhalliday Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.theatre;
+
+import java.util.Hashtable;
+
+/**
+ * The transactional application logic for the Theatre Service.
+ * <p/>
+ * Stores and manages seating reservations. Knows nothing about Web Services.
+ * Understands transactional booking lifecycle: unprepared, prepared, finished.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.4 $
+ */
+public class TheatreManager
+{
+    /**
+     * Create and initialise a new TheatreManager instance.
+     */
+    public TheatreManager()
+    {
+        setToDefault();
+    }
+
+    /**
+     * Book a number of seats in a specific area of the theatre.
+     *
+     * @param txID   The transaction identifier
+     * @param nSeats The number of seats requested
+     * @param area   The type of seating requested
+     */
+    public void bookSeats(Object txID, int nSeats, int area)
+    {
+        // locate any pre-existing request for the same transaction
+        Integer[] requests = (Integer[]) unpreparedTransactions.get(txID);
+        if (requests == null)
+        {
+            // this is the first request for this transaction
+            // setup the data structure to record it
+            requests = new Integer[NUM_SEAT_AREAS];
+            for (int i = 0; i < NUM_SEAT_AREAS; i++)
+            {
+                requests[i] = new Integer(0);
+            }
+        }
+
+        // record the request, keyed to its transaction scope
+        requests[area] = new Integer(requests[area].intValue() + nSeats);
+        unpreparedTransactions.put(txID, requests);
+
+        // record the increased commitment to provide seating
+        nBookedSeats[area] += nSeats;
+    }
+
+    /**
+     * Attempt to ensure availability of the requested seating.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean prepareSeats(Object txID)
+    {
+        int[] nSeats = new int[NUM_SEAT_AREAS];
+
+        // ensure that we have seen this transaction before
+        Integer[] requests = (Integer[]) unpreparedTransactions.get(txID);
+        if (requests == null)
+        {
+            return false; // error: transaction not registered
+        }
+        else
+        {
+            // determine the number of seats available
+            for (int i = 0; i < NUM_SEAT_AREAS; i++)
+            {
+                nSeats[i] = nFreeSeats[i];
+                nSeats[i] -= requests[i].intValue();
+            }
+            if (autoCommitMode)
+            {
+                boolean success = true;
+                // check we have enough seats avaiable
+                for (int i = 0; i < NUM_SEAT_AREAS; i++)
+                {
+                    if (nSeats[i] < 0)
+                    {
+                        success = false; // error: not enough seats
+                    }
+                }
+                if (success)
+                {
+                    // record the prepared transaction
+                    preparedTransactions.put(txID, requests);
+                    unpreparedTransactions.remove(txID);
+                    // mark the prepared seats as unavailable
+                    for (int i = 0; i < NUM_SEAT_AREAS; i++)
+                    {
+                        nFreeSeats[i] = nSeats[i];
+                        nPreparedSeats[i] += requests[i].intValue();
+                    }
+                }
+                return success;
+            }
+            else
+            {
+                try
+                {
+                    // wait for a user commit/rollback decision
+                    isPreparationWaiting = true;
+                    synchronized (preparation)
+                    {
+                        preparation.wait();
+                    }
+                    isPreparationWaiting = false;
+
+                    // process the user decision
+                    if (isCommit)
+                    {
+                        // record the prepared transaction
+                        preparedTransactions.put(txID, requests);
+                        unpreparedTransactions.remove(txID);
+                        // mark the prepared seats as unavailable
+                        for (int i = 0; i < NUM_SEAT_AREAS; i++)
+                        {
+                            nFreeSeats[i] = nSeats[i];
+                            nPreparedSeats[i] += requests[i].intValue();
+                        }
+                        return true;
+                    }
+                    else
+                    {
+                        return false;
+                    }
+                }
+                catch (Exception e)
+                {
+                    System.err.println("TheatreManager.prepareSeats(): Unable to stop preparation.");
+                    return false;
+                }
+            }
+        }
+    }
+
+    /**
+     * Release booked or prepared seats.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean cancelSeats(Object txID)
+    {
+        boolean success = false;
+
+        // the transaction may be prepared, unprepared or unknown
+
+        if (preparedTransactions.containsKey(txID))
+        {
+            // undo the prepare operations
+            Integer[] requests = (Integer[]) preparedTransactions.remove(txID);
+            for (int i = 0; i < NUM_SEAT_AREAS; i++)
+            {
+                nFreeSeats[i] += requests[i].intValue();
+                nPreparedSeats[i] -= requests[i].intValue();
+                nBookedSeats[i] -= requests[i].intValue();
+            }
+            success = true;
+        }
+        else if (unpreparedTransactions.containsKey(txID))
+        {
+            // undo the booking operations
+            Integer[] requests = (Integer[]) unpreparedTransactions.remove(txID);
+            for (int i = 0; i < NUM_SEAT_AREAS; i++)
+            {
+                nBookedSeats[i] -= requests[i].intValue();
+            }
+            success = true;
+        }
+        else
+        {
+            success = false; // error: transaction not registered
+        }
+
+        return success;
+    }
+
+    /**
+     * Commit seat bookings.
+     *
+     * @param txID The transaction identifier
+     * @return true on success, false otherwise
+     */
+    public boolean commitSeats(Object txID)
+    {
+        boolean success = false;
+
+        // the transaction may be prepared, unprepared or unknown
+
+        if (preparedTransactions.containsKey(txID))
+        {
+
+            // complete the prepared transaction
+            Integer[] requests = (Integer[]) preparedTransactions.remove(txID);
+            for (int i = 0; i < NUM_SEAT_AREAS; i++)
+            {
+                nCommittedSeats[i] += requests[i].intValue();
+                nPreparedSeats[i] -= requests[i].intValue();
+                nBookedSeats[i] -= requests[i].intValue();
+            }
+            success = true;
+        }
+        else if (unpreparedTransactions.containsKey(txID))
+        {
+            // use one phase commit optimisation, skipping prepare
+            Integer[] requests = (Integer[]) unpreparedTransactions.remove(txID);
+            for (int i = 0; i < NUM_SEAT_AREAS; i++)
+            {
+                nCommittedSeats[i] += requests[i].intValue();
+                nFreeSeats[i] -= requests[i].intValue();
+                nBookedSeats[i] -= requests[i].intValue();
+            }
+            success = true;
+        }
+        else
+        {
+            success = false; // error: transaction not registered
+        }
+
+        return success;
+    }
+
+    /**
+     * Determine if a specific transaction is known to the business logic.
+     *
+     * @param txID The uniq id for the transaction
+     * @return true if the business logic is holding state related to the given txID,
+     *         false otherwise.
+     */
+    public boolean knowsAbout(Object txID)
+    {
+        return (unpreparedTransactions.containsKey(txID) || preparedTransactions.containsKey(txID));
+    }
+
+    /**
+     * Change the capacity of a given seating area.
+     *
+     * @param area   The seating area to change
+     * @param nSeats The new capacity for the area
+     */
+    public void newCapacity(int area, int nSeats)
+    {
+        nFreeSeats[area] += nSeats - nTotalSeats[area];
+        nTotalSeats[area] = nSeats;
+    }
+
+    /**
+     * Get the number of free seats in the given area.
+     *
+     * @param area The area of interest
+     * @return The number of free seats
+     */
+    public int getNFreeSeats(int area)
+    {
+        return nFreeSeats[area];
+    }
+
+    /**
+     * Get the total number of seats in the given area.
+     *
+     * @param area The area of interest
+     * @return The total number of seats
+     */
+    public int getNTotalSeats(int area)
+    {
+        return nTotalSeats[area];
+    }
+
+    /**
+     * Get the number of booked seats in the given area.
+     *
+     * @param area The area of interest
+     * @return The number of booked seats
+     */
+    public int getNBookedSeats(int area)
+    {
+        return nBookedSeats[area];
+    }
+
+    /**
+     * Get the number of prepared seats in the given area.
+     *
+     * @param area The area of interest
+     * @return The number of prepared seats
+     */
+    public int getNPreparedSeats(int area)
+    {
+        return nPreparedSeats[area];
+    }
+
+    /**
+     * Get the number of committed seats in the given area.
+     *
+     * @param area The area of interest
+     * @return The number of committed seats
+     */
+    public int getNCommittedSeats(int area)
+    {
+        return nCommittedSeats[area];
+    }
+
+    /**
+     * Determine the autoCommit status of the instance.
+     *
+     * @return true if autoCommit mode is active, false otherwise
+     */
+    public boolean isAutoCommitMode()
+    {
+        return autoCommitMode;
+    }
+
+    /**
+     * Set the autoCommit mode of the instance.
+     *
+     * @param autoCommit true for automatic commit, false for manual commit.
+     */
+    public void setAutoCommitMode(boolean autoCommit)
+    {
+        autoCommitMode = autoCommit;
+    }
+
+    /**
+     * Get the preparation object for manual commit wait/notify.
+     *
+     * @return The preparation object
+     */
+    public Object getPreparation()
+    {
+        return preparation;
+    }
+
+    /**
+     * Determine if the instance is waiting for manual commit/rollback.
+     *
+     * @return true if waiting, false otherwise
+     */
+    public boolean getIsPreparationWaiting()
+    {
+        return isPreparationWaiting;
+    }
+
+    /**
+     * Set the waiting status of the instance.
+     *
+     * @param isWaiting The new value to set
+     */
+    public void setIsPreparationWaiting(boolean isWaiting)
+    {
+        isPreparationWaiting = isWaiting;
+    }
+
+    /**
+     * Set the manual commit status.
+     */
+    public void setCommit(boolean commit)
+    {
+        isCommit = commit;
+    }
+
+    /**
+     * (re-)initialise the instance data structures.
+     */
+    public void setToDefault()
+    {
+        nTotalSeats = new int[NUM_SEAT_AREAS];
+        nFreeSeats = new int[NUM_SEAT_AREAS];
+        nBookedSeats = new int[NUM_SEAT_AREAS];
+        nPreparedSeats = new int[NUM_SEAT_AREAS];
+        nCommittedSeats = new int[NUM_SEAT_AREAS];
+        for (int i = 0; i < NUM_SEAT_AREAS; i++)
+        {
+            nTotalSeats[i] = DEFAULT_SEATING_CAPACITY;
+            nFreeSeats[i] = nTotalSeats[i];
+            nBookedSeats[i] = 0;
+            nPreparedSeats[i] = 0;
+            nCommittedSeats[i] = 0;
+        }
+        preparedTransactions = new Hashtable();
+        unpreparedTransactions = new Hashtable();
+        autoCommitMode = true;
+        preparation = new Object();
+        isPreparationWaiting = false;
+        isCommit = true;
+    }
+
+    /**
+     * Allow use of a singleton model for web services demo.
+     */
+    public static TheatreManager getSingletonInstance()
+    {
+        if (singletonInstance == null)
+        {
+            singletonInstance = new TheatreManager();
+        }
+
+        return singletonInstance;
+    }
+
+    /**
+     * A singleton instance of this class.
+     */
+    private static TheatreManager singletonInstance;
+
+    /*
+     * The following arrays are indexed by seating type.
+     *
+     * nTotalSeats = ( nFreeSeats + nBookedSeats + nPreparedSeats )
+     */
+
+    /**
+     * The total seating capacity of each area.
+     */
+    private int[] nTotalSeats;
+
+    /**
+     * The number of free seats in each area.
+     */
+    private int[] nFreeSeats;
+
+    /**
+     * The number of booked seats in each area.
+     * <p/>
+     * Note: This may exceed the total size of the area
+     */
+    private int[] nBookedSeats;
+
+    /**
+     * The number of prepared (promised) seats in each area.
+     */
+    private int[] nPreparedSeats;
+
+    /**
+     * The number of committed seats in each area.
+     */
+    private int[] nCommittedSeats;
+
+    /**
+     * The auto commit mode.
+     * <p/>
+     * true = automatically commit, false = manually commit
+     */
+    private boolean autoCommitMode;
+
+    /**
+     * The object used for wait/notify in manual commit mode.
+     */
+    private Object preparation;
+
+    /**
+     * The waiting status, when in manual commit mode.
+     */
+    private boolean isPreparationWaiting;
+
+    /**
+     * The user specified outcome when in manual commit mode.
+     */
+    private boolean isCommit;
+
+    /**
+     * The transactions we know about but which have not been prepared.
+     */
+    private Hashtable unpreparedTransactions;
+
+    /**
+     * The transactions we know about and are prepared to commit.
+     */
+    private Hashtable preparedTransactions;
+
+    /**
+     * Constant (array index) used for the seating area CIRCLE.
+     */
+    public static final int CIRCLE = 0;
+
+    /**
+     * Constant (array index) used for the seating area STALLS.
+     */
+    public static final int STALLS = 1;
+
+    /**
+     * Constant (array index) used for the seating area BALCONY.
+     */
+    public static final int BALCONY = 2;
+
+    /**
+     * The total number (array size) of seating areas.
+     */
+    public static final int NUM_SEAT_AREAS = 3;
+
+    /**
+     * The default initial capacity of each seating area.
+     */
+    public static final int DEFAULT_SEATING_CAPACITY = 100;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,201 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TheatreParticipantAT.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TheatreParticipantAT.java,v 1.3 2005/02/23 09:58:02 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.theatre;
+
+import com.arjuna.wst.*;
+
+/**
+ * An adapter class that exposes the TheatreManager transaction lifecycle
+ * API as a WS-T Atomic Transaction participant.
+ * Also logs events to a TheatreView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class TheatreParticipantAT implements Durable2PCParticipant
+{
+    /**
+     * Participant instances are related to transaction instances
+     * in a one to one manner.
+     *
+     * @param txID uniq id String for the transaction instance.
+     */
+    public TheatreParticipantAT(String txID)
+    {
+        // Binds to the singleton TheatreView and TheatreManager
+        theatreManager = TheatreManager.getSingletonInstance();
+        theatreView = TheatreView.getSingletonInstance();
+        // we need to save the txID for later use when calling
+        // business logic methods in the theatreManger.
+        this.txID = txID;
+    }
+
+    /**
+     * Invokes the prepare step of the business logic,
+     * reporting activity and outcome.
+     *
+     * @return trus on success, false otherwise.
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public Vote prepare() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the prepare operation
+        // on the backend business logic.
+
+        System.out.println("TheatreParticipantAT.prepare");
+
+        theatreView.addPrepareMessage("id:" + txID + ". Prepare called on participant: " + this.getClass().toString());
+
+        boolean success = theatreManager.prepareSeats(txID);
+
+        // Log the outcome and map the return value from
+        // the business logic to the appropriate Vote type.
+
+
+        if (success)
+        {
+            theatreView.addMessage("Theatre prepared successfully. Returning 'Prepared'\n");
+            theatreView.updateFields();
+            return new Prepared();
+        }
+        else
+        {
+            theatreManager.cancelSeats(txID) ;
+            theatreView.addMessage("Prepare failed (not enough seats?) Returning 'Aborted'\n");
+            theatreView.updateFields();
+            return new Aborted();
+        }
+    }
+
+    /**
+     * Invokes the commit step of the business logic,
+     * reporting activity and outcome.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commit() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the commit operation
+        // on the backend business logic.
+
+        System.out.println("TheatreParticipantAT.commit");
+
+        theatreView.addMessage("id:" + txID + ". Commit called on participant: " + this.getClass().toString());
+
+        boolean success = theatreManager.commitSeats(txID);
+
+        // Log the outcome
+
+        if (success)
+        {
+            theatreView.addMessage("Theatre tickets committed\n");
+        }
+        else
+        {
+            theatreView.addMessage("Something went wrong (Transaction not registered?)\n");
+        }
+
+        theatreView.updateFields();
+    }
+
+    /**
+     * Invokes the rollback operation on the business logic,
+     * reporting activity and outcome.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void rollback() throws WrongStateException, SystemException
+    {
+        // Log the event and invoke the rollback operation
+        // on the backend business logic.
+
+        System.out.println("TheatreParticipantAT.rollback");
+
+        theatreView.addMessage("id:" + txID + ". Rollback called on participant: " + this.getClass().toString());
+
+        boolean success = theatreManager.cancelSeats(txID);
+
+        // Log the outcome
+
+        if (success)
+        {
+            theatreView.addMessage("Theatre booking cancelled\n");
+        }
+        else
+        {
+            theatreView.addMessage("Something went wrong (Transaction not registered?)\n");
+        }
+
+        theatreView.updateFields();
+    }
+
+    /**
+     * Shortcut method which combines the prepare
+     * and commit steps in a single operation.
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commitOnePhase() throws WrongStateException, SystemException
+    {
+        prepare();
+        commit();
+    }
+
+    public void unknown() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    public void error() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * Id for the transaction which this participant instance relates to.
+     * Set by the service (via contrtuctor) at enrolment time, this value
+     * is passed to the backend business logic methods.
+     */
+    protected String txID;
+
+    /**
+     * The TheatreView object to log events through.
+     */
+    protected static TheatreView theatreView;
+
+    /**
+     * The TheatreManager to perform business logic operations on.
+     */
+    protected static TheatreManager theatreManager;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreParticipantBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,194 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TheatreParticipantBA.java
+ *
+ * Copyright (c) 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TheatreParticipantBA.java,v 1.3 2004/09/09 15:18:10 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.theatre;
+
+import com.arjuna.wst.*;
+import com.arjuna.ats.arjuna.common.Uid;
+
+/**
+ * An adapter class that exposes the TheatreManager transaction lifecycle
+ * API as a WS-T Business Activity participant.
+ * Also logs events to a TheatreView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class TheatreParticipantBA implements BusinessAgreementWithParticipantCompletionParticipant
+{
+    /**
+     * Participant instances are related to business method calls
+     * in a one to one manner.
+     *
+     * @param txID       uniq id String for the transaction instance.
+     * @param how_many   seats to book/compensate.
+     * @param which_area of the theatre the seats are in.
+     */
+    public TheatreParticipantBA(String txID, int how_many, int which_area)
+    {
+        // Binds to the singleton TheatreView and TheatreManager
+        theatreManager = TheatreManager.getSingletonInstance();
+        theatreView = TheatreView.getSingletonInstance();
+        // we need to save the txID for later use when logging
+        this.txID = txID;
+        // we also need the business paramater(s) in case of compensation
+        this.seatCount = how_many;
+        this.seatingArea = which_area;
+    }
+
+    /**
+     * The transaction has completed successfully. The participant previously
+     * informed the coordinator that it was ready to complete.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException never in this implementation.
+     */
+
+    public void close() throws WrongStateException, SystemException
+    {
+        // for logging only. This impl does not do anything else here.
+
+        System.out.println("TheatreParticipantBA.close");
+
+        theatreView.addMessage("id:" + txID + ". Close called on participant: " + this.getClass());
+        theatreView.updateFields();
+    }
+
+    /**
+     * The transaction has cancelled, and the participant should undo any work.
+     * The participant cannot have informed the coordinator that it has
+     * completed.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException never in this implementation.
+     */
+
+    public void cancel() throws WrongStateException, SystemException
+    {
+        // we will always have called completed or error, so this can be a null op.
+
+        System.out.println("TheatreParticipantBA.cancel");
+
+        theatreView.addMessage("id:" + txID + ". Cancel called on participant: " + this.getClass().toString());
+        theatreView.updateFields();
+    }
+
+    /**
+     * The transaction has cancelled. The participant previously
+     * informed the coordinator that it had finished work but could compensate
+     * later if required, so it is now requested to do so.
+     *
+     * @throws WrongStateException never in this implementation.
+     * @throws SystemException if unable to perform the compensating transaction.
+     */
+
+    public void compensate() throws WrongStateException, SystemException
+    {
+        System.out.println("TheatreParticipantBA.compensate");
+
+        // Log the event and perform a compensating transaction
+        // on the backend business logic if needed.
+
+        theatreView.addPrepareMessage("id:" + txID + ". Compensate called on participant: " + this.getClass().toString());
+        theatreView.updateFields();
+
+        if (seatCount > 0)
+        {
+            String compensatingTxID = new Uid().toString();
+            // use a negative number of seats to 'reverse' the previous booking
+            // This technique (hack) prevents us needing new business logic to support compensation.
+            theatreManager.bookSeats(compensatingTxID, seatCount * -1, seatingArea);
+            theatreView.updateFields();
+
+            boolean success = false;
+            if(theatreManager.prepareSeats(compensatingTxID))
+            {
+                if (theatreManager.commitSeats(compensatingTxID))
+                {
+                    theatreView.addMessage("id:" + txID + " Compensating transaction completed sucessfully.");
+                    theatreView.updateFields();
+                    success = true;
+                }
+            }
+            else
+            {
+                theatreManager.cancelSeats(compensatingTxID);
+            }
+
+            if(!success)
+            {
+                theatreView.addMessage("id:" + txID + " Compensation failed. Throwing SystemException\n");
+                theatreView.updateFields();
+                throw new SystemException("Compensating transaction failed.");
+            }
+        }
+    }
+    
+    public String status()
+    {
+        return Status.STATUS_ACTIVE ;
+    }
+
+    public void unknown() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    public void error() throws SystemException
+    {
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * Id for the transaction which this participant instance relates to.
+     * Set by the service (via contrtuctor) at enrolment time, this value
+     * is used in informational log messages.
+     */
+    protected String txID;
+
+    /**
+     * Copy of business state information, may be needed during compensation.
+     */
+    protected int seatCount;
+
+    /**
+     * Copy of business state information, may be needed during compensation.
+     */
+    protected int seatingArea;
+
+    /**
+     * The TheatreView object to log events through.
+     */
+    protected static TheatreView theatreView;
+
+    /**
+     * The TheatreManager to perform business logic operations on.
+     */
+    protected static TheatreManager theatreManager;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TheatreServiceAT.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TheatreServiceAT.java,v 1.3 2004/12/01 16:27:21 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.theatre;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.jboss.jbosstm.xts.demo.theatre.ITheatreServiceAT;
+
+import javax.jws.WebService;
+import javax.jws.WebParam;
+import javax.jws.HandlerChain;
+import javax.jws.WebMethod;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * An adapter class that exposes the TheatreManager business API as a
+ * transactional Web Service. Also logs events to a TheatreView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+ at WebService(serviceName="TheatreServiceATService", portName="TheatreServiceAT",
+        name = "ITheatreServiceAT", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Theatre",
+        wsdlLocation = "/WEB-INF/wsdl/TheatreServiceAT.wsdl")
+ at HandlerChain(file = "../context-handlers.xml", name = "Context Handlers")
+ at SOAPBinding(style=SOAPBinding.Style.RPC)
+public class TheatreServiceAT implements ITheatreServiceAT
+{
+    /**
+     * Book a number of seats in the Theatre
+     * Enrols a Participant if necessary, then passes
+     * the call through to the business logic.
+     *
+     * @param how_many   The number of seats to book
+     * @param which_area The area of the theatre to book seats in
+     */
+    @WebMethod
+    public void bookSeats(
+        @WebParam(name = "how_many", partName = "how_many")
+        int how_many,
+        @WebParam(name = "which_area", partName = "which_area")
+        int which_area)
+    {
+        TheatreView theatreView = TheatreView.getSingletonInstance();
+        TheatreManager theatreManager = TheatreManager.getSingletonInstance();
+
+        String transactionId = null;
+        try
+        {
+            // get the transaction context of this thread:
+            transactionId = UserTransactionFactory.userTransaction().toString();
+            System.out.println("TheatreServiceAT transaction id =" + transactionId);
+
+            if (!theatreManager.knowsAbout(transactionId))
+            {
+                System.out.println("theatreService - enrolling...");
+                // enlist the Participant for this service:
+                TheatreParticipantAT theatreParticipant = new TheatreParticipantAT(transactionId);
+                TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(theatreParticipant, new Uid().toString());
+            }
+        }
+        catch (Exception e)
+        {
+            System.err.println("bookSeats: Participant enrolment failed");
+            e.printStackTrace(System.err);
+            return;
+        }
+
+        theatreView.addMessage("******************************");
+
+        theatreView.addMessage("id:" + transactionId.toString() + ". Received a theatre booking request for " + how_many + " seats in area " + which_area);
+
+        TheatreManager.getSingletonInstance().bookSeats(transactionId, how_many, which_area);
+
+        theatreView.addMessage("Request complete\n");
+        theatreView.updateFields();
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreServiceBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,147 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TheatreServiceBA.java
+ *
+ * Copyright (c) 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: TheatreServiceBA.java,v 1.5 2004/12/01 16:27:21 kconner Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.theatre;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.BusinessActivityManagerFactory;
+import com.arjuna.mw.wst.BusinessActivityManager;
+import com.arjuna.wst.BAParticipantManager;
+import com.arjuna.wst.SystemException;
+import com.jboss.jbosstm.xts.demo.theatre.ITheatreServiceBA;
+
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * An adapter class that exposes the TheatreManager business API as a
+ * transactional Web Service. Also logs events to a TheatreView object.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.5 $
+ */
+ at WebService(serviceName="TheatreServiceBAService", portName="TheatreServiceBA",
+        name = "ITheatreServiceBA", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Theatre",
+        wsdlLocation = "/WEB-INF/wsdl/TheatreServiceBA.wsdl")
+ at SOAPBinding(style=SOAPBinding.Style.RPC)
+ at HandlerChain(file = "../context-handlers.xml", name = "Context Handlers")
+public class TheatreServiceBA implements ITheatreServiceBA
+{
+    /**
+     * Book a number of seats in the Theatre
+     * Enrols a Participant if necessary, then passes
+     * the call through to the business logic.
+     *
+     * @param how_many   The number of seats to book.
+     * @param which_area The area of the theatre to book seats in.
+     * @return true on success, false otherwise.
+     */
+    @WebMethod
+    @WebResult(name = "bookSeatsBAResponse", partName = "bookSeatsBAResponse")
+    public boolean bookSeats(
+            @WebParam(name = "how_many", partName = "how_many")
+            int how_many,
+            @WebParam(name = "which_area", partName = "which_area")
+            int which_area)
+
+    {
+        TheatreView theatreView = TheatreView.getSingletonInstance();
+        TheatreManager theatreManager = TheatreManager.getSingletonInstance();
+
+        BusinessActivityManager activityManager = BusinessActivityManagerFactory.businessActivityManager();
+
+        // get the transaction context of this thread:
+        String transactionId = null;
+        try
+        {
+            transactionId = activityManager.currentTransaction().toString();
+        }
+        catch (SystemException e)
+        {
+            System.err.println("bookSeats: unable to obtain a transaction context!");
+            e.printStackTrace(System.err);
+            return false;
+        }
+
+        System.out.println("TheatreServiceBA transaction id =" + transactionId);
+
+        theatreView.addMessage("******************************");
+
+        theatreView.addPrepareMessage("id:" + transactionId + ". Received a theatre booking request for " + how_many + " seats in area " + which_area);
+        theatreView.updateFields();
+
+        theatreManager.bookSeats(transactionId, how_many, which_area);
+
+        if (theatreManager.prepareSeats(transactionId))
+        {
+            theatreView.addMessage("id:" + transactionId + ". Seats prepared, trying to commit and enlist compensation Participant");
+            theatreView.updateFields();
+
+            TheatreParticipantBA theatreParticipant = new TheatreParticipantBA(transactionId, how_many, which_area);
+            // enlist the Participant for this service:
+            BAParticipantManager participantManager = null;
+            try
+            {
+                participantManager = activityManager.enlistForBusinessAgreementWithParticipantCompletion(theatreParticipant, new Uid().toString());
+            }
+            catch (Exception e)
+            {
+                theatreView.addMessage("id:" + transactionId + ". Participant enrolement failed");
+                System.err.println("bookSeats: Participant enrolement failed");
+                e.printStackTrace(System.err);
+                return false;
+            }
+
+            theatreManager.commitSeats(transactionId);
+
+            try
+            {
+                participantManager.completed();
+            }
+            catch (Exception e)
+            {
+                System.err.println("bookSeats: 'completed' callback failed");
+                e.printStackTrace(System.err);
+                return false;
+            }
+        }
+        else
+        {
+            theatreView.addMessage("id:" + transactionId + ". Failed to reserve seats. Cancelling.");
+            theatreManager.cancelSeats(transactionId);
+            theatreView.updateFields();
+            return false;
+        }
+
+        theatreView.addMessage("Request complete\n");
+        theatreView.updateFields();
+
+        return true;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/services/theatre/TheatreView.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,608 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * TheatreView.java
+ *
+ * Copyright (c) 2003 Arjuna Technologies Ltd.
+ *
+ * $Id: TheatreView.java,v 1.3 2004/04/21 13:09:21 jhalliday Exp $
+ *
+ */
+
+package com.jboss.jbosstm.xts.demo.services.theatre;
+
+/**
+ * The visual interface (GUI) for the Theatre Service.
+ *
+ * @author Jonathan Halliday (jonathan.halliday at arjuna.com)
+ * @version $Revision: 1.3 $
+ */
+public class TheatreView extends javax.swing.JFrame
+{
+
+    // Note: Some parts of this file were auto-generated
+    // by NetBeans 3.3 FormEditor (http://www.netbeans.org)
+
+    /**
+     * Create a new TheatreView instance.
+     *
+     * @param tManager The {@link TheatreManager} instance to bind to
+     */
+    public TheatreView(TheatreManager tManager)
+    {
+        theatreManager = tManager;
+        initComponents();
+        updateFields();
+        backButtonColor = jButtonConfirm.getBackground();
+    }
+
+
+    /**
+     * Initialize the form.
+     * This is called by the constructor
+     * <p/>
+     * WARNING: Automatically generated code, may be overwritten
+     */
+    private void initComponents()
+    {//GEN-BEGIN:initComponents
+        jPanel1 = new javax.swing.JPanel();
+        jLabel1 = new javax.swing.JLabel();
+        jLabel3 = new javax.swing.JLabel();
+        jLabel29 = new javax.swing.JLabel();
+        jLabel30 = new javax.swing.JLabel();
+        jLabel25 = new javax.swing.JLabel();
+        jLabelNBookedSeatsCircle = new javax.swing.JLabel();
+        jLabelNConfirmedSeatsCircle = new javax.swing.JLabel();
+        jLabelNFreeSeatsCircle = new javax.swing.JLabel();
+        jLabel35 = new javax.swing.JLabel();
+        jLabelNBookedSeatsStalls = new javax.swing.JLabel();
+        jLabelNConfirmedSeatsStalls = new javax.swing.JLabel();
+        jLabelNFreeSeatsStalls = new javax.swing.JLabel();
+        jLabel28 = new javax.swing.JLabel();
+        jLabelNBookedSeatsBalcony = new javax.swing.JLabel();
+        jLabelNConfirmedSeatsBalcony = new javax.swing.JLabel();
+        jLabelNFreeSeatsBalcony = new javax.swing.JLabel();
+        jLabel34 = new javax.swing.JLabel();
+        jButtonResetFields = new javax.swing.JButton();
+        jPanel2 = new javax.swing.JPanel();
+        jLabel10 = new javax.swing.JLabel();
+        jLabel13 = new javax.swing.JLabel();
+        jLabel18 = new javax.swing.JLabel();
+        jLabelNTotalSeatsCircle = new javax.swing.JLabel();
+        jLabel19 = new javax.swing.JLabel();
+        jLabelNTotalSeatsStalls = new javax.swing.JLabel();
+        jLabel20 = new javax.swing.JLabel();
+        jLabelNTotalSeatsBalcony = new javax.swing.JLabel();
+        jTextFieldNewNTotalSeats = new javax.swing.JTextField();
+        jButtonSetCircle = new javax.swing.JButton();
+        jButtonSetSalls = new javax.swing.JButton();
+        jButtonSetBalcony = new javax.swing.JButton();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        jTextArea = new javax.swing.JTextArea();
+        jPanelLeft = new javax.swing.JPanel();
+        jLabel15 = new javax.swing.JLabel();
+        jLabelDisplayMode = new javax.swing.JLabel();
+        jButtonChangeMode = new javax.swing.JButton();
+        jLabelResponse = new javax.swing.JLabel();
+        jButtonConfirm = new javax.swing.JButton();
+        jButtonCancel = new javax.swing.JButton();
+
+        setTitle("Theatre Service");
+        addWindowListener(new java.awt.event.WindowAdapter()
+        {
+            public void windowClosing(java.awt.event.WindowEvent evt)
+            {
+                exitForm(evt);
+            }
+        });
+
+        jPanel1.setBorder(new javax.swing.border.LineBorder(java.awt.Color.black));
+        jLabel1.setText("SEATS");
+        jLabel1.setForeground(java.awt.Color.darkGray);
+        jLabel1.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel1);
+
+        jLabel3.setText("(booked, ");
+        jLabel3.setForeground(java.awt.Color.gray);
+        jPanel1.add(jLabel3);
+
+        jLabel29.setText("confirmed, ");
+        jLabel29.setForeground(new java.awt.Color(0, 51, 204));
+        jPanel1.add(jLabel29);
+
+        jLabel30.setText("free)       ");
+        jLabel30.setForeground(new java.awt.Color(0, 153, 0));
+        jPanel1.add(jLabel30);
+
+        jLabel25.setText("Circle (");
+        jLabel25.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel25);
+
+        jLabelNBookedSeatsCircle.setText(Integer.toString(theatreManager.getNBookedSeats(theatreManager.CIRCLE)));
+        jLabelNBookedSeatsCircle.setForeground(java.awt.Color.gray);
+        jLabelNBookedSeatsCircle.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNBookedSeatsCircle);
+
+        jLabelNConfirmedSeatsCircle.setText(Integer.toString(theatreManager.getNCommittedSeats(theatreManager.CIRCLE)));
+        jLabelNConfirmedSeatsCircle.setForeground(new java.awt.Color(0, 51, 204));
+        jLabelNConfirmedSeatsCircle.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNConfirmedSeatsCircle);
+
+        jLabelNFreeSeatsCircle.setText(Integer.toString(theatreManager.getNFreeSeats(theatreManager.CIRCLE)));
+        jLabelNFreeSeatsCircle.setForeground(new java.awt.Color(0, 153, 0));
+        jLabelNFreeSeatsCircle.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNFreeSeatsCircle);
+
+        jLabel35.setText("),  Stalls (");
+        jLabel35.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel35);
+
+        jLabelNBookedSeatsStalls.setText(Integer.toString(theatreManager.getNBookedSeats(theatreManager.STALLS)));
+        jLabelNBookedSeatsStalls.setForeground(java.awt.Color.gray);
+        jLabelNBookedSeatsStalls.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNBookedSeatsStalls);
+
+        jLabelNConfirmedSeatsStalls.setText(Integer.toString(theatreManager.getNCommittedSeats(theatreManager.STALLS)));
+        jLabelNConfirmedSeatsStalls.setForeground(new java.awt.Color(0, 51, 204));
+        jLabelNConfirmedSeatsStalls.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNConfirmedSeatsStalls);
+
+        jLabelNFreeSeatsStalls.setText(Integer.toString(theatreManager.getNFreeSeats(theatreManager.STALLS)));
+        jLabelNFreeSeatsStalls.setForeground(new java.awt.Color(0, 153, 0));
+        jLabelNFreeSeatsStalls.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNFreeSeatsStalls);
+
+        jLabel28.setText("),  Balcony (");
+        jLabel28.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel28);
+
+        jLabelNBookedSeatsBalcony.setText(Integer.toString(theatreManager.getNBookedSeats(theatreManager.BALCONY)));
+        jLabelNBookedSeatsBalcony.setForeground(java.awt.Color.gray);
+        jLabelNBookedSeatsBalcony.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNBookedSeatsBalcony);
+
+        jLabelNConfirmedSeatsBalcony.setText(Integer.toString(theatreManager.getNCommittedSeats(theatreManager.BALCONY)));
+        jLabelNConfirmedSeatsBalcony.setForeground(new java.awt.Color(51, 0, 204));
+        jLabelNConfirmedSeatsBalcony.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNConfirmedSeatsBalcony);
+
+        jLabelNFreeSeatsBalcony.setText(Integer.toString(theatreManager.getNFreeSeats(theatreManager.BALCONY)));
+        jLabelNFreeSeatsBalcony.setForeground(new java.awt.Color(0, 153, 0));
+        jLabelNFreeSeatsBalcony.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel1.add(jLabelNFreeSeatsBalcony);
+
+        jLabel34.setText(")     ");
+        jLabel34.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel1.add(jLabel34);
+
+        jButtonResetFields.setText("Reset Fields");
+        jButtonResetFields.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonResetFieldsActionPerformed(evt);
+            }
+        });
+
+        jPanel1.add(jButtonResetFields);
+
+        getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);
+
+        jPanel2.setBorder(new javax.swing.border.LineBorder(java.awt.Color.black));
+        jLabel10.setText("Theatre      ");
+        jLabel10.setForeground(java.awt.Color.red);
+        jLabel10.setFont(new java.awt.Font("Dialog", 1, 24));
+        jPanel2.add(jLabel10);
+
+        jLabel13.setText("TOTAL SEATS   ");
+        jLabel13.setForeground(java.awt.Color.darkGray);
+        jLabel13.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel2.add(jLabel13);
+
+        jLabel18.setText("Circle:");
+        jLabel18.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel2.add(jLabel18);
+
+        jLabelNTotalSeatsCircle.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.CIRCLE)));
+        jLabelNTotalSeatsCircle.setForeground(java.awt.Color.darkGray);
+        jLabelNTotalSeatsCircle.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel2.add(jLabelNTotalSeatsCircle);
+
+        jLabel19.setText("Stalls:");
+        jLabel19.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel2.add(jLabel19);
+
+        jLabelNTotalSeatsStalls.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.STALLS)));
+        jLabelNTotalSeatsStalls.setForeground(java.awt.Color.darkGray);
+        jLabelNTotalSeatsStalls.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel2.add(jLabelNTotalSeatsStalls);
+
+        jLabel20.setText("Balcony:");
+        jLabel20.setFont(new java.awt.Font("Dialog", 1, 14));
+        jPanel2.add(jLabel20);
+
+        jLabelNTotalSeatsBalcony.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.BALCONY)));
+        jLabelNTotalSeatsBalcony.setForeground(java.awt.Color.darkGray);
+        jLabelNTotalSeatsBalcony.setFont(new java.awt.Font("Dialog", 0, 14));
+        jPanel2.add(jLabelNTotalSeatsBalcony);
+
+        jTextFieldNewNTotalSeats.setFont(new java.awt.Font("Dialog", 0, 18));
+        jTextFieldNewNTotalSeats.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.CIRCLE)));
+        jPanel2.add(jTextFieldNewNTotalSeats);
+
+        jButtonSetCircle.setFont(new java.awt.Font("Dialog", 0, 14));
+        jButtonSetCircle.setText("Set Circle");
+        jButtonSetCircle.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonSetCircleActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(jButtonSetCircle);
+
+        jButtonSetSalls.setFont(new java.awt.Font("Dialog", 0, 14));
+        jButtonSetSalls.setText(" Set Stalls");
+        jButtonSetSalls.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonSetSallsActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(jButtonSetSalls);
+
+        jButtonSetBalcony.setFont(new java.awt.Font("Dialog", 0, 14));
+        jButtonSetBalcony.setText("Set Balcony");
+        jButtonSetBalcony.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonSetBalconyActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(jButtonSetBalcony);
+
+        getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH);
+
+        jScrollPane1.setAutoscrolls(true);
+        jTextArea.setEditable(false);
+        jTextArea.setRows(10);
+        jTextArea.setMargin(new java.awt.Insets(5, 5, 5, 5));
+        jScrollPane1.setViewportView(jTextArea);
+
+        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
+
+        jPanelLeft.setLayout(new javax.swing.BoxLayout(jPanelLeft, javax.swing.BoxLayout.Y_AXIS));
+
+        jLabel15.setText("Mode:");
+        jPanelLeft.add(jLabel15);
+
+        jLabelDisplayMode.setText("Automatic");
+        jLabelDisplayMode.setForeground(java.awt.Color.blue);
+        jLabelDisplayMode.setFont(new java.awt.Font("Dialog", 1, 18));
+        jPanelLeft.add(jLabelDisplayMode);
+
+        jButtonChangeMode.setText("Change mode");
+        jButtonChangeMode.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonChangeMode.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonChangeMode.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonChangeModeActionPerformed(evt);
+            }
+        });
+
+        jPanelLeft.add(jButtonChangeMode);
+
+        jLabelResponse.setText("Response:");
+        jPanelLeft.add(jLabelResponse);
+
+        jButtonConfirm.setText("Confirm");
+        jButtonConfirm.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonConfirm.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonConfirm.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonConfirmActionPerformed(evt);
+            }
+        });
+
+        jPanelLeft.add(jButtonConfirm);
+
+        jButtonCancel.setText("Cancel");
+        jButtonCancel.setPreferredSize(new java.awt.Dimension(119, 27));
+        jButtonCancel.setMaximumSize(new java.awt.Dimension(119, 27));
+        jButtonCancel.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                jButtonCancelActionPerformed(evt);
+            }
+        });
+
+        jPanelLeft.add(jButtonCancel);
+
+        getContentPane().add(jPanelLeft, java.awt.BorderLayout.WEST);
+
+        pack();
+    }//GEN-END:initComponents
+
+    /**
+     * Reset event handler.
+     */
+    private void jButtonResetFieldsActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonResetFieldsActionPerformed
+        theatreManager.setToDefault();
+        updateFields();
+    }//GEN-LAST:event_jButtonResetFieldsActionPerformed
+
+    /**
+     * Cancel event handler.
+     */
+    private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonCancelActionPerformed
+        if (theatreManager.getIsPreparationWaiting())
+        {
+            Object preparation = theatreManager.getPreparation();
+            try
+            {
+                theatreManager.setCommit(false);
+                synchronized (preparation)
+                {
+                    preparation.notify();
+                }
+            }
+            catch (Exception e)
+            {
+                System.err.println("TheatreView.jButtonCancelActionPerformed(): Unable to notify preparation.");
+            }
+        }
+    }//GEN-LAST:event_jButtonCancelActionPerformed
+
+    /**
+     * Confirm event handler.
+     */
+    private void jButtonConfirmActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonConfirmActionPerformed
+        if (theatreManager.getIsPreparationWaiting())
+        {
+            Object preparation = theatreManager.getPreparation();
+            try
+            {
+                theatreManager.setCommit(true);
+                synchronized (preparation)
+                {
+                    preparation.notify();
+                }
+            }
+            catch (Exception e)
+            {
+                System.err.println("TheatreView.jButtonCancelActionPerformed(): Unable to notify preparation.");
+            }
+        }
+    }//GEN-LAST:event_jButtonConfirmActionPerformed
+
+    /**
+     * ChangeMode event handler.
+     */
+    private void jButtonChangeModeActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonChangeModeActionPerformed
+        if (theatreManager.isAutoCommitMode())
+            theatreManager.setAutoCommitMode(false);
+        else
+            theatreManager.setAutoCommitMode(true);
+        updateFields();
+    }//GEN-LAST:event_jButtonChangeModeActionPerformed
+
+    /**
+     * Seat reservation event handler.
+     */
+    private void jButtonSetCircleActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonSetCircleActionPerformed
+        String strNSeats = jTextFieldNewNTotalSeats.getText();
+
+        theatreManager.newCapacity(theatreManager.CIRCLE, Integer.parseInt(strNSeats));
+        int nFreeSeats = theatreManager.getNFreeSeats(theatreManager.CIRCLE);
+
+        jLabelNTotalSeatsCircle.setText(strNSeats);
+        jLabelNFreeSeatsCircle.setText(Integer.toString(nFreeSeats));
+    }//GEN-LAST:event_jButtonSetCircleActionPerformed
+
+    /**
+     * Seat reservation event handler.
+     */
+    private void jButtonSetSallsActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonSetSallsActionPerformed
+        String strNSeats = jTextFieldNewNTotalSeats.getText();
+
+        theatreManager.newCapacity(theatreManager.STALLS, Integer.parseInt(strNSeats));
+        int nFreeSeats = theatreManager.getNFreeSeats(theatreManager.STALLS);
+
+        jLabelNTotalSeatsStalls.setText(strNSeats);
+        jLabelNFreeSeatsStalls.setText(Integer.toString(nFreeSeats));
+    }//GEN-LAST:event_jButtonSetSallsActionPerformed
+
+    /**
+     * Seat reservation event handler.
+     */
+    private void jButtonSetBalconyActionPerformed(java.awt.event.ActionEvent evt)
+    {//GEN-FIRST:event_jButtonSetBalconyActionPerformed
+        String strNSeats = jTextFieldNewNTotalSeats.getText();
+
+        theatreManager.newCapacity(theatreManager.BALCONY, Integer.parseInt(strNSeats));
+        int nFreeSeats = theatreManager.getNFreeSeats(theatreManager.BALCONY);
+
+        jLabelNTotalSeatsBalcony.setText(strNSeats);
+        jLabelNFreeSeatsBalcony.setText(Integer.toString(nFreeSeats));
+    }//GEN-LAST:event_jButtonSetBalconyActionPerformed
+
+    /**
+     * Exit the application.
+     */
+    private void exitForm(java.awt.event.WindowEvent evt)
+    {//GEN-FIRST:event_exitForm
+        //System.exit(0); // disabled for embedding in application servers.
+    }//GEN-LAST:event_exitForm
+
+    /**
+     * Add regular text to the central jTextArea.
+     *
+     * @param text The String to add
+     */
+    public void addMessage(java.lang.String text)
+    {
+        jButtonConfirm.setBackground(backButtonColor);
+        jButtonCancel.setBackground(backButtonColor);
+        jTextArea.append(text + "\n");
+        jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
+    }
+
+    /**
+     * Add status (highlighted) text to the central jTextArea.
+     *
+     * @param text The String to add
+     */
+    public void addPrepareMessage(java.lang.String text)
+    {
+        jButtonConfirm.setBackground(java.awt.Color.red);
+        jButtonCancel.setBackground(java.awt.Color.red);
+        jTextArea.append(text + "\n");
+        jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
+    }
+
+    /**
+     * Synchronise the GUI with the underlying state.
+     */
+    public void updateFields()
+    {
+        jLabelNTotalSeatsCircle.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.CIRCLE)));
+        jLabelNTotalSeatsStalls.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.STALLS)));
+        jLabelNTotalSeatsBalcony.setText(Integer.toString(theatreManager.getNTotalSeats(theatreManager.BALCONY)));
+        jTextFieldNewNTotalSeats.setText(jLabelNTotalSeatsCircle.getText());
+        jLabelNBookedSeatsCircle.setText(Integer.toString(theatreManager.getNBookedSeats(theatreManager.CIRCLE)));
+        jLabelNBookedSeatsStalls.setText(Integer.toString(theatreManager.getNBookedSeats(theatreManager.STALLS)));
+        jLabelNBookedSeatsBalcony.setText(Integer.toString(theatreManager.getNBookedSeats(theatreManager.BALCONY)));
+        jLabelNConfirmedSeatsCircle.setText(Integer.toString(theatreManager.getNCommittedSeats(theatreManager.CIRCLE)));
+        jLabelNConfirmedSeatsStalls.setText(Integer.toString(theatreManager.getNCommittedSeats(theatreManager.STALLS)));
+        jLabelNConfirmedSeatsBalcony.setText(Integer.toString(theatreManager.getNCommittedSeats(theatreManager.BALCONY)));
+        jLabelNFreeSeatsCircle.setText(Integer.toString(theatreManager.getNFreeSeats(theatreManager.CIRCLE)));
+        jLabelNFreeSeatsStalls.setText(Integer.toString(theatreManager.getNFreeSeats(theatreManager.STALLS)));
+        jLabelNFreeSeatsBalcony.setText(Integer.toString(theatreManager.getNFreeSeats(theatreManager.BALCONY)));
+
+
+        //update fields related to interactive mode
+        if (theatreManager.isAutoCommitMode())
+        {
+            jLabelResponse.setVisible(false);
+            jButtonConfirm.setVisible(false);
+            jButtonCancel.setVisible(false);
+            jLabelDisplayMode.setText("automatic");
+        }
+        else
+        {
+            jLabelResponse.setVisible(true);
+            jButtonConfirm.setVisible(true);
+            jButtonCancel.setVisible(true);
+            jLabelDisplayMode.setText("interactive");
+        }
+    }
+
+    /**
+     * Allow use of a singleton model for web services demo.
+     */
+    public static TheatreView getSingletonInstance()
+    {
+        if (singletonInstance == null)
+        {
+            singletonInstance = new TheatreView(TheatreManager.getSingletonInstance());
+        }
+
+        singletonInstance.show();
+        return singletonInstance;
+    }
+
+    /**
+     * A singleton instance of this class.
+     */
+    private static TheatreView singletonInstance;
+
+    // Variables declaration - automatically generated - do not modify
+
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel3;
+    private javax.swing.JLabel jLabel29;
+    private javax.swing.JLabel jLabel30;
+    private javax.swing.JLabel jLabel25;
+    private javax.swing.JLabel jLabelNBookedSeatsCircle;
+    private javax.swing.JLabel jLabelNConfirmedSeatsCircle;
+    private javax.swing.JLabel jLabelNFreeSeatsCircle;
+    private javax.swing.JLabel jLabel35;
+    private javax.swing.JLabel jLabelNBookedSeatsStalls;
+    private javax.swing.JLabel jLabelNConfirmedSeatsStalls;
+    private javax.swing.JLabel jLabelNFreeSeatsStalls;
+    private javax.swing.JLabel jLabel28;
+    private javax.swing.JLabel jLabelNBookedSeatsBalcony;
+    private javax.swing.JLabel jLabelNConfirmedSeatsBalcony;
+    private javax.swing.JLabel jLabelNFreeSeatsBalcony;
+    private javax.swing.JLabel jLabel34;
+    private javax.swing.JButton jButtonResetFields;
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JLabel jLabel10;
+    private javax.swing.JLabel jLabel13;
+    private javax.swing.JLabel jLabel18;
+    private javax.swing.JLabel jLabelNTotalSeatsCircle;
+    private javax.swing.JLabel jLabel19;
+    private javax.swing.JLabel jLabelNTotalSeatsStalls;
+    private javax.swing.JLabel jLabel20;
+    private javax.swing.JLabel jLabelNTotalSeatsBalcony;
+    private javax.swing.JTextField jTextFieldNewNTotalSeats;
+    private javax.swing.JButton jButtonSetCircle;
+    private javax.swing.JButton jButtonSetSalls;
+    private javax.swing.JButton jButtonSetBalcony;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JTextArea jTextArea;
+    private javax.swing.JPanel jPanelLeft;
+    private javax.swing.JLabel jLabel15;
+    private javax.swing.JLabel jLabelDisplayMode;
+    private javax.swing.JButton jButtonChangeMode;
+    private javax.swing.JLabel jLabelResponse;
+    private javax.swing.JButton jButtonConfirm;
+    private javax.swing.JButton jButtonCancel;
+
+    // End of automatically generated variables declarations
+
+    /**
+     * The  {@link TheatreManager} instance this view is bound to.
+     */
+    private TheatreManager theatreManager;
+
+    /**
+     * The current color of the back button.
+     */
+    private java.awt.Color backButtonColor;
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,26 @@
+
+package com.jboss.jbosstm.xts.demo.taxi;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebService(name = "ITaxiServiceAT", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Taxi")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface ITaxiServiceAT {
+
+
+    /**
+     * 
+     */
+    @WebMethod
+    public void bookTaxi();
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/ITaxiServiceBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,30 @@
+
+package com.jboss.jbosstm.xts.demo.taxi;
+
+import javax.jws.WebMethod;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebService(name = "ITaxiServiceBA", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Taxi")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface ITaxiServiceBA {
+
+
+    /**
+     * 
+     * @return
+     *     returns boolean
+     */
+    @WebMethod
+    @WebResult(name = "bookTaxiBAResponse", partName = "bookTaxiBAResponse")
+    public boolean bookTaxi();
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceATService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,58 @@
+
+package com.jboss.jbosstm.xts.demo.taxi;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "TaxiServiceATService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Taxi", wsdlLocation = "/WEB-INF/wsdl/TaxiServiceAT.wsdl")
+public class TaxiServiceATService
+    extends Service
+{
+
+    private final static URL TAXISERVICEATSERVICE_WSDL_LOCATION;
+    private final static Logger logger = Logger.getLogger(com.jboss.jbosstm.xts.demo.taxi.TaxiServiceATService.class.getName());
+
+    static {
+        URL url = null;
+        try {
+            URL baseUrl;
+            baseUrl = com.jboss.jbosstm.xts.demo.taxi.TaxiServiceATService.class.getResource(".");
+            url = new URL(baseUrl, "/WEB-INF/wsdl/TaxiServiceAT.wsdl");
+        } catch (MalformedURLException e) {
+            logger.warning("Failed to create URL for the wsdl Location: '/WEB-INF/wsdl/TaxiServiceAT.wsdl', retrying as a local file");
+            logger.warning(e.getMessage());
+        }
+        TAXISERVICEATSERVICE_WSDL_LOCATION = url;
+    }
+
+    public TaxiServiceATService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public TaxiServiceATService() {
+        super(TAXISERVICEATSERVICE_WSDL_LOCATION, new QName("http://www.jboss.com/jbosstm/xts/demo/Taxi", "TaxiServiceATService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns ITaxiServiceAT
+     */
+    @WebEndpoint(name = "TaxiServiceAT")
+    public ITaxiServiceAT getTaxiServiceAT() {
+        return super.getPort(new QName("http://www.jboss.com/jbosstm/xts/demo/Taxi", "TaxiServiceAT"), ITaxiServiceAT.class);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/taxi/TaxiServiceBAService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,58 @@
+
+package com.jboss.jbosstm.xts.demo.taxi;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "TaxiServiceBAService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Taxi", wsdlLocation = "/WEB-INF/wsdl/TaxiServiceBA.wsdl")
+public class TaxiServiceBAService
+    extends Service
+{
+
+    private final static URL TAXISERVICEBASERVICE_WSDL_LOCATION;
+    private final static Logger logger = Logger.getLogger(com.jboss.jbosstm.xts.demo.taxi.TaxiServiceBAService.class.getName());
+
+    static {
+        URL url = null;
+        try {
+            URL baseUrl;
+            baseUrl = com.jboss.jbosstm.xts.demo.taxi.TaxiServiceBAService.class.getResource(".");
+            url = new URL(baseUrl, "/WEB-INF/wsdl/TaxiServiceBA.wsdl");
+        } catch (MalformedURLException e) {
+            logger.warning("Failed to create URL for the wsdl Location: '/WEB-INF/wsdl/TaxiServiceBA.wsdl', retrying as a local file");
+            logger.warning(e.getMessage());
+        }
+        TAXISERVICEBASERVICE_WSDL_LOCATION = url;
+    }
+
+    public TaxiServiceBAService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public TaxiServiceBAService() {
+        super(TAXISERVICEBASERVICE_WSDL_LOCATION, new QName("http://www.jboss.com/jbosstm/xts/demo/Taxi", "TaxiServiceBAService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns ITaxiServiceBA
+     */
+    @WebEndpoint(name = "TaxiServiceBA")
+    public ITaxiServiceBA getTaxiServiceBA() {
+        return super.getPort(new QName("http://www.jboss.com/jbosstm/xts/demo/Taxi", "TaxiServiceBA"), ITaxiServiceBA.class);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,33 @@
+
+package com.jboss.jbosstm.xts.demo.theatre;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebService(name = "ITheatreServiceAT", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Theatre")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface ITheatreServiceAT {
+
+
+    /**
+     * 
+     * @param howMany
+     * @param whichArea
+     */
+    @WebMethod
+    public void bookSeats(
+        @WebParam(name = "how_many", partName = "how_many")
+        int howMany,
+        @WebParam(name = "which_area", partName = "which_area")
+        int whichArea);
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/ITheatreServiceBA.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,37 @@
+
+package com.jboss.jbosstm.xts.demo.theatre;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebService(name = "ITheatreServiceBA", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Theatre")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface ITheatreServiceBA {
+
+
+    /**
+     * 
+     * @param howMany
+     * @param whichArea
+     * @return
+     *     returns boolean
+     */
+    @WebMethod
+    @WebResult(name = "bookSeatsBAResponse", partName = "bookSeatsBAResponse")
+    public boolean bookSeats(
+        @WebParam(name = "how_many", partName = "how_many")
+        int howMany,
+        @WebParam(name = "which_area", partName = "which_area")
+        int whichArea);
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceATService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,58 @@
+
+package com.jboss.jbosstm.xts.demo.theatre;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "TheatreServiceATService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Theatre", wsdlLocation = "/WEB-INF/wsdl/TheatreServiceAT.wsdl")
+public class TheatreServiceATService
+    extends Service
+{
+
+    private final static URL THEATRESERVICEATSERVICE_WSDL_LOCATION;
+    private final static Logger logger = Logger.getLogger(com.jboss.jbosstm.xts.demo.theatre.TheatreServiceATService.class.getName());
+
+    static {
+        URL url = null;
+        try {
+            URL baseUrl;
+            baseUrl = com.jboss.jbosstm.xts.demo.theatre.TheatreServiceATService.class.getResource(".");
+            url = new URL(baseUrl, "/WEB-INF/wsdl/TheatreServiceAT.wsdl");
+        } catch (MalformedURLException e) {
+            logger.warning("Failed to create URL for the wsdl Location: '/WEB-INF/wsdl/TheatreServiceAT.wsdl', retrying as a local file");
+            logger.warning(e.getMessage());
+        }
+        THEATRESERVICEATSERVICE_WSDL_LOCATION = url;
+    }
+
+    public TheatreServiceATService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public TheatreServiceATService() {
+        super(THEATRESERVICEATSERVICE_WSDL_LOCATION, new QName("http://www.jboss.com/jbosstm/xts/demo/Theatre", "TheatreServiceATService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns ITheatreServiceAT
+     */
+    @WebEndpoint(name = "TheatreServiceAT")
+    public ITheatreServiceAT getTheatreServiceAT() {
+        return super.getPort(new QName("http://www.jboss.com/jbosstm/xts/demo/Theatre", "TheatreServiceAT"), ITheatreServiceAT.class);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/src/com/jboss/jbosstm/xts/demo/theatre/TheatreServiceBAService.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,58 @@
+
+package com.jboss.jbosstm.xts.demo.theatre;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.2-hudson-182-RC1
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "TheatreServiceBAService", targetNamespace = "http://www.jboss.com/jbosstm/xts/demo/Theatre", wsdlLocation = "/WEB-INF/wsdl/TheatreServiceBA.wsdl")
+public class TheatreServiceBAService
+    extends Service
+{
+
+    private final static URL THEATRESERVICEBASERVICE_WSDL_LOCATION;
+    private final static Logger logger = Logger.getLogger(com.jboss.jbosstm.xts.demo.theatre.TheatreServiceBAService.class.getName());
+
+    static {
+        URL url = null;
+        try {
+            URL baseUrl;
+            baseUrl = com.jboss.jbosstm.xts.demo.theatre.TheatreServiceBAService.class.getResource(".");
+            url = new URL(baseUrl, "/WEB-INF/wsdl/TheatreServiceBA.wsdl");
+        } catch (MalformedURLException e) {
+            logger.warning("Failed to create URL for the wsdl Location: '/WEB-INF/wsdl/TheatreServiceBA.wsdl', retrying as a local file");
+            logger.warning(e.getMessage());
+        }
+        THEATRESERVICEBASERVICE_WSDL_LOCATION = url;
+    }
+
+    public TheatreServiceBAService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public TheatreServiceBAService() {
+        super(THEATRESERVICEBASERVICE_WSDL_LOCATION, new QName("http://www.jboss.com/jbosstm/xts/demo/Theatre", "TheatreServiceBAService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns ITheatreServiceBA
+     */
+    @WebEndpoint(name = "TheatreServiceBA")
+    public ITheatreServiceBA getTheatreServiceBA() {
+        return super.getPort(new QName("http://www.jboss.com/jbosstm/xts/demo/Theatre", "TheatreServiceBA"), ITheatreServiceBA.class);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/JBoss_DivOfRH_RGB.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/JBoss_DivOfRH_RGB.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/a_nav_6699cc.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/a_nav_6699cc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/bl_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/bl_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/bl_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/bl_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/br_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/br_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/br_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/br_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tl_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tl_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tl_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tl_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tr_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tr_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tr_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/images/tr_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/index.jsp
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/index.jsp	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/demo/web/index.jsp	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
+
+<!-- $Id: index.jsp,v 1.6 2005/02/25 09:26:46 kconner Exp $ -->
+
+<head>
+<title>XML Transaction Service Demo Application Client</title>
+</head>
+
+<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" vlink="#336699" alink="#003366" link="#003366" text="#000000" bgcolor="#ffffff">
+
+<!-- logo and header text -->
+<table width="740" cellpadding="0" cellspacing="0" border="0">
+  <tr>
+    <td colspan="2" height="28">&nbsp;</td>
+  </tr>
+  <tr>
+    <td width="20">&nbsp;</td>
+    <td align="center" width="170" bgcolor="#ffffff">
+      <img src="images/JBoss_DivOfRH_RGB.gif" alt="jboss logo" border="0">
+    </td>
+    <td width="20">&nbsp;</td>
+    <td valign="middle" align="left" width="530" bgcolor="#ffffff">
+      <br/>
+      <font size="5" style="font-family: Arial, Helvetica, sans-serif">
+        XML Transaction Service Demonstrator Application
+      </font>
+    </td>
+  </tr>
+</table>
+
+
+<TABLE width="740" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD width="20">&nbsp;</TD><TD valign="top" width="170">
+
+<!-- nav menu -->
+<TABLE width="170" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD height="20" width="10" bgcolor="#ffffff">&nbsp;</TD><TD height="20" width="10" bgcolor="#ffffff">&nbsp;</TD><TD height="20" width="130" bgcolor="#ffffff">&nbsp;</TD><TD height="20" width="10" bgcolor="#ffffff">&nbsp;</TD><TD height="20" width="10" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD colspan="2" valign="top" align="left" height="20" width="20" bgcolor="#336699"><IMG src="images/tl_navcorner_20.gif" alt="" border="0"></TD><TD align="center" height="20" width="130" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Web Services</B></FONT></TD><TD colspan="2" valign="top" align="right" height="20" width="20" bgcolor="#336699"><IMG src="images/tr_navcorner_20.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD valign="middle" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/a_nav_6699cc.gif" name="N800004" alt="" border="0"></TD><TD colspan="3" width="150" bgcolor="#e3e3e3"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><A href="#Restaurant"  style="text-decoration: none">Restaurant Booking Service</A></FONT></TD><TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="middle" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/a_nav_6699cc.gif" name="N800004" alt="" border="0"></TD><TD colspan="3" width="150" bgcolor="#e3e3e3"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><A href="#Theatre"  style="text-decoration: none">Theatre Booking Service</A></FONT></TD><TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="middle" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/a_nav_6699cc.gif" name="N800004" alt="" border="0"></TD><TD colspan="3" width="150" bgcolor="#e3e3e3"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><A href="#Taxi"  style="text-decoration: none">Taxi Booking Service</A></FONT></TD><TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD colspan="2" valign="bottom" align="left" height="20" width="20" bgcolor="#e3e3e3"><IMG src="images/bl_navcorner_20.gif" alt="" border="0"></TD><TD height="20" width="130" bgcolor="#e3e3e3">&nbsp;</TD><TD colspan="2" valign="bottom" align="right" height="20" width="20" bgcolor="#e3e3e3"><IMG src="images/br_navcorner_20.gif" alt="" border="0"></TD>
+</TR>
+</table>
+
+<p></p>
+</TD><TD width="20">&nbsp;</TD><TD valign="top" width="530">
+
+<form method="GET" action="basicclient">
+
+<% if(null != request.getAttribute("result")) { %>
+<!-- tx result panel -->
+<TABLE width="530" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD colspan="3" height="20" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="top" align="left" width="10" bgcolor="#336699"><IMG src="images/tl_corner_10.gif" alt="" border="0"></TD><TD valign="middle" align="left" width="510" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Transaction Result</B></FONT></TD><TD valign="top" align="right" width="10" bgcolor="#336699"><IMG src="images/tr_corner_10.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD><TD width="510" bgcolor="#e3e3e3">
+<FONT size="2" style="font-family: Arial, Helvetica, sans-serif">
+<div>
+<p>
+<%= request.getAttribute("result") %>
+</p>
+</FONT></TD>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="bottom" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/bl_corner_10.gif" alt="" border="0"></TD><TD width="510" bgcolor="#e3e3e3">&nbsp;</TD><TD valign="bottom" align="right" width="10" bgcolor="#e3e3e3"><IMG src="images/br_corner_10.gif" alt="" border="0"></TD>
+</TR>
+</TABLE>
+<% } // end if %>
+
+
+<!-- transaction type selection panel -->
+<TABLE width="530" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD colspan="3" height="20" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="top" align="left" width="10" bgcolor="#336699"><IMG src="images/tl_corner_10.gif" alt="" border="0"></TD><TD valign="middle" align="left" width="510" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Restaurant Service - Booking Form</B></FONT></TD><TD valign="top" align="right" width="10" bgcolor="#336699"><IMG src="images/tr_corner_10.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD><TD width="510" bgcolor="#e3e3e3">
+<FONT size="2" style="font-family: Arial, Helvetica, sans-serif">
+<div>
+<p>
+Transaction Type:
+<SELECT NAME="txType">
+<option value="AtomicTransaction">Atomic Transaction</option>
+<option value="BusinessActivity">Business Activity</option>
+</SELECT>
+</p>
+</FONT></TD>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="bottom" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/bl_corner_10.gif" alt="" border="0"></TD><TD width="510" bgcolor="#e3e3e3">&nbsp;</TD><TD valign="bottom" align="right" width="10" bgcolor="#e3e3e3"><IMG src="images/br_corner_10.gif" alt="" border="0"></TD>
+</TR>
+</TABLE>
+
+
+<!-- restaurant booking panel -->
+<TABLE width="530" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD colspan="3" height="20" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="top" align="left" width="10" bgcolor="#336699"><IMG src="images/tl_corner_10.gif" alt="" border="0"></TD><TD valign="middle" align="left" width="510" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Restaurant Service - Booking Form</B></FONT></TD><TD valign="top" align="right" width="10" bgcolor="#336699"><IMG src="images/tr_corner_10.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD><TD width="510" bgcolor="#e3e3e3">
+<FONT size="2" style="font-family: Arial, Helvetica, sans-serif">
+<div>
+<p>
+Table for
+<SELECT NAME="restaurant">
+<OPTION>1
+<OPTION>2
+<OPTION>3
+<OPTION>4
+<OPTION>5
+<OPTION>6
+<OPTION>7
+<OPTION>8
+<OPTION>9
+<OPTION>10
+</SELECT>
+people.
+</p>
+</FONT></TD>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="bottom" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/bl_corner_10.gif" alt="" border="0"></TD><TD width="510" bgcolor="#e3e3e3">&nbsp;</TD><TD valign="bottom" align="right" width="10" bgcolor="#e3e3e3"><IMG src="images/br_corner_10.gif" alt="" border="0"></TD>
+</TR>
+</TABLE>
+
+<!-- theatre booking panel -->
+<TABLE width="530" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD colspan="3" height="20" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="top" align="left" width="10" bgcolor="#336699"><IMG src="images/tl_corner_10.gif" alt="" border="0"></TD><TD valign="middle" align="left" width="510" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Theatre Service - Booking Form</B></FONT></TD><TD valign="top" align="right" width="10" bgcolor="#336699"><IMG src="images/tr_corner_10.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD><TD width="510" bgcolor="#e3e3e3">
+<FONT size="2" style="font-family: Arial, Helvetica, sans-serif">
+<div>
+<p>
+Book
+<SELECT NAME="theatrecount">
+<OPTION>1
+<OPTION>2
+<OPTION>3
+<OPTION>4
+<OPTION>5
+<OPTION>6
+<OPTION>7
+<OPTION>8
+<OPTION>9
+<OPTION>10
+</SELECT>
+seats in the
+<select name="theatrearea">
+<option value="0">Circle
+<option value="1">Stalls
+<option value="2">Balcony
+</select>
+</p>
+</FONT></TD>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="bottom" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/bl_corner_10.gif" alt="" border="0"></TD><TD width="510" bgcolor="#e3e3e3">&nbsp;</TD><TD valign="bottom" align="right" width="10" bgcolor="#e3e3e3"><IMG src="images/br_corner_10.gif" alt="" border="0"></TD>
+</TR>
+</TABLE>
+
+<!-- taxi booking panel -->
+<TABLE width="530" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD colspan="3" height="20" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="top" align="left" width="10" bgcolor="#336699"><IMG src="images/tl_corner_10.gif" alt="" border="0"></TD><TD valign="middle" align="left" width="510" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Taxi Service - Booking Form</B></FONT></TD><TD valign="top" align="right" width="10" bgcolor="#336699"><IMG src="images/tr_corner_10.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD><TD width="510" bgcolor="#e3e3e3">
+<FONT size="2" style="font-family: Arial, Helvetica, sans-serif">
+<div>
+<p>
+Book a taxi?
+<SELECT NAME="taxi">
+<option value="0">No</option>
+<option value="1">Yes</option>
+</SELECT>
+</p>
+</FONT></TD>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="bottom" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/bl_corner_10.gif" alt="" border="0"></TD><TD width="510" bgcolor="#e3e3e3">&nbsp;</TD><TD valign="bottom" align="right" width="10" bgcolor="#e3e3e3"><IMG src="images/br_corner_10.gif" alt="" border="0"></TD>
+</TR>
+</TABLE>
+
+<!-- submit / reset panel -->
+<TABLE width="530" cellpadding="0" cellspacing="0" border="0">
+<TR>
+<TD colspan="3" height="20" bgcolor="#ffffff">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="top" align="left" width="10" bgcolor="#336699"><IMG src="images/tl_corner_10.gif" alt="" border="0"></TD><TD valign="middle" align="left" width="510" bgcolor="#336699"><FONT size="2" color="#ffffff" style="font-family: Arial, Helvetica, sans-serif"><B>Booking Controls</B></FONT></TD><TD valign="top" align="right" width="10" bgcolor="#336699"><IMG src="images/tr_corner_10.gif" alt="" border="0"></TD>
+</TR>
+<TR>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD><TD width="510" bgcolor="#e3e3e3">
+<FONT size="2" style="font-family: Arial, Helvetica, sans-serif">
+<p>
+<input type="submit" name="submit" value="Submit Booking Requests" />
+&nbsp;&nbsp;
+<input type="reset" name="reset" value="Reset Form Values" />
+</p>
+</FONT></TD>
+<TD width="10" bgcolor="#e3e3e3">&nbsp;</TD>
+</TR>
+<TR>
+<TD valign="bottom" align="left" width="10" bgcolor="#e3e3e3"><IMG src="images/bl_corner_10.gif" alt="" border="0"></TD><TD width="510" bgcolor="#e3e3e3">&nbsp;</TD><TD valign="bottom" align="right" width="10" bgcolor="#e3e3e3"><IMG src="images/br_corner_10.gif" alt="" border="0"></TD>
+</TR>
+</TABLE>
+
+</form>
+
+</table>
+
+</body>
+
+</html>
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/deployment.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/deployment.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jbossesb-deployment>
+  <depends>jboss.esb:deployment=smooks.esb</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=NightOutProcess</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=Restaurant</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=Theatre</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=Taxi</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=NightOutProcess_reply</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=Complete</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=Cancel</depends>
+  
+</jbossesb-deployment>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/insurance.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/insurance.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbm-queue-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbm-queue-service.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=NightOutProcess"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=Restaurant"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=Theatre"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=Taxi"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=NightOutProcess_reply"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+    <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=Complete"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+    <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=Cancel"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+    <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+</server>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jboss-esb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jboss-esb.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,253 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+	<providers>
+		<jms-provider name="JBossMQ"
+			connection-factory="ConnectionFactory"
+			jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+			jndi-URL="localhost">
+			<jms-bus busid="NightOutProcessChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/NightOutProcess" />
+			</jms-bus>
+			<jms-bus busid="RestaurantChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/Restaurant" />
+			</jms-bus>
+			<jms-bus busid="TheatreChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/Theatre" />
+			</jms-bus>
+			<jms-bus busid="TaxiChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/Taxi" />
+			</jms-bus>
+			<jms-bus busid="CompleteChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/Complete" />
+			</jms-bus>
+			<jms-bus busid="CancelChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/Cancel" />
+			</jms-bus>
+		</jms-provider>
+		
+		<jbr-provider name="JBR-Http" protocol="http" host="localhost">
+            <jbr-bus busid="NightOutWS_HTTP" port="8765" />
+        </jbr-provider>
+		
+	</providers>
+
+
+	<services>
+		
+		<service category="ProcessServices"
+			name="NightOutProcessWebService" description="Web Service that represents the NightOut service process">
+			<listeners>
+				<!-- Gateway -->
+				<jbr-listener name="NightOutWS_HTTP-Gateway" busidref="NightOutWS_HTTP" is-gateway="true" maxThreads="1"/>
+				<jms-listener name="TheNightOutProcessChannel"
+					busidref="NightOutProcessChannel" maxThreads="1">
+				</jms-listener>
+ 			</listeners>
+
+			<actions>
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Message before transformation ########" />
+				</action>
+
+ 				<action name="transform"
+					class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+					<property name="resource-config"
+						value="/smooks-res.xml" />
+				</action>
+ 
+ 				<action name="BeginTransaction"
+					class="org.jboss.soa.esb.actions.WSBATxAction" process="begin">
+					<property name="transactionTimeout" value="30"/>
+					<property name="isJTABridged" value="false"/>
+					<property name="exceptionMethod" value="rollback" />
+				</action>
+	
+  			
+               	<action  name="start_nightout_process" 
+                   		class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor">
+                    		<property name="command" value="StartProcessInstanceCommand" />
+                    		<property name="process-definition-name" value="NightOutProcess2"/>   
+                    		<!--property name="key" value="body.businessKey"/-->
+                    		<property name="esbToBpmVars">
+								<mapping esb="Reservation"		bpm="reservation" />
+								<mapping esb="properties.ExternalID"	bpm="externalID" />
+								<mapping esb="txContext"		bpm="txContext" />							
+							</property>
+                </action>
+              
+                <action name="JBossWSAdapter" class="org.jboss.soa.esb.actions.soap.SOAPProcessor">
+                    <property name="jbossws-endpoint" value="NightOutService"/>
+                </action>
+ 
+ 				<action name="return message" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Return Message" />
+				</action>
+ 			</actions>
+  		</service>	
+				
+		<service category="WebServices"
+			name="RestaurantService" description="The Restaurant service">
+			<listeners>
+				<jms-listener name="TheRestaurantChannel"
+					busidref="RestaurantChannel" maxThreads="1">
+				</jms-listener>
+			</listeners>
+			<actions>
+			 	<action name="ResumeTransaction"
+					class="org.jboss.soa.esb.actions.WSBATxAction" process="resume">
+					<property name="isJTABridged" value="false"/>
+					<property name="exceptionMethod" value="rollback" />
+				</action>	
+				<!--action name="request-mapper" 
+					class="org.jboss.nightout.RequestMapper"
+					process="restaurant">
+				</action-->						
+                <action name="printaction" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="printfull" value="true"/>
+                </action>
+                <action name="invokeRestaurant" class="org.jboss.soa.esb.actions.InvokeRestaurantAction">
+                </action>
+  				<!--action name="soapui-client-action"
+					class="org.jboss.soa.esb.actions.soap.SOAPClient">
+					<property name="wsdl"
+						value="http://localhost:8080/xtsdemowebservices/RestaurantServiceBA?wsdl" />
+					<property name="responseAsOgnlMap" value="true" />	
+					<property name="SOAPAction" value="bookSeats"/>			
+				</action-->
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Restaurant Service has completed ########" />
+				</action>
+				
+			</actions>
+		</service>
+		
+		<service category="WebServices"
+			name="TheatreService" description="The Theatre service">
+			<listeners>
+				<jms-listener name="TheTheatreChannel"
+					busidref="RestaurantChannel" maxThreads="1">
+				</jms-listener>
+			</listeners>
+			<actions>
+			 	<action name="ResumeTransaction"
+					class="org.jboss.soa.esb.actions.WSBATxAction" process="resume">
+					<property name="isJTABridged" value="false"/>
+					<property name="exceptionMethod" value="rollback" />
+				</action>	
+				<!--action name="request-mapper" 
+					class="org.jboss.nightout.RequestMapper"
+					process="theatre">
+				</action-->						
+                <action name="printaction" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="printfull" value="true"/>
+                </action>
+                <action name="invokeTheatre" class="org.jboss.soa.esb.actions.InvokeTheatreAction">
+                </action>
+				<!--action name="soapui-client-action"
+					class="org.jboss.soa.esb.actions.soap.SOAPClient">
+					<property name="wsdl"
+						value="http://localhost:8080/xtsdemowebservices/TheatreServiceBA?wsdl" />
+					<property name="responseAsOgnlMap" value="true" />	
+					<property name="SOAPAction" value="bookSeats"/>			
+				</action-->
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Theatre Service has completed ########" />
+				</action>				
+			</actions>
+		</service>
+		
+		<service category="WebServices"
+			name="TaxiService" description="The Taxi service">
+			<listeners>
+				<jms-listener name="TheTaxiChannel"
+					busidref="TaxiChannel" maxThreads="1">
+				</jms-listener>
+			</listeners>
+			<actions>
+			 	<action name="ResumeTransaction"
+					class="org.jboss.soa.esb.actions.WSBATxAction" process="resume">
+					<property name="isJTABridged" value="false"/>
+					<property name="exceptionMethod" value="rollback" />
+				</action>	
+				<!--action name="request-mapper" 
+					class="org.jboss.nightout.RequestMapper"
+					process="taxi">
+				</action-->					
+                <action name="printaction" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="printfull" value="true"/>
+                </action>
+                <action name="invokeTaxi" class="org.jboss.soa.esb.actions.InvokeTaxiAction">
+                </action>
+				<!--action name="soapui-client-action"
+					class="org.jboss.soa.esb.actions.soap.SOAPClient">
+					<property name="wsdl"
+						value="http://localhost:8080/xtsdemowebservices/TaxiServiceBA?wsdl" />
+					<property name="responseAsOgnlMap" value="true" />	
+					<property name="SOAPAction" value="bookSeats"/>			
+				</action-->
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Taxi Service has completed ########" />
+				</action>
+				
+			</actions>
+		</service>		
+		
+		
+		<service category="TransactionServices"
+			name="CompleteService" description="Completes the NightOut service process">
+			<listeners>
+				<jms-listener name="TheCompleteChannel"
+					busidref="CompleteChannel" maxThreads="1">
+				</jms-listener>
+ 			</listeners>
+	
+			<actions>
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Complete has been called ########" />
+				</action>
+ 				<action name="CompleteTransaction"
+					class="org.jboss.soa.esb.actions.WSBATxAction" process="complete">
+					<property name="isJTABridged" value="false"/>
+					<property name="exceptionMethod" value="rollback" />
+				</action>
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Complete has completed ########" />
+				</action>
+			</actions>
+		</service>		
+			
+ 		<service category="TransactionServices"
+			name="CancelService" description="Cancels the NightOut service process">
+			<listeners>
+				<jms-listener name="TheCancelChannel"
+					busidref="CancelChannel" maxThreads="1">
+				</jms-listener>
+ 			</listeners>
+	
+			<actions>
+ 				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Cancel has been called ########" />
+				</action>
+				<action name="CancelTransaction"
+					class="org.jboss.soa.esb.actions.WSBATxAction" process="cancel">
+					<property name="isJTABridged" value="false"/>
+					<property name="exceptionMethod" value="rollback" />
+				</action>
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="######## Cancel has completed ########" />
+				</action>
+			</actions>
+			
+		</service>		
+ 
+  
+	</services>
+</jbossesb>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jbossesb-properties.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, JBoss Inc., and others contributors as indicated 
+  by the @authors tag. All rights reserved. 
+  See the copyright.txt in the distribution for a
+  full listing of individual contributors. 
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU Lesser General Public License, v. 2.1.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+  You should have received a copy of the GNU Lesser General Public License,
+  v.2.1 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+  These options are described in the JBossESB manual.
+  Defaults are provided here for convenience only.
+ 
+  Please read through this file prior to using the system, and consider
+  updating the specified entries.
+-->
+<esb
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+    <properties name="core">
+		<property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">      
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI"     		
+    		value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>    		
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"     		
+    		value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
+    	<property name="org.jboss.soa.esb.registry.implementationClass" 
+    		value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+    	<property name="org.jboss.soa.esb.registry.factoryClass" 
+    		value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+    	<property name="org.jboss.soa.esb.registry.user" 
+    		value="jbossesb"/>
+    	<property name="org.jboss.soa.esb.registry.password" 
+    	  value="password"/>
+    	<!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+    	<property name="org.jboss.soa.esb.scout.proxy.transportClass" 
+    		value="org.apache.ws.scout.transport.RMITransport"/>
+    </properties>
+    <properties name="transports" depends="core">
+    	<property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+    	<property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+    </properties>
+    <properties name="connection">
+    	<property name="min-pool-size" value="5"/>
+    	<property name="max-pool=size" value="10"/>
+    	<property name="blocking-timeout-millis" value="5000"/>
+    	<property name="abandoned-connection-timeout" value="10000"/>
+    	<property name="abandoned-connection-time-interval" value="30000"/>
+    </properties>
+    <properties name="dbstore">
+		<property name="org.jboss.soa.esb.persistence.db.connection.url" 	value="jdbc:hsqldb:hsql://localhost:9001/"/>
+		<property name="org.jboss.soa.esb.persistence.db.jdbc.driver" 		value="org.hsqldb.jdbcDriver"/>
+		<property name="org.jboss.soa.esb.persistence.db.user" 			value="sa"/>
+		<property name="org.jboss.soa.esb.persistence.db.pwd" 			value=""/>		
+		<property name="org.jboss.soa.esb.persistence.db.pool.initial.size"	value="2"/>
+		<property name="org.jboss.soa.esb.persistence.db.pool.min.size"	value="2"/>
+		<property name="org.jboss.soa.esb.persistence.db.pool.max.size"	value="5"/>
+		<!--table managed by pool to test for valid connections - created by pool automatically -->
+		<property name="org.jboss.soa.esb.persistence.db.pool.test.table"	value="pooltest"/>
+		<!-- # of milliseconds to timeout waiting for a connection from pool -->
+		<property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis"	value="5000"/> 
+                <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jndi.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/jndi.properties	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/juddi.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/juddi.properties	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,69 @@
+# jUDDI Registry Properties (used by RegistryServer)
+# see http://www.juddi.org for more information
+
+# The UDDI Operator Name
+juddi.operatorName = jUDDI.org
+
+# The i18n locale default codes
+juddi.i18n.languageCode = en
+juddi.i18n.countryCode = US
+
+# The UDDI DiscoveryURL Prefix
+juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
+
+# The UDDI Operator Contact Email Address
+juddi.operatorEmailAddress = admin at juddi.org
+
+# The maximum name size and maximum number
+# of name elements allows in several of the
+# FindXxxx and SaveXxxx UDDI functions.
+juddi.maxNameLength=255
+juddi.maxNameElementsAllowed=5
+
+# The maximum number of UDDI artifacts allowed
+# per publisher. A value of '-1' indicates any 
+# number of artifacts is valid (These values can be
+# overridden at the individual publisher level).
+juddi.maxBusinessesPerPublisher=25
+juddi.maxServicesPerBusiness=20
+juddi.maxBindingsPerService=10
+juddi.maxTModelsPerPublisher=100
+
+# jUDDI Authentication module to use
+juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
+
+# jUDDI DataStore module currently to use
+juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
+
+# use a dataSource (if set to false a direct 
+# jdbc connection will be used.
+juddi.isUseDataSource=false
+juddi.jdbcDriver=com.mysql.jdbc.Driver
+juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
+juddi.jdbcUsername=root
+juddi.jdbcPassword=admin
+# jUDDI DataSource to use
+# juddi.dataSource=java:comp/env/jdbc/MySqlDS
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/log4j.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/log4j.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A size based file rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="./listener.log"/>
+     <param name="Append" value="false"/>
+     <param name="MaxFileSize" value="500KB"/>
+     <param name="MaxBackupIndex" value="1"/>
+
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+     </layout>	    
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.internal.soa.esb">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.apache">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn">
+      <priority value="ERROR"/>
+   </category>
+
+   <category name="quickstarts">
+      <priority value="WARN"/>
+   </category>
+   
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-res.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+    <!-- Populate the Reservation -->
+	<resource-config selector="bookReservations">
+        <resource>org.milyn.javabean.BeanPopulator</resource>
+        	<param name="beanId">Reservation</param>
+			<param name="beanClass">org.jboss.nightout.Reservation</param>
+        	<param name="bindings">
+            	<binding property="restaurantSeats" selector="bookReservations restaurantSeats" type="Integer" />
+            	<binding property="theatreSeats" selector="bookReservations theatreSeats" type="Integer" />
+            	<binding property="theatreArea" selector="bookReservations theatreArea" type="Integer" />
+            	<binding property="bookTaxi" selector="bookReservations bookTaxi" type="Boolean" />
+            </param>
+    </resource-config>
+
+     
+</smooks-resource-list>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-transform-wstx.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-transform-wstx.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/smooks-transform-wstx.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+	<resource-config selector="wstx">
+        <resource type="xsl">
+            <![CDATA[<soapenv:Header><xsl:value-of select="<soapenv:Body>./
+            
+            <wscoor:CoordinationContextType xmlns:wscoor="http://schemas.xmlsoap.org/ws/2004/10/wscoor">
+                <product><xsl:value-of select="./Product/@productId" /></product>
+                <price><xsl:value-of select="./Product/@price" /></price>
+                <quantity><xsl:value-of select="@quantity" /></quantity>
+            </line-item>]]>
+        </resource>
+        <param name="is-xslt-templatelet">true</param>
+	</resource-config>
+
+</smooks-resource-list>
+
+
+<wscoor:CoordinationContextType xmlns:wscoor="http://schemas.xmlsoap.org/ws/2004/10/wscoor">
+<wscoor:Identifier>urn:7f000001:cfcd:483f0ffb:2e20</wscoor:Identifier>
+<wscoor:CoordinationType>http://schemas.xmlsoap.org/ws/2004/10/wsba/AtomicOutcome</wscoor:CoordinationType>
+<wscoor:RegistrationService>
+<wsa:Address xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://localhost:8080/xts/soap/RegistrationCoordinator</wsa:Address>
+<wsa:ReferenceParameters xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
+<wsarj:InstanceIdentifier xmlns:wsarj="http://schemas.arjuna.com/ws/2005/10/wsarj">7f000001:cfcd:483f0ffb:2e20</wsarj:InstanceIdentifier>
+</wsa:ReferenceParameters>
+</wscoor:RegistrationService>
+</wscoor:CoordinationContextType>} ]

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/RequestMapper.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/RequestMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/RequestMapper.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.nightout;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class RequestMapper extends AbstractActionLifecycle
+{
+   protected ConfigTree _config;
+
+   public RequestMapper(ConfigTree config)
+   {
+      _config = config;
+   }
+
+   public Message noOperation(Message message)
+   {
+      return message;
+   }
+   
+   /*
+    * Convert the message into a web service request map.
+    */
+   public Message reservation(Message message) throws Exception
+   {
+      logHeader();
+       HashMap requestMap = new HashMap();
+       Reservation reservation = (Reservation) message.getBody().get("Reservation");
+            
+      requestMap.put("reservation", reservation);
+      
+      message.getBody().add("reservationParamMap", requestMap);
+      System.out.println("reservationParamMap is: " + requestMap.toString());
+
+      logFooter();
+      return message;
+   }
+   
+   /*
+    * Convert the message into a webservice request map.
+    */
+   public Message restaurant(Message message) throws Exception
+   {
+      logHeader();
+      HashMap requestMap = new HashMap();
+
+      Reservation reservation = (Reservation) message.getBody().get("Reservation");
+      
+      // add parameters to the web service request map
+      // requestMap.put("how_many", reservation.getRestaurantSeats());
+      requestMap.put("bookSeats.how_many", reservation.getRestaurantSeats());
+      requestMap.put("dumpSOAP", "");
+       
+      message.getBody().add(requestMap);
+      System.out.println("requestMap is: " + requestMap.toString());
+
+      logFooter();
+      return message;
+   }
+   
+   
+   /*
+    * Convert the message into a webservice request map.
+    */
+   public Message theatre(Message message) throws Exception
+   {
+      logHeader();
+      HashMap requestMap = new HashMap();
+
+      Reservation reservation = (Reservation) message.getBody().get("Reservation");
+      
+      // add parameters to the web service request map
+      //requestMap.put("how_many", reservation.getTheatreSeats());
+     // requestMap.put("which_area", reservation.getTheatreArea());
+      requestMap.put("bookSeats.how_many", reservation.getRestaurantSeats());
+      requestMap.put("bookSeats.which_area", reservation.getRestaurantSeats());
+      requestMap.put("dumpSOAP", "");
+          
+      message.getBody().add(requestMap);
+      System.out.println("requestMap is: " + requestMap.toString());
+
+      logFooter();
+      return message;
+   }
+   
+   
+   /*
+    * Convert the message into a webservice request map.
+    */
+   public Message taxi(Message message) throws Exception
+   {
+      logHeader();
+      HashMap requestMap = new HashMap();
+
+      Reservation reservation = (Reservation) message.getBody().get("Reservation");
+      
+      // add parameters to the web service request map
+      //requestMap.put("bookTaxi", reservation.isBookTaxi());
+      requestMap.put("dumpSOAP", "");
+      
+      message.getBody().add(requestMap);
+      System.out.println("requestMap is: " + requestMap.toString());
+
+      logFooter();
+      return message;
+   }
+   
+    public void exceptionHandler(Message message, Throwable exception)
+   {
+      logHeader();
+      exception.printStackTrace();
+      System.out.println("!ERROR!");
+      System.out.println(exception.getMessage());
+      System.out.println("For Message: ");
+      System.out.println(message.getBody().get());
+      logFooter();
+   }
+
+   // This makes it easier to read on the console
+   private void logHeader()
+   {
+      System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+
+   private void logFooter()
+   {
+      System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/Reservation.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/Reservation.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/java/org/jboss/nightout/Reservation.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,67 @@
+package org.jboss.nightout;
+
+import java.io.Serializable;
+
+import javax.jws.WebParam;
+
+public class Reservation implements Serializable {
+	
+	int restaurantSeats;
+    int theatreSeats;
+    int theatreArea;
+    Boolean bookTaxi;
+    Boolean restaurantStatus = true;
+    Boolean theatreStatus = true;
+    Boolean taxiStatus = true;
+    
+    
+	public int getRestaurantSeats() {
+		return restaurantSeats;
+	}
+	public void setRestaurantSeats(int restaurantSeats) {
+		this.restaurantSeats = restaurantSeats;
+	}
+	public int getTheatreSeats() {
+		return theatreSeats;
+	}
+	public void setTheatreSeats(int theatreSeats) {
+		this.theatreSeats = theatreSeats;
+	}
+	public int getTheatreArea() {
+		return theatreArea;
+	}
+	public void setTheatreArea(int theatreArea) {
+		this.theatreArea = theatreArea;
+	}
+	public Boolean isBookTaxi() {
+		return bookTaxi;
+	}
+	public void setBookTaxi(Boolean bookTaxi) {
+		this.bookTaxi = bookTaxi;
+	}
+  
+	public Boolean getBookTaxi() {
+		return bookTaxi;
+	}
+	public Boolean getRestaurantStatus() {
+		return restaurantStatus;
+	}
+	public void setRestaurantStatus(Boolean restaurantStatus) {
+		this.restaurantStatus = restaurantStatus;
+	}
+	public Boolean getTheatreStatus() {
+		return theatreStatus;
+	}
+	public void setTheatreStatus(Boolean theatreStatus) {
+		this.theatreStatus = theatreStatus;
+	}
+	public Boolean getTaxiStatus() {
+		return taxiStatus;
+	}
+	public void setTaxiStatus(Boolean taxiStatus) {
+		this.taxiStatus = taxiStatus;
+	}
+
+    
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/gpd.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/gpd.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/gpd.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="NightOutProcess" width="1103" height="724">
+  <node name="start-state1" x="344" y="21" width="157" height="43">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Book Restaurant Seats" x="75" y="217" width="170" height="46">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Book Theatre Seats" x="338" y="216" width="169" height="44">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Book Taxi" x="560" y="321" width="168" height="46">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Taxi?" x="571" y="213" width="147" height="44">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="fork1" x="297" y="118" width="252" height="24">
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="-263" h1="37" w2="0" h2="-73"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="221" h1="33" w2="-1" h2="-76"/>
+    </edge>
+  </node>
+  <node name="join1" x="287" y="418" width="270" height="24">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Success" x="346" y="488" width="151" height="47">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Complete Reservations" x="203" y="586" width="163" height="45">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Cancel Reservations" x="479" y="583" width="167" height="46">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="end-state1" x="376" y="687" width="132" height="36"/>
+</root-container>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processdefinition.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processdefinition.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processdefinition.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="NightOutProcess">
+
+
+	<start-state name="start-state1">
+		<transition to="fork1"></transition>
+	</start-state>
+
+
+	<node name="Book Restaurant Seats">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				RestaurantService
+			</esbServiceName>
+			<esbCategoryName>
+				WebServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="join1"></transition>
+	</node>
+
+	<node name="Book Theatre Seats">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				TheatreService
+			</esbServiceName>
+			<esbCategoryName>
+				WebServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="join1"></transition>
+	</node>
+
+	<node name="Book Taxi">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				TaxiService
+			</esbServiceName>
+			<esbCategoryName>
+				WebServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="join1"></transition>
+	</node>
+
+	<decision name="Taxi?" expression="#{reservation.bookTaxi}">
+		<transition to="Book Taxi" name="true"></transition>
+		<transition to="join1" name="false"></transition>
+	</decision>
+
+	<fork name="fork1">
+		<transition to="Book Restaurant Seats" name="to Book Restaurant Seats"></transition>
+		<transition to="Book Theatre Seats" name="to Book Theatre Seats"></transition>
+		<transition to="Taxi?" name="to Taxi?"></transition>
+	</fork>
+
+	<join name="join1">
+		<transition to="Success"></transition>
+	</join>
+
+	<decision name="Success" expression="#{reservation.restaurantStatus &amp;&amp; reservation.theatreStatus &amp;&amp; reservation.taxiStatus}">
+		<transition to="Complete Reservations" name="true"></transition>
+		<transition to="Cancel Reservations" name="false"></transition>
+	</decision>
+
+	<node name="Complete Reservations">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				CompleteService
+			</esbServiceName>
+			<esbCategoryName>
+				TransactionServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+		</action>
+		<transition to="end-state1"></transition>
+	</node>
+
+	<node name="Cancel Reservations">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				CancelService
+			</esbServiceName>
+			<esbCategoryName>
+				TransactionServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+		</action>
+		<transition to="end-state1"></transition>
+	</node>
+
+
+	<end-state name="end-state1"></end-state>
+
+
+</process-definition>
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processimage.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess/processimage.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/gpd.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/gpd.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/gpd.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="NightOutProcess2" width="846" height="737">
+  <node name="start-state1" x="344" y="21" width="157" height="43">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Book Restaurant Seats" x="338" y="117" width="170" height="46">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Book Theatre Seats" x="339" y="211" width="169" height="44">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Book Taxi" x="475" y="381" width="168" height="46">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Taxi?" x="350" y="299" width="147" height="44">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Success" x="347" y="474" width="151" height="47">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Complete Reservations" x="203" y="586" width="163" height="45">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="Cancel Reservations" x="479" y="583" width="167" height="46">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="end-state1" x="376" y="687" width="133" height="43"/>
+</root-container>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processdefinition.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processdefinition.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processdefinition.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="NightOutProcess2">
+
+
+	<start-state name="start-state1">
+		<transition to="Book Restaurant Seats"></transition>
+	</start-state>
+
+
+	<node name="Book Restaurant Seats">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				RestaurantService
+			</esbServiceName>
+			<esbCategoryName>
+				WebServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="Book Theatre Seats"></transition>
+	</node>
+
+	<node name="Book Theatre Seats">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				TheatreService
+			</esbServiceName>
+			<esbCategoryName>
+				WebServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="Taxi?"></transition>
+	</node>
+
+	<node name="Book Taxi">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				TaxiService
+			</esbServiceName>
+			<esbCategoryName>
+				WebServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="reservation" esb="Reservation"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="Success"></transition>
+	</node>
+
+	<decision name="Taxi?" expression="#{reservation.bookTaxi}">
+		<transition to="Book Taxi" name="true"></transition>
+		<transition to="Success" name="false"></transition>
+	</decision>
+
+	<decision name="Success" expression="#{reservation.restaurantStatus &amp;&amp; reservation.theatreStatus &amp;&amp; reservation.taxiStatus}">
+		<transition to="Complete Reservations" name="true"></transition>
+		<transition to="Cancel Reservations" name="false"></transition>
+	</decision>
+
+	<node name="Complete Reservations">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				CompleteService
+			</esbServiceName>
+			<esbCategoryName>
+				TransactionServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+		</action>
+		<transition to="end-state1"></transition>
+	</node>
+
+	<node name="Cancel Reservations">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				CancelService
+			</esbServiceName>
+			<esbCategoryName>
+				TransactionServices
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="txContext" esb="txContext"></mapping>
+			</bpmToEsbVars>
+		</action>
+		<transition to="end-state1"></transition>
+	</node>
+
+
+	<end-state name="end-state1"></end-state>
+
+
+</process-definition>
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processimage.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/src/main/jpdl/NightOutProcess2/processimage.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/RestaurantServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/RestaurantServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/RestaurantServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,81 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Restaurant" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant">
+
+   <wsdl:message name="bookSeatsBARequest">
+
+      <wsdl:part name="how_many" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsBAResponse">
+
+      <wsdl:part name="bookSeatsBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="IRestaurantServiceBA">
+
+      <wsdl:operation name="bookSeats" parameterOrder="how_many">
+
+         <wsdl:input name="bookSeatsBARequest" message="intf:bookSeatsBARequest"/>
+
+         <wsdl:output name="bookSeatsBAResponse" message="intf:bookSeatsBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="RestaurantServiceBASoapBinding" type="intf:IRestaurantServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Restaurant"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="RestaurantServiceBAService">
+
+      <wsdl:port name="RestaurantServiceBA" binding="intf:RestaurantServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/RestaurantServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TaxiServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TaxiServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TaxiServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,79 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Taxi" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Taxi">
+
+   <wsdl:message name="bookTaxiBARequest">
+
+   </wsdl:message>
+
+   <wsdl:message name="bookTaxiBAResponse">
+
+      <wsdl:part name="bookTaxiBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITaxiServiceBA">
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdl:input name="bookTaxiBARequest" message="intf:bookTaxiBARequest"/>
+
+         <wsdl:output name="bookTaxiBAResponse" message="intf:bookTaxiBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TaxiServiceBASoapBinding" type="intf:ITaxiServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookTaxi">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookTaxiBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookTaxiBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Taxi"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TaxiServiceBAService">
+
+      <wsdl:port name="TaxiServiceBA" binding="intf:TaxiServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TaxiServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TheatreServiceBA.wsdl
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TheatreServiceBA.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/samples/xts/NightOut/wsdl/TheatreServiceBA.wsdl	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,83 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:impl="http://www.jboss.com/jbosstm/xts/demo/Theatre" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.jboss.com/jbosstm/xts/demo/Theatre">
+
+   <wsdl:message name="bookSeatsBAResponse">
+
+      <wsdl:part name="bookSeatsBAResponse" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="bookSeatsBARequest">
+
+      <wsdl:part name="how_many" type="xsd:int"/>
+
+      <wsdl:part name="which_area" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="ITheatreServiceBA">
+
+      <wsdl:operation name="bookSeats" parameterOrder="how_many which_area">
+
+         <wsdl:input name="bookSeatsBARequest" message="intf:bookSeatsBARequest"/>
+
+         <wsdl:output name="bookSeatsBAResponse" message="intf:bookSeatsBAResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TheatreServiceBASoapBinding" type="intf:ITheatreServiceBA">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="bookSeats">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="bookSeatsBARequest">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="bookSeatsBAResponse">
+
+            <wsdlsoap:body use="literal" namespace="http://www.jboss.com/jbosstm/xts/demo/Theatre"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="TheatreServiceBAService">
+
+      <wsdl:port name="TheatreServiceBA" binding="intf:TheatreServiceBASoapBinding">
+
+         <wsdlsoap:address location="http://localhost:8080/xtsdemowebservices/TheatreServiceBA"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wscf.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wscf.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wscf.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,44 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<wscf-config>
+	<properties>
+	    <property name="com.arjuna.mw.wsas.deploymentContext"
+	    value="com.arjuna.mwlabs.wst.at.context.DeploymentContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.twophase.context"
+	    value="com.arjuna.mwlabs.wst.at.context.ArjunaContextImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation1"
+	    value="com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation2"
+	    value="com.arjuna.mwlabs.wst.at.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation3"
+	    value="com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation4"
+	    value="com.arjuna.mwlabs.wst.ba.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
+	    value="XTSObjectStore"/>
+	</properties>
+</wscf-config>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wst.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wst.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wst.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,48 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<deployment>
+	<service name="UserTransaction">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.remote.UserTransactionImple"/>
+
+		<!-- <parameter name="className"
+	value="com.arjuna.mwlabs.wst.at.local.UserTransactionImple"/ -->
+
+	</service>
+	<service name="TransactionManager">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.remote.TransactionManagerImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.at.local.TransactionManagerImple"/ -->
+	</service>
+	<service name="UserBusinessActivity">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.remote.UserBusinessActivityImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.local.UserBusinessActivityImple"/ -->
+	</service>
+	<service name="BusinessActivityManager">
+		<parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.remote.BusinessActivityManagerImple"/>
+		<!-- parameter name="className"
+		value="com.arjuna.mwlabs.wst.ba.local.BusinessActivityManagerImple"/ -->
+	</service>
+</deployment>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wstx.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wstx.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/conf/wstx.xml	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,50 @@
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, Red Hat Middleware LLC, and individual contributors
+  as indicated by the @author tags. 
+  See the copyright.txt in the distribution for a full listing 
+  of individual contributors.
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU General Public License, v. 2.0.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  You should have received a copy of the GNU General Public License,
+  v. 2.0 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+
+<wstx-config>
+	<properties>
+	    <property name="com.arjuna.mw.wsas.deploymentContext"
+	    value="com.arjuna.mwlabs.wst.at.context.DeploymentContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.twophase.context"
+	    value="com.arjuna.mwlabs.wst.at.context.ArjunaContextImple"/>
+	    <property name="com.arjuna.mw.wscf.protocols.sagas.context"
+	    value="com.arjuna.mwlabs.wst.ba.context.ArjunaContextImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation1"
+	    value="com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation2"
+	    value="com.arjuna.mwlabs.wst.at.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation3"
+	    value="com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple"/>
+	    <property
+	    name="com.arjuna.mw.wscf.protocolImplementation4"
+	    value="com.arjuna.mwlabs.wst.ba.ContextFactoryImple"/>
+	    <property
+	    name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
+	    value="XTSObjectStore"/>
+
+	    <property
+	    name="com.arjuna.ats.arjuna.recovery.recoveryExtension1"
+	    value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+	</properties>
+</wstx-config>

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/META-INF/MANIFEST.MF	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.6.5
+Created-By: 1.5.0_11-b03 (Sun Microsystems Inc.)
+Class-Path: wstx.jar ws-t.jar ws-c.jar jbossjta.jar jbossesb-rosetta.j
+ ar jbossesb-soap.jar jbossts-common.jar commons-logging-1.1.jar wstx-
+ asl-2.0.3.jar stax-api-1.0.jar
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/commons-logging-1.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/commons-logging-1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jaxrpc.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jboss-common-client.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jboss-common-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jboss-jaxws.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jboss-jaxws.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossesb-rosetta.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossesb-rosetta.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossesb-soap.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossesb-soap.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossjta.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossjta.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossts-common.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/jbossts-common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/saaj-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/saaj-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/servlet.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/servlet.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/stax-api-1.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/stax-api-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/third_party_licenses.txt
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/third_party_licenses.txt	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/third_party_licenses.txt	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,2603 @@
+#
+# JBoss, Home of Professional Open Source
+# Copyright 2006, Red Hat Middleware LLC, and individual contributors
+# as indicated by the @author tags.
+# See the copyright.txt in the distribution for a full listing
+# of individual contributors.
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License, v. 2.0.
+# This program is distributed in the hope that it will be useful, but WITHOUT A
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License,
+# v. 2.0 along with this distribution; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+# (C) 2005-2006,
+# @author JBoss Inc.
+#
+TERMS AND CONDITIONS FOR THIRD PARTY PRODUCTS THAT MAY ACCOMPANY ARJUNAMS
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE SOFTWARE THAT IS THE
+PARTICULAR THIRD PARTY PRODUCT AND DO NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY OTHER PRODUCTS TERMS
+ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+LICENSE TERMS FOR APACHE XERXES AND APACHE XALAN THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+
+The Apache Software LICENSE, Version 1.1
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE SOFTWARE THAT IS
+APACHE XERCES AND XALAN AND DO NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY OTHER PRODUCTS TERMS
+ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+For the Apache Xerces software:  Copyright (c) 1999-2000 The Apache Software Foundation.  All rights reserved.
+For the Apache Xalan software:  Copyright (c) 1999 The Apache Software Foundation.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without  modification, are permitted provided that the following conditions are
+met:
+
+1.	Redistributions of source code must retain the above copyright  notice, this list of conditions and the following disclaimer.
+
+2.	Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+3.	The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
+
+"This product includes software developed by the Apache Software Foundation (http://www.apache.org/)."
+
+Alternately, this acknowledgment may appear in the software itself,   if and wherever such third-party acknowledgments normally
+appear.
+
+4.	The names "Xerces", "Xalan"  and "Apache Software Foundation" must not be used to endorse or promote products derived from
+this software without prior written permission. For written permission, please contact apache at apache.org.
+
+5.	Products derived from this software may not be called "Apache", "Velocity" nor may "Apache" appear in their name, without prior
+written permission of the Apache Software Foundation.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+LICENSE TERMS FOR SUN MICROSYSTEMS, INC. PROGRAMS THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE SOFTWARE THAT IS SUN
+MICROSYSTEMS, INC. SOFTWARE AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY OTHER PRODUCTS TERMS
+ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+I.	Binary Code License Agreement for JavaTM Secure Socket Extensions ("JSSE") (including jsse, jcert and jnet) and JavaMailTM
+1.2 ("JavaMail") (mail)
+
+1. LICENSE TO USE. Sun grants you a non-exclusive and non-transferable license for the internal use only of the JSSE and JavaMail
+software and documentation and any error corrections provided by Sun (collectively "Sun Software"), by the number of users and the
+class of computer hardware for which the corresponding fee has been paid.
+2. RESTRICTIONS. Sun Software is confidential and copyrighted. Title to Sun Software and all associated intellectual property rights is
+retained by Sun and/or its licensors. Except as specifically authorized in any Supplemental License Terms, you may not make copies of
+Sun Software, other than a single copy of Sun Software for archival purposes. Unless enforcement is prohibited by applicable law, you
+may not modify, decompile, or reverse engineer Sun Software. You acknowledge that Sun Software is not designed, licensed or
+intended for use in the design, construction, operation or maintenance of any nuclear facility. Sun disclaims any express or implied
+warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo or trade name of Sun or its
+licensors is granted under this Sun Agreement.
+3. LIMITED WARRANTY. Sun Software is provided "AS IS". Your exclusive remedy and Sun's entire liability under this limited
+warranty will be Sun's refund of the fee paid for Sun Software.
+4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS SUN AGREEMENT, ALL EXPRESS OR IMPLIED
+CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT
+TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+5. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
+LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
+INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING
+OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SUN SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's liability to you, whether in contract, tort (including negligence), or
+otherwise, exceed the amount paid by you for Sun Software under this Sun Agreement. The foregoing limitations will apply even if the
+above stated warranty fails of its essential purpose.
+6. Termination. This Sun Agreement is effective until terminated. You may terminate this Sun Agreement at any time by destroying all
+copies of Sun Software. This Sun Agreement will terminate immediately without notice from Sun if you fail to comply with any
+provision of this Sun Agreement. Upon Termination, you must destroy all copies of Sun Software.
+7. Export Regulations. All Sun Software and technical data delivered under this Sun Agreement are subject to US export control laws
+and may be subject to export or import regulations in other countries. You agree to comply strictly with all such laws and regulations
+and acknowledge that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery
+to you.
+8. U.S. Government Restricted Rights. If Sun Software is being acquired by or on behalf of the U.S. Government or by a U.S.
+Government prime contractor or subcontractor (at any tier), then the Government's rights in Sun Software and accompanying
+documentation will be only as set forth in this Sun Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for
+Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+9. Governing Law. Any action related to this Sun Agreement will be governed by California law and controlling U.S. federal law. No
+choice of law rules of any jurisdiction will apply.
+10. Severability. If any provision of this Sun Agreement is held to be unenforceable, this Sun Agreement will remain in effect with the
+provision omitted, unless omission would frustrate the intent of the parties, in which case this Sun Agreement will immediately
+terminate.
+11. Integration. This Sun Agreement is the entire agreement between you and Sun relating to its subject matter. It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or
+additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during
+the term of this Sun Agreement. No modification of this Sun Agreement will be binding, unless in writing and signed by an authorized
+representative of each party. For inquiries please contact: Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303
+
+II.	JAVATM DEVELOPMENT OPTIONAL PACKAGES JSSE,VERSION 1.0.2 SUPPLEMENTAL LICENSE TERMS
+These supplemental license terms ("JSSE Supplement") add to or modify the terms of the Sun Agreement (collectively, the "JSSE
+Agreement") solely for the JSSE Software. Capitalized terms not defined in this Supplement shall have the same meanings ascribed to
+them in the Sun Agreement. These Supplement terms shall supersede any inconsistent or conflicting terms in the Sun Agreement, or in
+any license contained within the JSSE Software.
+1. License to Distribute. Sun grants you a non-exclusive, non-transferable, royalty-free, limited license to (a) use the binary form of the
+JSSE Software for the sole purpose of designing, developing and testing your JavaTM applets and applications intended to run on a
+compatible Java environment (the "Programs"), provided that the Programs add significant and primary functionality to the JSSE
+Software, and (b) reproduce and distribute the binary form of the JSSE Software through multiple tiers of distribution provided that you:
+(i) distribute the JSSE Software complete and unmodified; (ii) do not distribute additional software intended to supersede any
+component(s) of the JSSE Software; (iii) do not remove or alter any proprietary legends or notices contained in or on the JSSE Software;
+and (iv) only distribute the JSSE Software pursuant to a license agreement that protects Sun's interests consistent with the terms
+contained in this Agreement, and provides that Sun is a third party beneficiary to such license agreement. If you distribute the JSSE
+Software pursuant to this paragraph, you must include the following statement as part of product documentation (whether hard copy or
+electronic), as a part of a copyright page or proprietary rights notice page, in an "About" box or in any other form reasonably designed to
+make the statement visible to users of the JSSE Software: "This product includes code licensed from RSA Data Security".
+2. Requirements. In exchange for the licenses granted in Paragraph II.1 above, you agree: a. not to create, or authorize your licensees to
+create, additional classes, interfaces or subpackages that are contained in the "java," "javax" or "sun" packages, or similarly named
+package, as specified by Sun in any naming convention; b. that, in the event that you create an API(s) which: (i) extends the
+functionality of a Java platform; and (ii) is distributed to third party software developers for the purpose of developing software which
+invokes such additional API, you must promptly and broadly publish an accurate specification for such API for free use by all
+developers; and c. to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts
+and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or
+results from the use or distribution of any and all Programs and/or JSSE Software.
+3. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the Java trademark and all Java-related
+trademarks, service marks, logos and other brand designations including the Coffee Cup logo and Duke logo ("Java Marks"), and you
+agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks.
+Any use you make of the Java Marks inures to Sun's benefit.
+4. Source Code. JSSE Software may contain source code that is provided solely for reference purposes pursuant to the terms of this
+JSSE Agreement.
+
+III.		JAVAMAIL, VERSION 1.2 SUPPLEMENTAL LICENSE TERMS
+These supplemental license terms ("JavaMail Supplemental Terms") add to or modify the terms of the Sun Agreement solely for the
+JavaMail software (collectively, the " JavaMail Agreement"). Capitalized terms not defined in these JavaMail Supplemental Terms shall
+have the same meanings ascribed to them in the Sun Agreement. These JavaMail Supplemental Terms shall supersede any inconsistent
+or conflicting terms in the Agreement, or in any license contained within the JavaMail Software.
+1. JavaMail Software Internal Use and Development License Grant. Subject to the terms and conditions of this JavaMail
+Agreement, including, but not limited to Section 3 (JavaTM Technology Restrictions) of these JavaMail Supplemental Terms, Sun grants
+you a non-exclusive, non-transferable, limited license to reproduce internally and use internally the binary form of the JavaMail
+Software, complete and unmodified, for the sole purpose of designing, developing and testing your Java applets and applications
+("Programs").
+2. License to Distribute JavaMail Software. Subject to the terms and conditions of this Agreement, including, but not limited to
+Section 3 (Java TM Technology Restrictions) of these JavaMail Supplemental Terms, Sun grants you a non-exclusive, non-transferable,
+limited license to reproduce and distribute the JavaMail Software in binary code form only, provided that (i) you distribute the JavaMail
+Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Java applets or applications
+("Programs"), (ii) the Programs add significant and primary functionality to the JavaMail Software, (iii) you do not distribute additional
+software intended to replace any component(s) of the JavaMail Software, (iv) you do not remove or alter any proprietary legends or
+notices contained in the JavaMail Software, (v) you only distribute the JavaMail Software subject to a license agreement that protects
+Sun's interests consistent with the terms contained in this JavaMail Agreement, and (vi) you agree to defend and indemnify Sun and its
+licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in
+connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs
+and/or JavaMail Software.
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the
+"java" package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the
+addition to or modification of the classes in the JPI. In the event that you create an additional class and associated API(s) which (i)
+extends the functionality of the Java platform, and (ii) is exposed to third party software developers for the purpose of developing
+additional software which invokes such additional API, you must promptly publish broadly an accurate specification for such API for
+free use by all developers. You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that
+are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
+4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI,
+FORTE, STAROFFICE, STARPORTAL and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE,
+STARPORTAL and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to
+comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use
+you make of the Sun Marks inures to Sun's benefit.
+5. Source Code. JavaMail Software may contain source code that is provided solely for reference purposes pursuant to the terms of this
+JavaMail Agreement. Source code may not be redistributed unless expressly provided for in this JavaMail Agreement.
+6. Termination for Infringement. Either party may terminate this JavaMail Agreement immediately should any JavaMail Software
+become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
+For inquiries please contact: Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303
+
+ IV.  Binary Code License Agreement for Java � API for SML Processing (jaxp) Sun Microsystems, Inc.
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile,
+or reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+V.  Supplemental License Terms for Java � API for XML Parsing (jaxp), Version 1.1
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively,
+the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the
+Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained
+within the Software.
+
+1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to
+Section 3 (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited
+license to reproduce internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of
+designing, developing and testing your Java applets and applications ("Programs").
+
+2. License to Distribute Software.  In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of
+these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section 3 (Java Technology
+Restrictions), Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software in binary form,
+provided that you (i) distribute the Software complete and unmodified and only bundled as part of your Programs, (ii) do not distribute
+additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any proprietary legends or notices
+contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's interests consistent with the
+terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against any damages, costs,
+liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any
+third party that arises or results from the use or distribution of any and all Programs and/or Software.
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java"
+package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or
+modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the
+functionality of the Java platform, and (ii) is exposed to third party software developers for the purpose of developing additional software
+which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers.
+You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as
+"java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
+
+4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE,
+STAROFFICE, STARPORTAL and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL
+and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun
+Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks
+inures to Sun's benefit.
+
+5. Source Code. Software may contain source code that is provided for reference purposes pursuant to the terms of this Agreement. Source
+code may not be redistributed unless expressly provided for in this Agreement. Portions of this download are governed by the Apache Source
+Code License and are identified in the Readme file. A copy of the Apache License is supplied with the Apache Source Code.
+
+6. Termination for Infringement.  Either party may terminate this Agreement immediately should any Software become, or in either party's
+opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
+
+For inquiries please contact: Sun Microsystems, Inc.  901 San Antonio Road, Palo Alto, California 94303
+(Form last modified 11-03-2000.)
+
+VI.  Binary Code License Agreement for Java � Authentication and Activation Service (jaas)
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted.  Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or
+reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3.  LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the  foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at
+Sun's option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+7.  Export Regulations.  All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.  U.S.  Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S.  Government or by a U.S.  Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) ac- quisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability.  If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+For inquiries please contact:  Sun Microsystems,
+Inc.  901 San Antonio Road, Palo Alto, California
+94303
+
+VII.  Supplemental License for Java � Authentication and Authorization Service (jaas)
+SUPPLEMENTAL LICENSE TERMS
+
+
+These supplemental license terms ("Supplement") add to or modify the terms of the Binary Code License Agreement (collectively, the
+"Agreement"). Capitalized terms not defined in this Supplement shall have the same meanings ascribed to them in the Agreement.  These
+Supplement terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software.
+
+1.  License to Distribute.  Subject to the terms and conditions of this Agreement, including but not limited to Section 2 (Requirements), Sun
+grants you a non-exclusive, non-transferable, royalty-free, limited license to (a) use the binary form of the Software for the sole purpose
+of designing, developing and testing your JavaTM applets and applications intended to run on a compatible Java environment (the
+"Programs"), and (b) reproduce and distribute the binary form of the Software provided that you:  (i) distribute the Software complete and
+unmodified and only bundled as part of the Programs; (ii) do not distribute additional software intended to supersede any component(s) of the
+Software; (iii) do not remove or alter any proprietary legends or notices contained in or on the Software; and (iv) only distribute the Software
+pursuant to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement.
+
+2.  Requirements.  In exchange for the licenses granted in Paragraph 1 above, you agree:
+
+a.  not to create, or authorize your licensees to create, additional classes, interfaces or subpackages that are contained in the "java," "javax" or
+"sun" packages, or similarly named package, as specified by Sun in any naming convention;
+
+b.  that, in the event that you create an API(s) which:  (i) extends the functionality of a Java platform; and (ii) is distributed to third party
+software developers for the purpose of developing software which invokes such additional API, you must promptly and broadly publish an
+accurate specification for such API for free use by all developers; and
+
+c.  to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses
+(including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or
+distribution of any and all Programs and/or Software.
+
+3.  Trademarks and Logos.  You acknowledge and agree as between you and Sun that Sun owns the Java trademark and all Java-related
+trademarks, service marks, logos and other brand designations including the Coffee Cup logo and Duke logo ("Java Marks"), and you agree
+to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks.
+Any use you make of the Java Marks inures to Sun's benefit.
+
+4.  Source Code.  Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.
+
+
+VIII.  Binary Code License Agreement Terms for JavaHelp� 1.1.2_01 (including jhall)
+
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile,
+or reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+IX.  Supplemental License Terms for JavaHelp� 1.1.2_01 (including jhall)
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively,
+the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the
+Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained
+within the Software.
+
+1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to
+Section 3 (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited
+license to reproduce internally and use internally the binary form of the Software complete and unmodified for the sole purpose of designing,
+developing and testing your Java applets and applications intended to run on the Java platform ("Programs").
+").
+
+2. License to Distribute Redistributables.  In addition to the license granted in Section 1 (Software Internal Use and Development License
+Grant) of these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section 3 (Java
+Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce and
+distribute those files specifically identified as redistributable in the Software "README" file ("Redistributables") provided that: (i) you
+distribute the Redistributables complete and unmodified (unless otherwise specified in the applicable README file), and only bundled as
+part of your Programs, (ii) you do not distribute additional software intended to supersede any component(s) of the Redistributables, (iii) you
+do not remove or alter any proprietary legends or notices contained in or on the Redistributables, (iv) you only distribute the Redistributables
+pursuant to a license agreement that protects Sun's interests consistent with the terms contained in the Agreement, and (v) you agree to
+defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including
+attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of
+any and all Programs and/or Software.
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java"
+package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or
+modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the
+functionality of the Java platform, and (ii) is exposed to third party software developers for the purpose of developing additional software
+which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers.
+You may not create, or authorize your licensees to create, additional classes, interfaces, or subpackages that are in any way identified as
+"java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
+
+4.  Java Runtime Availability.  Refer to the appropriate version of the Java Runtime Environment binary code license (currently located at
+http://www.java.sun.com/jdk/index.html) for the availability of runtime code which may be distributed with Java applets and applications.
+
+5. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE,
+and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-related trademarks, service marks, logos and other
+brand designations ("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at
+http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks inures to Sun's benefit.
+
+6. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.
+Source code may not be redistributed unless expressly provided for in this Agreement.
+
+7.  Termination for Infringement.  Either party may terminate this Agreement immediately should any Software become, or in either party's
+opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
+
+
+
+For inquiries please contact: Sun Microsystems, Inc.  901 San Antonio Road, Palo Alto, California 94303
+(LFI#90701/Form ID#011801)
+
+X.	Binary Code License Agreement for JavaBeans � Activation Framework 1.0.1 (activation)
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile,
+or reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+XI.  Supplemental License Terms for JavaBeans � Activation Framework, Version 1.0.1 (activation)
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively,
+the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the
+Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained
+within the Software.
+
+1. Software Internal Use and Development License Grant.  Subject to the terms and conditions of this Agreement, including, but not limited
+to Section 3 (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited
+license to reproduce internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of
+designing, developing and testing your Java applets and applications ("Programs").
+
+2. License to Distribute Software.  In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of
+these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to, Section 3 (Java Technology
+Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the
+Software in binary code form only, provided that you (i) distribute the Software complete and unmodified and only bundled as part of your
+Programs, (ii) do not distribute additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any
+proprietary legends or notices contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's
+interests consistent with the terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against
+any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit
+or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java"
+package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or
+modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the
+functionality of the Java platform, and (ii) is exposed to third party software developers for the purpose of developing additional software
+which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers.
+You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as
+"java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
+
+4. No Support. Sun is under no obligation to support the Software or to provide you with updates or error corrections. You acknowledge that
+the Software may have defects or deficiencies which cannot or will not be corrected by Sun.
+
+5. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE,
+and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-related trademarks, service marks, logos and other
+brand designations ("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at
+http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks inures to Sun's benefit.
+
+6. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.
+Source code may not be redistributed unless expressly provided for in this Agreement.
+
+7. Termination for Infringement.  Either party may terminate this Agreement immediately should any Software become, or in either party's
+opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
+
+For inquiries please contact: Sun Microsystems, Inc.  901 San Antonio Road, Palo Alto, California 94303
+(LFI#90622/Form ID#011801)
+
+XII.  Binary Code License Agreement for Java � Cryptography Extension (jce)
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and  non-transferable license for the internal use only of the
+accompanying software and documentation and any error corrections provided by Sun (collectively "Software"), by
+the number of users and the class of computer hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile,
+or reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+7.  Export Regulations.  All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.  U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+For inquiries please contact: Sun Microsystems, Inc.  901
+San Antonio Road, Palo Alto, California 94303
+
+XII.  Supplemental License Terms for Java(TM) Development Optional Packages Java (TM) Cryptography Extension, Version 1.2.1
+(jce)
+
+SUPPLEMENTAL LICENSE TERMS
+
+These supplemental license terms ("Supplement") add to or modify the terms of the Binary Code License Agreement (collectively, the
+"Agreement"). Capitalized terms not defined in this Supplement shall have the same meanings ascribed to them in the Agreement. These
+Supplement terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software.
+
+1. License to Distribute. Sun grants to you a non-exclusive, non-transferable, royalty-free, limited license to (a) use the binary form of the
+Software for the sole purpose of designing, developing and testing your Java(TM) applets and applications intended to run on a compatible
+Java environment (the "Programs"), provided that the Programs add significant and primary functionality to the Software, and (b) reproduce
+and distribute the binary form of the Software provided that you: (i) distribute the Software complete and unmodified; (ii) do not distribute
+additional software intended to supersede any component(s) of the Software; (iii) do not remove or alter any proprietary legends or notices
+contained in or on the Software; and (iv) only distribute the Software pursuant to a license agreement that protects Sun's interests
+consistent with the terms contained in this Agreement, and provides that Sun is a third party beneficiary to such license agreement.
+
+2. Requirements. In exchange for the licenses granted in Paragraph 1 above, you agree:
+
+a. not to create, or authorize your licensees to create, additional classes, interfaces or subpackages that are contained in the "java," "javax" or
+"sun" packages, or similarly named package, as specified by Sun in any naming convention;
+
+b. that, in the event that you create an API(s) which: (i) extends the functionality of a Java platform; and (ii) is distributed to third party
+software developers for the purpose of developing software which invokes such additional API, you must promptly and broadly publish an
+accurate specification for such API for free use by all developers; and
+
+c. to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses
+(including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or
+distribution of any and all Programs and/or Software.
+
+3. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the Java trademark and all Java-related
+trademarks, service marks, logos and other brand designations including the Coffee Cup logo and Duke logo ("Java Marks"), and you agree
+to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you
+make of the Java Marks inures to Sun's benefit.
+
+4. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.
+
+XIV.  Binary Code License Agreement for Java(TM) Servlet API Class Files 2.2b (servlet)
+
+
+1. LICENSE TO USE. Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+
+
+2. RESTRICTIONS Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors. Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or
+reverse engineer Software. You acknowledge that Software is not designed, licensed or intended for use in the design, construction, operation
+or maintenance of any nuclear facility. Sun disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or
+to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+
+
+3. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use. Except
+for the foregoing, Software is provided "AS IS". Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+
+
+4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+
+
+5. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES. In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+
+
+6. Termination. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of
+Software. This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries. You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+
+
+8. U.S. Government Restricted Rights. If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime
+contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set forth
+in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and
+with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+
+
+9. Governing Law. Any action related to this Agreement will be governed by California law and controlling U.S. federal law. No choice of
+law rules of any jurisdiction will apply.
+
+
+
+10. Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+
+
+11. Integration. This Agreement is the entire agreement between you and Sun relating to its subject matter. It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+
+
+For inquiries please contact: Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303
+
+XV.  Supplemental License Terms for Java(TM) Servlet API Class Files 2.2b (servlet)
+These supplemental license terms ("Supplement") add to or modify the terms of the Binary Code License Agreement (collectively, the
+"Agreement"). Capitalized terms not defined in this Supplement shall have the same meanings ascribed to them in the Agreement. These
+Supplement terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software.
+
+
+
+1. License to Develop. Subject to the terms and conditions of this Agreement, including but not limited to the terms and conditions contained
+in this Supplement, Sun grants you a non-exclusive, non-transferable, limited license to reproduce and use internally the binary form of the
+Software for the purpose of designing, developing and testing your JavaTM applets and applications intended to run on a compatible Java
+platform (the "Program(s)").
+
+
+
+2. License to Distribute. Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the binary code form of
+the Software to third party end users, through multiple tiers of distribution, provided that you: (i) distribute the Software complete and
+unmodified in its original Java Archive file, and only bundled as a part of your Program that incorporates the Software; (ii) do not distribute
+additional software intended to replace any component(s) of the Software; (iii) do not remove or alter any proprietary legends or notices
+contained in or on the Software; (iv) only distribute the Program pursuant to a license agreement that protects Sun's interest consistent with
+the terms contained in the Agreement and provided that Sun is a third party beneficiary to such license agreement; (v) do not create, or
+authorize your licensees to create, additional classes, interfaces, or subpackages that are contained in the "java", "javax" or "sun" packages or
+similar packages as specified by Sun in any naming convention; and (vi) agree to defend and indemnify Sun and its licensors from and
+against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim,
+lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs.
+
+
+
+3. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the Java trademark and all Java-related
+trademarks, service marks, logos and other brand designations including the Coffee Cup logo and Duke logo ("Java Marks"), and you agree
+to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you
+make of the Java Marks inures to Sun's benefit.
+
+
+XVI.  Sun Community Source License for JMX Instrumentation Reference Implementation 1.0 (jmxri)
+SUN COMMUNITY SOURCE LICENSE
+
+I.  DEFINITIONS.
+
+"Community Code" means Reference Code, Contributed Code, and any combination thereof.
+
+"Community Member" means You, Original Contributor and any other party that has entered into and has in effect a version of this License
+"(or who is similarly authorized and obligated by Sun)" for the Technology with Original Contributor.
+
+"Contributed Code" means Error Corrections, Shared Modifications and any other code other than Reference Code made available to all
+Community Members in accordance with this License.
+
+"Contributed Code Specifications" means the functional, interface and operational specifications and documentation for Contributed Code.
+
+"Contributor" means any Community Member who makes available Contributed Code.
+
+"Covered Code" means any and all code (including Modifications) implementing all or any portion of the Technology Specifications.
+
+"Error Correction(s)" mean Modifications which correct any failure of Community Code to conform to any aspect of the Technology
+Specifications.
+
+"Interfaces" means classes or other programming code or specifications designed for use with the Technology comprising a means or link for
+invoking functionality, operations or protocols and which are additional to or extend the interfaces designated in the Technology
+Specifications.
+
+"Modifications" means any (i) change or addition to Covered Code, or (ii) new source or object code implementing any portion of the
+Technology Specifications, but (iii) excluding any incorporated Reference Code.
+
+"Original Contributor" means Sun Microsystems, Inc., its affiliates, successors and assigns.
+
+"Reference Code" means source code for the Technology designated by Original Contributor at the Technology Site from time to time.
+
+"Research Use" means research, evaluation, development, educational or personal and individual use, excluding use or distribution for direct
+or indirect commercial (including strategic) gain or advantage.
+
+"Shared Modifications" means those Modifications which Community Members elect to share with other Community Members.
+
+"Technology Specifications" means the functional, interface and operational specifications and documentation for the Technology designated
+by Original Contributor at the Technology Site from time to time.
+
+"Technology" means the technology described in and contemplated by the Technology Specifications and which You have received pursuant
+to this License.
+
+"Technology Site" means the website designated by Original Contributor for accessing Community Code and Technology Specifications.
+
+"You" means the individual executing this license or the legal entity or entities represented by the individual executing this license.  "Your" is
+the possessive of "You."
+
+II.  PURPOSE.
+
+Original Contributor is licensing the Reference Code and Technology Specifications and is permitting implementation of Technology under
+and subject to this Sun Community Source License (the "License") to promote research, education, innovation and product development
+using the Technology.
+
+COMMERCIAL USE AND DISTRIBUTION OF TECHNOLOGY IS PERMITTEDONLY UNDER OPTIONAL SUPPLEMENTS TO
+THIS LICENSE.
+
+III.  RESEARCH USE RIGHTS.
+
+A.  From Original Contributor.  Subject to and conditioned upon Your full compliance with the terms and conditions of this License,
+including Sections IV (Restrictions and Community Responsibilities) and V.E.7 (International Use), Original Contributor:
+
+1.  grants to You a non-exclusive, worldwide and royalty-free license to the extent of Original Contributor's copyrights and trade secret rights
+in and covering the Reference Code and Technology Specifications to do the following for Your Research Use only:  a) Reproduce, prepare
+derivative works of, display and perform the Reference Code, in whole or in part, alone or as part of Covered Code; b) Reproduce, prepare
+derivative works of and display the Technology Specifications; c) Distribute source or object code copies of Reference Code, in whole or in
+part, alone or as part Covered Code, to other Community Members or to students; and d) Distribute object code copies of Reference
+Code, in whole or in part, alone or as part of Covered Code to third parties.
+
+2.  will not, during the term of Your License, bring against You any claim alleging that Your using, making, having made, importing or
+distributing Community Code for Your Research Use, insofar as permitted under Section III.A.1 of this License, necessarily infringes any
+patent now owned or hereafter acquired by Original Contributor whose claims cover subject matter contained in or embodied by the
+Reference Code or which would necessarily be infringed by the use or distribution of any and all implementations of the Technology
+Specifications.
+
+3.  grants to You a non-exclusive, worldwide and royalty-free license, to the extent of its intellectual property rights therein, to use (a)
+Original Contributor's class, interface and package names only insofar as necessary to accurately reference or invoke Your Modifications for
+Research Use, and (b) any associated software tools, documents and information provided by Original Contributor at the Technology Site for
+use in exercising the above license rights.
+
+B.  Contributed Code.  Subject to and conditioned upon compliance with the terms and conditions of this License, including Sections IV
+(Restrictions and Community Responsibilities) and V.E.7 (International Use), each Contributor:
+
+1.  grants to each Community Member a non-exclusive, worldwide and royalty-free license to the extent of such Contributor's copyrights
+[and trade secret rights?]  in and covering its Contributed Code, to reproduce, modify, display and distribute Contributed Code, in whole or in
+part, in source code and object code form, to the same extent as permitted under such Community Member's License with Original
+Contributor (including all supplements thereto).
+
+2.  will not, during the term of the Community Member's  License, bring against any Community Member any claim alleging that using,
+making, having made, importing or distributing Contributed Code as permitted under this License (including any supplements) infringes any
+patents or patent applications now owned or hereafter acquired by such Contributor which patents or patent applications are infringed by
+using, making, having made, selling, offering for sale, importing or otherwise transferring the Contributed Code ("Contributor Patents").
+This covenant shall apply to the combination of the Contributed Code with other Covered Code if, at the time the Contributed Code is
+posted by Contributor, such addition of the Contributed Code causes such combination to be covered by the Contributor Patents.  The
+covenant shall not apply to any other combinations which include the Contributed Code or to the use or distribution of modified Contributed
+Code where the modifications made by the Community Member add to the functions performed by the Contributed Code in question and
+where, in the absence of such modifications, there would be no infringement of a Contributor Patent.
+
+3.  grants to Original Contributor, in addition to the rights set forth in Sections III.B.1 and III.B.2, the right to sublicense all such rights in
+Contributed Code, in whole or in part, as part of Reference Code or other technologies based in whole or in part on Reference Code or
+Technology and to copy, distribute, modify and prepare derivative works of Contributed Code Specifications, in whole or in part, in
+connection with the exercise of such rights.
+
+C.  Subcontracting.  You may provide Covered Code to a contractor for the sole purpose of providing development services exclusively to
+You consistent with Your rights under this License.  Such Contractor must be a Community Member or have executed an agreement with
+You that is consistent with Your rights and obligations under this License and that assigns exclusive rights in work product to You.  You
+agree that such work product is to be treated as Covered Code.
+
+D.  No Implied Licenses.  Neither party is granted any right or license other than the licenses and covenants expressly set out herein.  Other
+than the licenses and covenants expressly set out herein, Original Contributor retains all right, title and interest in Reference Code and
+Technology Specifications and You retain all right, title and interest in Your Modifications and associated specifications.  Except as
+expressly permitted herein, You may not otherwise use any package, class or interface naming conventions that appear to originate from
+Original Contributor.
+
+IV.  RESTRICTIONS AND COMMUNITY RESPONSIBILITIES.
+
+As a condition to Your license and other rights and immunities, You must comply with the restrictions and responsibilities set forth below, as
+modified or supplemented, if at all, in Attachment B, Additional Research Use Terms and Conditions.
+
+A.  Source Code Availability.  You must provide source code and any specifications for Your Error Corrections to Original Contributor as
+soon as practicable.  You may provide other Contributed Code to Original Contributor at any time, in Your discretion.  Original Contributor
+may, in its discretion, post Your Contributed Code and Contributed Code Specifications on the Technology Site.  You may post Your
+Contributed Code and/or Contributed Code Specifications on another website of Your choice; provided, source code of Community Code and
+Technology Specifications may be provided to Community Members only and only following certification of Community Member status as
+required under Section IV.D.
+
+B.  Notices.  You must reproduce without alteration copyright and other proprietary notices in any Covered Code that You distribute.  The
+statement Use and Distribution is subject to the Sun Community Source License available at http://sun.com/software/communitysource must
+appear prominently in Your Modifications and, in all cases, in the same file as all Your copyright and other proprietary notices.
+
+C.  Modifications.  You must include a diff file with Your Contributed Code that identifies and details the changes or additions You made,
+the version of Reference Code or Contributed Code You used and the date of such changes or additions.  In addition, You must provide any
+Contributed Code Specifications for Your Contributed Code.  Your Modifications are Covered Code and You expressly agree that
+use and distribution, in whole or in part, of Your Modifications shall only be done in accordance with and subject to this License.
+
+D.  Distribution Requirements.  You may distribute object code of Covered Code to third parties for Research Use only pursuant to a license
+of Your choice which is consistent with this License.  You may distribute source code of Covered Code and the Technology Specifications
+for Research Use only to (i) Community Members from whom You have first obtained a certification of status in the form set forth in
+Attachment A-1, and (ii) students from whom You have first obtained an executed acknowledgment in the form set forth in Attachment A-2.
+You must keep a copy of each such certificate and acknowledgment You obtain and provide a copy to Original Contributor, if requested.  E.
+Extensions.
+
+1.  You may create and add Interfaces but, unless expressly permitted at the Technology Site, You may not incorporate any Reference Code
+in Your Interfaces.  If You choose to disclose or permit disclosure of Your Interfaces to even a single third party for the purposes of enabling
+such third party to independently develop and distribute (directly or indirectly) technology which invokes such Interfaces, You
+must then make the Interfaces open by (a) promptly following completion thereof, publishing to the industry, on a non-confidential basis and
+free of all copyright restrictions, a reasonably detailed, current and accurate specification for the Interfaces, and (b) as soon as reasonably
+possible, but in no event more than thirty (30) days following publication of Your specification, making available on reasonable terms and
+without discrimination, a reasonably complete and practicable test suite and methodology adequate to create and test implementations of
+the Interfaces by a reasonably skilled technologist.
+
+2.  You shall not assert any intellectual property rights You may have covering Your Interfaces which would necessarily be infringed by the
+creation, use or distribution of all reasonable independent implementations of Your specification of such Interfaces by a Community
+Member or Original Contributor.  Nothing herein is intended  to prevent You from enforcing any of Your intellectual property rights
+covering Your specific implementation of Your Interfaces or functionality using such Interfaces other than as specifically set forth in this
+Section IV.E.2.
+
+V.  GOVERNANCE.
+
+A.  License Versions.
+
+Only Original Contributor may promulgate new versions of this License.  Once You have accepted Reference Code, Technology
+Specifications, Contributed Code and/or Contributed Code Specifications under a version of this License, You may always continue to use
+such version of Reference Code, Technology Specifications, Contributed Code and/or Contributed Code Specifications under that version of
+the License.  New code and specifications which You may subsequently choose to accept will be subject to any new License in effect at the
+time of Your acceptance of such code and specifications.
+
+B.  Disclaimer Of Warranties.
+
+1.  COVERED CODE AND ALL TECHNOLOGY SPECIFICATIONS AND CONTRIBUTED CODESPECIFICATIONS ARE
+PROVIDED AS IS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT ANY COVERED CODE OR SPECIFICATIONS ARE FREE OF DEFECTS, MERCHANTABLE,
+FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING OF THIRD PARTY RIGHTS. YOU AGREE THAT YOU BEAR THE
+ENTIRE RISK IN CONNECTION WITH YOUR USE AND DISTRIBUTION OF ANY AND ALL COVERED CODE OR
+TECHNOLOGY SPECIFICATIONS OR CONTRIBUTED CODE SPECIFICATIONS UNDER THIS LICENSE.  NO USE OF ANY
+COVERED CODE OR TECHNOLOGY SPECIFICATIONS OR CONTRIBUTED CODE SPECIFICATIONS IS AUTHORIZED EXCEPT
+SUBJECT TO AND IN CONSIDERATION FOR THIS DISCLAIMER.
+
+2.  You understand that, although each Community Member grants the licenses set forth in the License and this Supplement, no assurances
+are provided by any Community Member that Covered Code or any specifications do not infringe the intellectual property rights of any third
+party.
+
+3.  You acknowledge that Reference Code and Technology Specifications are neither designed nor intended for use in the design,
+construction, operation or maintenance of any nuclear facility.
+
+C.  Limitation Of Liability.
+
+1.  Infringement.  Each Community Member disclaims any liability to all other Community Members for claims brought
+by any third party based on infringement of intellectual property rights.  Original Contributor represents that, to its knowledge, it has
+sufficient copyrights to allow You to use and distribute the Reference Code as herein permitted (including as permitted in any Supplement
+hereto) and You represent that, to Your knowledge, You have sufficient copyrights to allow each Community Member and Original
+Contributor to use and distribute Your Shared Modifications and Error Corrections as contemplated herein permitted (including as permitted
+in any Supplements to the License). You agree to notify Original Contributor should You become aware of any potential or actual
+infringement of the Technology or any of Original Contributors intellectual property rights in the Technology, Reference Code or
+Technology Specifications.
+
+2.  Suspension.  If any portion of, or functionality implemented by, the Reference Code, Technology or Technology Specifications becomes
+the subject of a claim or threatened claim of infringement ("Affected Materials"), Original Contributor may, in its unrestricted discretion,
+suspend Your rights to use and distribute the Affected Materials under this License.  Such suspension of rights will be effective immediately
+upon Original Contributor's posting of notice of suspension on the Technology Site.  Original Contributor has no obligation to lift the
+suspension of rights relative to the Affected Materials until a final, non-appealable determination is made by a court or governmental agency
+of competent jurisdiction that Original Contributor is legally able, without the payment of a fee or royalty, to reinstate Your rights to the
+Affected Materials to the full extent contemplated hereunder.  Upon such determination, Original Contributor will lift the suspension
+by posting a notice to such effect on the Technology Site. Nothing herein shall be construed to prevent You, at Your option and expense, and
+subject to applicable law and the restrictions and responsibilities set forth in this License and any Supplements, from replacing Reference
+Code in Affected Materials with non-infringing code or independently negotiating, without compromising or prejudicing Original
+Contributors position, to obtain the rights necessary to use Affected Materials as herein permitted.
+
+3.  Disclaimer.  ORIGINAL CONTRIBUTOR'S LIABILITY TO YOU FOR ALL CLAIMS RELATING TO THIS LICENSE OR ANY
+SUPPLEMENT HERETO, WHETHER FOR BREACH OR TORT, IS LIMITED TO THE GREATER OF ONE THOUSAND DOLLARS
+(US$1000.00) OR THE FULL AMOUNT PAID BY YOU FOR THE MATERIALS GIVING RISE TO THE CLAIM, IF ANY.  IN NO
+EVENT WILL ORIGINAL CONTRIBUTOR BE LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING OUT OF THIS LICENSE (INCLUDING, WITHOUT
+LIMITATION, LOSS OF PROFITS, USE, DATA OR ECONOMIC ADVANTAGE OF ANY SORT), HOWEVER IT ARISES AND ON
+ANY THEORY OF LIABILITY WHETHER OR NOT ORIGINAL CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE AND NOTWITHSTANDING FAILURE OF THE ESSENTIAL PURPOSE OF ANY REMEDY.
+
+D.  Termination.
+
+You may terminate this License at any time by notifying Original Contributor in writing.
+
+All Your rights will terminate under this License if You fail to comply with any of the material terms or conditions of this License and do not
+cure such failure in a reasonable period of time after becoming aware of such noncompliance.
+
+If You institute patent litigation against a Community Member with respect to a patent applicable to Community Code, then any patent
+licenses or covenants granted by such Community Member to You under this License shall terminate as of the date such litigation is filed.  In
+addition, if You institute patent litigation against any Community Member or Original Contributor alleging that Reference Code,
+Technology or Technology Specifications infringe Your patent(s), then the rights granted to You under Section III.A above will terminate.
+
+Upon termination, You must discontinue all uses and distribution of Community Code, except that You may continue to use, reproduce,
+prepare derivative works of, display and perform Your Modifications, so long as the license grants and covenants of this license are not
+required to do so, for purposes other than to implement functionality designated in any portion of the Technology Specifications.  Properly
+granted sublicenses to third parties will survive termination.  Provisions which, by their nature, should remain in effect following termination
+survive.
+
+E.  Miscellaneous.
+
+1.  Trademark.  You agree to comply with Original Contributors Trademark & Logo Usage Requirements, as modified from time to time,
+available at the Technology Site.  Except as expressly provided in this License, You are granted no rights in or to any Sun, Jini, Jiro or Java
+trademarks now or hereafter used or licensed by Original Contributor (the Sun Trademarks).  You agree not to (a) challenge Original
+Contributors ownership or use of Sun Trademarks; (b) attempt to register any Sun Trademarks, or any mark or logo substantially similar
+thereto; or (c) incorporate any Sun Trademarks into You own trademarks, product names, service marks, company names or domain names.
+
+2.  Integration and Assignment.  Original Contributor may assign this Research Use License to another by written notification to the other
+party.  This License represents the complete agreement of the parties concerning the subject matter hereof.
+
+3.  Severability.  If any provision of this License is held unenforceable, such provision shall be reformed to the extent necessary to make it
+enforceable unless to do so would defeat the intent of the parties.
+
+4.  Governing Law.  This License is governed by the laws of the United States and the State of California, as applied to contracts entered into
+and performed in California between California residents.  The United Nations Convention on Contracts for the International Sale of Goods
+shall not apply.  Nor shall any law or regulation which provides that a contract be construed against the drafter.
+
+5.  Dispute Resolution.  a) Any dispute arising out of or relating to this License shall be finally settled by arbitration as set forth in this
+Section, except that either party may bring an action in a court of competent jurisdiction (which jurisdiction shall be exclusive), relative to
+any dispute relating to such party's  intellectual property rights.  Arbitration will be administered (i) by the American Arbitration Association
+(AAA), (ii) in accordance with the rules of the United Nations Commission on International Trade Law (UNCITRAL) (the Rules) in effect at
+the time of arbitration, modified as set forth herein, and (iii) the arbitrator will apply the governing laws required under Section V.E.4 above.
+Judgment upon the award rendered by the arbitrator may be entered in any court having jurisdiction to enforce such award.  The arbitrator
+may not award damages in excess of or of a different type than those permitted by this License and any such award is void.
+
+b) All proceedings will be in English and conducted by a single arbitrator selected in accordance with the Rules who is fluent in English,
+familiar with technology matters pertinent in the dispute and either a retired judge or practicing attorney having at least ten (10) years
+litigation experience.  Venue for arbitration will be in San Francisco, California, unless the parties agree otherwise. Each party will be
+required to produce documents relied upon in the arbitration and to respond to no more than twenty-five single question interrogatories.  All
+awards are payable in US dollars and may include for the prevailing party (i) pre-judgment interest, (ii) reasonable attorneys
+fees incurred in connection with the arbitration, and (iii) reasonable costs and expenses incurred in enforcing the award.
+
+6.  U.S.  Government.  If this Software is being acquired by or on behalf of the U.S.  Government or by a U.S. Government prime contractor
+or subcontractor (at any tier), then the Government's rights in this Software and accompanying documentation shall be only as set forth in
+this license; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense acquisitions) and with 48 CFR
+2.101 and 12.212 (for non-DoD acquisitions).
+
+7.  International Use.  (a) Covered Code is subject to US export control laws and may be subject to export or import regulations in other
+countries.  Each party shall comply fully with all such laws and regulations and acknowledges its responsibility to obtain such licenses to
+export, re-export or import as may be required.  You must pass through these obligations to all Your licensees.  (b) You may not distribute
+Reference Code or Technology Specifications into countries other than those listed on the Technology Site by Original Contributor, from
+time to time.
+
+IF YOU ARE AGREEING TO THIS LICENSE ON BEHALF OF A COMPANY,
+YOU REPRESENT THAT YOU ARE AUTHORIZED TO BIND THE COMPANY TO
+THE LICENSE.
+
+WHETHER YOU ARE ACTING ON YOUR OWN BEHALF OR THAT OF A
+COMPANY, YOU MUST BE OF MAJORITY AGE AND OTHERWISE COMPETENT
+TO ENTER INTO CONTRACTS.
+
+
+ATTACHMENT A-1 COMMUNITY MEMBER CERTIFICATE
+
+You certify that You are a Licensee in good standing under the Sun Community Source License for the ____________ Technology (fill in
+applicable Technology and Version) (License) and that You agree to use and distribute code, documentation and information You may obtain
+pursuant to this certification only in accordance with the terms and subject to the conditions of the License.
+
+Add to the end of the foregoing, as appropriate:
+
+For written documents:
+
+
+Signature:____________________
+
+Printed Name and Title:_____________________
+
+Company _____________________
+
+For web downloads add buttons with the following:
+
+Agreed and Accepted Reject and Exit
+
+ATTACHMENT A-2 STUDENT ACKNOWLEDGEMENT
+
+You acknowledge that this software and related documentation has been obtained by your educational institution subject to the Sun
+Community Source License (the License).  You have been provided with access to the software and documentation for use only in
+connection with your course work as a matriculated student of your educational institution. Commercial use of the software and
+documentation is expressly prohibited.
+
+THIS SOFTWARE AND RELATED DOCUMENTATION CONTAINS PROPRIETARY MATERIALS OF SUN MICROSYSTEMS, INC.
+PROTECTED BY VARIOUS INTELLECTUAL PROPERTY RIGHTS.  YOUR USE OF THE SOFTWARE AND DOCUMENTATION IS
+LIMITED.
+
+- - - - - - - - - Add to the end of the foregoing, as
+appropriate:
+
+For written documents:
+
+
+Signature:____________________
+
+Printed Name :_____________________
+
+For web downloads add buttons with the following:
+
+Agreed and Accepted Reject and Exit
+
+ATTACHMENT B (ADDITIONAL TERMS/RESPONSIBILITIES):  NONE
+
+- v10.2, 01/25/00 (SH) COMMERCIAL USE SUPPLEMENT TO SUN
+COMMUNITY SOURCE CODE LICENSE GENERAL TERMS
+
+I.  PURPOSE AND EFFECT.
+
+This Commercial Use Supplement General Terms (CUSupp) is required for Commercial Use of Covered Code and, once signed by You and
+Original Contributor, is operative for all Technologies specified in all Technology Specific Attachment(s) hereto.  The rights and
+responsibilities set forth in this CUSupp are additional to those in Your License.
+
+II.  DEFINITIONS.
+
+"Commercial Use" means uses and distributions of Covered Code for any direct or indirect commercial or strategic gain or advantage.
+
+"Compliant Implementation" means Covered Code that fully implements the Technology Specifications and complies with all Test
+Requirements.
+
+"Compliance Materials" means the test programs, guides, documentation and other materials identified in the Technology-Specific
+Attachment(s) for use in establishing that Covered Code is a Compliant Implementation.
+
+"Technology-Specific Attachment(s)" means an attachment or attachments to this CUsupp which contains terms and conditions specific to
+the Technology therein identified as well as the specifics of the Compliance Materials and requirements for such Technology.
+
+III.  COMMERCIAL USE RIGHTS.
+
+A.  Subject to and conditioned upon Your compliance with the terms and conditions of Your Research Use license and the additional terms
+and conditions set forth in this CUSupp and associated Technology-Specific Attachnment(s), including the provisions of Section IV, Original
+Contributor hereby adds to those rights enumerated under Section III.A.1 of the Research Use license the rights to:
+
+e) use the Compliance Materials to determine whether Covered Code constitutes a Compliant Implementation; f) use, reproduce, display,
+perform and distribute internally source and object code copies of Compliant Implementations for Commercial Use; g) reproduce and
+distribute to third parties and Community Members through multiple tiers of distribution object code copies of Compliant Implementations
+for Commercial Use; and h) reproduce and distribute a copy of the Technology Specifications (which may be reformatted, but
+must remain substantively unchanged) with Compliant Implementations for Commercial Use.
+
+B.  In addition, Original Contributors covenant under Section III.A.2 is hereby expanded to include Your using, making, having made,
+selling, importing and distributing Compliant Implementations for Commercial Use insofar as permitted above.
+
+IV.  ADDITIONAL REQUIREMENTS AND COMMUNITY RESPONSIBILITIES.
+
+As a condition to the Commercial Use rights granted above, You must comply with the following restrictions and community responsibilities
+(in addition to those in the License):
+
+F.  Compliance Materials.  Depending on the Technology licensed, Your access to and use of the Compliance Materials may be subject to
+additional requirements such as entering into a support agreement and trademark license.  Such additional requirements, if any, are as set out
+in the Technology-Specific Attachment.  You agree to comply fully with all such applicable requirements.
+
+G.  Compatibility.  Only Compliant Implementations may be used and distributed for Commercial Use.
+
+H.  Commericial Distribution Requirement.  You may distribute object code copies for Commercial Use as herein contemplated under a
+license agreement of Your choice which is consistent with Your rights and obligations under the License and this CUSupp.  You may provide
+warranties, indemnities and/or other additional terms and conditions in Your license agreements, provided that it is clear that such
+additional terms and conditions are offered by You only and You agree to hold each Community Member harmless and indemnify them
+against any liability arising in connection with such terms and conditions.  You will pay all damages, costs and fees awarded by a court or
+arbitrator having jurisdiction over the matter or any settlement amount negotiated by You and attributable to such claim.
+
+I.  Defense.  Original Contributor will have the right, but not the obligation, to defend You, at Original Contributor's expense, in connection
+with a claim that Your Commercial Use of Reference Code is an infringement of a third party's intellectual property rights, in which case
+You agree to cooperate with Original Contributor and Original Contributor will pay all damages costs and fees awarded by a court or
+tribunal of competent jurisdiction, or such settlement amount negotiated by Original Contributor and attributable to such claim.
+
+J.  Notices.  All notices required by the License and this Supplement must be in writing and delivered by means evidenced by delivery receipt
+and will be effective upon receipt at the addresses specified below.
+
+K.  Relationship.  The relationship created is that of licensor and licensee only.  You hereby waive the benefit of any law or regulation
+dealing with the establishment and regulation of franchises or agencies.
+
+Agreed:
+
+You Original Contributor
+
+________________________ Sun Microsystems, Inc.
+
+By:_____________________ By:__________________
+
+Title:__________________ Title:_________________
+
+Date:____________________ Date:________________
+
+
+TECHNOLOGY SPECIFIC ATTACHMENT TO THE SUN COMMUNITY SOURCE
+LICENSE
+
+JMX AGENT VERSION 1.0
+
+
+1.  Effect.  This Technology Specific Attachment to the Commercial Use Supplement applies to the JMX Agent, version 1.0, as described on
+the Technology Site.  The rights and responsibilities set forth in this Technology Specific Attachment are additional to those in Your License
+and the CUSupp.
+
+
+2.  Term.  Upon execution of the CUSupp by You and Original Contributor, this Commercial Use license shall have an initial term of five
+years and shall automatically renew for additional one year terms unless either party provides notice to the other no less than 180 days prior
+to an anniversary date.
+
+
+3.  Additional Requirements and Responsibilities.  In addition to the requirements and responsibilities specified in the License and CUSupp,
+and as a condition to exercising the rights granted therein, You agree to the following additional requirements and responsibilities:
+
+
+a) Distribution of Object Code.  Object code versions of Compliant Implementations distributed for Commercial Use must include a
+description of the specific configurations You used to achieve compliance with the Compliance Materials.  Such description must include the
+system configuration, applicable operating system and version, and all other required software services and installations, and
+which must be installed for end users to operate such Compliant Implementations.  This information must be publicly available and freely
+and readily accessible to potential end users prior to licensing or purchase of such Compliant Implementations.
+
+
+b) Branding.  You may not claim that You are distributing a JMX Agent Compliant Implementation unless and until You provide your test
+results as required pursuant to Section 7.d) below.
+
+
+c) Field of Use:_____________________________
+
+
+4.  Support Programs.
+
+
+a) Support to You.  Technical support is not provided to You by Original Contributor under this License.  You may obtain one or more
+support programs from Original Contributor relating to the Technology which are described on the Technology Site.
+
+
+b) Customer Support.  You are responsible for providing technical and maintenance support services to Your customers for Your products
+and services incorporating the Compliant Implementation.
+
+
+
+
+5.  Compliance Materials; Use Restrictions.
+
+
+Compliance Materials:  JMX Agent Compatibility Kit, version
+1.0
+
+
+a) The license set forth in Section III.A.1.e of the CUSupp for the Compliance Materials is effective only upon execution of a separate
+support agreement between You and Original Contributor (subject to an annual fee) as described on the Technology Site.  The Compliance
+Materials for the Technology may be accessed at the Technology Site only upon execution of the support agreement.
+
+
+b) You are not authorized to create derivative works of the Compliance Materials or use the Compliance Materials to test any implementation
+of the Technology Specifications that are not Covered Code.  You must not publish your test results or make claims of comparative
+compatibility with respect to other implementations of the Technology Specifications.  In consideration for the license grant in Section
+III.A.1.e of the CUSupp, You agree not to develop Your own tests which are intended to validate conformance with the Technology
+Specifications.
+
+
+6.  Requirements for Determining Compliance.
+
+
+a) Definitions.
+
+
+"Added Value" means code which:  (i) has a principal purpose which is substantially different from that of the stand-alone Technology; (ii)
+represents a significant functional and value enhancement to the Technology; (iii) operates in conjunction with the Technology; and (iv) is
+not marketed as a technology which replaces or substitutes for the Technology.
+
+
+"Java Classes" means the specific class libraries associated with the Technology to which this Technology Specific Attachment applies as set
+forth on the Technology Site.
+
+
+"Java Runtime Interpreter" means the program(s) which implement the Java virtual machine for the Technology as defined in the Technology
+Specification.
+
+
+"Platform Dependent Part" means those Reference Code files of the Technology which are not in a "share" directory or subdirectory thereof.
+
+
+"Shared Part" means those Reference Code files of the Technology which are identified as "shared" (or words of similar meaning) or which
+are in any "share" directory or subdirectory thereof, except those files specifically designated by Original Contributor as modifiable.
+
+
+"User's Guide" means the users guide for the Compliance Materials which Sun makes available to You to provide direction in how to use the
+Compliance Materials and properly interpret the results, as may be revised by Sun from time to time.
+
+
+b) Development Restrictions.
+
+A Compliant Implementation:
+
+i) must include Added Value;
+
+ii) must fully comply with the Technology Specifications for     the Technology to which this Technology Specific     Attachment applies;
+
+iii) must include the Shared Part, complete and unmodified;
+
+iv) must not modify the functional behavior of the Java     Runtime Interpreter or the Java Classes;
+
+v) must not modify, subset or superset the interfaces of the    Java Runtime Interpreter or the Java Classes;
+
+vi) must not subset or superset the Java Classes; and
+
+vii) must not modify or extend the required public class or      public interface declarations whose names begin with
+     "java", "javax", "jini", "net.jini", "sun.hotjava",      "COM.sun" or their equivalents in any subsequent naming      convention.
+
+
+c) Compatibility Testing.  Successful compatibility testing must be completed by You, or at Original Contributor's option, a third party
+designated by Original Contributor, to conduct such tests, in accordance with the User's Guide, and using the most current version of the
+applicable Compliance Materials available from Original Contributor one hundred twenty (120) days (two hundred forty [240] days in the
+case of silicon mplementations) prior to each release of a Compliant Implementation by You for Commercial Use.  In the event that You
+elect to use a version of Reference Code that is newer than that which is required under this Section 6.c, then You agree to pass the version of
+the Compliance Materials that corresponds to such newer version of Reference Code.
+
+
+d) Test Results.  You agree to provide to Original Contributor or the third party test facility if applicable, Your test results that demonstrate
+that Covered Code is a Compliant Implementation, and that Original Contributor may publish or otherwise distribute such test results.
+
+
+
+Agreed:
+
+
+You Original Contributor
+
+
+________________________ Sun Microsystems, Inc.
+
+
+By:_____________________ By:________________________
+
+
+Title:___________________ Title:_____________________
+
+
+Date:____________________ Date:______________________
+
+
+TECHNOLOGY SPECIFIC ATTACHMENT TO THE SUN COMMUNITY SOURCE LICENSE
+
+JMX INSTRUMENTATION VERSION 1.0
+
+
+1.  Effect.  This Technology Specific Attachment to the Commercial Use Supplement applies to the JMX Instrumentation, version 1.0, as
+described on the Technology Site.  The rights and responsibilities set forth in this Technology Specific Attachment are additional to those in
+Your License and the CUSupp.
+
+
+2.  Term.  Upon execution of the CUSupp by You and Original Contributor, this Commercial Use license shall have an
+initial term of five years and shall automatically renew for additional one year terms unless either party provides notice to the other no less
+than 180 days prior to an anniversary date.
+
+
+3.  Additional Requirements and Responsibilities.  In addition to the requirements and responsibilities specified in the License and CUSupp,
+and as a condition to exercising the rights granted therein, You agree to the following additional requirements and responsibilities:
+
+
+a) Distribution of Object Code.
+
+Object code versions of Compliant Implementations distributed for Commercial Use:
+
+i. must be integrated and distributed with the hardware    and/or software that are instrumented (i.e., made   manageable) with the
+Technology, or must be configured to    instrument an already deployed hardware and/or software    resource; and
+ii.must not be distributed without the Compliance Materials,    or must not be distributed without notice to the end    users that the
+Compliance Materials can be freely    downloaded from the Technology Site.
+
+
+b) Field of Use:_____________________________
+
+
+4.  Support Programs.
+
+
+a) Support to You.  Technical support is not provided to You by Original Contributor under this License.  You may obtain one or more
+support programs from Original Contributor relating to the Technology which are described on the Technology Site.
+
+
+b) Customer Support.  You are responsible for providing technical and maintenance support services to Your customers for Your products
+and services incorporating the Compliant Implementation.
+
+
+5.  Royalties and Payments.
+
+
+Royalty per Unit $:  None.
+
+
+6.  Compliance Materials; Use Restrictions.
+
+
+Compliance Materials:  JMX Instrumentation Conformance Test Tool, version 1.0
+
+
+You are not authorized to create derivative works of the Compliance Materials or use the Compliance Materials to test any implementation of
+the Technology Specifications that are not Covered Code.  You must not publish your test results or make claims of comparative
+compatibility with respect to other implementations of the Technology Specifications.  In consideration for the license grant in Section
+III.A.1.e of the CUSupp, You agree not to develop Your own tests which are intended to validate conformance with the Technology
+Specifications.
+
+7.  Requirements for Determining Compliance.
+
+
+a) Definitions.
+
+
+"Added Value" means code which:  (i) has a principal purpose which is substantially different from that of the stand-alone Technology; (ii)
+represents a significant functional and value enhancement to the Technology; (iii) operates in conjunction with the Technology; and (iv) is
+not marketed as a technology which replaces or substitutes for the Technology.
+
+
+"Java Classes" means the specific class libraries associated with the Technology to which this Technology Specific Attachment applies as set
+forth on the Technology Site.
+
+
+"Java Runtime Interpreter" means the program(s) which implement the Java virtual machine for the Technology as defined in the Technology
+Specification.
+
+
+"Platform Dependent Part" means those Reference Code files of the Technology which are not in a "share" directory or subdirectory thereof.
+
+
+"Shared Part" means those Reference Code files of the Technology which are identified as "shared" (or words of similar meaning) or which
+are in any "share" directory or subdirectory thereof, except those files specifically designated by Original Contributor as modifiable.
+
+
+"User's Guide" means the users guide for the Compliance Materials which Sun makes available to You to provide direction in how to use the
+Compliance Materials and properly interpret the results, as may be revised by Sun from time to time.
+
+
+b) Development Restrictions.
+
+A Compliant Implementation:
+
+i) must include Added Value;
+
+ii) must fully comply with the Technology Specifications for    the Technology to which this Technology Specific    Attachment applies;
+
+iii) must include the Shared Part, complete and unmodified;
+
+iv) must not modify the functional behavior of the Java     Runtime Interpreter or the Java Classes;
+
+v) must not modify, subset or superset the interfaces of the    Java Runtime Interpreter or the Java Classes;
+
+vi) must not subset or superset the Java Classes;
+
+vii) must not modify or extend the required public class or     public interface declarations whose names begin with
+     "java", "javax", "jini", "net.jini", "sun.hotjava",      "COM.sun" or their equivalents in any subsequent naming      convention;
+
+viii) must be integrated and distributed with the hardware       and/or software that are instrumented (i.e., made       manageable) with the
+Technology, or must be configured       to instrument an already deployed hardware and/or       software resource; and
+
+ix) must be configured to run only in conjunction with an     implementation of the JMX Agent Technology version 1.0     from Sun or a third
+party that meets Sun's compatibility     requirements, in binary form and as specified in the     User's Guide.
+
+
+c) Compatibility Testing.  Successful compatibility testing must be completed by You, or at Original Contributor's option, a third party
+designated by Original Contributor, to conduct such tests, in accordance with the User's Guide, and using the most current version of the
+applicable Compliance Materials available from Original Contributor one hundred twenty (120) days (two hundred forty [240] days in the
+case of silicon implementations) prior to each release of a Compliant Implementation by You for Commercial Use.  In the event that You
+elect to use a version of Reference Code that is newer than that which is required under this Section 7.c, then You agree to pass the version of
+the Compliance Materials that corresponds to such newer version of Reference Code.
+
+
+d) Test Results.  You agree to provide to Original Contributor or the third party test facility if applicable, Your test results that demonstrate
+that Covered Code is a Compliant Implementation, and that Original Contributor may publish or otherwise distribute such test results.
+
+
+Agreed:
+
+
+You Original Contributor
+
+
+________________________ Sun Microsystems, Inc.
+
+
+By:_____________________ By:____________________
+
+
+Title:___________________ Title:_________________
+
+
+Date:____________________ Date:__________________
+
+ XVII.  Binary Code License Agreement for Java Naming and Directory Interface �  version 1.2.1 (jndi and providerutil) and any of
+the following :
+LDAP service provider version 1.2.3,
+NIS service provider version 1.2.1,
+RMI Registry service provider version 1.2.1,
+FS Context service provider version 1.2 beta 3 release,
+COS Naming service provider version 1.2.1,
+or Demo
+
+
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile,
+or reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+
+XVIII.  Supplemental License Terms for Java Naming and Directory Interface � version 1.2.1 (jndi and providerutil) and any of the
+following :
+LDAP service provider version 1.2.3,
+NIS service provider version 1.2.1,
+RMI Registry service provider version 1.2.1,
+FS Context service provider version 1.2 beta 3 release,
+COS Naming service provider version 1.2.1,
+or Demo
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively,
+the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the
+Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained
+within the Software.
+
+1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to
+Section 3 (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited
+license to reproduce internally and use internally the binary form of the Software for the sole purpose of designing, developing and testing
+your Java applets and applications ("Programs").
+
+2. License to Distribute Software.  In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of
+these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section 3 (Java Technology
+Restrictions), Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software in binary form only,
+provided that you (i) distribute the Software complete and unmodified and only bundled as part of your Programs, (ii) do not distribute
+additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any proprietary legends or notices
+contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's interests consistent with the
+terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against any damages, costs,
+liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any
+third party that arises or results from the use or distribution of any and all Programs and/or Software.
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java"
+package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or
+modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the
+functionality of the Java Platform, and (ii) is exposed to third party software developers for the purpose of developing additional software
+which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers.
+You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as
+"java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
+
+4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE,
+STAROFFICE, STARPORTAL and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL
+and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun
+Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks
+inures to Sun's benefit.
+
+5. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.
+Source code may not be redistributed unless expressly provided for in this Agreement.
+
+6. Termination for Infringement. Either party may terminate this Agreement immediately should any Software become, or in either party's
+opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
+
+For inquiries please contact: Sun Microsystems, Inc.  901 San Antonio Road, Palo Alto, California 94303
+
+XIX.  Binary Code License Agreement for Java(TM) Transaction Service (JTS) API -- Javadoc 1.0.1
+
+Sun Microsystems, Inc.
+Binary Code License Agreement
+
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software
+and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer
+hardware for which the corresponding fee has been paid.
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by
+Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other
+than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile,
+or reverse engineer Software.  You acknowledge that Software is not designed, licensed or intended for use in the design, construction,
+operation or maintenance of any nuclear facility.  Sun disclaims any express or implied warranty of fitness for such uses.  No right, title or
+interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of
+the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except
+for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's
+option to replace Software media or refund the fee paid for Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS
+BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR
+PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED
+TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by
+you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.
+Upon Termination, you must destroy all copies of Software.
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be
+subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge
+that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government
+prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set
+forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions)
+and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of
+law rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or
+contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional
+terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this
+Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
+
+XX.  Supplemental License Terms for  JAVA(TM) INTERFACE CLASSES JAVA MESSAGE SERVICE (JMS), VERSION 1.0.2
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively,
+the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the
+Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained
+within the Software.
+
+1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to
+Section 3 (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited
+license to reproduce internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of
+designing, developing and testing your Java applets and applications ("Programs").
+
+2. License to Distribute Software.  In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of
+these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section 3 (Java Technology
+Restrictions), Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software in binary form only,
+provided that you (i) distribute the Software complete and unmodified and only bundled as part of your Programs, (ii) do not distribute
+additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any proprietary legends or notices
+contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's interests consistent with the
+terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against any damages, costs,
+liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any
+third party that arises or results from the use or distribution of any and all Programs and/or Software.
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java"
+package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or
+modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the
+functionality of the Java Platform, and (ii) is exposed to third party software developers for the purpose of developing additional software
+which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers.
+You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as
+"java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
+
+4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE,
+STAROFFICE, STARPORTAL and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL
+and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun
+Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks
+inures to Sun's benefit.
+
+5. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.
+Source code may not be redistributed unless expressly provided for in this Agreement.
+
+6.  Termination for Infringement.  Either party may terminate this Agreement immediately should any Software become, or in either party's
+opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
+
+For inquiries please contact: Sun Microsystems, Inc.  901 San Antonio Road, Palo Alto, California 94303
+(Form ID#011801)
+
+
+
+LICENSE TERMS FOR JUNIT THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+Common Public License Version 0.5
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE SOFTWARE THAT IS JUNIT
+AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY OTHER PRODUCTS TERMS ASSOCIATED WITH OTHER
+ELEMENTS OF THE SOFTWARE..
+1. DEFINITIONS
+"Contribution" means:
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed
+in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+"Contributor" means any person or entity that distributes the Program.
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+"Program" means the Contributions distributed in accordance with this Agreement.
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free
+copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor,
+if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program
+if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be
+covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No
+hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are
+provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.
+Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes
+sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is
+required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the
+Program.
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the
+copyright license set forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement; and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or
+conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular
+purpose;
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and
+consequential damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party;
+and
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of the Program.
+Contributors may not remove or alter any copyright notices contained within the Program.
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to
+identify the originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product
+offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial
+Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply
+to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor
+must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and
+cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor
+to pay any damages as a result, the Commercial Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
+WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all
+risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE
+ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or
+counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of
+the date such litigation is filed. In addition, If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim
+in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement
+and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this
+Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's
+obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial
+Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of
+the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to
+the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may
+elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b)
+above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by
+implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No
+party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.
+
+LICENSE TERMS FOR ORACLE JDBC DRIVERS THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE
+SOFTWARE THAT IS Oracle JDBC Drivers Classes12 SOFTWARE AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY
+THIRD PARTY PRODUCTS TERMS ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+
+I.  Customer shall have the free of charge, nonexclusive, nontransferable right to use the Oracle JDBC Drivers Classes12 Software
+accompanying the Total e Syndication Software (the "Programs") in the operating environment identified by Oracle for a single user (one
+person) on a single computer.  Customer may use the Programs solely for its own internal data processing operations.   For the purposes
+under this Section I, Customer may make one copy of each licensed Program for backup. Customer has no right to distribut the Programs.
+Customer acknowledges that Oracle is an intended third party beneficiary of all applicable license terms to the extent permitted by applicable
+law.
+
+II.  All titles, trademarks, and copyright and restricted rights notices shall be reproduced in any copy of the Programs. All copies are subject
+to the terms of this License Agreement.  No other copies shall be made without Oracle's prior written consent. Customer shall not: (a) remove
+any product identification, copyright notices, or other notices or proprietary restrictions from Programs; (b) use Programs for commercial
+timesharing, rental, or service bureau use; (c) transfer, sell, assign or otherwise convey Programs to another party without Oracle's prior
+written consent, except as specified herein; (d) cause or permit reverse engineering, disassembly, or decompilation of Programs; or (e)
+disclose results of any benchmark tests of any Program to any third party without Oracle's prior written approval.
+
+III. Programs are the confidential and proprietary products of Oracle and are protected by copyright and other intellectual property laws.
+Customer acquires only the right to use Programs and does not acquire any rights, express or implied, in Programs other than those specified
+in this License Agreement.  Oracle shall at all times retain all rights, title, interest, including intellectual property rights, in Programs and
+media.
+
+IV.  DISCLAIMER OF WARRANTY:  THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  ARJUNA
+AND ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION,
+ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+V.  LIMITATION OF LIABILITY: IN NO EVENT SHALL ORACLE OR ARJUNA BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE,
+DATA OR DATA USE, INCURRED BY CUSTOMER OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR
+TORT, EVEN IF ORACLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+VI.  Customer may terminate this license at any time by destroying all copies of the Programs.  ARJUNA and/or Oracle shall have the right at its
+discretion to terminate Customer's right to use the Programs at any time if Customer fails to comply with any of the terms or conditions of
+this License Agreement.  Upon such termination, Customer must destroy all copies of the Programs. The Disclaimer of Warranty and
+Limitation of Liability Sections above shall survive termination of this License Agreement.
+
+VIII.  Neither Oracle nor ARJUNA is obligated to provide technical support, phone support, or updates to Customer for Programs.
+
+IX.  Programs delivered to the U.S. Defense Dept. are delivered with Restricted Rights and the following applies:  "Restricted Rights Legend:
+Use, duplication or disclosure by Government is subject to restrictions as currently set forth in subparagraph (c)(1)(ii) of DFARS 252-227-
+7013, Rights in Technical Data and Computer Software (October 1988).  Oracle Corp. 500 Oracle Pkwy., Redwood City, CA, 94065.
+Programs delivered to a US Government Agency not within the Defense, Dept. are delivered with "Restricted Rights" as defined in FAR
+52.227-14,  Rights in Data - General, including Alternate III (June 1987)."
+
+X.  Customer shall comply fully with all  laws and regulations of the United States and other countries ("Export Laws") to assure that neither
+the Programs, nor any direct products thereof are (1) exported, directly or indirectly, in violation of Export Laws, or (2) are used for any
+purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.
+
+XI.  This License Agreement and all related actions thereto shall be governed by California law.  ARJUNA and/or Oracle may audit Customer's use
+of the Programs.  If any provision of this License Agreement is held to be invalid or unenforceable, the remaining provisions of this License
+Agreement will remain in full force.
+
+LICENSE TERMS FOR LRMP/INRIS THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE  SOFTWARE THAT IS
+LRMP/INRIA SOFTWARE AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY THIRD PARTY PRODUCTS TERMS
+ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+
+LRMP/INRIA
+COPYRIGHT 1997/1998 BY: MASSACHUSETTS INSTITUTE OF TECHNOLOGY (MIT), INRIA
+
+This W3C software is being provided by the copyright holders under the following license. By obtaining, using and/or copying this software,
+you agree that you have read, understood, and will comply with the following terms and conditions:
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee or royalty is hereby
+granted, provided that the full text of this NOTICE appears on ALL copies of the software and documentation or portions thereof, including
+modifications, that you make.
+
+THIS SOFTWARE IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES,
+EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
+THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE
+OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific,
+written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
+
+LICENSE TERMS FOR JYACC SOFTWARE THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE
+SOFTWARE THAT IS JYACC SOFTWARE AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY THIRD PARTY
+PRODUCTS TERMS ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+
+JYACC.JAR
+CUP Parser Generator Copyright Notice, License, and Disclaimer
+Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty
+disclaimer appear in supporting documentation, and that the names of the authors or their employers not be used in advertising or publicity
+pertaining to distribution of the software without specific, written prior permission.
+
+The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and
+fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages
+whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in
+connection with the use or performance of this software.
+
+
+LICENSE TERMS FOR JLEX SOFTWARE THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE
+SOFTWARE THAT IS JLEX SOFTWARE AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY THIRD PARTY PRODUCTS
+TERMS ASSOCIATED WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+
+JLex:
+A lexical analyzer generator for Java(TM)
+
+Elliot Berk
+Department of Computer Science, Princeton University
+
+Version 1.2, May 5, 1997
+
+Manual revision October 29, 1997
+
+Last updated September 6, 2000 for JLex 1.2.5
+
+(latest version can be obtained from http://www.cs.princeton.edu/~appel/modern/java/JLex/ )
+
+--------------------------------------------------------------------------------
+6.1 Credits
+The treatment of lexical analyzer generators given in Alan Holub's Compiler Design in C (Prentice-Hall, 1990) provided a starting point for
+my implementation.
+
+Discussions with Professor Andrew Appel of the Princeton University Computer Science Department provided guidance in the design of
+JLex.
+
+Java is a trademark of Sun Microsystems Incorporated.
+
+
+
+
+
+--------------------------------------------------------------------------------
+
+
+
+6.2 Copyright
+JLex COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+Copyright 1996 by Elliot Joel Berk.
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty
+disclaimer appear in supporting documentation, and that the name of Elliot Joel Berk not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior permission.
+
+Elliot Joel Berk disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no
+event shall Elliot Joel Berk be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use,
+data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or
+performance of this software.
+
+
+
+--------------------------------------------------------------------------------
+
+
+Frank Flannery
+Wed Jul 24 00:27:39 EDT 1996
+
+
+LICENSE TERMS FOR GNU SOFTWARE THAT MAY ACCOMPANY THE ARJUNA SOFTWARE
+
+
+THE TERMS AND CONDITIONS APPEARING BELOW APPLY ONLY TO THAT PORTION OF THE  SOFTWARE THAT IS GNU
+SOFTWARE AND DOES NOT OVERRIDE ANY ARJUNA SOFTWARE OR ANY THIRD PARTY PRODUCTS TERMS ASSOCIATED
+WITH OTHER ELEMENTS OF THE SOFTWARE.
+
+GNU LESSER GENERAL PUBLIC LICENSE
+Version 2.1, February 1999
+Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+Preamble
+The licenses for most software are designed to take away your freedom to share and change it. By
+contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+This license, the Lesser General Public License, applies to some specially designated software packages--
+typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it
+too, but we suggest you first think carefully about whether this license or the ordinary General Public
+License is the better strategy to use in any particular case, based on the explanations below.
+When we speak of free software, we are referring to freedom of use, not price. Our General Public
+Licenses are designed to make sure that you have the freedom to distribute copies of free software (and
+charge for this service if you wish); that you receive source code or can get it if you want it; that you can
+change the software and use pieces of it in new free programs; and that you are informed that you can do
+these things.
+To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to
+ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you
+distribute copies of the library or if you modify it.
+For example, if you distribute copies of the library, whether gratis or for a fee, you must give the
+recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide complete object files to the recipients, so
+that they can relink them with the library after making changes to the library and recompiling it. And you
+must show them these terms so they know their rights.
+We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this
+license, which gives you legal permission to copy, distribute and/or modify the library.
+To protect each distributor, we want to make it very clear that there is no warranty for the free library.
+Also, if the library is modified by someone else and passed on, the recipients should know that what they
+have is not the original version, so that the original author's reputation will not be affected by problems
+that might be introduced by others.
+Finally, software patents pose a constant threat to the existence of any free program. We wish to make
+sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive
+license from a patent holder. Therefore, we insist that any patent license obtained for a version of the
+library must be consistent with the full freedom of use specified in this license.
+Most GNU software, including some libraries, is covered by the ordinary GNU General Public License.
+This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite
+different from the ordinary General Public License. We use this license for certain libraries in order to
+permit linking those libraries into non-free programs.
+When a program is linked with a library, whether statically or using a shared library, the combination of
+the two is legally speaking a combined work, a derivative of the original library. The ordinary General
+Public License therefore permits such linking only if the entire combination fits its criteria of freedom.
+The Lesser General Public License permits more lax criteria for linking other code with the library.
+We call this license the "Lesser" General Public License because it does Less to protect the user's freedom
+than the ordinary General Public License. It also provides other free software developers Less of an
+advantage over competing non-free programs. These disadvantages are the reason we use the ordinary
+General Public License for many libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+For example, on rare occasions, there may be a special need to encourage the widest possible use of a
+certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed
+to use the library. A more frequent case is that a free library does the same job as widely used non-free
+libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the
+Lesser General Public License.
+In other cases, permission to use a particular library in non-free programs enables a greater number of
+people to use a large body of free software. For example, permission to use the GNU C Library in non-
+free programs enables many more people to use the whole GNU operating system, as well as its variant,
+the GNU/Linux operating system.
+Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that
+the user of a program that is linked with the Library has the freedom and the wherewithal to run that
+program using a modified version of the Library.
+The precise terms and conditions for copying, distribution and modification follow. Pay close attention to
+the difference between a "work based on the library" and a "work that uses the library". The former
+contains code derived from the library, whereas the latter must be combined with the library in order to
+run.
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION
+AND MODIFICATION
+0. This License Agreement applies to any software library or other program which contains a notice
+placed by the copyright holder or other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
+A "library" means a collection of software functions and/or data prepared so as to be conveniently linked
+with application programs (which use some of those functions and data) to form executables.
+The "Library", below, refers to any such software library or work which has been distributed under these
+terms. A "work based on the Library" means either the Library or any derivative work under copyright
+law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation is included without
+limitation in the term "modification".)
+"Source code" for a work means the preferred form of the work for making modifications to it. For a
+library, complete source code means all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation and installation of the library.
+Activities other than copying, distribution and modification are not covered by this License; they are
+outside its scope. The act of running a program using the Library is not restricted, and output from such a
+program is covered only if its contents constitute a work based on the Library (independent of the use of
+the Library in a tool for writing it). Whether that is true depends on what the Library does and what the
+program that uses the Library does.
+1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in
+any medium, provided that you conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the
+absence of any warranty; and distribute a copy of this License along with the Library.
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer
+warranty protection in exchange for a fee.
+2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on
+the Library, and copy and distribute such modifications or work under the terms of Section 1 above,
+provided that you also meet all of these conditions:
+?	a) The modified work must itself be a software library.
+?	b) You must cause the files modified to carry prominent notices stating that you changed the files
+and the date of any change.
+?	c) You must cause the whole of the work to be licensed at no charge to all third parties under the
+terms of this License.
+?	d) If a facility in the modified Library refers to a function or a table of data to be supplied by an
+application program that uses the facility, other than as an argument passed when the facility is
+invoked, then you must make a good faith effort to ensure that, in the event an application does
+not supply such function or table, the facility still operates, and performs whatever part of its
+purpose remains meaningful.
+(For example, a function in a library to compute square roots has a purpose that is entirely well-
+defined independent of the application. Therefore, Subsection 2d requires that any application-
+supplied function or table used by this function must be optional: if the application does not
+supply it, the square root function must still compute square roots.)
+These requirements apply to the modified work as a whole. If identifiable sections of that work are
+not derived from the Library, and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those sections when you distribute
+them as separate works. But when you distribute the same sections as part of a whole which is a
+work based on the Library, the distribution of the whole must be on the terms of this License,
+whose permissions for other licensees extend to the entire whole, and thus to each and every part
+regardless of who wrote it.
+Thus, it is not the intent of this section to claim rights or contest your rights to work written
+entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or
+collective works based on the Library.
+In addition, mere aggregation of another work not based on the Library with the Library (or with a
+work based on the Library) on a volume of a storage or distribution medium does not bring the
+other work under the scope of this License.
+3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to
+a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they
+refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer
+version than version 2 of the ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in these notices.
+Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General
+Public License applies to all subsequent copies and derivative works made from that copy.
+This option is useful when you wish to copy part of the code of the Library into a program that is not a
+library.
+4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object
+code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with
+the complete corresponding machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+If distribution of object code is made by offering access to copy from a designated place, then offering
+equivalent access to copy the source code from the same place satisfies the requirement to distribute the
+source code, even though third parties are not compelled to copy the source along with the object code.
+5. A program that contains no derivative of any portion of the Library, but is designed to work with the
+Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in
+isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
+However, linking a "work that uses the Library" with the Library creates an executable that is a derivative
+of the Library (because it contains portions of the Library), rather than a "work that uses the library". The
+executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
+When a "work that uses the Library" uses material from a header file that is part of the Library, the object
+code for the work may be a derivative work of the Library even though the source code is not. Whether
+this is true is especially significant if the work can be linked without the Library, or if the work is itself a
+library. The threshold for this to be true is not precisely defined by law.
+If such an object file uses only numerical parameters, data structure layouts and accessors, and small
+macros and small inline functions (ten lines or less in length), then the use of the object file is
+unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code
+plus portions of the Library will still fall under Section 6.)
+Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work
+under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or
+not they are linked directly with the Library itself.
+6. As an exception to the Sections above, you may also combine or link a "work that uses the Library"
+with the Library to produce a work containing portions of the Library, and distribute that work under
+terms of your choice, provided that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+You must give prominent notice with each copy of the work that the Library is used in it and that the
+Library and its use are covered by this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License. Also, you must do one of these
+things:
+?	a) Accompany the work with the complete corresponding machine-readable source code for the
+Library including whatever changes were used in the work (which must be distributed under
+Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the
+complete machine-readable "work that uses the Library", as object code and/or source code, so
+that the user can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents of definitions files
+in the Library will not necessarily be able to recompile the application to use the modified
+definitions.)
+?	b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is
+one that (1) uses at run time a copy of the library already present on the user's computer system,
+rather than copying library functions into the executable, and (2) will operate properly with a
+modified version of the library, if the user installs one, as long as the modified version is interface-
+compatible with the version that the work was made with.
+?	c) Accompany the work with a written offer, valid for at least three years, to give the same user
+the materials specified in Subsection 6a, above, for a charge no more than the cost of performing
+this distribution.
+?	d) If distribution of the work is made by offering access to copy from a designated place, offer
+equivalent access to copy the above specified materials from the same place.
+?	e) Verify that the user has already received a copy of these materials or that you have already sent
+this user a copy.
+For an executable, the required form of the "work that uses the Library" must include any data and utility
+programs needed for reproducing the executable from it. However, as a special exception, the materials to
+be distributed need not include anything that is normally distributed (in either source or binary form) with
+the major components (compiler, kernel, and so on) of the operating system on which the executable runs,
+unless that component itself accompanies the executable.
+It may happen that this requirement contradicts the license restrictions of other proprietary libraries that
+do not normally accompany the operating system. Such a contradiction means you cannot use both them
+and the Library together in an executable that you distribute.
+7. You may place library facilities that are a work based on the Library side-by-side in a single library
+together with other library facilities not covered by this License, and distribute such a combined library,
+provided that the separate distribution of the work based on the Library and of the other library facilities is
+otherwise permitted, and provided that you do these two things:
+?	a) Accompany the combined library with a copy of the same work based on the Library,
+uncombined with any other library facilities. This must be distributed under the terms of the
+Sections above.
+?	b) Give prominent notice with the combined library of the fact that part of it is a work based on
+the Library, and explaining where to find the accompanying uncombined form of the same work.
+8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided
+under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library
+is void, and will automatically terminate your rights under this License. However, parties who have
+received copies, or rights, from you under this License will not have their licenses terminated so long as
+such parties remain in full compliance.
+9. You are not required to accept this License, since you have not signed it. However, nothing else grants
+you permission to modify or distribute the Library or its derivative works. These actions are prohibited by
+law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work
+based on the Library), you indicate your acceptance of this License to do so, and all its terms and
+conditions for copying, distributing or modifying the Library or works based on it.
+10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically
+receives a license from the original licensor to copy, distribute, link with or modify the Library subject to
+these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the
+rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
+11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason
+(not limited to patent issues), conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License
+and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For
+example, if a patent license would not permit royalty-free redistribution of the Library by all those who
+receive copies directly or indirectly through you, then the only way you could satisfy both it and this
+License would be to refrain entirely from distribution of the Library.
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the
+balance of the section is intended to apply, and the section as a whole is intended to apply in other
+circumstances.
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or
+to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the
+free software distribution system which is implemented by public license practices. Many people have
+made generous contributions to the wide range of software distributed through that system in reliance on
+consistent application of that system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose that choice.
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this
+License.
+12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by
+copyrighted interfaces, the original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries, so that distribution is permitted
+only in or among countries not thus excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public
+License from time to time. Such new versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+Each version is given a distinguishing version number. If the Library specifies a version number of this
+License which applies to it and "any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version ever published by the
+Free Software Foundation.
+14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions
+are incompatible with these, write to the author to ask for permission. For software which is copyrighted
+by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our
+free software and of promoting the sharing and reuse of software generally.
+NO WARRANTY
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
+THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
+LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT
+LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
+SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE
+WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+How to Apply These Terms to Your New Libraries
+If you develop a new library, and you want it to be of the greatest possible use to the public, we
+recommend making it free software that everyone can redistribute and change. You can do so by
+permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General
+Public License).
+To apply these terms, attach the following notices to the library. It is safest to attach them to the start of
+each source file to most effectively convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+one line to give the library's name and an idea of what it does.
+Copyright (C) year  name of author
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+Also add information on how to contact you by electronic and paper mail.
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a
+"copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+the library `Frob' (a library for tweaking knobs) written
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+Ty Coon, President of Vice
+That's all there is to it!
+
+--------------------------------------------------------------------------------------------------------------
+
+JAX-WS API (ext/jaxws-2_1-mrel2-api.jar from http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index2.html)
+is released under the CDDL 1.0 and GPL v2, as follows:
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+1. Definitions.
+
+   1.1. Contributor. means each individual or entity that creates or contributes to the creation of Modifications.
+
+   1.2. Contributor Version. means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+   1.3. Covered Software. means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+   1.4. Executable. means the Covered Software in any form other than Source Code.
+
+   1.5. Initial Developer. means the individual or entity that first makes Original Software available under this License.
+
+   1.6. Larger Work. means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+   1.7. License. means this document.
+
+   1.8. Licensable. means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+   1.9. Modifications. means the Source Code and Executable form of any of the following:
+
+        A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+        B. Any new file that contains any part of the Original Software or previous Modification; or
+
+        C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+   1.10. Original Software. means the Source Code and Executable form of computer software code that is originally released under this License.
+
+   1.11. Patent Claims. means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+   1.12. Source Code. means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+   1.13. You. (or .Your.) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, .You. includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, .control. means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants.
+
+      2.1. The Initial Developer Grant.
+
+      Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+         (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+
+         (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+        (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+
+        (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+
+    2.2. Contributor Grant.
+
+    Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+        (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+        (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+        (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+
+        (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+      3.1. Availability of Source Code.
+      Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+      3.2. Modifications.
+      The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+      3.3. Required Notices.
+      You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+      3.4. Application of Additional Terms.
+      You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients. rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+      3.5. Distribution of Executable Versions.
+      You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient.s rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+      3.6. Larger Works.
+      You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+      4.1. New Versions.
+      Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+      4.2. Effect of New Versions.
+      You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+
+      4.3. Modified Versions.
+      When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+   COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN .AS IS. BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+      6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+      6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as .Participant.) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to!
  a written agreement with Participant.
+
+      6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+   UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY.S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+   The Covered Software is a .commercial item,. as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of .commercial computer software. (as that term is defined at 48 C.F.R. º 252.227-7014(a)(1)) and .commercial computer software documentation. as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+   This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction.s conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys. fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a con!
 tract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+   As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+   NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+
+   The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
+
+
+The GNU General Public License (GPL) Version 2, June 1991
+
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+   a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+   b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+   c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+   a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+   b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+   c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+   One line to give the program's name and a brief idea of what it does.
+
+   Copyright (C)
+
+   This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+   Gnomovision version 69, Copyright (C) year name of author
+   Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+   Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+   signature of Ty Coon, 1 April 1989
+   Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
+
+
+"CLASSPATH" EXCEPTION TO THE GPL VERSION 2
+
+Certain source files distributed by Sun Microsystems, Inc. are subject to the following clarification and special exception to the GPL Version 2, but only where Sun has expressly included in the particular source file's header the words
+
+"Sun designates this particular file as subject to the "Classpath" exception as provided by Sun in the License file that accompanied this code."
+
+Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.
+
+As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module.? An independent module is a module which is not derived from or based on this library.? If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so.? If you do not wish to do so, delete this exception statement from your version.
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/wstx-asl-2.0.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ext/wstx-asl-2.0.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/jbossjta.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/jbossjta.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/nightoutwebservices.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/nightoutwebservices.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ws-c.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ws-c.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ws-t.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/ws-t.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wsas.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wsas.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wscf.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wscf.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wstx.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/lib/wstx.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeRestaurantAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeRestaurantAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeRestaurantAction.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,198 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * BasicClient.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: BasicClient.java,v 1.10 2004/12/02 16:52:58 kconner Exp $
+ *
+ */
+
+package org.jboss.soa.esb.actions;
+
+
+import com.arjuna.mw.wst.client.JaxWSHeaderContextProcessor;
+
+import com.jboss.jbosstm.xts.demo.restaurant.IRestaurantServiceBA;
+
+
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+import javax.xml.ws.handler.Handler;
+
+import org.apache.log4j.Logger;
+import org.jboss.nightout.Reservation;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+/**
+  *
+ * @author Jeff DeLong (jdelong at redhat.com)
+  */
+public class InvokeRestaurantAction extends AbstractActionLifecycle {
+	
+	
+	protected ConfigTree _config;
+    	
+ 
+	private Logger logger = Logger.getLogger(InvokeRestaurantAction.class);
+	
+
+    /***** RESTAURANT SERVICE *****/
+
+    /**
+     * The namespace for the Restaurant webservice.
+     */
+    private static final String RESTAURANT_NS = "http://www.jboss.com/jbosstm/xts/demo/Restaurant" ;
+    /**
+     * The prefix for the Restaurant webservice.
+     */
+    private static final String RESTAURANT_PREFIX = "restaurant";
+    /**
+     * The local name for the BA Restaurant webservice.
+     */
+    private static final String RESTAURANT_SERVICE_BA = "RestaurantServiceBAService" ;
+    /**
+     * The QName for the AT Restaurant webservice.
+     */
+    private static final QName RESTAURANT_SERVICE_BA_QNAME
+            = new QName(RESTAURANT_NS, RESTAURANT_SERVICE_BA, RESTAURANT_PREFIX);
+      /**
+     * The local name for the BA Restaurant endpoint.
+     */
+    private static final String RESTAURANT_ENDPOINT_BA = "RestaurantServiceBA";
+    /**
+     * The QName for the BA Restaurant endpoint.
+     */
+    private static final QName RESTAURANT_ENDPOINT_BA_QNAME
+            = new QName(RESTAURANT_NS, RESTAURANT_ENDPOINT_BA, RESTAURANT_PREFIX);
+
+ 
+    /***** Client Handles for Service Endpoint Ports *****/
+
+     /**
+     * The business activity restaurant stub.
+     */
+    private IRestaurantServiceBA restaurantBA;
+
+    /***** Endpoint Addresses *****/
+
+    /**
+     * URL of restaurant BA
+     */
+    private String restaurantBAURL ;
+    /***** WSDL file locations *****/
+
+     /**
+     * URL of restaurant BA
+     */
+    private final String restaurantBAWSDL = "wsdl/RestaurantServiceBA.wsdl";
+ 
+     
+    final String baseURL = "http://127.0.0.1:8080/xtsdemowebservices/" ;
+
+    /**
+     * The client serial version UID.
+     */
+    private static final long serialVersionUID = 7728495576623420083L ;
+
+	public InvokeRestaurantAction(ConfigTree _config) {
+		
+	
+		this._config = _config;
+		
+	}
+
+	
+	public void initialise() throws ActionLifecycleException {
+
+		try {	
+			restaurantBAURL = baseURL + RESTAURANT_SERVICE_BA;
+			System.out.println("restaurantBAURL is: " + restaurantBAURL);
+		
+ 	        restaurantBA = getService(RESTAURANT_SERVICE_BA_QNAME, RESTAURANT_ENDPOINT_BA_QNAME,
+	                    restaurantBAURL, restaurantBAWSDL, IRestaurantServiceBA.class);
+ 	        
+ 	        System.out.println("restaurantBA is: " + restaurantBA);
+	        configureClientHandler((BindingProvider)restaurantBA);
+		}
+        catch (final Exception ex)
+        {
+            ex.printStackTrace();
+        }
+
+    }   
+	
+     /**
+     * configure the XTS client handler which manages transaction flow for invocations of the services
+     *
+     * @param bindingProvider
+     */
+    private void configureClientHandler(BindingProvider bindingProvider)
+    {
+        Handler handler = new JaxWSHeaderContextProcessor();
+        List<Handler> handlers = Collections.singletonList(handler);
+        bindingProvider.getBinding().setHandlerChain(handlers);
+    }
+
+
+     public Message process(Message message) throws ActionProcessingFaultException {
+         
+        Reservation reservation = (Reservation) message.getBody().get("Reservation");
+
+    	int restaurantSeats = reservation.getRestaurantSeats();
+    	 
+    	boolean restaurantStatus = restaurantBA.bookSeats(restaurantSeats);
+    	
+    	reservation.setRestaurantStatus(restaurantStatus);
+  
+    	return message;
+    	 
+     }
+
+
+     
+    /**
+     * Get an endpoint reference for a service so we can create a JaxWS port for it
+     * @param serviceName the QName of the service in question..
+     * @param endpointName the QName of the endpoint associated with the service
+     * @param address a string representation of the service URL. null is ok if this is a service located in the
+     * same app as the client
+     * @return a W3CEndpointReference from which the service port can be obtained.
+     */
+    private <T> T getService(final QName serviceName, final QName endpointName,
+                                            final String address, final String wsdlURL, final Class<T> clazz)
+            throws MalformedURLException
+    {
+        URL url = InvokeRestaurantAction.class.getResource("/" + wsdlURL);
+        Service service = Service.create(url, serviceName);
+        T port = service.getPort(endpointName, clazz);
+        return port;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTaxiAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTaxiAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTaxiAction.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,195 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * BasicClient.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: BasicClient.java,v 1.10 2004/12/02 16:52:58 kconner Exp $
+ *
+ */
+
+package org.jboss.soa.esb.actions;
+
+
+import com.arjuna.mw.wst.client.JaxWSHeaderContextProcessor;
+import com.jboss.jbosstm.xts.demo.taxi.ITaxiServiceBA;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+import javax.xml.ws.handler.Handler;
+
+import org.apache.log4j.Logger;
+import org.jboss.nightout.Reservation;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+/**
+  *
+ * @author Jeff DeLong (jdelong at redhat.com)
+  */
+public class InvokeTaxiAction extends AbstractActionLifecycle {
+	
+	
+	protected ConfigTree _config;
+    	
+ 
+	private Logger logger = Logger.getLogger(InvokeTaxiAction.class);
+	
+
+    /***** taxi SERVICE *****/
+
+    /**
+     * The namespace for the taxi webservice.
+     */
+    private static final String TAXI_NS = "http://www.jboss.com/jbosstm/xts/demo/Taxi" ;
+    /**
+     * The prefix for the taxi webservice.
+     */
+    private static final String TAXI_PREFIX = "taxi";
+    /**
+     * The local name for the BA taxi webservice.
+     */
+    private static final String TAXI_SERVICE_BA = "TaxiServiceBAService" ;
+    /**
+     * The QName for the AT taxi webservice.
+     */
+    private static final QName TAXI_SERVICE_BA_QNAME
+            = new QName(TAXI_NS, TAXI_SERVICE_BA, TAXI_PREFIX);
+      /**
+     * The local name for the BA taxi endpoint.
+     */
+    private static final String TAXI_ENDPOINT_BA = "TaxiServiceBA";
+    /**
+     * The QName for the BA taxi endpoint.
+     */
+    private static final QName TAXI_ENDPOINT_BA_QNAME
+            = new QName(TAXI_NS, TAXI_ENDPOINT_BA, TAXI_PREFIX);
+
+ 
+    /***** Client Handles for Service Endpoint Ports *****/
+
+     /**
+     * The business activity taxi stub.
+     */
+    private ITaxiServiceBA taxiBA;
+
+    /***** Endpoint Addresses *****/
+
+    /**
+     * URL of taxi BA
+     */
+    private String taxiBAURL ;
+    /***** WSDL file locations *****/
+
+     /**
+     * URL of taxi BA
+     */
+    private final String taxiBAWSDL = "wsdl/TaxiServiceBA.wsdl";
+ 
+     
+    final String baseURL = "http://127.0.0.1:8080/xtsdemowebservices/" ;
+
+    /**
+     * The client serial version UID.
+     */
+    private static final long serialVersionUID = 7728495576623420083L ;
+
+	public InvokeTaxiAction(ConfigTree _config) {
+		
+	
+		this._config = _config;
+		
+	}
+
+	
+	public void initialise() throws ActionLifecycleException {
+
+		try {	
+			taxiBAURL = baseURL + TAXI_SERVICE_BA;
+			System.out.println("taxiBAURL is: " + taxiBAURL);
+		
+ 	        taxiBA = getService(TAXI_SERVICE_BA_QNAME, TAXI_ENDPOINT_BA_QNAME,
+	                    taxiBAURL, taxiBAWSDL, ITaxiServiceBA.class);
+ 	        
+ 	        System.out.println("taxiBA is: " + taxiBA);
+	        configureClientHandler((BindingProvider)taxiBA);
+		}
+        catch (final Exception ex)
+        {
+            ex.printStackTrace();
+        }
+
+    }   
+	
+     /**
+     * configure the XTS client handler which manages transaction flow for invocations of the services
+     *
+     * @param bindingProvider
+     */
+    private void configureClientHandler(BindingProvider bindingProvider)
+    {
+        Handler handler = new JaxWSHeaderContextProcessor();
+        List<Handler> handlers = Collections.singletonList(handler);
+        bindingProvider.getBinding().setHandlerChain(handlers);
+    }
+
+
+     public Message process(Message message) throws ActionProcessingFaultException {
+         
+        Reservation reservation = (Reservation) message.getBody().get("Reservation");
+
+    	boolean bookTaxi = reservation.getBookTaxi();
+    	 
+    	boolean taxiStatus = taxiBA.bookTaxi();
+    	 
+    	reservation.setTaxiStatus(taxiStatus);
+  
+    	return message;
+    	 
+     }
+
+
+     
+    /**
+     * Get an endpoint reference for a service so we can create a JaxWS port for it
+     * @param serviceName the QName of the service in question..
+     * @param endpointName the QName of the endpoint associated with the service
+     * @param address a string representation of the service URL. null is ok if this is a service located in the
+     * same app as the client
+     * @return a W3CEndpointReference from which the service port can be obtained.
+     */
+    private <T> T getService(final QName serviceName, final QName endpointName,
+                                            final String address, final String wsdlURL, final Class<T> clazz)
+            throws MalformedURLException
+    {
+        URL url = InvokeTaxiAction.class.getResource("/" + wsdlURL);
+        Service service = Service.create(url, serviceName);
+        T port = service.getPort(endpointName, clazz);
+        return port;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTheatreAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTheatreAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/InvokeTheatreAction.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,196 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * BasicClient.java
+ *
+ * Copyright (c) 2003, 2004 Arjuna Technologies Ltd.
+ *
+ * $Id: BasicClient.java,v 1.10 2004/12/02 16:52:58 kconner Exp $
+ *
+ */
+
+package org.jboss.soa.esb.actions;
+
+
+import com.arjuna.mw.wst.client.JaxWSHeaderContextProcessor;
+import com.jboss.jbosstm.xts.demo.theatre.ITheatreServiceBA;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+import javax.xml.ws.handler.Handler;
+
+import org.apache.log4j.Logger;
+import org.jboss.nightout.Reservation;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+/**
+  *
+ * @author Jeff DeLong (jdelong at redhat.com)
+  */
+public class InvokeTheatreAction extends AbstractActionLifecycle {
+	
+	
+	protected ConfigTree _config;
+    	
+ 
+	private Logger logger = Logger.getLogger(InvokeTheatreAction.class);
+	
+
+    /***** theatre SERVICE *****/
+
+    /**
+     * The namespace for the theatre webservice.
+     */
+    private static final String THEATRE_NS = "http://www.jboss.com/jbosstm/xts/demo/Theatre" ;
+    /**
+     * The prefix for the theatre webservice.
+     */
+    private static final String THEATRE_PREFIX = "theatre";
+    /**
+     * The local name for the BA theatre webservice.
+     */
+    private static final String THEATRE_SERVICE_BA = "TheatreServiceBAService" ;
+    /**
+     * The QName for the AT theatre webservice.
+     */
+    private static final QName THEATRE_SERVICE_BA_QNAME
+            = new QName(THEATRE_NS, THEATRE_SERVICE_BA, THEATRE_PREFIX);
+      /**
+     * The local name for the BA theatre endpoint.
+     */
+    private static final String THEATRE_ENDPOINT_BA = "TheatreServiceBA";
+    /**
+     * The QName for the BA theatre endpoint.
+     */
+    private static final QName THEATRE_ENDPOINT_BA_QNAME
+            = new QName(THEATRE_NS, THEATRE_ENDPOINT_BA, THEATRE_PREFIX);
+
+ 
+    /***** Client Handles for Service Endpoint Ports *****/
+
+     /**
+     * The business activity theatre stub.
+     */
+    private ITheatreServiceBA theatreBA;
+
+    /***** Endpoint Addresses *****/
+
+    /**
+     * URL of theatre BA
+     */
+    private String theatreBAURL ;
+    /***** WSDL file locations *****/
+
+     /**
+     * URL of theatre BA
+     */
+    private final String theatreBAWSDL = "wsdl/TheatreServiceBA.wsdl";
+ 
+     
+    final String baseURL = "http://127.0.0.1:8080/xtsdemowebservices/" ;
+
+    /**
+     * The client serial version UID.
+     */
+    private static final long serialVersionUID = 7728495576623420083L ;
+
+	public InvokeTheatreAction(ConfigTree _config) {
+		
+	
+		this._config = _config;
+		
+	}
+
+	
+	public void initialise() throws ActionLifecycleException {
+
+		try {	
+			theatreBAURL = baseURL + THEATRE_SERVICE_BA;
+			System.out.println("theatreBAURL is: " + theatreBAURL);
+		
+ 	        theatreBA = getService(THEATRE_SERVICE_BA_QNAME, THEATRE_ENDPOINT_BA_QNAME,
+	                    theatreBAURL, theatreBAWSDL, ITheatreServiceBA.class);
+ 	        
+ 	        System.out.println("theatreBA is: " + theatreBA);
+	        configureClientHandler((BindingProvider)theatreBA);
+		}
+        catch (final Exception ex)
+        {
+            ex.printStackTrace();
+        }
+
+    }   
+	
+     /**
+     * configure the XTS client handler which manages transaction flow for invocations of the services
+     *
+     * @param bindingProvider
+     */
+    private void configureClientHandler(BindingProvider bindingProvider)
+    {
+        Handler handler = new JaxWSHeaderContextProcessor();
+        List<Handler> handlers = Collections.singletonList(handler);
+        bindingProvider.getBinding().setHandlerChain(handlers);
+    }
+
+
+     public Message process(Message message) throws ActionProcessingFaultException {
+         
+        Reservation reservation = (Reservation) message.getBody().get("Reservation");
+
+    	int theatreSeats = reservation.getTheatreSeats();
+       	int theatreArea = reservation.getTheatreSeats();
+   	 
+    	boolean theatreStatus = theatreBA.bookSeats(theatreSeats, theatreArea);
+    	 
+    	reservation.setTheatreStatus(theatreStatus);
+  
+    	return message;
+    	 
+     }
+
+
+     
+    /**
+     * Get an endpoint reference for a service so we can create a JaxWS port for it
+     * @param serviceName the QName of the service in question..
+     * @param endpointName the QName of the endpoint associated with the service
+     * @param address a string representation of the service URL. null is ok if this is a service located in the
+     * same app as the client
+     * @return a W3CEndpointReference from which the service port can be obtained.
+     */
+    private <T> T getService(final QName serviceName, final QName endpointName,
+                                            final String address, final String wsdlURL, final Class<T> clazz)
+            throws MalformedURLException
+    {
+        URL url = InvokeTheatreAction.class.getResource("/" + wsdlURL);
+        Service service = Service.create(url, serviceName);
+        T port = service.getPort(endpointName, clazz);
+        return port;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/TxAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/TxAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/TxAction.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,145 @@
+package org.jboss.soa.esb.actions;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingFaultException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Abstract class that all implementation specific classes must extend.
+ * Implementation specific class must provide transaction bridging. 
+ * 
+ * @author Pavel Kadlec
+ *
+ */
+public abstract class TxAction extends AbstractActionLifecycle {
+	
+	public static final String TX_TIMEOUT_TAG = "transactionTimeout";
+	
+	public static final String TX_MESSAGE_FIELD = "txContext";
+	
+	protected ConfigTree _config;
+    
+    protected int txTimeout = -1;
+    
+    protected boolean isJTABridged = true;
+    
+    @Override
+	public void initialise() throws ActionLifecycleException {
+		
+    	txTimeout = Integer.parseInt(_config.getAttribute(TX_TIMEOUT_TAG, "-1"));
+    	
+    	isJTABridged = new Boolean(_config.getAttribute("isJTABridged"));
+    }
+
+	private Logger logger = Logger.getLogger(TxAction.class);
+	
+	public TxAction(ConfigTree _config) {
+	
+		this._config = _config;
+	}
+
+	public Message noOperation(Message message) {
+    	
+    	return message;
+    }
+	
+	static public void setTransactionContext(Message message, Object txContext) {
+		
+		if (txContext != null)
+			message.getBody().add(TxAction.TX_MESSAGE_FIELD, txContext);
+		else
+			message.getBody().remove(TxAction.TX_MESSAGE_FIELD);
+			
+	}
+	
+	static public Object getTransactionContext(Message message) {
+		
+		return message.getBody().get(TxAction.TX_MESSAGE_FIELD);
+	}
+    
+    /**
+     * Begins transaction. Put transaction context on the message.
+     * It associates JTA transaction with current thread. 
+     *       
+     * @param message input message
+     * @return message having transaction context information on
+     * @throws ActionProcessingFaultException 
+     */
+	public abstract Message begin(Message message) throws ActionProcessingFaultException;
+    
+	/**
+	 * Terminates transaction. The input message must have transaction context
+	 * information on. There is not necessary to call associateActive before
+	 * terminating transaction.
+	 * 
+	 * @param message input message
+	 * @return input message
+	 * @throws ActionProcessingFaultException if no transaction context
+	 * information is on input message
+	 */
+	public abstract Message terminate(Message message) throws ActionProcessingFaultException;
+    
+    /**
+     * Associates current thread with JTA transaction. The input message must
+     * have transaction context on. If the transaction is not active state, warning is
+     * shown and it action processing pipeline is terminated.
+     * 
+     * @param message input message
+     * @return input message
+     * @throws ActionProcessingFaultException if no transaction context
+	 * information is on input message
+     */
+	public abstract Message associateActive(Message message) throws ActionProcessingFaultException;
+	
+	/**
+	 * Disassociates current thread from JTA transaction.
+	 * 
+	 * @param message
+	 * @return
+	 * @throws ActionProcessingFaultException
+	 */
+	public abstract Message disassociate(Message message) throws ActionProcessingFaultException;
+    
+	@Deprecated
+	public abstract Message associate(Message message) throws ActionProcessingFaultException;
+    
+    /**
+     * Rollback transaction. The input message must have transaction context
+	 * information on. There is not necessary to call associateActive before
+	 * rolling back transaction.
+     * 
+     * @param message input message
+     * @return input message
+     * @throws ActionProcessingFaultException if no transaction context
+	 * information is on input message 
+     */
+	public abstract Message rollback(Message message) throws ActionProcessingFaultException;
+    
+    /**
+     * Same as rollback. http://www.jboss.com/index.html?module=bb&op=viewtopic&t=129257
+     * 
+     * @param message
+     * @param th
+     */
+	public abstract void setRollbackOnly(Message message, final Throwable th);
+    
+    /**
+     * Tries to rollback transaction.
+     * 
+     * @param message input message
+     * @param th
+     */
+    public abstract void rollback(Message message, final Throwable th);
+    
+    /**
+     * Tries to disassociate current thread with JTA transaction. 
+     * 
+     * @param message
+     * @param th
+     */
+    public abstract void disassociate(Message message, final Throwable th);
+
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSBATxAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSBATxAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSBATxAction.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,560 @@
+package org.jboss.soa.esb.actions;
+
+import java.io.StringWriter;
+
+import javax.xml.namespace.QName;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessingFaultException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.txbridge.InboundBridge;
+import org.jboss.txbridge.TxBridgeManager;
+import org.jboss.util.xml.DOMUtils;
+import org.w3c.dom.Element;
+
+import com.arjuna.mw.wsc.context.Context;
+import com.arjuna.mw.wst.BusinessActivityManager;
+import com.arjuna.mw.wst.BusinessActivityManagerFactory;
+import com.arjuna.mw.wst.TransactionManager;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.mw.wst.TxContext;
+import com.arjuna.mw.wst.UserBusinessActivity;
+import com.arjuna.mw.wst.UserBusinessActivityFactory;
+import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.arjuna.mw.wst.client.JaxWSHeaderContextProcessor;
+import com.arjuna.mw.wst.common.CoordinationContextHelper;
+//import com.arjuna.mwlabs.wst.at.context.TxContextImple;
+import com.arjuna.mwlabs.wst.ba.context.TxContextImple;
+import com.arjuna.webservices.wscoor.CoordinationConstants;
+import com.arjuna.webservices.wscoor.CoordinationContextType;
+import com.arjuna.wst.SystemException;
+import com.arjuna.wst.UnknownTransactionException;
+
+import org.jboss.soa.esb.actions.util.FaultMessageUtil;
+
+/**
+ * Implementation that makes use of WS-Transactions implementation. It uses
+ * wst transactions, so nested transaction are not supported.
+ * It provides transaction bridging originally done on J.Halliday.
+ * Participant of distributed transaction is JTA transaction.
+ * 
+ * @author Pavel Kadlec
+ * modified by Jeff DeLong for BA transactions
+ *
+ */
+public class WSBATxAction extends TxAction {
+	
+	private static Logger logger = Logger.getLogger(WSBATxAction.class);
+	
+	protected TransformerFactory tf = TransformerFactory.newInstance();
+	
+	// protected static TransactionManager transactionManager = TransactionManagerFactory.transactionManager();
+
+	protected static BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager();
+	
+	protected javax.transaction.TransactionManager jtaTxManager = com.arjuna.ats.jta.TransactionManager.transactionManager();
+	
+	public WSBATxAction(ConfigTree _config) {
+		
+		super(_config);
+	}
+	
+	
+	
+	@Override
+	public void initialise() throws ActionLifecycleException {
+		
+		super.initialise();
+	}
+
+
+	@Override
+	public void destroy() throws ActionLifecycleException {
+
+		super.destroy();
+	}
+
+	@Override
+	public Message begin(Message message) throws ActionProcessingFaultException {
+
+		try {
+			logger.info("Trying to obtain WS-Transaction from coordinator.");
+			
+			UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+			if (!isWSTransactionActive(uba)) {
+				
+				if (txTimeout != -1) {
+					logger.info("Beginning WS-Transaction. Setting timeout to '" + txTimeout + "' seconds.");
+					uba.begin(txTimeout);
+					
+				} else {
+					// never expires
+					logger.info("Beginning WS-Transaction with no timeout.");
+					uba.begin();
+				}
+				
+				logger.info("WS-Transaction '" + uba.transactionIdentifier() + "' has begun.");
+				
+			} else {
+				
+				logger.info("Using original WS-Transaction '" + uba.transactionIdentifier() + "'.");
+			}
+				
+			// String serializedContext = putContextOnMessage(message);
+			String serializedContext = getSerializedContext();
+			TxAction.setTransactionContext(message, serializedContext);
+
+			String externalTxId = uba.toString();
+			setExternalTxId(message, externalTxId);
+			
+			// suspend WS-Transaction immediately
+			suspendWSTransaction();
+
+			if (isJTABridged) {
+				resumeJTATransaction(externalTxId, serializedContext);
+			}
+	
+		} catch (Exception e) {
+			e.printStackTrace();
+			FaultMessageUtil.throwActionProcessingFaultException(message, e, "WS-Transaction begin failed");
+		} 		
+		return message;
+	}
+
+	@Override
+	public Message associate(Message message) throws ActionProcessingFaultException {
+
+		try {
+			String externalTxId = getExternalTxId(message);
+			if (externalTxId == null) {
+				String reason = "Null externalTxId found on message";
+				logger.error(reason);
+				FaultMessageUtil.throwActionProcessingFaultException(message, reason);
+			}
+			String serializedContext = (String)TxAction.getTransactionContext(message);
+			if (serializedContext == null) {
+				String reason = "Null serializedContext found on message";
+				logger.error(reason);
+				FaultMessageUtil.throwActionProcessingFaultException(message, reason);
+			}
+			resumeJTATransaction(externalTxId, serializedContext);
+		}  catch (UnknownTransactionException e) {
+			logger.warn("Unknown transaction exception. The transaction might have been already terminated. Terminating action processing pipeline.");
+			return null; 
+		} catch (Exception e) {
+			
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+		}
+		logger.debug("Associating done.");
+		return message;
+	}
+	
+
+	@Override
+	public Message associateActive(Message message) throws ActionProcessingFaultException {
+
+		return associate(message);
+	}
+
+	@Override
+	public Message disassociate(Message message) throws ActionProcessingFaultException {
+
+		try {
+			
+			suspendJTATransaction();
+		} catch (Exception e) {
+			
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+		}
+		return message;
+	}
+	
+	
+	public Message rollback(Message message) throws ActionProcessingFaultException {
+		
+		rollback(message, null);
+		return message;
+	}
+	
+	@Override
+	public Message terminate(Message message) throws ActionProcessingFaultException {
+		return message;
+	}
+
+
+	public Message resume(Message message) throws ActionProcessingFaultException {
+		
+		try {
+			resumeWSTransaction(message);
+
+			
+		} catch (Exception e) {
+			e.printStackTrace();
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+		}
+		
+		return message;
+	}
+
+		
+	public Message close(Message message) throws ActionProcessingFaultException {
+
+		String identifier = null;
+		try {
+			
+			if (!isWSTransactionActive()) {
+				
+				resumeWSTransaction(message);
+			}
+			
+			UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+			
+			if (!isWSTransactionActive(uba)) {
+				
+				logger.error("No WS-Transaction found. Nothing to complete.");
+				return message;
+			}
+			
+			identifier = uba.transactionIdentifier();
+			
+			logger.info("Closing WS-Transaction '" + identifier + "'.");
+						
+			uba.close();
+
+			logger.info("WS-Transaction '" + identifier + "' has been successfully closed.");
+
+		} catch (SecurityException e) {
+			
+			identifier = identifier != null ? identifier : "unknown";
+			logger.warn("WS-Transaction '" + identifier + "' is no longer available. It might has been already rolledback or commited.");
+			// not exception thrown
+		} catch (Exception e) {
+			
+			e.printStackTrace();
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+
+		} 
+		
+		return message;
+	}
+
+	public Message complete(Message message) throws ActionProcessingFaultException {
+
+		String identifier = null;
+		try {
+			
+			//if (!isWSTransactionActive()) {
+				
+				resumeWSTransaction(message);
+			//}
+			
+			UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+			
+			if (!isWSTransactionActive(uba)) {
+				
+				logger.error("No WS-Transaction found. Nothing to complete.");
+				return message;
+			}
+			
+			identifier = uba.transactionIdentifier();
+			
+			logger.info("Completing WS-Transaction '" + identifier + "'.");
+						
+			// uba.complete();
+			uba.close();
+
+			logger.info("WS-Transaction '" + identifier + "' has been successfully completed.");
+
+		} catch (SecurityException e) {
+			
+			identifier = identifier != null ? identifier : "unknown";
+			logger.warn("WS-Transaction '" + identifier + "' is no longer available. It might has been already rolledback or commited.");
+			// not exception thrown
+		} catch (Exception e) {
+			
+			e.printStackTrace();
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+
+		}
+		
+		return message;
+	}
+
+	
+	public Message cancel(Message message) throws ActionProcessingFaultException {
+
+		String identifier = null;
+		try {
+			
+			//if (!isWSTransactionActive()) {
+				
+				resumeWSTransaction(message);
+			//}
+			
+			UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+			
+			if (!isWSTransactionActive(uba)) {
+				
+				logger.error("No WS-Transaction found. Nothing to cancel.");
+				return message;
+			}
+			
+			identifier = uba.transactionIdentifier();
+			
+			logger.info("Cancelling WS-Transaction '" + identifier + "'.");
+						
+			uba.cancel();
+			
+			logger.info("WS-Transaction '" + identifier + "' has been successfully cancelled.");
+
+		} catch (SecurityException e) {
+			
+			identifier = identifier != null ? identifier : "unknown";
+			logger.warn("WS-Transaction '" + identifier + "' is no longer available. It might has been already rolledback or commited.");
+			// not exception thrown
+		} catch (Exception e) {
+			
+			e.printStackTrace();
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+
+		} finally {
+			
+			try {
+				suspendJTATransaction();
+			} catch (Exception e) {
+	
+				e.printStackTrace();
+			}
+		}
+		
+		return message;
+	}
+
+	@Override
+	public void disassociate(Message message, Throwable th) {
+
+		try {
+			suspendWSTransaction();
+			
+		} catch (Exception e) {
+
+			e.printStackTrace();
+		} finally {
+			try {
+				suspendJTATransaction();
+			} catch (Exception e) {
+
+				e.printStackTrace();
+			}
+		}
+	}
+
+	@Override
+	public void rollback(Message message, Throwable th) {
+
+		String identifier = null;
+		try {
+			if (!isWSTransactionActive()) {
+
+				logger.debug("When trying to rollback, WS-Transaction is not active. Trying to resume transaction...");
+				resumeWSTransaction(message);
+			}
+			
+			UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+			if (!isWSTransactionActive(uba)) {
+				
+				logger.error("No WS-Transaction available. Nothing to rollback.");
+				return;
+			}
+			
+			identifier = uba.transactionIdentifier();
+			
+			logger.info("Rolling back WS-Transaction '" + identifier + "'.");
+			
+			uba.cancel();
+			
+			logger.info("WS-Transaction '" + identifier + "' has been successfully canceled.");
+			
+			
+		} catch (SecurityException e) {
+			identifier = identifier != null ? identifier : "unknown";
+			logger.warn("Rollback of WS-Transaction '" + identifier + "' failed. Transaction is no longer available.");
+				
+		} catch (Exception e) {
+
+			e.printStackTrace();
+		} finally {
+			
+			try {
+				
+				suspendJTATransaction();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
+	@Override
+	public void setRollbackOnly(Message message, Throwable th) {
+		
+		rollback(message, th);
+	}
+
+
+	// private methods
+	
+	private void suspendJTATransaction() throws javax.transaction.SystemException {
+		
+		logger.debug("Disassociating JTA-transaction from current thread.");
+		if (isJTABridged) {
+			jtaTxManager.suspend();
+		}
+	}
+	
+	public static void suspendWSTransaction() throws SystemException {
+
+		
+		if (businessActivityManager == null) {
+			
+			logger.error("WS-Transaction manager not found.");
+			throw new IllegalStateException("WS-Transaction manager not found.");
+		}
+		
+		if (logger.isDebugEnabled()) {
+			UserBusinessActivity uba = UserBusinessActivity.getUserBusinessActivity();
+			logger.debug("Disassociating WS-Transaction '" + uba.transactionIdentifier() + "' from current thread.");
+		}
+		
+		businessActivityManager.suspend() ;
+	}
+	
+	private void resumeWSTransaction(Message message) throws Exception {
+	
+		String serializedCoordinationContext = (String)TxAction.getTransactionContext(message);
+		if (serializedCoordinationContext == null) {
+			
+			logger.error("No coordination context found on the message '" + message + "'");
+			
+			throw new ActionProcessingException("No coordination context found on the message.");
+		}
+		
+		resumeWSTransaction(serializedCoordinationContext);
+ 	}
+	
+	public static void resumeWSTransaction(String serializedCoordinationContext) throws UnknownTransactionException, SystemException {
+		
+		if (serializedCoordinationContext == null) {
+								
+			logger.error("Null coordination context.");
+			
+			throw new IllegalArgumentException("Null coordination context.");
+		}
+		
+		CoordinationContextType cc = deserializeCoordinationContext(serializedCoordinationContext);
+		TxContext txContext = new TxContextImple(cc) ;
+		
+		logger.info("Associating WS-Transaction '" + txContext + "' with current thread");
+		
+		businessActivityManager.resume(txContext);
+		
+ 	}
+	
+	private void resumeJTATransaction(String externalTxId, String serializedCoordinationContext) throws Exception {
+		
+		InboundBridge inboundBridge = TxBridgeManager.getInboundBridge(externalTxId, serializedCoordinationContext);
+		inboundBridge.start();
+	}
+	
+	private boolean isWSTransactionActive() throws SystemException {
+		
+		TxContext ctx = businessActivityManager.currentTransaction();
+		return (ctx != null && ctx.valid()) ? true : false; 
+	}
+	
+	private boolean isWSTransactionActive(UserBusinessActivity uba) throws SystemException {
+		
+		return uba != null && !uba.transactionIdentifier().toLowerCase().equals("unknown");
+	}
+	
+	private String serializeCoordinationContext(CoordinationContextType coordinationContext) throws Exception {
+		
+		Element contextElement = DOMUtils.createElement(new QName(CoordinationConstants.WSCOOR_NAMESPACE, "CoordinationContextType" , CoordinationConstants.WSCOOR_PREFIX));
+		CoordinationContextHelper.serialise(contextElement, coordinationContext);
+			
+		Transformer trans = tf.newTransformer();
+		StringWriter sw = new StringWriter();
+		trans.transform(new DOMSource(contextElement), new StreamResult(sw));
+		return sw.toString();
+	}
+	
+	private static CoordinationContextType deserializeCoordinationContext(String serializedCoordinationContext) {
+			
+		CoordinationContextType cc = null;
+		try {
+			Element coordinationContextElement = DOMUtils.parse(serializedCoordinationContext);
+			cc = CoordinationContextHelper.deserialise(coordinationContextElement);
+		} catch (Exception e) {
+			throw new IllegalStateException(e);
+		}
+		
+		if (cc == null || !cc.isValid()) {
+			logger.error("Deserializing coordination context failed. Coordination context is null or invalid.");
+			throw new IllegalStateException("Deserializing coordination context failed. Coordination context is null or invalid.");
+		}
+		
+		return cc;
+	}
+	
+	private String putContextOnMessage(Message message) throws Exception {
+
+		String serializedContext = getSerializedContext();
+		TxAction.setTransactionContext(message, serializedContext);
+		return serializedContext;
+	}
+	
+	private String getSerializedContext() throws Exception {
+		
+		// TxContextImple txContext = (TxContextImple) transactionManager.currentTransaction();
+		
+		TxContextImple txContext	= (TxContextImple) businessActivityManager.currentTransaction();
+	
+		// Context atContext = (txContext == null ? null : txContext.context()) ;
+		
+		Context baContext = (txContext == null ? null : txContext.context()) ;
+			
+		if (baContext == null) {
+				
+			logger.error("WS-Transaction context was not created.");
+			throw new ActionProcessingException("WS-Transaction context was not created.");
+		} 			
+		
+		CoordinationContextType coordinationContext = baContext.getCoordinationContext() ;
+			
+		if (coordinationContext == null || !coordinationContext.isValid()) {
+			logger.error("Coordination context is not valid.");
+			throw new ActionProcessingException("Coordination context is not valid.");
+		}
+		return serializeCoordinationContext(coordinationContext);
+	}
+
+	public static void setExternalTxId(Message message, String externalTxId) {
+	
+		if (externalTxId != null)
+			message.getProperties().setProperty("ExternalID", externalTxId);
+		else 
+			message.getProperties().remove("ExternalID");
+	}
+	
+	public static String getExternalTxId(Message message) {
+		
+		return (String)message.getProperties().getProperty("ExternalID");
+	}
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSTxAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSTxAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/WSTxAction.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,436 @@
+package org.jboss.soa.esb.actions;
+
+import java.io.StringWriter;
+
+import javax.xml.namespace.QName;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessingFaultException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.txbridge.InboundBridge;
+import org.jboss.txbridge.TxBridgeManager;
+import org.jboss.util.xml.DOMUtils;
+import org.w3c.dom.Element;
+
+import com.arjuna.mw.wsc.context.Context;
+import com.arjuna.mw.wst.TransactionManager;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.mw.wst.TxContext;
+import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.arjuna.mw.wst.common.CoordinationContextHelper;
+import com.arjuna.mwlabs.wst.at.context.TxContextImple;
+import com.arjuna.webservices.wscoor.CoordinationConstants;
+import com.arjuna.webservices.wscoor.CoordinationContextType;
+import com.arjuna.wst.SystemException;
+import com.arjuna.wst.UnknownTransactionException;
+
+import org.jboss.soa.esb.actions.util.FaultMessageUtil;
+
+/**
+ * Implementation that makes use of WS-Transactions implemenation. It uses
+ * wst transactions, so nested transaction are not supported.
+ * It provides transaction bridging originally done on J.Halliday.
+ * Participant of distributed transaction is JTA transaction.
+ * 
+ * @author Pavel Kadlec
+ *
+ */
+public class WSTxAction extends TxAction {
+	
+	private static Logger logger = Logger.getLogger(WSTxAction.class);
+	
+	protected TransformerFactory tf = TransformerFactory.newInstance();
+	
+	protected static TransactionManager transactionManager = TransactionManagerFactory.transactionManager();
+	
+	protected javax.transaction.TransactionManager jtaTxManager = com.arjuna.ats.jta.TransactionManager.transactionManager();
+	
+	public WSTxAction(ConfigTree _config) {
+		
+		super(_config);
+	}
+	
+	@Override
+	public void initialise() throws ActionLifecycleException {
+		
+		super.initialise();
+	}
+
+
+	@Override
+	public void destroy() throws ActionLifecycleException {
+
+		super.destroy();
+	}
+
+	@Override
+	public Message begin(Message message) throws ActionProcessingFaultException {
+
+		try {
+			logger.info("Trying to obtain WS-Transaction from coordinator.");
+			
+			UserTransaction ut = UserTransactionFactory.userTransaction();
+			if (!isWSTransactionActive(ut)) {
+				
+				if (txTimeout != -1) {
+					logger.debug("Beginning WS-Transaction. Setting timeout to '" + txTimeout + "' seconds.");
+					ut.begin(txTimeout);
+					
+				} else {
+					// never expires
+					logger.debug("Beginning WS-Transaction with no timeout.");
+					ut.begin();
+				}
+				
+				logger.info("WS-Transaction '" + ut.transactionIdentifier() + "' has begun.");
+				
+			} else {
+				
+				logger.info("Using original WS-Transaction '" + ut.transactionIdentifier() + "'.");
+			}
+			
+			
+			String serializedContext = putContextOnMessage(message);
+			String externalTxId = ut.toString();
+			setExternalTxId(message, externalTxId);
+
+			// suspend WS-Transaction immediately
+			suspendWSTransaction();
+			
+			resumeJTATransaction(externalTxId, serializedContext);
+	
+		} catch (Exception e) {
+			
+			FaultMessageUtil.throwActionProcessingFaultException(message, e, "WS-Transaction begin failed");
+		} 		
+		return message;
+	}
+
+	@Override
+	public Message associate(Message message) throws ActionProcessingFaultException {
+
+		try {
+			String externalTxId = getExternalTxId(message);
+			if (externalTxId == null) {
+				String reason = "Null externalTxId found on message";
+				logger.error(reason);
+				FaultMessageUtil.throwActionProcessingFaultException(message, reason);
+			}
+			String serializedContext = (String)TxAction.getTransactionContext(message);
+			if (serializedContext == null) {
+				String reason = "Null serializedContext found on message";
+				logger.error(reason);
+				FaultMessageUtil.throwActionProcessingFaultException(message, reason);
+			}
+			resumeJTATransaction(externalTxId, serializedContext);
+		}  catch (UnknownTransactionException e) {
+			logger.warn("Unknown transaction exception. The transaction might have been already terminated. Terminating action processing pipeline.");
+			return null; 
+		} catch (Exception e) {
+			
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+		}
+		logger.debug("Associating done.");
+		return message;
+	}
+	
+
+	@Override
+	public Message associateActive(Message message) throws ActionProcessingFaultException {
+
+		return associate(message);
+	}
+
+	@Override
+	public Message disassociate(Message message) throws ActionProcessingFaultException {
+
+		try {
+			
+			suspendJTATransaction();
+		} catch (Exception e) {
+			
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+		}
+		return message;
+	}
+	
+	
+	public Message rollback(Message message) throws ActionProcessingFaultException {
+		
+		rollback(message, null);
+		return message;
+	}
+	
+	@Override
+	public Message terminate(Message message) throws ActionProcessingFaultException {
+
+		String identifier = null;
+		try {
+			
+			if (!isWSTransactionActive()) {
+				
+				resumeWSTransaction(message);
+			}
+			
+			UserTransaction ut = UserTransaction.getUserTransaction();
+			
+			if (!isWSTransactionActive(ut)) {
+				
+				logger.error("No WS-Transaction found. Nothing to terminate.");
+				return message;
+			}
+			
+			identifier = ut.transactionIdentifier();
+			
+			logger.info("Terminating WS-Transaction '" + identifier + "'.");
+						
+			ut.commit();
+			
+			logger.info("WS-Transaction '" + identifier + "' has been successfully terminated.");
+
+		} catch (SecurityException e) {
+			
+			identifier = identifier != null ? identifier : "unknown";
+			logger.warn("WS-Transaction '" + identifier + "' is no longer available. It might has been already rolledback or commited.");
+			// not exception thrown
+		} catch (Exception e) {
+			
+			e.printStackTrace();
+			FaultMessageUtil.throwActionProcessingFaultException(message, e);
+
+		} finally {
+			
+			try {
+				suspendJTATransaction();
+			} catch (Exception e) {
+	
+				e.printStackTrace();
+			}
+		}
+		
+		return message;
+	}
+
+	@Override
+	public void disassociate(Message message, Throwable th) {
+
+		try {
+			suspendWSTransaction();
+			
+		} catch (Exception e) {
+
+			e.printStackTrace();
+		} finally {
+			try {
+				suspendJTATransaction();
+			} catch (Exception e) {
+
+				e.printStackTrace();
+			}
+		}
+	}
+
+	@Override
+	public void rollback(Message message, Throwable th) {
+
+		String identifier = null;
+		try {
+			if (!isWSTransactionActive()) {
+
+				logger.debug("When trying to rollback, WS-Transaction is not active. Trying to resume transaction...");
+				resumeWSTransaction(message);
+			}
+			
+			UserTransaction ut = UserTransaction.getUserTransaction();
+			if (!isWSTransactionActive(ut)) {
+				
+				logger.error("No WS-Transaction available. Nothing to rollback.");
+				return;
+			}
+			
+			identifier = ut.transactionIdentifier();
+			
+			logger.info("Rolling back WS-Transaction '" + identifier + "'.");
+			
+			ut.rollback();
+			
+			logger.info("WS-Transaction '" + identifier + "' has been successfully rolled back.");
+			
+			
+		} catch (SecurityException e) {
+			identifier = identifier != null ? identifier : "unknown";
+			logger.warn("Rollback of WS-Transaction '" + identifier + "' failed. Transaction is no longer available.");
+				
+		} catch (Exception e) {
+
+			e.printStackTrace();
+		} finally {
+			
+			try {
+				
+				suspendJTATransaction();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
+	@Override
+	public void setRollbackOnly(Message message, Throwable th) {
+		
+		rollback(message, th);
+	}
+
+
+	// private methods
+	
+	private void suspendJTATransaction() throws javax.transaction.SystemException {
+		
+		logger.debug("Disassociating JTA-transaction from current thread.");
+	
+		jtaTxManager.suspend();
+	}
+	
+	public static void suspendWSTransaction() throws SystemException {
+
+		
+		if (transactionManager == null) {
+			
+			logger.error("WS-Transaction manager not found.");
+			throw new IllegalStateException("WS-Transaction manager not found.");
+		}
+		
+		if (logger.isDebugEnabled()) {
+			UserTransaction ut = UserTransaction.getUserTransaction();
+			logger.debug("Disassociating WS-Transaction '" + ut.transactionIdentifier() + "' from current thread.");
+		}
+		
+		transactionManager.suspend() ;
+	}
+	
+	private void resumeWSTransaction(Message message) throws Exception {
+	
+		String serializedCoordinationContext = (String)TxAction.getTransactionContext(message);
+		if (serializedCoordinationContext == null) {
+			
+			logger.error("No coordination context found on the message '" + message + "'");
+			
+			throw new ActionProcessingException("No coordination context found on the message.");
+		}
+		
+		resumeWSTransaction(serializedCoordinationContext);
+ 	}
+	
+	public static void resumeWSTransaction(String serializedCoordinationContext) throws UnknownTransactionException, SystemException {
+		
+		if (serializedCoordinationContext == null) {
+								
+			logger.error("Null coordination context.");
+			
+			throw new IllegalArgumentException("Null coordination context.");
+		}
+		
+		CoordinationContextType cc = deserializeCoordinationContext(serializedCoordinationContext);
+		TxContext txContext = new TxContextImple(cc) ;
+		
+		logger.debug("Associating WS-Transaction '" + txContext + "' with current thread");
+		
+        transactionManager.resume(txContext);
+ 	}
+	
+	private void resumeJTATransaction(String externalTxId, String serializedCoordinationContext) throws Exception {
+		
+		InboundBridge inboundBridge = TxBridgeManager.getInboundBridge(externalTxId, serializedCoordinationContext);
+		inboundBridge.start();
+	}
+	
+	private boolean isWSTransactionActive() throws SystemException {
+		
+		TxContext ctx = transactionManager.currentTransaction();
+		return (ctx != null && ctx.valid()) ? true : false; 
+	}
+	
+	private boolean isWSTransactionActive(UserTransaction ut) throws SystemException {
+		
+		return ut != null && !ut.transactionIdentifier().toLowerCase().equals("unknown");
+	}
+	
+	private String serializeCoordinationContext(CoordinationContextType coordinationContext) throws Exception {
+		
+		Element contextElement = DOMUtils.createElement(new QName(CoordinationConstants.WSCOOR_NAMESPACE, "CoordinationContextType" , CoordinationConstants.WSCOOR_PREFIX));
+		CoordinationContextHelper.serialise(contextElement, coordinationContext);
+			
+		Transformer trans = tf.newTransformer();
+		StringWriter sw = new StringWriter();
+		trans.transform(new DOMSource(contextElement), new StreamResult(sw));
+		return sw.toString();
+	}
+	
+	private static CoordinationContextType deserializeCoordinationContext(String serializedCoordinationContext) {
+			
+		CoordinationContextType cc = null;
+		try {
+			Element coordinationContextElement = DOMUtils.parse(serializedCoordinationContext);
+			cc = CoordinationContextHelper.deserialise(coordinationContextElement);
+		} catch (Exception e) {
+			throw new IllegalStateException(e);
+		}
+		
+		if (cc == null || !cc.isValid()) {
+			logger.error("Deserializing coordination context failed. Coordination context is null or invalid.");
+			throw new IllegalStateException("Deserializing coordination context failed. Coordination context is null or invalid.");
+		}
+		
+		return cc;
+	}
+	
+	private String putContextOnMessage(Message message) throws Exception {
+
+		String serializedContext = getSerializedContext();
+		TxAction.setTransactionContext(message, serializedContext);
+		return serializedContext;
+	}
+	
+	private String getSerializedContext() throws Exception {
+		
+		TxContextImple txContext = (TxContextImple) transactionManager.currentTransaction();
+		
+		
+		Context atContext = (txContext == null ? null : txContext.context()) ;
+			
+		if (atContext == null) {
+				
+			logger.error("WS-Transaction context was not created.");
+			throw new ActionProcessingException("WS-Transaction context was not created.");
+		} 			
+		
+		CoordinationContextType coordinationContext = atContext.getCoordinationContext() ;
+			
+		if (coordinationContext == null || !coordinationContext.isValid()) {
+			logger.error("Coordination context is not valid.");
+			throw new ActionProcessingException("Coordination context is not valid.");
+		}
+		return serializeCoordinationContext(coordinationContext);
+	}
+
+	public static void setExternalTxId(Message message, String externalTxId) {
+	
+		if (externalTxId != null)
+			message.getProperties().setProperty("ExternalID", externalTxId);
+		else 
+			message.getProperties().remove("ExternalID");
+	}
+	
+	public static String getExternalTxId(Message message) {
+		
+		return (String)message.getProperties().getProperty("ExternalID");
+	}
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/util/FaultMessageUtil.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/util/FaultMessageUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/soa/esb/actions/util/FaultMessageUtil.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,87 @@
+package org.jboss.soa.esb.actions.util;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessingFaultException;
+import org.jboss.soa.esb.listeners.message.errors.Factory;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+
+public class FaultMessageUtil {
+	
+	private static Logger logger = Logger.getLogger(FaultMessageUtil.class);
+	
+	private static MessageFactory messageFactory = MessageFactory.getInstance();
+	
+	public static Message createErrorMessage(Message message, Throwable cause, String reason) {
+		
+		if (message == null)
+			message = messageFactory.getMessage();
+		
+		if (cause != null)
+			message.getFault().setCause(cause);
+		
+		try {
+			message.getFault().setCode(new URI(Factory.PROCESSING_ERROR));
+		} catch (URISyntaxException e) {
+	
+			e.printStackTrace();
+		}
+		
+		message.getHeader().getCall().setReplyTo(null);
+		message.getHeader().getCall().setFaultTo(null);
+
+		
+		String text = reason != null ? reason : (cause != null ? cause.toString() : null);
+		if (text != null)
+			message.getFault().setReason(text);
+	
+		return message;
+	}
+	
+	public static void throwActionProcessingFaultException(Message message, Throwable cause, String reason) throws ActionProcessingFaultException {
+		
+		if (cause != null && cause instanceof ActionProcessingException) {
+			if (reason == null)
+				reason = cause.getMessage();
+			
+			cause = cause.getCause();
+		}
+		
+		Message faultMessage = createErrorMessage(message, cause, reason);
+		
+		String text = reason != null ? reason : (cause != null ? cause.toString() : null);
+		
+		throw new ActionProcessingFaultException(faultMessage, text);
+	};
+	
+	public static void throwActionProcessingFaultException(Message message, String reason) throws ActionProcessingFaultException {
+		
+		Message faultMessage = createErrorMessage(message, null, reason);
+		
+		String text = reason != null ? reason : null;
+		
+		throw new ActionProcessingFaultException(faultMessage, text);
+	};
+	
+	public static void throwActionProcessingFaultException(Message message, Throwable cause) throws ActionProcessingFaultException {
+		
+		String reason = null;
+		
+		if (cause != null && cause instanceof ActionProcessingException) {
+			
+			reason = cause.getMessage();
+			cause = cause.getCause();
+		}
+		
+		Message faultMessage = createErrorMessage(message, cause, reason);
+		
+		String text = reason != null ? reason : (cause != null ? cause.toString() : null);
+		
+		throw new ActionProcessingFaultException(faultMessage, text);
+	};
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/BridgeParticipantAT.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/BridgeParticipantAT.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/BridgeParticipantAT.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,185 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2007,
+ * @author JBoss Inc.
+ */
+package org.jboss.txbridge;
+
+import com.arjuna.wst.*;
+import com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TxImporter;
+import com.arjuna.ats.internal.jta.transaction.arjunacore.jca.XATerminatorImple;
+import com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.TransactionImple;
+
+import org.apache.log4j.Logger;
+
+import javax.transaction.TransactionManager;
+import javax.transaction.xa.Xid;
+import javax.transaction.xa.XAResource;
+
+/**
+ * Provides mapping between WS-AT Participant interface
+ * and an underlying JTA subtransaction coordinator.
+ *
+ * @author jonathan.halliday at redhat.com, 2007-04-30
+ */
+public class BridgeParticipantAT  implements Durable2PCParticipant
+{
+	private static Logger log = Logger.getLogger(BridgeParticipantAT.class);
+	
+	private TransactionManager txManager;
+
+	private XATerminatorImple xaTerminator;
+	private Xid xid;
+
+	private String externalXid;
+
+	BridgeParticipantAT(XATerminatorImple xaTerminator, Xid xid, String externalXid) {
+		log.trace("BridgeParticipantAT(XATerminatorImple="+xaTerminator+", Xid="+xid+")");
+
+		this.xaTerminator = xaTerminator;
+		this.xid = xid;
+		this.externalXid = externalXid;
+		this.txManager = com.arjuna.ats.jta.TransactionManager.transactionManager();
+	}
+
+
+    /**
+	 *
+	 *
+     * Perform any work necessary to allow it to either commit or rollback
+     * the work performed by the Web service under the scope of the
+     * transaction. The implementation is free to do whatever it needs to in
+     * order to fulfill the implicit contract between it and the coordinator.
+     *
+     * @return an indication of whether it can prepare or not.
+     * @see com.arjuna.wst.Vote
+     */
+	public Vote prepare() throws WrongStateException, SystemException
+	{
+		log.trace("prepare(Xid="+xid+")");
+		
+		try {
+			
+			TransactionImple tx = TxImporter.getImportedTransaction(xid);
+			txManager.resume(tx);
+			
+			// XAResource.XA_OK, XAResource.XA_RDONLY or exception.  if RDONLY, don't call commit
+			int result = xaTerminator.prepare(xid);
+			if(result == XAResource.XA_OK) {
+				log.debug("prepare on Xid="+xid+" returning Prepared");
+				return new Prepared();
+			} else {
+				log.debug("prepare on Xid="+xid+" returning ReadOnly");
+				return new ReadOnly();
+			}
+
+		} catch(Exception e) {
+			log.debug("prepare on Xid="+xid+" returning Aborted", e);
+			return new Aborted();
+		} finally {
+			
+			try {
+				txManager.suspend();
+			} catch (javax.transaction.SystemException e) {
+		
+				e.printStackTrace();
+			}
+		}
+    }
+
+    /**
+	 *
+	 *
+     * The participant should make permanent the work that it controls.
+	 *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commit() throws WrongStateException, SystemException
+    {
+		log.trace("commit(Xid="+xid+")");
+
+		try
+		{
+			TransactionImple tx = TxImporter.getImportedTransaction(xid);
+			txManager.resume(tx);
+			xaTerminator.commit(xid, false);
+			log.debug("commit on Xid="+xid+" OK");
+		}
+		catch (Exception e)
+		{
+			log.debug("commit on Xid="+xid+" failed", e);
+		} finally {
+		
+			TxBridgeManager.disposeInboundBridge(externalXid);
+		}
+    }
+
+    /**
+	 *
+	 *
+     * The participant should undo the work that it controls. The participant
+     * will then return an indication of whether or not it succeeded..
+     *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void rollback() throws WrongStateException, SystemException
+    {
+		log.trace("rollback(Xid="+xid+")");
+
+		try
+		{
+			TransactionImple tx = TxImporter.getImportedTransaction(xid);
+			txManager.resume(tx);
+			xaTerminator.rollback(xid);
+			log.debug("rollback on Xid="+xid+" OK");
+		}
+		catch (Exception e)
+		{
+			log.debug("rollback on Xid="+xid+" failed", e);
+		} finally {
+		
+			TxBridgeManager.disposeInboundBridge(externalXid);
+		}
+    }
+
+    /**
+     * During recovery the participant can enquire as to the status of the
+     * transaction it was registered with. If that transaction is no longer
+     * available (has rolled back) then this operation will be invoked by the
+     * coordination service.
+     */
+	public void unknown() throws SystemException
+    {
+		log.trace("unknown(Xid="+xid+"): NOT IMPLEMENTED");
+		// used for calbacks during crash recovery. This impl is not recoverable
+    }
+
+    /**
+     * During recovery the participant can enquire as to the status of the
+     * transaction it was registered with. If an error occurs (e.g., the
+     * transaction service is unavailable) then this operation will be invoked.
+     */
+	public void error() throws SystemException
+    {
+		log.trace("error(Xid="+xid+"): NOT IMPLEMENTED");
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+}
+

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/InboundBridge.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/InboundBridge.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/InboundBridge.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,127 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2007,
+ * @author JBoss Inc.
+ */
+package org.jboss.txbridge;
+
+import com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.TransactionImple;
+import com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TxImporter;
+import com.arjuna.ats.jta.TransactionManager;
+
+import javax.transaction.xa.Xid;
+import javax.transaction.xa.XAException;
+import javax.transaction.Status;
+import javax.transaction.SystemException;
+import javax.transaction.InvalidTransactionException;
+
+
+import org.apache.log4j.Logger;
+
+/**
+ * Manages Thread association of the interposed coordinator.
+ * Typically called from handlers in the WS stack.
+ *
+ * @author jonathan.halliday at redhat.com, 2007-04-30
+ */
+public class InboundBridge
+{
+	private static Logger log = Logger.getLogger(InboundBridge.class);
+
+	private Xid xid;
+
+	public InboundBridge(Xid xid) throws XAException, SystemException {
+		log.trace("InboundBridge(Xid="+xid+")");
+
+		this.xid = xid;
+
+		getTransaction(); // ensures transaction is initialized
+	}
+
+	/**
+	 * Associate the JTA transaction to the current Thread.
+	 * Typically used by a server side inbound handler.
+	 *
+	 * @throws XAException
+	 * @throws SystemException
+	 * @throws InvalidTransactionException
+	 */
+	public void start() throws XAException, SystemException, InvalidTransactionException {
+		log.trace("start(Xid="+xid+")");
+
+		TransactionImple tx = getTransaction();
+
+		TransactionManager.transactionManager().resume(tx);
+	}
+
+	/**
+	 * Disassociate the JTA transaction from the current Thread.
+	 * Typically used by a server side outbound handler.
+	 *
+	 * @throws XAException
+	 * @throws SystemException
+	 * @throws InvalidTransactionException
+	 */
+	public void stop() throws XAException, SystemException, InvalidTransactionException {
+		log.trace("stop("+xid+")");
+
+		TransactionManager.transactionManager().suspend();
+	}
+
+	/**
+	 * Get the JTA Transaction which corresponds to the Xid of the instance.
+	 *
+	 * @return
+	 * @throws XAException
+	 * @throws SystemException
+	 */
+	private TransactionImple getTransaction()
+			throws XAException, SystemException
+	{
+		// TODO: make jta/jts pluggable - diff TxImporters hence InboundBridges ?
+		TransactionImple tx = TxImporter.importTransaction(xid);
+
+		switch (tx.getStatus())
+		{
+			case Status.STATUS_ACTIVE:
+				break;
+			default:
+				throw new IllegalStateException("Transaction not in state ACTIVE");
+		}
+		return tx;
+	}
+
+	public boolean isActive() {
+		
+		try {
+		
+			TransactionImple tx = TxImporter.getImportedTransaction(xid);
+			if (tx == null)
+				return false;
+			
+			if (tx.getStatus() == Status.STATUS_ACTIVE)
+				return true;
+			else
+				return false;
+			
+		} catch (Exception e) {
+			log.error(e);
+			return false;
+		}
+	}
+}

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,137 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2007,
+ * @author JBoss Inc.
+ */
+package org.jboss.txbridge;
+
+import javax.xml.ws.handler.Handler;
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.log4j.Logger;
+
+/**
+ * A handler that sits in the server side processing pipeline between the XTS header context processor
+ * and the web service. Takes the WS transaction context provided by the former and maps
+ * it to a JTA transaction context for use by the latter. Handles Thread association of
+ * the JTA context.
+ *
+ * Note: we assume that their is a web services transaction context present and
+ * that the service needs a JTA context. The handler should not be registered on
+ * methods unless both these conditions hold.
+ * TODO: make this more flexible (ws-at policy and/or lazy init of JTA context.)
+ *
+ * TODO: provide a JAX-RPC version of this handler too?
+ *
+ * @author jonathan.halliday at redhat.com, 2007-04-30
+ */
+public class JaxWSTransactionBridgeHandler implements Handler
+{
+	private static Logger log = Logger.getLogger(JaxWSTransactionBridgeHandler.class);
+
+	/**
+	 * Process a message. Determins if it's inbound or outbound and dispatches accordingly.
+	 *
+	 * @param msgContext
+	 * @return
+	 */
+	public boolean handleMessage(MessageContext msgContext)
+	{
+		log.trace("handleMessage()");
+
+		Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+		if (outbound == null)
+		   throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+
+		return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
+	}
+
+	/**
+	 * Tidy up the Transaction/Thread association before faults are thrown back to the client.
+	 *
+	 * @param messageContext
+	 * @return
+	 */
+	public boolean handleFault(MessageContext messageContext)
+	{
+		log.trace("handleFault()");
+
+		suspendTransaction() ;
+		return true;
+	}
+
+	public void close(MessageContext messageContext)
+	{
+		log.trace("close()");
+	}
+
+	/**
+	 * Process inbound messages by mapping the WS transaction context
+	 * to a JTA one and associating the latter to the current Thread.
+	 *
+	 * @param msgContext
+	 * @return
+	 */
+	protected boolean handleInbound(MessageContext msgContext)
+	{
+		log.trace("handleInbound()");
+
+		try
+		{
+			InboundBridge inboundBridge = TxBridgeManager.getInboundBridge();
+			inboundBridge.start();
+		}
+		catch (Exception e)
+		{
+			log.error(e);
+			return false;
+		}
+
+		return true;
+	}
+
+	/**
+	 * Tidy up the Transaction/Thread association before returning a message to the client.
+	 *
+	 * @param msgContext
+	 * @return
+	 */
+	protected boolean handleOutbound(MessageContext msgContext) {
+		log.trace("handleOutbound()");
+
+		suspendTransaction() ;
+		return true;
+	}
+
+	/**
+	 * Break the association between the JTA transaction context and the calling Thread.
+	 */
+	private void suspendTransaction() {
+		log.trace("suspendTransaction()");
+
+		try
+		{
+			InboundBridge inboundBridge = TxBridgeManager.getInboundBridge();
+			inboundBridge.stop();
+		}
+		catch (Exception e)
+		{
+			log.error(e);
+		}
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/TxBridgeManager.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/TxBridgeManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/src/main/java/org/jboss/txbridge/TxBridgeManager.java	2008-06-16 15:13:41 UTC (rev 20543)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2007,
+ * @author JBoss Inc.
+ */
+package org.jboss.txbridge;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.Xid;
+
+import org.apache.log4j.Logger;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.ats.internal.jta.transaction.arjunacore.jca.XATerminatorImple;
+import com.arjuna.ats.jta.xa.XidImple;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.arjuna.wsc.AlreadyRegisteredException;
+import com.arjuna.wst.UnknownTransactionException;
+import com.arjuna.wst.WrongStateException;
+
+import org.jboss.soa.esb.actions.WSTxAction;
+
+/**
+ * Maintains the mapping data that relates WS transactions to JTA transactions and related objects.
+ *
+ * The mappings are scoped to the singleton instance of this class and its lifetime.
+ * This poses problems where you have more than one instances (classloading, clusters)
+ * or where you need crash recovery. It short, it's rather limited.
+ *
+ * @author jonathan.halliday at redhat.com, 2007-04-30
+ */
+public class TxBridgeManager
+{
+	private static Logger log = Logger.getLogger(TxBridgeManager.class);
+
+	// TODO: make this play nice with the TransactionService in AS, particularly w.r.t recovery.
+	private static XATerminatorImple xaTerminatorImple = new XATerminatorImple();
+
+	private static Map<String, Xid> txIdMappings = new HashMap<String, Xid>();
+
+	private static Map<Xid, InboundBridge> inboundBridgeMappings = new HashMap<Xid, InboundBridge>();
+
+	/**
+	 * Create an InboundBridge instance that maps the current Thread's WS transaction context
+	 * to a JTA context. Control of the latter is provided by the returned instance.
+	 *
+	 * @return
+	 * @throws WrongStateException
+	 * @throws UnknownTransactionException
+	 * @throws com.arjuna.wst.SystemException
+	 * @throws AlreadyRegisteredException
+	 */
+	public synchronized static InboundBridge getInboundBridge()
+		throws XAException, WrongStateException, UnknownTransactionException,
+			com.arjuna.wst.SystemException, javax.transaction.SystemException, AlreadyRegisteredException
+	{
+		log.trace("getInboundBridge()");
+
+		String externalTxId = UserTransactionFactory.userTransaction().toString();
+		if (externalTxId == null || externalTxId.toLowerCase().equals("unknown"))
+			throw new UnknownTransactionException();
+		
+		Xid xid = txIdMappings.get(externalTxId);
+		if(xid == null) {
+			xid = createMappings(externalTxId);
+		}
+
+		return inboundBridgeMappings.get(xid);
+	}
+	
+	public synchronized static InboundBridge getInboundBridge(String externalTxId, String serializedCoordinationContext)
+		throws XAException, WrongStateException, UnknownTransactionException,
+			com.arjuna.wst.SystemException, javax.transaction.SystemException, AlreadyRegisteredException
+	{
+		log.trace("getInboundBridge()");
+	
+		Xid xid = txIdMappings.get(externalTxId);
+		if(xid == null) {
+			try {
+				WSTxAction.resumeWSTransaction(serializedCoordinationContext);
+				xid = createMappings(externalTxId);
+			} finally {
+				
+				WSTxAction.suspendWSTransaction();
+			}
+		}
+	
+		return inboundBridgeMappings.get(xid);
+	}
+	
+	public synchronized static void disposeInboundBridge(String externalTxId) {
+		
+		log.trace("disposeInboundBridge()");
+		
+		Xid xid = txIdMappings.remove(externalTxId);
+		if (xid == null) {
+			return;
+		}
+		
+		InboundBridge inboundBridge = inboundBridgeMappings.remove(xid);
+		
+		if (inboundBridge == null) {
+			log.error("inconsistency: null inbound bridge");
+			return;
+		}
+
+		try {
+
+			inboundBridge.stop();
+		} catch (Exception e) {
+			e.printStackTrace();
+		} 
+	}
+
+	/**
+	 * Create the JTA transaction mapping and support objects for a given WS transaction context.
+	 *
+	 * @param externalTxId
+	 * @return
+	 * @throws WrongStateException
+	 * @throws UnknownTransactionException
+	 * @throws com.arjuna.wst.SystemException
+	 * @throws AlreadyRegisteredException
+	 */
+	private static Xid createMappings(String externalTxId)
+			throws XAException, WrongStateException, UnknownTransactionException,
+			com.arjuna.wst.SystemException, javax.transaction.SystemException, AlreadyRegisteredException {
+		log.trace("createMappings(externalIxId="+externalTxId+")");
+
+		if(txIdMappings.containsKey(externalTxId)) {
+			return txIdMappings.get(externalTxId);
+		}
+
+		Xid xid = new XidImple(new Uid());
+
+
+		// TODO: how do we tell if it's AT or BA?
+		// No implementation independent way, it requires parsind the otherwise opaque externalTxId.
+		// Probably better to have the caller (typically an handler) provide this info?
+
+		BridgeParticipantAT bridgeParticipantAT = new BridgeParticipantAT(xaTerminatorImple, xid, externalTxId);
+		TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(bridgeParticipantAT, new Uid().toString());
+		
+		txIdMappings.put(externalTxId, xid);
+		inboundBridgeMappings.put(xid, new InboundBridge(xid));
+
+		return xid;
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/ws-c.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/ws-c.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/ws-t.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/ws-t.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/wscf.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/wscf.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/wstx.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wstx/trunk/product/services/xts/webapps/wstx.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list